Replace the synchronous-launch rule in the implement skill #807

Closed
opened 2026-09-28 19:25:57 +00:00 by jared · 2 comments
Owner

Problem

The implement skill tells the orchestrator to launch every pipeline agent synchronously, with no run_in_background. Claude Code launches these agents in the background anyway. The orchestrator then reports a deviation on each run, and the user reads a false alarm. The rule does not protect anything: the orchestrator can dispatch only the next_step that a finished agent relays.

Reproduce

Run /os-sdlc:implement <ticket>. The Agent tool returns "Async agent launched successfully" for each pipeline agent, and the orchestrator reports a deviation.

Approach

Replace the rule at plugins/os-sdlc/skills/implement/SKILL.md:77 with the real invariant:

* Wait for the agent's completion notice. Dispatch only the `next_step` that it relays.

Keep line 78, "A launch receipt does not mean the agent completed."

Required work:

  1. Replace the synchronous-launch rule in skills/implement/SKILL.md with the wait-and-relay rule — check: grep -c "run_in_background" plugins/os-sdlc/skills/implement/SKILL.md prints 0

Acceptance criteria

  1. Given the implement skill, when an orchestrator reads the dispatch rules, then no rule asks for a synchronous launch.
  2. Given the implement skill, when an orchestrator reads the dispatch rules, then a rule tells it to wait for the completion notice and dispatch only the relayed next_step.

Owner sketch

plugins/os-sdlc/skills/implement/SKILL.md  ### dispatch

Origin

  • Trigger: /os-sdlc:implement 804; each dispatch launched in the background
  • Improvised this session: reported a deviation for each launch
  • Chain: false deviation report ← skill rule asks for synchronous launch ← harness ignores the request ← UPSTREAM-TOOL (Claude Code Agent tool)
  • Root candidate: this ticket
  • Where: plugins/os-sdlc/skills/implement/SKILL.md:77
  • Session: b505a812-db25-4f85-8d52-ae7cda49eaab
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/b505a812-db25-4f85-8d52-ae7cda49eaab.jsonl
## Problem The implement skill tells the orchestrator to launch every pipeline agent synchronously, with no `run_in_background`. Claude Code launches these agents in the background anyway. The orchestrator then reports a deviation on each run, and the user reads a false alarm. The rule does not protect anything: the orchestrator can dispatch only the `next_step` that a finished agent relays. ## Reproduce Run `/os-sdlc:implement <ticket>`. The Agent tool returns "Async agent launched successfully" for each pipeline agent, and the orchestrator reports a deviation. ## Approach Replace the rule at `plugins/os-sdlc/skills/implement/SKILL.md:77` with the real invariant: ``` * Wait for the agent's completion notice. Dispatch only the `next_step` that it relays. ``` Keep line 78, "A launch receipt does not mean the agent completed." Required work: 1. Replace the synchronous-launch rule in `skills/implement/SKILL.md` with the wait-and-relay rule — check: `grep -c "run_in_background" plugins/os-sdlc/skills/implement/SKILL.md` prints `0` ## Acceptance criteria 1. Given the implement skill, when an orchestrator reads the dispatch rules, then no rule asks for a synchronous launch. 2. Given the implement skill, when an orchestrator reads the dispatch rules, then a rule tells it to wait for the completion notice and dispatch only the relayed `next_step`. ## Owner sketch ``` plugins/os-sdlc/skills/implement/SKILL.md ### dispatch ``` ## Origin - Trigger: `/os-sdlc:implement 804`; each dispatch launched in the background - Improvised this session: reported a deviation for each launch - Chain: false deviation report ← skill rule asks for synchronous launch ← harness ignores the request ← UPSTREAM-TOOL (Claude Code Agent tool) - Root candidate: this ticket - Where: `plugins/os-sdlc/skills/implement/SKILL.md:77` - Session: b505a812-db25-4f85-8d52-ae7cda49eaab - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/b505a812-db25-4f85-8d52-ae7cda49eaab.jsonl
Author
Owner

Work started on branch ticket-807 via /os-sdlc:implement (maps/poodr-implementation.yaml: docs-only change).

Work started on branch ticket-807 via /os-sdlc:implement (maps/poodr-implementation.yaml: docs-only change).
Author
Owner

Resolution

Done: Implement skill no longer asks for synchronous launches; it tells the orchestrator to wait for the completion notice and dispatch only the relayed next_step.

Evidence: Commit 75cbe519 on ticket-807; grep -c run_in_background plugins/os-sdlc/skills/implement/SKILL.md prints 0. Pipeline run (implementation 66) failed at test-writer gate_skip on this docs-only ticket; the one-line edit was applied by hand.

Follow-ups: Captured #812 (docs-only tickets need a map with no red round; skeptic VERDICT: CREATE).

## Resolution **Done:** Implement skill no longer asks for synchronous launches; it tells the orchestrator to wait for the completion notice and dispatch only the relayed next_step. **Evidence:** Commit 75cbe519 on ticket-807; grep -c run_in_background plugins/os-sdlc/skills/implement/SKILL.md prints 0. Pipeline run (implementation 66) failed at test-writer gate_skip on this docs-only ticket; the one-line edit was applied by hand. **Follow-ups:** Captured #812 (docs-only tickets need a map with no red round; skeptic VERDICT: CREATE).
jared closed this issue 2026-09-28 20:08:47 +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#807
No description provided.