poodr map: no role owns test-file lint offenses (repair deadlock) #499
Labels
No labels
P0
P1
P2
P3
bug
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
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#499
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?
Context
2026-08-24 #491 run: lint gate red on Metrics/MethodLength inside the new test file. programmer-repair correctly refuses to edit tests; the fail edge routes back to programmer-repair, looping two refusal rounds (~58k tokens) until an off-map agent fixed the test file. Dispatches 12-13 handoffs record the refusals.
Task
Route test-sourced lint reds to test-writer, or scope programmer/repair lint to production files and lint test files in the test-writer gate. Record the choice in an ADR if it changes gate semantics.
Origin
Insight from the 2026-08-24 #500 session: recommend deciding this ticket together with #492 (per-gate expect declarations), not before it. #492 already rewrites the test-writer node's gates entry ({gate: test, expect: red}) and its map edges, and requires an ADR amendment — the 'scope programmer/repair lint to production files and lint test files in the test-writer gate' option would touch the exact same map lines and the same ADR, so sequencing them separately means two consecutive map/ADR churns and a rebase. Also relevant prior art: lint-fixer already refuses test files by charter (long-standing), so the 'route test-sourced lint reds to test-writer' option is consistent with existing role boundaries rather than a new exception. The #492 replay is planned for a fresh session; bundling the #499 decision into its map edit is the cheap path.
Work started 2026-08-24: resolving via the #492 bundle as decided — lint_command excludes test files, new test-lint gate on the test-writer node routes test-sourced lint reds to test-writer. See #492 for the acceptance addendum and ADR.
Resolution
Done: Resolved via the #492 bundle: GateCommands#lint_command excludes test-path files, new test-lint gate on the test-writer node owns test-file offenses, so test-sourced lint reds route to test-writer (may edit tests) instead of deadlocking programmer-repair
Evidence: Commit
c7ee237; ADR-0147 records the ownership decision; gate_commands_test.rb covers production-lint excluding test files and test-only diffs yielding test-lint with nil lint; consistent with lint-fixer's existing test-file refusal charterFollow-ups: none