agent/process/audits/coherence-audit-2026-04.md

Provenance: collaborative. How Civic Blueprint labels human and AI collaboration.

Coherence Audit — April 2026

Status: Two passes complete. Pass 1 (PRINCIPLES.md anchor hallucinations) is recorded immediately below. Pass 2 (PROBLEM_MAP.md anchor hallucinations + a real cross-document drift between PRINCIPLES.md §5 and FOUNDATIONAL_COMMITMENTS.md §5) was triggered by Pass 1's verification step and is recorded in its own section further down. Both passes share a root cause — a single early bulk-authoring pass for source digests cited anchors and section titles that had never existed in any commit of the target documents.

Trigger: While creating sources/source-weekly-show-stewart-platner-digest.md, four references to a Principle 5 anchor (#5-inclusive-institutions-with-bounded-rules) failed verification — the current PRINCIPLES.md anchor is #5-critical-systems-require-public-interest-governance. The steward requested a full coherence audit per the Coherence Audit Protocol before deciding how to proceed with Platner-digest follow-up exchanges.

Scope covered: All four protocol categories (cross-document consistency, recommendation tracking, exchange index integrity, source corpus integrity), plus terminological consistency, across both project-2028 and civicblueprint.org. The retained external source corpus (external-formation-docs) was checked at the registry-and-folder level — no source-handling errors found in this pass.

Headline finding (revised April 29, 2026 after steward git-history check): seventeen source-digest files in sources/ carry anchors and body-text principle titles that have never existed in any commit of PRINCIPLES.md. Initial framing called this "drift" (one document evolving past another). The git log shows otherwise: §1 has only ever been "Human dignity is not conditional on market productivity" or its current "Dignity is inherent and unconditional"; §2 has only ever been "Essential needs should not be hostage to artificial/avoidable scarcity"; §3 has only ever been "AI must expand/augment human agency, not replace democratic control." The phantom titles "human dignity is non-negotiable," "the inheritance of humanity belongs to all of humanity," and "human purpose is the point of civilization" exist nowhere in PRINCIPLES.md git history. The correct classification is Hallucinated reference — anchors and titles invented by the digest-authoring agent at digest-creation time (commit d45f718 and adjacent), citing principles the source PRINCIPLES.md never carried. The Coherence Audit Protocol was updated as a result of this audit to add Hallucinated reference as a named issue type.

Why the reclassification matters for resolution: the prior framing offered three options (re-attribute, footnote-as-prior-version, mechanical anchor swap). With no prior version to footnote against, option (b) disappears and option (c) becomes actively wrong — a mechanical anchor swap would land the link on a principle whose actual content (e.g. essential needs / avoidable scarcity) does not match the digest's body-text claim (e.g. "common inheritance"), propagating the hallucination instead of fixing it. The remaining option is to re-author the affected principle-mapping sections against the actual current PRINCIPLES.md, which is what should have happened at digest creation time.


Document classes covered


Coherence checklist

1
Type
Hallucinated reference
Class
Project-authored analysis (source digest)
Artifact A
PRINCIPLES.md §1
Artifact B
source-acemoglu-robinson-why-nations-fail-digest.md, source-buchanan-tullock-calculus-consent-digest.md, source-chetty-healthcare-prices-digest.md, source-bowen-college-cost-digest.md, source-glaeser-gyourko-housing-digest.md, source-sachs-nordic-model-digest.md
Issue
Six digests anchor §1 as #1-human-dignity-is-non-negotiable and describe it as "human dignity is non-negotiable." git log -S "human-dignity-is-non-negotiable" PRINCIPLES.md returns no commits — the title and anchor have never existed. Original §1 was "Human dignity is not conditional on market productivity"; current §1 is "Dignity is inherent and unconditional." The phantom phrasing was invented at digest-authoring time. The conceptual substance of human dignity is preserved across the actual title change, so re-authoring is straightforward.
Suggested resolution
Fix. Re-author each affected digest's principle-mapping line to cite the current §1 ("Dignity is inherent and unconditional", anchor #1-dignity-is-inherent-and-unconditional) using its actual current language. Do not silently swap the anchor only — the body text "human dignity is non-negotiable" must also be replaced.
2
Type
Hallucinated reference
Class
Project-authored analysis (source digest)
Artifact A
PRINCIPLES.md §2
Artifact B
source-bastani-falc-digest.md, source-raworth-doughnut-digest.md, source-diamandis-abundance-digest.md, source-sandel-market-morality-digest.md, source-andreessen-techno-optimist-digest.md, source-sachs-nordic-model-digest.md, source-ostrom-governing-commons-digest.md, source-glaeser-gyourko-housing-digest.md, source-klein-thompson-abundance-digest.md
Issue
Nine digests anchor §2 as #2-the-inheritance-of-humanity-belongs-to-all-of-humanity and describe the principle as "common inheritance" / "inheritance of humanity belongs to all of humanity." git log -S "inheritance of humanity" -- PRINCIPLES.md returns zero commits. §2 has only ever been about essential needs / avoidable scarcity (housing, healthcare, food, water, education, energy, information). The "common inheritance" framing is a hallucination introduced at digest-authoring time, not a prior version of §2 the project has since moved past.
Suggested resolution
Fix by re-authoring per digest. A mechanical anchor swap is wrong — the link would resolve, but the body text "common inheritance" would still misattribute Principle 2. Re-author each digest's principle-mapping section to map the source's actual substance onto the actual current principle set. Most candidates: current §2 (essential needs) for sources whose claim is about meeting basic needs, current §6 (gains from automation should strengthen society) for abundance/post-scarcity sources, current §11 (functioning biosphere) and §12 (intergenerational obligation) for ecological-commons sources, current §17 (collective-power constraints) where the claim is about ownership-structure constraints.
3
Type
Hallucinated reference
Class
Project-authored analysis (source digest)
Artifact A
PRINCIPLES.md §3
Artifact B
source-raworth-doughnut-digest.md, source-baumol-cost-disease-digest.md, source-diamandis-abundance-digest.md, source-bowen-college-cost-digest.md, source-sandel-market-morality-digest.md, source-perry-chart-of-the-century-digest.md, source-keynes-grandchildren-digest.md, source-rawls-theory-of-justice-digest.md
Issue
Eight digests anchor §3 as #3-human-purpose-is-the-point-of-civilization and describe it as "human purpose is the point of civilization." git log -S "human purpose is the point" -- PRINCIPLES.md returns zero commits. §3 has only ever been about AI augmenting human agency, not replacing democratic accountability. The "human purpose" framing is a hallucination — there is no prior principle for digests to refer back to.
Suggested resolution
Fix by re-authoring per digest. The "human purpose" concept the digests reach for is genuine project substance — but it lives in current §1 (dignity), §7 (freedom requires both liberty and material stability), §8 (no class structurally excluded), or Foundational Commitments, not in §3. Re-author each digest's principle-mapping line to cite whichever of those principles actually carries the source's claim. Do not silently swap the anchor to current §3 (AI augmentation) — it is a different principle and the misattribution would persist.
4
Type
Broken reference
Class
Project-authored analysis (exchange)
Artifact A
PRINCIPLES.md §5
Artifact B
agent/exchanges/government-overreach-ownership-ratchet-exchange.md Round 2 §"Move to inclusive-institutions vocabulary" (line 505) and Round 5 v2 deliverable (line 606)
Issue
Exchange #21's Round 2 proposed moving Principle 5 to "inclusive-institutions-with-bounded-rules" vocabulary. Round 5's v2 deliverable was titled "Revised Principle 5 draft in inclusive-institutions-with-bounded-rules vocabulary" — but the current PRINCIPLES.md §5 retains the prior title ("Critical systems require public-interest governance"). My Platner digest stale anchor (#5-inclusive-institutions-with-bounded-rules) was almost certainly drafted from Exchange #21's proposed vocabulary, which was never adopted into PRINCIPLES.md.
Suggested resolution
Already fixed in the Platner digest (anchors corrected during digest creation). The exchange itself reads correctly — Round 2's proposal was a proposal, not a claim that the principle was renamed. No fix needed inside Exchange #21; the wording "Revised Principle 5 draft" is accurate. Watch item: ROADMAP TODO #1 F1 ("Principle 5 revision") still references the inclusive-institutions vocabulary as the proposed direction. When F1 spawns, the steward will decide whether to adopt that vocabulary or retain the current §5 title — which determines whether future digests cite §5 with the new vocabulary.
5
Type
Unincorporated recommendation (informational)
Class
Project-authored coordination
Artifact A
agent/exchanges/_EXCHANGE_INDEX.md dependency graph
Artifact B
sources/source-weekly-show-stewart-platner-digest.md
Issue
The new Platner digest (April 2026) is registered in SOURCE_INDEX.md and sources/README.md, but the Exchange Index dependency graph does not yet show it as input material to any exchange.
Suggested resolution
Defer. The Platner digest's exchange-spawn decision is explicitly deferred to the steward's follow-on planning round. Adding it to the dependency graph before that decision would be premature. Once the steward picks which downstream exchange (#8, #11, #21, #22, or a new one) to feed it into, update the graph then. Action: add a Source Digest: Platner block to the dependency graph at the time of the spawn decision, mirroring the existing Friedberg and Stewart/Acemoglu/Autor blocks.
6
Type
No issue (verified)
Class
Coordination
Artifact A
agent/exchanges/_EXCHANGE_INDEX.md
Artifact B
agent/exchanges/*.md
Issue
All 22 numbered exchanges in the index map 1:1 to non-index files in agent/exchanges/. Filename typo iniital-systems-framework-review.md (Exchange #2) is consistently referenced as such in the index — accepted historical misspelling, no fix needed.
Suggested resolution
Accept. Filename can be renamed in a future cleanup pass alongside any URL audit, but renaming now would require updating every link to it across the project. Cost > benefit.
7
Type
No issue (verified)
Class
Coordination
Artifact A
sources/SOURCE_INDEX.md
Artifact B
sources/source-*-digest.md
Issue
All 53 source digests on disk are registered in SOURCE_INDEX.md; SOURCE_INDEX.md count claim ("53 digests") matches; all 53 files have valid front matter (title, source_type, source_url, provenance, copyright_notice).
Suggested resolution
Accept. Source corpus integrity holds.
8
Type
No issue (verified)
Class
Coordination
Artifact A
formation-docs/SOURCE_REGISTRY.md
Artifact B
external-formation-docs/documents/**
Issue
Every entry in the project-2028 SOURCE_REGISTRY (United States, South Africa, Canada, India, Germany, France, Japan, Brazil, California, Massachusetts, Montana, Texas, UN UDHR + Charter, EU Charter, AU Constitutive Act, Mondragon, ICA, B Corp) has a corresponding folder in external-formation-docs/documents/. No orphaned entries either way.
Suggested resolution
Accept. Formation-docs corpus integrity holds at the registry level. (A deeper alignment-memo audit — checking that each memo's claims are still consistent with the retained excerpt — is a separate lightweight corpus-integrity check that can run on its own cadence.)
9
Type
No issue (verified)
Class
Cross-repo
Artifact A
ROADMAP.md TODO #15
Artifact B
civicblueprint.org/docs/CHILDCARE_LICENSING_FLOW_DENVER.md
Issue
The session-start git status snapshot showed the file as untracked in civicblueprint.org. As of audit time, the file is committed (ebd623f) and pushed to origin/main. The cross-repo URLs in ROADMAP.md, Exchange #22, and the Platner digest now resolve.
Suggested resolution
Accept. No fix needed. Recorded here so a future audit can see the verification was done.
10
Type
No issue (verified)
Class
Cross-document consistency
Artifact A
PRINCIPLES.md §philosophical-positioning, §self-determination-vs-substantive-commitments
Artifact B
FOUNDATIONAL_COMMITMENTS.md lines 150, 207
Issue
Two PRINCIPLES.md cross-references in FOUNDATIONAL_COMMITMENTS.md (#philosophical-positioning and #self-determination-vs-substantive-commitments-principle-13-vs-principles-2-8-11-12-15) were verified as live anchors in PRINCIPLES.md.
Suggested resolution
Accept.
11
Type
No issue (verified)
Class
Terminology
Artifact A
Multiple
Artifact B
Multiple
Issue
Six recurring terms checked for meaning stability across artifacts: "recursive uplift," "entry-trust," "bounded governance," "resolution mismatch," "social slop," "inclusive institutions." Each term's usage is concentrated in its expected loci (Exchange #14 / Memo 01 for recursive uplift; Exchange #17/#22/feedback for entry-trust; Exchange #21 for bounded governance; Exchange #22/Platner digest for resolution mismatch; Exchange #20 for social slop) and meanings remain stable across files.
Suggested resolution
Accept.
12
Type
No issue (verified)
Class
Cross-repo references
Artifact A
civicblueprint.org website code
Artifact B
Civic-Blueprint/project-2028 references
Issue
All hardcoded GitHub URLs from civicblueprint.org pointing back at project-2028 (website/src/lib/content.ts, website/src/components/WhyThisSite.tsx, website/src/components/WhyThisExists.tsx, website/src/app/start-here/page.tsx, website/src/app/respond/page.tsx, infrastructure/README.md, README.md, docs/OPERATIONS_ALERTING.md, .github/workflows/deploy.yml) were spot-checked. They reference the canonical repo URL and remain valid.
Suggested resolution
Accept.

Resolution rules applied

Per protocol §6:

  • Findings #1, #2, #3 (hallucinated principle anchors and titles in 17 source digests): Fix by re-authoring. Each affected digest's principle-mapping section is re-written against the actual current PRINCIPLES.md. Mechanical anchor-only swaps are explicitly rejected because the body-text principle titles are also hallucinated and would propagate the misattribution.
  • Finding #4 (Exchange #21 §5 vocabulary): Already fixed in the Platner digest. No further action; watch item carries forward to F1 spawn.
  • Finding #5 (Platner digest in dependency graph): Defer. Tied to the open exchange-spawn decision.
  • Findings #6–#12: Accept. No drift detected; recorded here for the audit log.

The original audit framed this as a multi-stage decision tree. The corrected diagnosis collapses it into a single workstream:

  1. Re-author the 17 affected digests' principle-mapping sections against the actual current PRINCIPLES.md, using the candidate-principle guidance in Findings #1–#3 above. Per-digest interpretive judgment is required (Bastani's substance maps differently than Sandel's even though both originally cited "common inheritance"), but the judgment is the normal authoring task — not a forensic reconstruction of a phantom prior principle set.
  2. Add an authoring guard to sources/README.md (and to the digest-authoring practice generally) requiring the digest author to quote the actual current principle title when claiming a principle linkage. This structurally prevents the same hallucination class.
  3. Watch item — Exchange #21 F1 follow-up: when F1 spawns, the v2 vocabulary either gets adopted into PRINCIPLES.md (§5 title changes) or doesn't. Both outcomes are coherent; the issue is only that future digests should cite whichever §5 title is current at that moment. The Coherence Audit Protocol's trigger on "core normative document substantively revised" will catch this if F1 lands.


Pass 2 — PROBLEM_MAP.md hallucinations and PRINCIPLES.md ↔ FOUNDATIONAL_COMMITMENTS.md §5 drift

Trigger: While extracting and verifying every PRINCIPLES.md#... anchor in use across the repo at the end of Pass 1, the same programmatic-extraction approach was applied to PROBLEM_MAP.md, SYSTEMS_FRAMEWORK.md, and FOUNDATIONAL_COMMITMENTS.md to confirm Pass 1 was not missing parallel issues in adjacent core documents. PROBLEM_MAP.md surfaced a much larger version of the same hallucination class, and FOUNDATIONAL_COMMITMENTS.md surfaced a real cross-document drift on §5.

Pass 2 scope

SYSTEMS_FRAMEWORK.md
Anchors used across repo
0
Hallucinated
n/a
Outcome
No anchors used; nothing to audit. Body-text descriptive references to "Systems Framework §X" not used either.
FOUNDATIONAL_COMMITMENTS.md
Anchors used across repo
2 (#9-..., #4-...)
Hallucinated
0
Outcome
Both valid. Surface area is small.
PROBLEM_MAP.md
Anchors used across repo
17 distinct anchors, 101 total occurrences
Hallucinated
14 distinct anchors, 91 occurrences
Outcome
Same authoring failure as Pass 1; bounded entirely to source digests.
PRINCIPLES.mdFOUNDATIONAL_COMMITMENTS.md §5
Anchors used across repo
n/a (cross-document)
Hallucinated
n/a (real drift, not hallucination)
Outcome
Two core normative documents disagree on the title of Principle 5. Tracked under ROADMAP F1. Flag-only resolution.

Pass 2 coherence checklist

P2-1
Type
Hallucinated reference
Class
Project-authored analysis (source digests)
Artifact A
PROBLEM_MAP.md
Artifact B
~50 source digest files in sources/
Issue
91 of 94 non-Platner PROBLEM_MAP.md#... anchor occurrences across the digest corpus do not resolve against any commit of PROBLEM_MAP.md. The hallucinated phrasings invent both anchors AND domain titles (e.g. digests cite "Domain 1 (Housing)" with anchor #1-housing-has-decoupled-from-wages, but PM §1 is currently "Energy and critical infrastructure" and housing is §5). Phantom titles — "Housing has decoupled from wages," "Education has inflated faster than it has improved," "Childcare is financially inaccessible to most working families," "Post-scarcity future," "Institutional capacity has decayed," "Work and purpose are decoupling," "Transformative technology is arriving," "Information ecosystems fragment attention," "Ecological overshoot is accelerating," "Urbanization is squeezing labor mobility" — appear in zero commits of PROBLEM_MAP.md. Same authoring failure class and same files as Pass 1 Findings #1–#3.
Suggested resolution
Fix by re-authoring per digest. Re-author each digest's PROBLEM_MAP mapping against the actual current PROBLEM_MAP.md domain set, fixing both anchors and body-text "Domain N (Topic)" descriptions. The non-digest exchanges that cite PM anchors (government-overreach-ownership-ratchet-exchange.md and entry-trust-domain-expert-practitioner-exchange.md) use only valid anchors and require no edits.
P2-2
Type
Drift
Class
Core normative documents
Artifact A
PRINCIPLES.md §5 (line 89): "Critical systems require public-interest governance"
Artifact B
FOUNDATIONAL_COMMITMENTS.md §5 (line 82): "Critical systems require inclusive institutions with bounded rules"
Issue
Two core normative documents disagree on the title of Principle/Commitment 5. FC §5 cites Exchange #21 Round 5 Deliverable 1 (v2) as its source; the v2 vocabulary was adopted into FC at FC creation time (commit d13d18f) but never propagated to PRINCIPLES.md. This is a partially-adopted recommendation, not a hallucination. The original Pass 1 finding #4 (the Platner digest's stale #5-inclusive-institutions-with-bounded-rules anchor) is downstream of this drift — the digest-authoring agent saw the FC vocabulary and used it as a PRINCIPLES.md anchor.
Suggested resolution
Flag-only. Resolution gated on ROADMAP TODO #1 F1, which is the open follow-up that would close the drift by either updating PRINCIPLES.md §5 to match FC §5 or walking back FC §5 to match PRINCIPLES.md §5. Until F1 spawns and resolves, both vocabularies stay live. The audit does not preempt the steward decision.
P2-3
Type
No issue (verified)
Class
Coordination
Artifact A
SYSTEMS_FRAMEWORK.md
Artifact B
All *.md files in repo
Issue
Programmatic extraction of SYSTEMS_FRAMEWORK.md#... anchor occurrences across the repo returned zero matches. Body-text descriptive references to "Systems Framework §X" are also not used. Surface area for SF anchor drift is empty.
Suggested resolution
Accept. No fix needed. Future digests should still follow the authoring guard if they ever cite SF sections.
P2-4
Type
No issue (verified)
Class
Coordination
Artifact A
FOUNDATIONAL_COMMITMENTS.md
Artifact B
All *.md files in repo
Issue
Two distinct anchor occurrences (#9-institutions-should-be-designed-for-competence-and-trust-not-theater and #4-power-must-remain-accountable-legible-and-reversible), both verified against current FC headings.
Suggested resolution
Accept.

Reference: current PROBLEM_MAP.md domain set (the re-authoring target)

For Pass 2 re-authoring:

1. Energy and critical infrastructure are too constrained for a resilient, abundant future
2. Money, credit, and capital allocation steer the economy in ways most people cannot see or influence
3. Information ecosystems are fragmented and easily manipulated
4. Institutional capacity is too weak for the demands placed on it
5. Housing is constrained where it should be abundant
6. Healthcare is too often rationed by price, complexity, and access
7. Education and opportunity pathways are uneven, rigid, and bottlenecked
8. Food systems are efficient in some ways, but fragile in others
9. Family support systems are misaligned with modern life
10. Wealth and power are concentrating faster than governance can respond
11. AI and compute power are concentrating faster than governance can respond
12. Ecological systems are under stress that constrains every other domain
13. Institutional distrust is becoming a governing condition
14. Talent is systematically routed away from public-interest systems
15. Democratic process cannot convert public need into institutional action at the speed or scale required

Phantom domain phrasings the re-authoring eliminates: housing-has-decoupled-from-wages, healthcare-costs-are-inflating-faster-than-wages, education-has-inflated-faster-than-it-has-improved, childcare-is-financially-inaccessible-to-most-working-families, urbanization-is-squeezing-labor-mobility, ecological-overshoot-is-accelerating, a-post-scarcity-future-is-increasingly-possible-and-is-not-being-prepared-for, work-and-purpose-are-decoupling-faster-than-our-institutions-can-absorb, institutional-capacity-has-decayed-faster-than-the-problems-requiring-it, transformative-technology-is-arriving-faster-than-its-governance, information-ecosystems-fragment-attention-and-narrow-the-shared-reality-needed-to-coordinate.

Pass 2 resolution rules applied

  • P2-1 (PROBLEM_MAP hallucinations): Fix by re-authoring per digest. Same protocol as Pass 1 Findings #1–#3.
  • P2-2 (PRINCIPLES.md ↔ FC §5 drift): Flag-only, gated on ROADMAP F1.
  • P2-3, P2-4 (SF and FC anchor health): Accept. No issues found.

Pass 2 remediation summary (closed at audit time)

  • P2-1 closed. Every PROBLEM_MAP.md#... anchor used anywhere in the repo now resolves to a real current heading. The 13 distinct anchors in use map 1:1 onto the actual current 15-domain set (no use of §8 Food, §14 Talent — the digest corpus does not currently substantively engage either, which is itself a useful signal for future-sweep planning). Body-text "Domain N (Topic)" references were re-authored alongside the anchors so the paraphrase always faithfully summarizes the actual current §N. The lone non-digest phantom (in government-overreach-ownership-ratchet-exchange.md Round 5 narrative) was also fixed.
  • P2-2 carried forward. Recorded as a flag-only finding. No edits to either core normative document. Open until ROADMAP TODO #1 F1 resolves. F1 spawned April 30, 2026 as Exchange #23 — Principle 5 Revision; P2-2 closes when that exchange's Round 5 lands the v3 text in PRINCIPLES.md and FOUNDATIONAL_COMMITMENTS.md at the same commit.
  • Authoring guard extended. sources/README.md authoring guard was rewritten to cover all four core normative documents (PRINCIPLES, FOUNDATIONAL_COMMITMENTS, PROBLEM_MAP, SYSTEMS_FRAMEWORK) with a per-document verification table and an explicit caveat about the §5 cross-document drift.

Items deferred to next audit

  • Alignment-memo deeper check. This pass verified that every entry in formation-docs/SOURCE_REGISTRY.md has a matching folder in external-formation-docs/documents/. It did not verify that each analysis/principle-maps/*.md memo's interpretive claims still match the retained excerpt in the corresponding external-formation-docs/documents/* folder. That is the protocol's "lightweight corpus-integrity check" and should run on its own cadence — likely after the next formation-doc analysis update or after F1 changes the comparison target (PRINCIPLES.md §5 vocabulary).
  • Filename typo iniital-systems-framework-review.md. Renaming would require updating every link to Exchange #2 across the project. Cost > benefit alone, but if a broader URL-cleanup pass is ever run, this should ride along.
  • PRINCIPLES.md §5 vs FOUNDATIONAL_COMMITMENTS.md §5 drift (P2-2). Carries forward as an open finding. F1 spawned April 30, 2026 as Exchange #23; P2-2 will close when Exchange #23 Round 5 integrates the v3 text into both documents.

Next-audit trigger conditions

Per Coherence Audit Protocol §1, the next full audit should run when any of the following occurs:

  • ROADMAP TODO #1 F1 lands (resolves the §5 drift between PRINCIPLES.md and FOUNDATIONAL_COMMITMENTS.md).
  • A new exchange opens that consumes the Platner digest (resolves Pass 1 Finding #5).
  • A core normative document is substantively revised.
  • Approximately 3–5 new exchanges have completed since this audit.

A lightweight corpus-integrity check should run after any change to external-formation-docs or to formation-docs/analysis/.