Development record
encodeHiddenRunes is duplicated byte-for-byte in memory/ingest.go and cite/fetch.go: both packages carry an identical unexported percent-encoder for hidden runes (Trojan-source/JSON-escape class), added independently to close the same redirect-URL leak. termsafe is the canonical home for untrusted-boundary sanitisers; two private copies will drift, and a rune class added to one leaves the other door open. Export one termsafe.EncodeHiddenRunes and route both call sites through it. Follow-up to the batch that fixed iss-357.
issueresolvednitpickiss-2608280851288836
encodeHiddenRunes is duplicated byte-for-byte in memory/ingest.go and cite/fetch.go: both packages carry an identical unexported percent-encoder for hidden runes (Trojan-source/JSON-escape class), added independently to close the same redirect-URL leak. termsafe is the canonical home for untrusted-boundary sanitisers; two private copies will drift, and a rune class added to one leaves the other door open. Export one termsafe.EncodeHiddenRunes and route both call sites through it. Follow-up to the batch that fixed iss-357.
Frontmatter
| id | iss-2608280851288836 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | nitpick |
.abcd/work/issues/resolved/iss-2608280851288836-encodehiddenrunes-duplicated-across.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-357memory ingest records a redirect-controlled FinalURL verbatim into stored material origins — the iss-359 class one door over; the cite fix neither touched nor recorded the sibling site