Development record
The store-before-commit redactor on the capture path rewrites a hyphenated prose slug that ends in a device word as `[redacted-hostname]`: the net_device_hostname rule matches any hyphenated token ending in a word such as laptop, macbook or nas, although the author named a page, not a machine. Observed on 2026-09-23 in iss-2609230851376499: its reproduction step names the memory page slug it ingested, and the stored record reads "slug [redacted-hostname]", so the reproduction cannot be followed from the record's own text. #663 fixed the same false positive on the memory lint's read side by judging page back-links by the page-name rule; the capture path applies the free-text rule to every token and has no such distinction. Wanted: the capture path spares a token the author set in code quotes, or the rule asks for a shape only a host name takes; either change carries a fixture with a slug of that shape.
The store-before-commit redactor on the capture path rewrites a hyphenated prose slug that ends in a device word as [redacted-hostname]: the net_device_hostname rule matches any hyphenated token ending in a word such as laptop, macbook or nas, although the author named a page, not a machine. Observed on 2026-09-23 in iss-2609230851376499: its reproduction step names the memory page slug it ingested, and the stored record reads "slug [redacted-hostname]", so the reproduction cannot be followed from the record's own text. #663 fixed the same false positive on the memory lint's read side by judging page back-links by the page-name rule; the capture path applies the free-text rule to every token and has no such distinction. Wanted: the capture path spares a token the author set in code quotes, or the rule asks for a shape only a host name takes; either change carries a fixture with a slug of that shape.
Grounds
- pursued: a prose page slug ending in a device word is stored intact and a two-token machine name is still masked; a slug of that shape still rewritten, or a real device host now spared, would show it wrong
Frontmatter
| id | iss-2609240646532741 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2609240646532741-capture-redactor-reads-a-device-word.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2609230851376499The read-side MR001 lint reports an ordinary memory store as a blocker when a page name is prose-shaped. residueOfStoreFiles scans the sources registry bytes at the scanner.BlockingResidual bar, and the registry carries every page back-link, so a back-link such as topic_home_migrating-[redacted-hostname].md matches net_device_hostname at warn on the hyphen boundary and memory lint exits 1 with 'stored text carries a net:device_hostname span' on a store the write side produced without complaint. The write side already knows this: redactRegistryLeaves excludes the back-link list from the leaf walk for exactly this slug, and judgeFilename judges page names at the hard_fail bar alone. The read side holds a back-link to the free-text bar, so the two sides disagree on the same bytes. Reproduced at bad1c73e by ingesting a page with domain home and slug [redacted-hostname] and running Lint: one MR001 blocker on .sources_index.json. Remedy: judge back-link names by the page-name rule and keep them out of the registry's free-text scan.