Skip to main content
Version: MVP

Scope-Change Protocol

Scope-change requests pause work when a run discovers necessary work outside the accepted intent lock. Operators must choose an explicit protocol decision instead of letting the run widen scope silently.

CLI

craik scope-change decide scope_change_123 \
--decision expand \
--rationale "Docs examples are required for acceptance." \
--decided-by operator-a \
--run-id run_123

Supported decisions:

  • expand: create a new expanded intent lock and attach it to the run.
  • sibling: create a follow-up sibling task.
  • handoff: link existing handoffs to the request.
  • denied: reject the scope expansion.

Resume Safety

Resumed loops reload the run's persisted intent_lock_id before checking scope. That prevents a stale in-memory lock from bypassing peer-run coordination or scope-overlap checks after an operator has accepted an expansion.

Receipts

Requests record scope_change.request receipts. Decisions record scope_change.decide receipts with the decision, rationale, updated intent lock, sibling task, and handoff references.