Development record
2026-07-12 — iss-30 (memory ingest boundary) partially resolved: the fetch/read
decisiondcn-2607120000000003
2026-07-12 — iss-30 (memory ingest boundary) partially resolved: the fetch/read subset — C12 (HTTP status), P11 (SSRF NAT64/6to4), C13 (local size cap), the ~user tilde mangle — landed in PR #38. iss-30 stays OPEN for its remaining instances (the larger "ingest test-suite" effort): the --keep-original partial-failure reporting, CRLF parser-parity (parseFrontmatter vs splitFileFrontmatter), and broader URL-ingest/content-type/PDF path coverage.
Frontmatter
| id | dcn-2607120000000003 |
|---|---|
| type | decision |
| date | 2026-07-12 |
.abcd/work/decisions/dcn-2607120000000003-iss-30-memory-ingest-boundary-partially.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-30memory ingest input-boundary defects: HTTP status is never checked so 404/500 error pages are silently ingested as source content (internal/core/memory/ingest.go:558-575); tilde expansion mangles ~user paths into home+user concatenations (ingest.go:579-584); a --keep-original failure after the page write reports total failure although pages and registry were durably mutated (ingest.go:301-311); CRLF pages are accepted by parseFrontmatter but rejected by splitFileFrontmatter so hashes and summaries silently degrade (yaml.go:558-591); the URL-ingest success path, content-type handling, PDF extraction, and original-storage are untested, as are YAML block scalars and double-quoted escapes. Detector: an ingest-boundary test suite — fetch status matrix, content-type matrix, CRLF round-trip, tilde cases, partial-failure reporting, parser-parity cases. Acceptance corpus: the six instances above.