contract-auditor: treat a lint-mandated class comment as an external constraint and reconcile refactorer evidence before re-raising an item #620
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#620
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
Implementation 9 for ticket #563 escalated with
bound_exhausted:contract-auditor/failafter a three-round cycle over one CORRECTION that should not have survived round one.Observed
Contract-auditor dispatch 114 raised two CORRECTIONs: replace a hidden
@stackivar with a threaded local, and delete the class comment# Fence-aware line mask consumed as document.skip_mask.onplugins/os-aidd-lint/lib/aidd_lint/fence_mask.rb.Refactorer 115 fixed the ivar item. The comment-deletion item carried forward.
Refactorer 118 tried the deletion. The lint gate failed with:
Refactorer 118 reverted the deletion and returned
NO-REFACTOR-NEEDEDwith that rationale.Contract-auditor 117 and 120 re-raised the same CORRECTION verbatim, with all CONTRACT lines "intact". Dispatch 120 did not engage the rationale. The Runner escalated.
Cost: two extra refactorer, suite-check, and auditor rounds on a change with no remaining design item.
Reproduce
That sibling file has no class comment and the cop reports the offense.
fence_mask.rbwith its comment is clean..rubocop.ymldoes not inheritrubocop-base.yml, soStyle/Documentationis enabled for this repo.Handoffs: implementation 9, dispatches 114, 117, 118, 120 in
.sdlc/pipeline.db.Expected
plugins/os-sdlc/agents/contract-auditor.md) treats a comment that an enabled rubocop cop requires as an external-constraint comment, not a CORRECTION.NO-REFACTOR-NEEDEDwith a stated reason for an item, the auditor either refutes the reason with evidence or drops the item. Re-raising it verbatim is not allowed.wrong_verdictinstead of spending another refactorer round.Origin
1ab89c6din worktree ticket-563.Style/Documentationenabled repo-wide is undocumented for agents.VERDICT: CREATE — Observed failure from a complete implementation run (three wasted refactorer/auditor rounds, bound_exhausted escalation) with concrete dispatch evidence; no existing mechanism covers the constraint-comment gap, and Origin traces to this ticket as the root.
Resolution
Done: Style/Documentation cop disabled; the refactorer's NO-REFACTOR-NEEDED was correct and the cop was the defect, no charter change
Evidence:
a2bf4a29, configs changed: .rubocop.yml; rubocop --only Style/Documentation reports 0Follow-ups: #799 comment sweep
Correction to prior evidence:
rubocop --only Style/Documentationforces the cop to run regardless of Enabled:false (it still reports offenses under --only). The correct verification is a plain gate run:rubocop --config .rubocop.yml plugins/osreports 0 Style/Documentation offenses, confirming the cop is off in the normal lint path.