os-sdlc: bound_exhausted routes to the escalation terminal; open and terminal payloads carry on_failure pointer #608

Closed
opened 2026-09-17 16:32:17 +00:00 by jared · 1 comment
Owner

Context

Implementation 27 on #606 ended implementation_failed: bound_exhausted:test-reviewer/fail and the orchestrator never loaded the escalation procedure, because only the global dispatch cap routes to the escalation terminal (ADR-0152). Decided 2026-09-17 in session b224a5a7-84ca-4f47-a18e-abc50c9b5a77: a local edge bound exhaustion is the same "outside mechanical competence" signal and must escalate, not fail.

Tasks

  • bound_exhausted on any map edge routes to the escalation terminal with the same state_dump the dispatch cap emits.
  • Only a harness crash or an error verdict with no route remains implementation_failed.
  • implementation-open payload and every terminal payload carry on_failure: "Read <plugin-root>/references/escalation-procedure.md and act on it.".
  • Amend ADR-0152.

Origin

  • Trigger: implementation 27 post-mortem, session b224a5a7-84ca-4f47-a18e-abc50c9b5a77
  • Chain: bound_exhausted → implementation_failed → orchestrator has no directive DESIGN (ADR-0152 scoped escalation to the cap only)
  • Where: plugins/os-sdlc/lib/os_sdlc/pipeline/next_step.rb
## Context Implementation 27 on #606 ended `implementation_failed: bound_exhausted:test-reviewer/fail` and the orchestrator never loaded the escalation procedure, because only the global dispatch cap routes to the `escalation` terminal (ADR-0152). Decided 2026-09-17 in session b224a5a7-84ca-4f47-a18e-abc50c9b5a77: a local edge bound exhaustion is the same "outside mechanical competence" signal and must escalate, not fail. ## Tasks - [ ] `bound_exhausted` on any map edge routes to the `escalation` terminal with the same `state_dump` the dispatch cap emits. - [ ] Only a harness crash or an `error` verdict with no route remains `implementation_failed`. - [ ] `implementation-open` payload and every terminal payload carry `on_failure: "Read <plugin-root>/references/escalation-procedure.md and act on it."`. - [ ] Amend ADR-0152. ## Origin - Trigger: implementation 27 post-mortem, session b224a5a7-84ca-4f47-a18e-abc50c9b5a77 - Chain: bound_exhausted → implementation_failed → orchestrator has no directive DESIGN (ADR-0152 scoped escalation to the cap only) - Where: plugins/os-sdlc/lib/os_sdlc/pipeline/next_step.rb
jared changed title from bound_exhausted escalation routing to os-sdlc: bound_exhausted routes to the escalation terminal; open and terminal payloads carry on_failure pointer 2026-09-17 16:32:20 +00:00
Author
Owner

Resolution

Done: bound_exhausted on any map edge routes the escalate edge with the dispatch-cap state_dump; implementation stamped escalated_at; on_failure directive on the implementation-open payload and every terminal payload; escalation-procedure.md rewritten as recover-or-fail-loudly; implement SKILL.md pointer fixed to ${CLAUDE_PLUGIN_ROOT}/references/escalation-procedure.md.

Evidence: main b1a10cdc, ADR-0199; tests test_bound_exhaustion_escalates_with_the_exhausted_edge_as_the_reason, test_every_terminal_payload_carries_the_escalation_procedure_directive, test_implementation_open_payload_carries_the_escalation_procedure_directive; suite 1331 runs, only the two known-flaky OsSdlcEvidenceBinTest failures.

Follow-ups: none; not live-verified, the #606 rerun in a fresh session is the live check

## Resolution **Done:** bound_exhausted on any map edge routes the escalate edge with the dispatch-cap state_dump; implementation stamped escalated_at; on_failure directive on the implementation-open payload and every terminal payload; escalation-procedure.md rewritten as recover-or-fail-loudly; implement SKILL.md pointer fixed to ${CLAUDE_PLUGIN_ROOT}/references/escalation-procedure.md. **Evidence:** main b1a10cdc, ADR-0199; tests test_bound_exhaustion_escalates_with_the_exhausted_edge_as_the_reason, test_every_terminal_payload_carries_the_escalation_procedure_directive, test_implementation_open_payload_carries_the_escalation_procedure_directive; suite 1331 runs, only the two known-flaky OsSdlcEvidenceBinTest failures. **Follow-ups:** none; not live-verified, the #606 rerun in a fresh session is the live check
jared closed this issue 2026-09-17 17:15:58 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#608
No description provided.