three map nodes under-enrich relative to their charters (programmer in coding.yaml, contract-auditor and test-reviewer in poodr-implementation.yaml) #691
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.
Dependencies
No dependencies set
Reference
jared/cc-os#691
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
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:
[ticket_brief]; programmer.md:16-20 lists seam-designer, change-auditor, test diff, and test files as inputs.[ticket_brief, gate_results]; contract-auditor.md:15 checks the diff against every WORK item in the change-auditor work list.[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:
Acceptance criteria
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
Skeptic verdict: CREATE (os-backlog:ticket-skeptic, session 9434289b, citations verified).
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.
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.
Work started on branch ticket-691 via /os-sdlc:implement, session 9434289b.
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
481425cffrom 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.