SUBAGENT · JOB REGISTRY · CONTINUATION

Three IDs. One legal collector.

A run, a background Job, and a child conversation do not share a control plane.

Route by receipt

The acknowledgement owns the next verb.

ForegroundUse the result

The internal run identity is not registered for later Job collection.

One-shot backgroundUse Job controls

Only the exact subagent-N receipt belongs in job_output.

ContinuableUse child lifecycle

Wait for settlement notice or start a later turn with send_message.

Shape check

A UUID is a warning.

rc.2 Job Registry IDs use <kind>-N. A UUID passed to job_output points to identity confusion, not proof that Job collection is wrong for every subagent.

Observed7576042c-f6d8-...not a canonical Job ID

Recovery

Recover the plan, not the stale handle.

01Freeze

Preserve exact acknowledgements, notices, Session identity, and partial files.

02List

Use job_list from the same parent as the authoritative live registry.

03Reconcile

Classify every planned artifact as complete, partial, missing, or conflicting.

04Replace

Rerun only missing units, then gate assembly on a complete manifest.

Primary evidence

Read the contracts.