Skip to content

Report a blocker

Use this procedure when a Bridge execution cannot establish a required result. Preserve useful work and identify the next actor without changing task status. W-bridge

1. Capture the concrete obstruction

  1. Record the failing command or MCP tool, exit/error and affected criterion ID. W-end
  2. Name the missing binary, import, socket, permission, dependency or contract field. R-db
  3. Separate observed failure from diagnosis; mark a suspected cause as an inference. A-result
  4. Read the frozen task again if the obstruction appears to contradict its contract. E-task
  5. Keep the criterion unchanged; do not replace it with an easier passing check. E-task
  6. Do not install, bypass a denial, use another project's credential or invent an approval. R-db

2. Decide what can continue

Use this decision table and report the branch you actually took. W-scope

Observation Action now Result to retain
Optional diagnostic is unavailable Continue required methods Name the diagnostic not run
One required check lacks a dependency/socket Run unaffected checks FAIL for unmet criterion; exact missing capability
Only a named sandbox exception is allowed by the criterion Apply that exception alone Affected test names and observed denial
Scope or required decision is unresolved Stop dependent changes Three-part request to the decision holder
Identity/profile mismatch or execution authorization revoked Stop writes and implementation Error and last safe Git checkpoint
Assigned worktree has conflicting unrelated changes Preserve those changes; stop conflicting edits Files/branch/HEAD; coordinator request
  1. Continue authorized work that does not depend on the blocker. W-scope
  2. Do not stop merely because an old handoff says blocked when this attempt is explicitly authorized. E-resume
  3. Stop on an expired/revoked execution capability; do not recreate or renew your own assignment. E-cap
  4. Never retry an ambiguous mutating command blindly; inspect the durable result first. E-cap

3. Write the three-part blocker

Fill all three fields; use roles or session labels, not “someone”. W-block

what: <specific obstruction + affected criterion + command/error>
who_moves: <coordinator | DevOps | owner | named dependency executor>
needed: <one concrete decision, prepared capability or dependency result>
  1. Route scope, sequencing and reassignment questions to the coordinator. W-owner
  2. Route prepared sandbox/tool capability needs through the coordinator to the environment operator. W-block
  3. Name the owner only for a reserved decision, sign-in or required consent. W-owner
  4. Do not ask the owner to relay messages between agents. W-owner
  5. Request a separately prepared environment, not permission to improvise an installation. R-db

Use this synthetic example as a shape, not as a claim about the current run. R-db

what: db-suite cannot collect; ModuleNotFoundError: webauthn; exit 2
who_moves: coordinator, then the Bridge environment operator
needed: re-dispatch in an existing dependency-complete environment; no worker install

4. Preserve a resumable checkpoint

  1. Record repository, assigned branch, source/base commit and last committed result. A-git
  2. List completed files and actual test outcomes, separating prepared/tested/deployed states. A-result
  3. Commit safe partial work only within scope; leave carried candidate history intact. E-resume
  4. Identify uncommitted intended files separately; never call them a committed checkpoint. A-git
  5. Set next_step to the first executable command after the named dependency is supplied. W-pause
  6. State which failed checks must rerun; avoid instructions that require the old conversation. A-result
  7. Preserve error output in the authorized evidence file; redact values and memory bodies. A-security

5. Return partial work through the execution contract

  1. As worker, append RESULT/receipt with task_result, including the three-part receipt.blockers. E-cap
  2. Include per-criterion pass/fail records; never count “blocked” as a passed criterion. E-count
  3. Include cause/confidence, SHAs, tests, completed work and next step in the receipt/result. A-git
  4. Use a stable execution-specific idempotency key; retry only the unchanged logical payload. E-result
  5. As verifier, return limitations in criterion feedback; use no RESULT or status mutation. E-cap
  6. If RESULT is rejected after lease expiry, return the error and checkpoint in final output. E-cap
  7. Leave task status, acceptance and any re-dispatch to Bridge/server and the authorized dispatcher. W-bridge
  8. On re-dispatch, reread the new frozen version and resume from the supplied candidate/base. E-resume

Sources