Development record
The cold-reading exclusion floor disagrees with itself about heading case. TestTheFixtureLeakIsAbsentUnderEveryCommittedPreset (smoke lane) failed when a record carried a '## Open questions' heading (lower-case q): the redactor, redactExcluded in internal/core/reading/project.go, looks the heading up exactly, case-sensitive, while the verifier compares with strings.EqualFold. So a record whose excluded heading differs only in case is not redacted but is refused, and reading assemble fails for the whole repository. It fails closed, so nothing leaks, but any record author can break the assembler with a lower-case heading.
The cold-reading exclusion floor disagrees with itself about heading case. TestTheFixtureLeakIsAbsentUnderEveryCommittedPreset (smoke lane) failed when a record carried a '## Open questions' heading (lower-case q): the redactor, redactExcluded in internal/core/reading/project.go, looks the heading up exactly, case-sensitive, while the verifier compares with strings.EqualFold. So a record whose excluded heading differs only in case is not redacted but is refused, and reading assemble fails for the whole repository. It fails closed, so nothing leaks, but any record author can break the assembler with a lower-case heading.
Frontmatter
| id | iss-2610101819067941 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610101819067941-the-cold-reading-exclusion-floor.md
open on GitHub ↗ · commit history ↗