Reconsider project_index_test raw-content assertion rather than exempting RawFileContentAssertion #304
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#304
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
The os-backlog fix-lints run (2026-08-06) left one offense standing: Sdlc/Structural/RawFileContentAssertion at plugins/os-backlog/tests/project_index_test.rb:28. The test asserts a corrupt index file survives byte-for-byte after a read — ProjectIndex#all swallows corrupt JSON into {} by design ('read paths never rewrite', project_index.rb:13-14), so no parsed reader can prove the bytes were untouched, and a scoped Exclude in .rubocop.yml was the proposed fix. User call: an offense with no reasonable in-code fix suggests the code/test design itself should be re-examined before an exemption is granted. Investigate whether ProjectIndex should expose a way to verify the no-rewrite-on-read invariant (or whether the cop/test shape should change), instead of excluding the file.
Frozen in the 2026-08-16 backlog reset — see #419 for the expiry procedure. Do not work unless a live run rediscovers this issue.