Development record
related_sources frontmatter for record-store documents (intents, ADRs, research notes): machine-readable acknowledgment of the sources that informed a document — public sources by CSL key, confidential sources by a random opaque per-source id assigned at ingest (NEVER a content hash: hashing an obtainable document is verifiable by outsiders and breaks confidentiality). Needs schema sanction in record-lint, an id-resolution path via the local corpus, and add-source generating ref_id. Complements the ledger's used_in field (the corpus-side half, already shipped).
related_sources frontmatter for record-store documents (intents, ADRs, research notes): machine-readable acknowledgment of the sources that informed a document — public sources by CSL key, confidential sources by a random opaque per-source id assigned at ingest (NEVER a content hash: hashing an obtainable document is verifiable by outsiders and breaks confidentiality). Needs schema sanction in record-lint, an id-resolution path via the local corpus, and add-source generating ref_id. Complements the ledger's used_in field (the corpus-side half, already shipped).
Remedy grounds (2026-09-29)
Why: the CSL store already gives every public source a key, so only the confidential half needs a new id, and a gate that runs in CI cannot resolve a corpus that lives in one account's home, so its check stops at shape. SOTA check: the CSL-JSON data schema requires an id (string or number) on every item (https://github.com/citation-style-language/schema/blob/master/schemas/input/csl-data.json, read 2026-09-29). Rejected: CITATION.cff references (https://citation-file-format.github.io/, read 2026-09-29), which describe the software's own citation rather than per-document provenance and would be a second store beside the CSL one.
Frontmatter
| id | iss-25 |
|---|---|
| type | issue |
| lifecycle | open |
| severity | minor |
.abcd/work/issues/open/iss-25-related-sources-frontmatter.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2610241549433260Five open records carry remedies that name verbs or pages itd-2610090831227812 retired with no alias on 2026-10-09: iss-25 and iss-52 name abcd source add (iss-52 also source ledger), and iss-92, iss-2608210934566220 and iss-2610040350491915 name prepare-this-repo, so a lane applying any of them targets a command that no longer exists; nothing checks a remedy against the retired names.