# Worker result contract

The Worker emits exactly one result artifact at the native path named by the brief. The artifact
is a bounded deliverable report, not a review grade or a production change.

## Required shape

```yaml
schema: shepherd.worker-result/1
run: <run-id>
lane: <lane-id>
node: <node-id>
role: worker
work_kind: artifact
deliverable: <one sentence>
source_paths: [<sorted paths>]
owned_scope: [<sorted exact paths>]
budget: {tool_calls: <n>, seconds: <n>}
output_shape: <schema or section list>
result_artifact: <Native-allocated result path>
evidence: [{path, sha256, bytes, command, exit_status}]
status: complete|partial|blocked|needs-amendment
task_digest: <sha256>
startup_skill: artifact-work
skill_bundle_digest: <sha256>
```

## Required evidence

Record before and after hashes or deterministic counts for every changed source/output, the
commands and exit statuses used, the exact changed paths, deletion authorization if applicable,
budget consumed, and the next action. The result names any omitted source, partial operation,
conflict, or residual risk. It never asserts production/configuration/test/build success and
never relies on a parent-written artifact. Evidence paths are exact files under the selected
run, and Native reopens each path through its no-follow run-root reader before terminalizing the
Worker. Empty evidence or a digest/size mismatch is RED.

A result without a source list, budget, output shape, before/after evidence, status, or complete
scope is invalid and routes back for a brief amendment.
