Make red_assert a project-configured, ticket-independent gate so the coding map can gain a test-writer node #451

Closed
opened 2026-08-20 22:46:47 +00:00 by jared · 1 comment
Owner

Origin: #438 slice 6 seam-design pass, decision D33 / OQ3-A (approved 2026-08-20).

The slice-6 coding map v1 ships as programmer → reviewer with no test-writer node, because the only red_assert command today is Project#red_assert_command, which is coupled to a per-ticket artifact path. A shared map must not encode a per-ticket path.

Task: make red_assert resolvable from project configuration (.sdlc/project.yaml) like the test and lint gates in GateCommands, independent of any ticket artifact. Then add a test-writer node to plugins/os-sdlc/maps/coding.yaml gated by it.

Reference: docs/os-sdlc-rebuild/interface-sketches.md slice-6 section (D33, OQ3).

Origin: #438 slice 6 seam-design pass, decision D33 / OQ3-A (approved 2026-08-20). The slice-6 coding map v1 ships as programmer → reviewer with no test-writer node, because the only red_assert command today is `Project#red_assert_command`, which is coupled to a per-ticket artifact path. A shared map must not encode a per-ticket path. Task: make `red_assert` resolvable from project configuration (`.sdlc/project.yaml`) like the test and lint gates in `GateCommands`, independent of any ticket artifact. Then add a test-writer node to `plugins/os-sdlc/maps/coding.yaml` gated by it. Reference: docs/os-sdlc-rebuild/interface-sketches.md slice-6 section (D33, OQ3).
Author
Owner

Resolution

Done: Verified red/green test assertions are project-configured and ticket-independent; poodr-implementation map (with its test-writer node) is now the implement skill's default map.

Evidence: GateCommands#to_h resolves test_command from .sdlc/project.yaml per target (plugins/os-sdlc/lib/os_sdlc/runner/gate_commands.rb:20-22), no ticket-supplied test path in the chain; red-for-the-right-reason judged by test-reviewer node (maps/poodr-implementation.yaml:88-91) per ADR-0052; default map switched in commit 5b2abcf.

Follow-ups: none — one observation surfaced to the user in-session for their decision: red_assert_command in .sdlc/project.yaml is dead config (referenced only in project.rb's struct), wire it in or remove it

## Resolution **Done:** Verified red/green test assertions are project-configured and ticket-independent; poodr-implementation map (with its test-writer node) is now the implement skill's default map. **Evidence:** GateCommands#to_h resolves test_command from .sdlc/project.yaml per target (plugins/os-sdlc/lib/os_sdlc/runner/gate_commands.rb:20-22), no ticket-supplied test path in the chain; red-for-the-right-reason judged by test-reviewer node (maps/poodr-implementation.yaml:88-91) per ADR-0052; default map switched in commit 5b2abcf. **Follow-ups:** none — one observation surfaced to the user in-session for their decision: red_assert_command in .sdlc/project.yaml is dead config (referenced only in project.rb's struct), wire it in or remove it
jared closed this issue 2026-08-23 20:28:41 +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#451
No description provided.