three map nodes under-enrich relative to their charters (programmer in coding.yaml, contract-auditor and test-reviewer in poodr-implementation.yaml) #691

Closed
opened 2026-09-24 17:11:26 +00:00 by jared · 4 comments
Owner

Problem

The #676 audit compared enrich lists to charters looking for excess. It also found the reverse in three nodes, where the charter reads a fact the map never supplies:

  • coding.yaml:11 programmer gets [ticket_brief]; programmer.md:16-20 lists seam-designer, change-auditor, test diff, and test files as inputs.
  • poodr-implementation.yaml:163 contract-auditor gets [ticket_brief, gate_results]; contract-auditor.md:15 checks the diff against every WORK item in the change-auditor work list.
  • poodr-implementation.yaml:62 test-reviewer gets [ticket_brief, red_tests, test_changes]; test-reviewer.md:16 reasons about WORK items and retired_tests.
    In each case the role either fails the charter rule silently or relies on the handoff field by luck.

Reproduce

n/a: design audit finding, not a runtime defect.

Approach

Make the two unused maps and one charter agree with what the roles read. coding.yaml has no change-auditor or seam-designer nodes, so the programmer charter must state those inputs as conditional. The two poodr-implementation nodes get the same enrich entries their poodr-ticket-implementation twins carry.
Required work:

  1. poodr-implementation.yaml contract-auditor enrich adds change-auditor.
  2. poodr-implementation.yaml test-reviewer enrich adds change-auditor and retired_tests.
  3. programmer.md Input section states that seam-designer, change-auditor, and the test diff are supplied when the map provides them.
  4. Update the map tests that assert those exact lists.

Acceptance criteria

  1. The contract-auditor enrich list in poodr-implementation.yaml includes change-auditor.
  2. The test-reviewer enrich list in poodr-implementation.yaml includes change-auditor and retired_tests.
  3. The Input section of plugins/os-sdlc/agents/programmer.md says the seam-designer, change-auditor, and test diff inputs are supplied when the map provides them.
  4. The map tests that assert those enrich lists pass with the new lists.

Owner sketch

Maps: plugins/os-sdlc/maps/poodr-implementation.yaml lines 62 and 163. Charter: plugins/os-sdlc/agents/programmer.md lines 16-20. Tests: plugins/os-sdlc/tests/poodr_implementation_map_test.rb (line 149 asserts the test-reviewer list).

Evidence

#676 audit notes on programmer, contract-auditor, and test-reviewer rows.

Origin

  • Trigger: #676 enrich-fact audit, run in session 9434289b
  • Improvised this session: none
  • Chain: oversized or duplicated brief facts <- enrich lists chosen per node without a per-role byte audit <- DESIGN (map enrich model)
  • Root candidate: this ticket
  • Where: the map/charter/composer paths named in the draft
  • Parent: #676
  • Session: 9434289b-c48f-4a8a-8add-0d82068e2c3f
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/9434289b-c48f-4a8a-8add-0d82068e2c3f.jsonl

Skeptic verdict: CREATE (os-backlog:ticket-skeptic, session 9434289b, citations verified).

