This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

2026-08-01 — iss-30 (v0.5.0 item C7), FINAL increment, test-only: the memory-ingest boundary's last four acceptance instances were absences, not defects, and are now drained behind detectors in `internal/core/memory/ingest_boundary_test.go` and `internal/core/memory/yaml_boundary_test.go`. The no-new-dep STOP the entry flagged for PDF extraction never fired, and the reason is the design rather than luck: `PDFExtractor` is a plain `func([]byte) (string, error)` the caller supplies, so a fake extractor covers the nil / error / empty-text / success matrix on the fetched path and both local sniffs (`.pdf` extension, `%PDF-` magic) without a parser ever entering `go.mod` — the nil case (no parser installed) is itself one of the behaviours under test. Likewise `Fetcher` carries the whole URL-ingest success path with no network: the fetcher is asked for the REQUESTED url, the FINAL url after redirects is what reaches the citation and the registry origin, the response headers reach licence detection (an HTTP `License:` header has no local-path equivalent), and `--keep-original` takes its extension from the final url's PATH, so a query string or fragment cannot leak into it. Two judgement calls worth recording. (1) On the parser's block-scalar limit: only the literal `|` opens a block — `>`, `|-` and `|+` are read as ordinary scalars — and rather than treat that as a defect to fix, the increment pins the property that makes it safe, which is that an unsupported indicator fails LOUDLY (the indented lines beneath it are refused as top-level content) rather than silently swallowing or dropping them. Widening the parser was rejected as scope the memory store has no shape asking for; the dumper never emits a block scalar at all. (2) No CHANGELOG entry: nothing user-facing changed, and the repo's own definition of done ties an entry to a user-facing change — the precedent is the behaviour-preserving `internal/urlguard` extraction, which carried none either. Every case was mutation-checked (sixteen targeted reversions of shipped behaviour, each turning at least one new case red), and no production behaviour was found to diverge from its own documentation, which is why this increment adds no fix.

decisiondcn-2608010000000014

2026-08-01 — iss-30 (v0.5.0 item C7), FINAL increment, test-only: the memory-ingest boundary's last four acceptance instances were absences, not defects, and are now drained behind detectors in internal/core/memory/ingest_boundary_test.go and internal/core/memory/yaml_boundary_test.go. The no-new-dep STOP the entry flagged for PDF extraction never fired, and the reason is the design rather than luck: PDFExtractor is a plain func([]byte) (string, error) the caller supplies, so a fake extractor covers the nil / error / empty-text / success matrix on the fetched path and both local sniffs (.pdf extension, %PDF- magic) without a parser ever entering go.mod — the nil case (no parser installed) is itself one of the behaviours under test. Likewise Fetcher carries the whole URL-ingest success path with no network: the fetcher is asked for the REQUESTED url, the FINAL url after redirects is what reaches the citation and the registry origin, the response headers reach licence detection (an HTTP License: header has no local-path equivalent), and --keep-original takes its extension from the final url's PATH, so a query string or fragment cannot leak into it. Two judgement calls worth recording. (1) On the parser's block-scalar limit: only the literal | opens a block — >, |- and |+ are read as ordinary scalars — and rather than treat that as a defect to fix, the increment pins the property that makes it safe, which is that an unsupported indicator fails LOUDLY (the indented lines beneath it are refused as top-level content) rather than silently swallowing or dropping them. Widening the parser was rejected as scope the memory store has no shape asking for; the dumper never emits a block scalar at all. (2) No CHANGELOG entry: nothing user-facing changed, and the repo's own definition of done ties an entry to a user-facing change — the precedent is the behaviour-preserving internal/urlguard extraction, which carried none either. Every case was mutation-checked (sixteen targeted reversions of shipped behaviour, each turning at least one new case red), and no production behaviour was found to diverge from its own documentation, which is why this increment adds no fix.

Frontmatter

iddcn-2608010000000014
typedecision
date2026-08-01

mentions1