docs: sources provenance design + intent governance sweep - #6
Merged
Conversation
A local-only system for consulting confidential sources without ever citing them publicly: global CSL-JSON corpus, append-only JSONL influence ledger, banlist patterns generated from confidential entries into the itd-74 private pre-commit guard, Quarto profiles for eventual paper reconstruction. Convention-first scaffold is live at user level; promotion to 'abcd source' verbs is captured as draft intent itd-76. Also records the personas principle (Alice, Bob, Carol; user is they/them) set this session. Assisted-by: Claude:claude-fable-5
…home) Grill outcomes: leak guard promises literal strings only (paraphrase risk stated and handled behaviourally); two-level AND citation gate; author bans default on with per-source ban_authors opt-out; standalone source domain (itd-16 optional backend); public render proven by structural filter plus post-render lint; team sharing of citation data via committed .abcd/work/references.json (share/ingest); durability via machine backup + git bundle. The pre-commit guard now auto-refreshes the generated banlist block from the user-level corpus when present. itd-77 records the user-level ~/.abcd home as a configurable, wizard- relocatable fourth tier, additive to the repo .abcd tiers. Assisted-by: Claude:claude-fable-5
Supersedes today's default-on choice with base-rate information: the expected corpus (own submitted work, purchased reports, private repos) makes default author bans near-pure false positives — they would ban the user's own name — while title/alias patterns carry the actual protection. Author bans remain available per source for collaborations that are themselves secret. Assisted-by: Claude:claude-fable-5
… itd-76/77 Severity says how much a thing matters; the graph says when to build it. Intents declare severity (capture-ledger enum) and blocked_by / builds_on edges; effective priority is derived by priority inheritance (a minor blocker of a major intent computes to major) and never stored, per the directory-is-state doctrine. Phases keep sequencing authority (adr-9); lint gains graph checks (cycles, dangling ids, phase-order violations, ignored inversions). Records an earlier-session decision that severity must not determine priority. Assisted-by: Claude:claude-fable-5
…(itd-78 pilot) Seven parallel assessments proposed severity + edges for every draft, planned, and discipline intent. This commit lands only the edges whose evidence is an explicit statement in the intent's own prose; severities and low-confidence edges await human ratification. Edges into superseded targets (itd-47) and direction-suspect edges were withheld. Assisted-by: Claude:claude-fable-5
…dead intents All 64 live intents now carry ratified severity (capture-ledger enum) and their evidence-backed edges; the nine low-confidence edges the review approved land as builds_on. Record cleanup: itd-47 (superseded by ADR-22) and itd-49 (superseded by ADR-26) move to superseded/ per the directory-is-state doctrine; persona names in itd-7, itd-43, and itd-74 corrected to the Alice/Bob principle. Assisted-by: Claude:claude-fable-5
The assessor-lessons note seeds a future 'abcd intent assess' flow: direction flips are the top error mode, most blockers are not intents, supersession hides in live edges, rosters must come from one commit. itd-78's dogfood section now records the corpus-wide sweep and the questions it settled; follow-up anomalies await ledger capture after the triage branch merges (numbering must not fork). Assisted-by: Claude:claude-fable-5
Confidentiality is declared at ingestion; the folder location is the single source of truth, mirrored by the flag with a refuse-on-mismatch check. Derived artifacts (summaries, notes) inherit confidentiality by living in the source's folder; declassification is a visible move. Assisted-by: Claude:claude-fable-5
… fingerprints personas.json is the single registry: selection by role (the role's registered name is used), alphabetical roster, they/them throughout; the principle file now points at it and quote personas are re-bound to their roles (Frank/Kira/Maya). Intents gain a required Prior Art section; itd-42's Tier 2 additionally loads principles/ at promotion. itd-78 gains the hand-authored-reverse-field lint and optional edge fingerprints for suspect-link detection. Intent doneness stays gated on the intent's own itd-1 criteria; the consume-model interview is logged as a follow-up. Assisted-by: Claude:claude-fable-5
…riority inheritance, Rust RFC) Assisted-by: Claude:claude-fable-5
…cabulary); persona sweep Consume-model decisions: spec_id is scalar (split-the-intent doctrine, itd-67/72 precedent; the spec-side intent list stays — that is the bundle direction); enforced principles promote to discipline-kind intents (principles/README records the path); the five-state coverage vocabulary lands as itd-53's gate reporting language. Persona sweep across the remaining corpus: 20 flagged quotes rebound by role (Kira for maintainers, Iris for the product voice, Maya for practitioners, Bob/staff-engineer fix); Nia (facilitator) joins the registry as the 14th persona; Bob, Iris, Maya gain role hints. Assisted-by: Claude:claude-fable-5
REPPL
added a commit
that referenced
this pull request
Jul 11, 2026
* docs: record confidential-sources provenance design (itd-76) A local-only system for consulting confidential sources without ever citing them publicly: global CSL-JSON corpus, append-only JSONL influence ledger, banlist patterns generated from confidential entries into the itd-74 private pre-commit guard, Quarto profiles for eventual paper reconstruction. Convention-first scaffold is live at user level; promotion to 'abcd source' verbs is captured as draft intent itd-76. Also records the personas principle (Alice, Bob, Carol; user is they/them) set this session. Assisted-by: Claude:claude-fable-5 * docs: harden itd-76 after design grill; add itd-77 (relocatable user home) Grill outcomes: leak guard promises literal strings only (paraphrase risk stated and handled behaviourally); two-level AND citation gate; author bans default on with per-source ban_authors opt-out; standalone source domain (itd-16 optional backend); public render proven by structural filter plus post-render lint; team sharing of citation data via committed .abcd/work/references.json (share/ingest); durability via machine backup + git bundle. The pre-commit guard now auto-refreshes the generated banlist block from the user-level corpus when present. itd-77 records the user-level ~/.abcd home as a configurable, wizard- relocatable fourth tier, additive to the repo .abcd tiers. Assisted-by: Claude:claude-fable-5 * docs: flip author bans to opt-in (ban_authors: true) Supersedes today's default-on choice with base-rate information: the expected corpus (own submitted work, purchased reports, private repos) makes default author bans near-pure false positives — they would ban the user's own name — while title/alias patterns carry the actual protection. Author bans remain available per source for collaborations that are themselves secret. Assisted-by: Claude:claude-fable-5 * docs: add itd-78 (intent dependency graph); pilot severity + edges on itd-76/77 Severity says how much a thing matters; the graph says when to build it. Intents declare severity (capture-ledger enum) and blocked_by / builds_on edges; effective priority is derived by priority inheritance (a minor blocker of a major intent computes to major) and never stored, per the directory-is-state doctrine. Phases keep sequencing authority (adr-9); lint gains graph checks (cycles, dangling ids, phase-order violations, ignored inversions). Records an earlier-session decision that severity must not determine priority. Assisted-by: Claude:claude-fable-5 * docs: land high-confidence dependency edges from the 64-intent sweep (itd-78 pilot) Seven parallel assessments proposed severity + edges for every draft, planned, and discipline intent. This commit lands only the edges whose evidence is an explicit statement in the intent's own prose; severities and low-confidence edges await human ratification. Edges into superseded targets (itd-47) and direction-suspect edges were withheld. Assisted-by: Claude:claude-fable-5 * docs: ratify intent sweep — land severities, remaining edges; retire dead intents All 64 live intents now carry ratified severity (capture-ledger enum) and their evidence-backed edges; the nine low-confidence edges the review approved land as builds_on. Record cleanup: itd-47 (superseded by ADR-22) and itd-49 (superseded by ADR-26) move to superseded/ per the directory-is-state doctrine; persona names in itd-7, itd-43, and itd-74 corrected to the Alice/Bob principle. Assisted-by: Claude:claude-fable-5 * docs: record intent-sweep methodology; settle itd-78 pilot questions The assessor-lessons note seeds a future 'abcd intent assess' flow: direction flips are the top error mode, most blockers are not intents, supersession hides in live edges, rosters must come from one commit. itd-78's dogfood section now records the corpus-wide sweep and the questions it settled; follow-up anomalies await ledger capture after the triage branch merges (numbering must not fork). Assisted-by: Claude:claude-fable-5 * docs: record corpus restructure (class-segregated per-source folders) Confidentiality is declared at ingestion; the folder location is the single source of truth, mirrored by the flag with a refuse-on-mismatch check. Derived artifacts (summaries, notes) inherit confidentiality by living in the source's folder; declassification is a visible move. Assisted-by: Claude:claude-fable-5 * docs: reconcile persona SSOTs; Prior Art section; one-way-edge lint + fingerprints personas.json is the single registry: selection by role (the role's registered name is used), alphabetical roster, they/them throughout; the principle file now points at it and quote personas are re-bound to their roles (Frank/Kira/Maya). Intents gain a required Prior Art section; itd-42's Tier 2 additionally loads principles/ at promotion. itd-78 gains the hand-authored-reverse-field lint and optional edge fingerprints for suspect-link detection. Intent doneness stays gated on the intent's own itd-1 criteria; the consume-model interview is logged as a follow-up. Assisted-by: Claude:claude-fable-5 * docs: acknowledge patterns adopted this branch (CSL-JSON, Doorstop, priority inheritance, Rust RFC) Assisted-by: Claude:claude-fable-5 * docs: interview outcomes (scalar spec_id, promotion path, coverage vocabulary); persona sweep Consume-model decisions: spec_id is scalar (split-the-intent doctrine, itd-67/72 precedent; the spec-side intent list stays — that is the bundle direction); enforced principles promote to discipline-kind intents (principles/README records the path); the five-state coverage vocabulary lands as itd-53's gate reporting language. Persona sweep across the remaining corpus: 20 flagged quotes rebound by role (Kira for maintainers, Iris for the product voice, Maya for practitioners, Bob/staff-engineer fix); Nia (facilitator) joins the registry as the 14th persona; Bob, Iris, Maya gain role hints. Assisted-by: Claude:claude-fable-5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Record-only change (no code paths except one committed hook edit) landing three connected arcs of design work.
1. Confidential sources + provenance ledger (itd-76, itd-77)
references.json. A "What It Cannot Enforce" section states the paraphrase residual risk plainly.~/.abcd/blessed as abcd's user-level home — a fourth, additive tier; wizard-relocatable, path configurable..githooks/pre-commitnow auto-refreshes the generated banlist block when the user-level corpus exists (no-op on CI/fresh clones; verified live).research/notes/.2. Intent dependency graph (itd-78) + corpus-wide sweep
severity(capture-ledger enum) and one-wayblocked_by/builds_onedges; effective priority is DERIVED via priority inheritance (a minor blocker of a major intent computes to major) and never stored. Phases keep sequencing authority (adr-9); lint gains graph checks incl. hand-authored-reverse-field rejection and fingerprint-based suspect links.superseded/; two priority inversions computed (itd-74→itd-76, itd-20→itd-33). Method + assessor lessons inresearch/notes/2026-07-08-intent-dependency-sweep.md.3. Authoring rules and the consume model
personas.jsonis the single registry (now 14 — Nia/facilitator joins); selection is by role, the role's name is used, they/them throughout; corpus-wide quote sweep applied; principle file points at the registry.## Prior Artsection; itd-42's promotion-time Tier 2 additionally loadsprinciples/.spec_idis scalar (split-the-intent doctrine; the spec-sideintent:list stays — bundle direction); enforced principles promote to discipline-kind intents; the five-state coverage vocabulary (uncovered/shallow/deep/orphaned/unwanted) becomes itd-53's gate reporting language; intent doneness = covered-deep AND the intent's own itd-1 criteria MET.ban_authorsflipped to opt-in (the corpus population makes default author bans near-pure false positives); personas principle + ACKNOWLEDGEMENTS entries for adopted patterns (CSL-JSON, Doorstop, priority inheritance, Rust RFC).make preflightand record-lint green throughout; every diff leak-scanned.Assisted-by: Claude