Document reroute recovery in implement skill and escalation procedure #874
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
Reference
jared/cc-os#874
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
After the reroute CLI and gate exist, the orchestrator prose still describes the old recovery.
skills/implement/SKILL.md:139says "There is no resume command. Recovery starts with a newimplementation-open, which abandons the unfinished implementation."references/escalation-procedure.mdstep 4 says "re-enter through the normal gates from the affected node" and does not mentionos-sdlc-reroute-request. The implement skill also passes a map file path toos-sdlc-implementation-open(SKILL.md:52, 56), but implementation-open now takes a map name. SKILL.md:56 substitutesmaps/poodr-implementation.yamlfor docs, config, ADR-only, and spike tickets, but #883 deletes that map. ADR-0259 makes escalation a waiting position atneeds-orchestrator, not a closing stamp.skills/pipeline-state-investigate/SKILL.md:36-38still says an implementation has exactly one path with "no retry, no park, no resume", and its pipeline points (failed at :129-130, abandoned at :161-163) do not name the waiting state.Reproduce
n/a: prose change, nothing to reproduce.
Approach
Edit
plugins/os-sdlc/skills/implement/SKILL.md:poodr-ticket-implementation(a map name) toos-sdlc-implementation-open. Same edit inplugins/os-sdlc/skills/responsibility-refactor/SKILL.md:71.poodr-implementationsubstitution. A docs, config, ADR-only, or spike ticket runs on the ticket map; when it escalates, the orchestrator reroutes it or handles it by the escalation procedure.needs-orchestrator. Recovery after an escalation can be a reroute withos-sdlc-reroute-request IMPLEMENTATION_ID --situation TEXT --misfit TEXT, on the same implementation; a freshimplementation-openstays the other recovery and abandons the waiting run. A failed run stays closed.Edit
plugins/os-sdlc/references/escalation-procedure.md: the audience paragraph says the run waits at the waiting nodeneeds-orchestrator; it is not closed. Step 4: "affected node" becomes "chosen entry node"; add when to useos-sdlc-reroute-request(the cause is a map misfit, after you patch what is broken; map-router chooses the map and entry node). Keep "Never merge freeform work."Edit
plugins/os-sdlc/skills/pipeline-state-investigate/SKILL.md: the state contract (lines 36-38) names the waiting state: active, positionneeds-orchestrator, newestescalationsrow; leave the run by a reroute or a freshimplementation-open. Line 129-130 stays true for a failed run; say it applies to failed runs only. Line 161-163: a laterimplementation-openalso abandons a waiting run.presenter/gate/unexpected_pass_reply.rb:11says "The run escalates to the Orchestrator"; that stays true, so no change.Follow the same authoring guidance as the map-router ticket (orwell-writing, os-sdlc:technical-communication, mattpocock-skills:writing-for-agents).
Required work:
maps/poodr-ticket-implementation.yamlinplugins/os-sdlc/skills/implement/SKILL.mdThere is no resume commandinplugins/os-sdlc/skills/implement/SKILL.mdREROUTEinplugins/os-sdlc/skills/implement/SKILL.mdos-sdlc-reroute-requestinplugins/os-sdlc/references/escalation-procedure.mdchosen entry nodeinplugins/os-sdlc/references/escalation-procedure.mdmaps/poodr-ticket-implementation.yamlinplugins/os-sdlc/skills/responsibility-refactor/SKILL.mdpoodr-implementationinplugins/os-sdlc/skills/implement/SKILL.mdneeds-orchestratorinplugins/os-sdlc/references/escalation-procedure.mdno parkinplugins/os-sdlc/skills/pipeline-state-investigate/SKILL.mdOrchestrator work: run
bin/refresh-pluginsafter merge.Acceptance criteria
os-sdlc-reroute-requestas a recovery on the same implementation.os-sdlc-reroute-request, and still forbids merging freeform work.needs-orchestratorand its two exits.Owner sketch
Origin
Parent: #859
Blocked by: #873, #886, #869
Not started in this session: blocked by #873, which waits for a ruling on ADR-0259 decision 9 (where the reroute gate gets map and node at gate time).
Work started on branch ticket-874 (os-sdlc pipeline). #873 merged as
d3f4888f.Resolution
Done: Hand-finished as commit
83f95bbc, not through the pipeline. Implementation 7 escalated (escalation 3, unexpected_pass:test-writer/diff-test): a prose-only ticket has no red path.Evidence: Commit
83f95bbc; R1-R9 checks pass (R7 check fixed to bare poodr-implementation); bin/test: 9 suites passedFollow-ups: #892