Audit each os-sdlc map node's enrich facts against what its role acts on #676
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#676
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
Each os-sdlc map node enriches its brief with a list of facts. Some facts carry far more bytes than the role acts on. #670 showed the test-reviewer receives full Minitest output, where stack traces are 71% of the bytes, when it acts only on red test names and messages. Oversized briefs cost tokens on every dispatch and push briefs over the hook cap (ADR-0206). No audit has checked each node's enrich list against what its charter reads.
Reproduce
n/a: design audit, not a defect to reproduce.
Approach
Read-only audit. For each node in
plugins/os-sdlc/maps/*.yaml, compare the node'senrichlist with the charter text underplugins/os-sdlc/agents/.Required work:
red_testsdoes for the test-reviewer in #670).Rule: when in doubt keep the fact. Trim only where the charter text shows the role never uses the content.
Blocked by: #670 (the
red_testsfact is the first trim and the template for the rest).Origin
Skeptic verdict: CREATE (user-approved this session) — the #670 finding is one instance of a general class; the audit is read-only and yields tickets with evidence, not speculative changes.
Work started: read-only audit run via subagents in session 9434289b. Measurement pass on fact byte sizes, then one judgment pass per role, then trim tickets.
Audit complete. Trim tickets filed:
#686 reviewer receives full gate output it is told not to re-check; trim gate_results to gate verdicts
#687 refactorer receives gate_results its charter never names; drop it from both poodr maps
#688 suite-check receives ticket_brief it never reads; drop it from all three maps
#689 refactorer receives the full change-auditor report in the ticket map but reads only WORK-MISSING items from the contract-auditor handoff
#690 BriefComposer sends the predecessor report twice when an enrich role name equals handoff.from
#691 three map nodes under-enrich relative to their charters (programmer in coding.yaml, contract-auditor and test-reviewer in poodr-implementation.yaml)
Resolution
Done: Read-only audit of every enrich fact on all 23 map nodes across coding.yaml, poodr-implementation.yaml, poodr-ticket-implementation.yaml against each role charter. Fact sizes measured from .sdlc/pipeline.db (2026-09-17 to 2026-09-24). Verdicts: 4 trims/drops, 1 composer duplication, 1 reverse mismatch (under-enrich). All other cells KEEP with charter citations.
Evidence: Per-role audit tables in session 9434289b; ticket-skeptic verdict CREATE on all six drafts with citations verified; gate_results median 3,812 chars max 240,397 vs 10k hook cap; role reports median 1,587 max 8,497; RedTests.parse verified clean (101 red tests in 20k chars, 0 backtrace lines).
Follow-ups: #686 reviewer gate_verdicts; #687 refactorer drop gate_results; #688 suite-check drop ticket_brief; #689 refactorer drop change-auditor; #690 BriefComposer duplicate handoff; #691 under-enriched nodes. Each carries its skeptic verdict in the body.