Development record
references_sync lint rung: cross-check references.csl.json keys/DOIs/URLs against the ACKNOWLEDGEMENTS.md References & sources section, so a store entry without a prose entry (or vice versa) is a finding; today the sync is the documented protocol in research/_references.md
references_sync lint rung: cross-check references.csl.json keys/DOIs/URLs against the ACKNOWLEDGEMENTS.md References & sources section, so a store entry without a prose entry (or vice versa) is a finding; today the sync is the documented protocol in research/_references.md
Remedy grounds (2026-09-29)
Why: the two stores are declarable and machine-readable on both sides, so the cross-check is mechanical, and ruling BT3 (2026-09-29) already settles how a new warn rule lands. Rejected: generating the ACKNOWLEDGEMENTS section from the CSL store, which would turn a hand-written credit page into derived output and lose its prose.
Frontmatter
| id | iss-248 |
|---|---|
| type | issue |
| lifecycle | open |
| severity | minor |
.abcd/work/issues/open/iss-248-references-sync-lint-rung.md
open on GitHub ↗ · commit history ↗
mentions1
- dcn-26081600000000062026-08-16 — academic references baseline adopted: the References & sources section of ACKNOWLEDGEMENTS.md carries a curated set of primary sources (end-user programming, AI-assisted development in practice, security of AI-generated code, human judgement and method, records and specification) as one ACM-style numbered list ordered alphabetically by first author, with canonical metadata in `.abcd/development/research/references.csl.json`. CSL-JSON extends the 2026-07-08 bibliography ruling to the repo level — one canonical format, `.bib` derived on demand (pandoc one-liner in `_references.md`) and gitignored. Admission criteria (primary sources only, verified citations only, curated not exhaustive) and the per-group rationale live in research/notes/2026-08-16-academic-references-baseline.md; store↔markdown sync is the documented protocol in `_references.md` per script-first-mvp, with a `references_sync` lint captured as iss-248, the possible next rung. A root CITATION.cff (CFF 1.2.0) answers the reverse direction — citing abcd itself. Rejected: `.bib` as the source of truth (a second canonical bibliography format beside the recorded CSL-JSON ruling), and generating the markdown section from the store (inverts markdown-as-source-of-truth). Consequence of the numbered list, from the independent adversarial review of the sources plan: ACKNOWLEDGEMENTS.md leaves the iss-118 merge=union set — an alphabetical insertion renumbers subsequent entries, so a union merge of two concurrent additions would silently interleave both renumberings; a loud conflict is correct there.