## Problem The #676 audit compared enrich lists to charters looking for excess. It also found the reverse in three nodes, where the charter reads a fact the map never supplies: - coding.yaml:11 programmer gets `[ticket_brief]`; programmer.md:16-20 lists seam-designer, change-auditor, test diff, and test files as inputs. - poodr-implementation.yaml:163 contract-auditor gets `[ticket_brief, gate_results]`; contract-auditor.md:15 checks the diff against every WORK item in the change-auditor work list. - poodr-implementation.yaml:62 test-reviewer gets `[ticket_brief, red_tests, test_changes]`; test-reviewer.md:16 reasons about WORK items and retired_tests. In each case the role either fails the charter rule silently or relies on the handoff field by luck. ## Reproduce n/a: design audit finding, not a runtime defect. ## Approach Make the two unused maps and one charter agree with what the roles read. coding.yaml has no change-auditor or seam-designer nodes, so the programmer charter must state those inputs as conditional. The two poodr-implementation nodes get the same enrich entries their poodr-ticket-implementation twins carry. Required work: 1. poodr-implementation.yaml contract-auditor enrich adds change-auditor. 2. poodr-implementation.yaml test-reviewer enrich adds change-auditor and retired_tests. 3. programmer.md Input section states that seam-designer, change-auditor, and the test diff are supplied when the map provides them. 4. Update the map tests that assert those exact lists. ## Acceptance criteria 1. The contract-auditor enrich list in poodr-implementation.yaml includes change-auditor. 2. The test-reviewer enrich list in poodr-implementation.yaml includes change-auditor and retired_tests. 3. The Input section of plugins/os-sdlc/agents/programmer.md says the seam-designer, change-auditor, and test diff inputs are supplied when the map provides them. 4. The map tests that assert those enrich lists pass with the new lists. ## Owner sketch Maps: plugins/os-sdlc/maps/poodr-implementation.yaml lines 62 and 163. Charter: plugins/os-sdlc/agents/programmer.md lines 16-20. Tests: plugins/os-sdlc/tests/poodr_implementation_map_test.rb (line 149 asserts the test-reviewer list). ## Evidence #676 audit notes on programmer, contract-auditor, and test-reviewer rows. ## Origin - Trigger: #676 enrich-fact audit, run in session 9434289b - Improvised this session: none - Chain: oversized or duplicated brief facts <- enrich lists chosen per node without a per-role byte audit <- DESIGN (map enrich model) - Root candidate: this ticket - Where: the map/charter/composer paths named in the draft - Parent: #676 - Session: 9434289b-c48f-4a8a-8add-0d82068e2c3f - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/9434289b-c48f-4a8a-8add-0d82068e2c3f.jsonl Skeptic verdict: CREATE (os-backlog:ticket-skeptic, session 9434289b, citations verified).
Author
Owner

Second-opinion review (Codex): RISK LOW. plugins/os-sdlc/tests/poodr_implementation_map_test.rb:149 asserts the exact enrich list; update it with the map.

Second-opinion review (Codex): RISK LOW. plugins/os-sdlc/tests/poodr_implementation_map_test.rb:149 asserts the exact enrich list; update it with the map.
Author
Owner

Map-usage check (session 9434289b): all 25 implementations in .sdlc/pipeline.db ran poodr-ticket-implementation.yaml. No skill references coding.yaml. All three findings in this ticket are in the two unused maps; the default map already carries every fact the charters read. Priority is low until coding.yaml or poodr-implementation.yaml is used.

Map-usage check (session 9434289b): all 25 implementations in .sdlc/pipeline.db ran poodr-ticket-implementation.yaml. No skill references coding.yaml. All three findings in this ticket are in the two unused maps; the default map already carries every fact the charters read. Priority is low until coding.yaml or poodr-implementation.yaml is used.
Author
Owner

Work started on branch ticket-691 via /os-sdlc:implement, session 9434289b.

Work started on branch ticket-691 via /os-sdlc:implement, session 9434289b.
Author
Owner

Resolution

Done: poodr-implementation.yaml: contract-auditor enrich adds change-auditor; test-reviewer enrich adds change-auditor and retired_tests. programmer.md Input list marks seam-designer, change-auditor, and test diff as supplied when the map provides them. Map tests updated.

Evidence: os-sdlc implementation 29: 7 dispatches pass through behavior-verifier; suite-check failed on OsSdlcOwnBinaryForkGuardTest, which fails identically on main at 481425cf from another session's #633 work and is unrelated to this diff (1418 runs, that 1 failure only). Hand-finished per escalation procedure step 4 without a repair dispatch; rubocop clean; branch ticket-691.

Follow-ups: none. The own_binary_fork_guard failure belongs to #633's session.

## Resolution **Done:** poodr-implementation.yaml: contract-auditor enrich adds change-auditor; test-reviewer enrich adds change-auditor and retired_tests. programmer.md Input list marks seam-designer, change-auditor, and test diff as supplied when the map provides them. Map tests updated. **Evidence:** os-sdlc implementation 29: 7 dispatches pass through behavior-verifier; suite-check failed on OsSdlcOwnBinaryForkGuardTest, which fails identically on main at 481425cf from another session's #633 work and is unrelated to this diff (1418 runs, that 1 failure only). Hand-finished per escalation procedure step 4 without a repair dispatch; rubocop clean; branch ticket-691. **Follow-ups:** none. The own_binary_fork_guard failure belongs to #633's session.
jared closed this issue 2026-09-24 19:37:33 +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#691
No description provided.