| name | zigrix-worker |
| version | 0.4.0 |
| description | Execute an exact bound Zigrix assignment and submit an immutable unit result. |
| metadata | {"openclaw":{"requires":{"bins":["zigrix"]},"cliHelp":"zigrix task --help"}} |
zigrix worker
A worker executes only the current assignment supplied by the orchestrator. Preparation and registration are orchestrator operations; the worker does not create or repair its own binding.
The active binding must contain all of these exact stored values:
{
"taskId": "DEV-20260713-001",
"agentId": "worker-agent",
"sessionKey": "agent:worker:unit-01",
"sessionId": "session-101",
"runId": "run-101",
"unitId": "unit-01",
"assignmentEpoch": 2
}
Treat the prepared prompt content and its recorded semantic digest as the authoritative assignment. Do not reconstruct Task paths or substitute an agent, session, run, unit, or epoch from local defaults.
Submit the result as SUBMIT_UNIT_RESULT. Supply the result evidence through the integration transport and keep this exact active-assignment identity envelope unchanged:
{
"command": "SUBMIT_UNIT_RESULT",
"taskId": "DEV-20260713-001",
"agentId": "worker-agent",
"sessionKey": "agent:worker:unit-01",
"sessionId": "session-101",
"runId": "run-101",
"unitId": "unit-01",
"assignmentEpoch": 2
}
The evidence transport field is intentionally omitted until its integration signature is stable. Zigrix binds those bytes to this identity and derives the immutable submission id, ordinal, digest, byte length, and final artifact path. Never invent or overwrite those fields. If the orchestrator rejects the current submission, resubmit with the same active binding; Zigrix creates the next ordinal and preserves the rejected history. If the epoch was expired or superseded, stop: that worker principal is no longer valid.
A successful submission changes the unit to SUBMITTED, not DONE. Only the stored orchestrator may approve or reject it. Workers must never directly issue START, BLOCK, RESUME, FINALIZE, REPORT, APPROVE_UNIT_RESULT, REJECT_UNIT_RESULT, EXPIRE_ASSIGNMENT, or REASSIGN_WORKER, and must never edit Task metadata/status/revision.
Operator cancellation and system stale detection create BLOCK_REQUEST or STALE_DETECTED only. They do not authorize the worker to stop or complete top-level state; wait for the stored orchestrator's decision.