agent/process/audits/coherence-audit-2026-06.md
Provenance: collaborative. How Civic Blueprint labels human and AI collaboration.
On this page
- Coherence Audit — June 2026
- Document classes covered
- Coherence checklist — fixed this pass
- Verified clean (recorded for the audit log)
- Coherence checklist — carried forward (pre-existing; newly surfaced by the mechanical checker)
- Cross-lineage reconciliation
- Steward decisions (resolved June 14, 2026)
- Carried forward from the April 2026 audit (not re-litigated)
- Resolution summary
- Next-audit trigger conditions
Coherence Audit — June 2026
Status: Complete. This is the second full audit under the Coherence Audit Protocol (the first was April 2026). It was triggered by the June 13–14 2026 flurry: two new steward-anchor source digests (Suits Grasshopper, Stewart × Slobodian Muskism; the Brooks #1109 digest was also recent), three new exchanges (#29, #30, #31), and the accompanying index/roadmap updates. Per protocol §1, "a new exchange is created" and "approximately every 3–5 exchanges" both fired.
Method (steward-authorized): A deterministic mechanical pre-pass (
scripts/coherence-check.py) was run repo-wide for link/anchor integrity and the Hallucinated-vs-Stale distinction. Then two independent interpretive sub-agents on different model lineages (one GPT-5.5, one Gemini 3.1 Pro), each blind to the other, ran the protocol's interpretive layer (exchange-index integrity, count/set-equality, cross-document drift, recommendation tracking, terminology) and returned coherence checklists. The auditing agent (Claude) reconciled the three outputs. The cross-lineage step earned its keep: the two interpretive agents converged on the high-risk mechanics being clean and diverged on two real findings neither would have caught alone (see Cross-lineage reconciliation).Headline: The high-risk recent mechanics are clean — #29/#30/#31 are correctly indexed with statuses matching their status blocks, the dependency graph includes them, the "57 digests" and steward-anchor counts are accurate, and the newly created Muskism digest and Exchange #31 carry no broken links or anchors. The substantive finding is a drift: when the prior session opened #29 and #30, it updated the Brooks digest's candidates table and cross-references but left three downstream locations still describing those exchanges as a "candidate"/"future"/"not-yet-in-corpus" idea. That drift, one flurry-introduced broken link, and one metadata gap are fixed in this pass. The mechanical pre-pass also surfaced a cluster of pre-existing broken links/anchors (the April audit predates this script); they are catalogued and carried forward.
Document classes covered
- Core normative documents: PRINCIPLES.md, PROBLEM_MAP.md, FOUNDATIONAL_COMMITMENTS.md — referenced as link targets; no substantive revision occurred in the flurry, so they were checked for inbound-reference accuracy only.
- Project-authored analysis & coordination (primary scope):
sources/**(the three new digests + the index/README),agent/exchanges/**(#29/#30/#31 + the index),agent/explorations/**(the new riffs + the cross-linked riffs),agent/process/**, ROADMAP.md. - Retained external source corpus:
external-formation-docs/**— not touched in the flurry; no source-handling, translation-status, or canonical-source findings in this pass. No lightweight corpus-integrity check was triggered.
Coherence checklist — fixed this pass
- Type
- Broken reference
- Class
- Project-authored analysis (source digest)
- Artifact A
source-suits-grasshopper-digest.md(interpretive notes, "Nozick guard" bullet)- Artifact B
principle-2-solvable-vs-perennial-boundary-exchange.md- Issue
- The
E29-C3link pointed to../agent/**explorations**/principle-2-…-exchange.md; the exchange lives inagent/**exchanges**/. Flurry-introduced (the Suits digest is new). - Resolution
- Fixed. Corrected
explorations→exchangesin the link path.
- Type
- Drift
- Class
- Project-authored analysis (source digest)
- Artifact A
source-modern-wisdom-1109-brooks-digest.md§"Project 2028 mapping" (Cluster 4)- Artifact B
Exchange #29- Issue
- The Cluster-4 mapping line still called #29 "candidate input for a future Principle 2 adversarial exchange," although the same digest's own Future exchange candidates table already records it as opened. Internal drift.
- Resolution
- Fixed. Re-worded to "the source input for the now-open Principle 2 adversarial exchange (#29) (opened June 13, 2026; Round 1 complete)."
- Type
- Drift
- Class
- Project-authored coordination (index)
- Artifact A
SOURCE_INDEX.md(Brooks anchor row + status note)- Artifact B
Exchange #29,Exchange #30- Issue
- The Brooks row still called the demand-side misinformation idea "not-yet-in-corpus" and the Principle 2 exchange a "candidate," but both opened June 13.
- Resolution
- Fixed. Both phrases now link to #30 and #29 respectively as opened exchanges. A fourth instance — the same "candidate Principle 2 adversarial exchange" phrasing in the SOURCE_INDEX status note (line 8) — was found and corrected during the June-14 steward-anchor normalization pass.
- Type
- Drift
- Class
- Project-authored coordination (README)
- Artifact A
sources/README.md(June 2026 additions, Brooks)- Artifact B
Exchange #29,Exchange #30- Issue
- Same stale "candidate Principle 2 adversarial exchange" phrasing.
- Resolution
- Fixed. Now cites #29 and #30 as opened June 13, 2026.
- Type
- Drift (metadata completeness)
- Class
- Project-authored analysis (source digest)
- Artifact A
source-modern-wisdom-1109-brooks-digest.mdfront matter- Artifact B
- Convention across
sources/(55 of 57 digests carrysub_debates) - Issue
- The Brooks digest body and its SOURCE_INDEX row both state it cross-cuts Sub-debates 1, 5, and 9, but the front matter omitted the
sub_debatesfield that 55/57 digests carry. - Resolution
- Fixed. Added
sub_debates: [1, 5, 9]to match the body/index claim. (Platner's identical omission is carried forward — see below — because its sub-debate mapping is not as explicitly stated in-body.)
- Type
- Broken reference (pre-existing, safe)
- Class
- Project-authored coordination + analysis
- Artifact A
first-practitioner-critique-ai-provenance-exchange.mdL248;source-weekly-show-stewart-ai-future-of-work-digest.mdL110/L393- Artifact B
_EXCHANGE_INDEX.md;historical-parallel-test-protocol.md- Issue
- Two unambiguous path typos with existing targets:
../_EXCHANGE_INDEX.md(resolved toagent/_EXCHANGE_INDEX.md) and../process/…(should be../agent/process/…). Pre-existing, but zero-risk and clearly correctable. - Resolution
- Fixed. Corrected both paths.
Verified clean (recorded for the audit log)
Independently confirmed by both interpretive lineages and spot-checked by the auditing agent:
- Digest count. 57
sources/source-*-digest.mdfiles on disk; the "57" claim in SOURCE_INDEX.md and sources/README.md is correct. - Steward-anchor counting. Friedberg #1, Acemoglu/Autor #2, Platner #3, Brooks #4, Muskism #5; Muskism is correctly the third Weekly Show anchor. Consistent across the Muskism digest, SOURCE_INDEX, and README.
- Exchange index integrity. #29, #30, #31 are present as numbered entries; their index Status values ("Active; Round 1 complete; Rounds 2–N reserved") match their file status blocks; all three appear in the dependency graph. Set-equality holds: 31 numbered exchanges, one index file, and three intentionally non-numbered
discovery-principle-develop-leg-*support artifacts. - New-artifact link health. The Muskism digest and Exchange #31 — the two artifacts created in this chat session — produced zero mechanical findings.
- Roadmap tracking. ROADMAP.md tracks #29/#30/#31, the Brooks/Suits/Muskism digests, the reserved Round-2 next step, and the open Suits-"transition" steward decision.
- Terminology. The Suits "a project about transition" framing is held consistently as an open/candidate lens (not a ratified thesis) across the Suits digest, the constitutional-ecology riff addendum, and the ROADMAP.
Coherence checklist — carried forward (pre-existing; newly surfaced by the mechanical checker)
The April 2026 audit predates scripts/coherence-check.py; this is the first audit to run it, so the script surfaced a backlog of pre-existing link/anchor breakage outside the flurry — ≈23 broken references across 12 files, grouped below into 5 clusters. None were introduced by the recent activity, and the two artifacts created in this session (the Muskism digest and Exchange #31) are clean. They are deferred (not silently auto-fixed) because each needs interpretive judgment or a content decision, and per protocol §3 a hallucinated/stale anchor must be re-evaluated against the actual target rather than substituted with the closest match. (An earlier draft of this audit under-counted these, having read only a tail-truncated checker run; the full untruncated run is recorded here.)
- Type
- Broken reference (deleted file)
- Class
- Coordination / process
- Artifacts (file : line)
agent/explorations/README.mdL31;agent/process/research-protocol.mdL204- Issue
- Both link to
SCRATCHPAD.md, intentionally deleted in commit6e3c6aa("Remove SCRATCHPAD.md to streamline project documentation"). - Suggested resolution
- Defer → cheap fix. Remove the two dead references (or redirect to ROADMAP, where the scratchpad's planning content migrated). Editorial wording only.
- Type
- Hallucinated reference (file never existed)
- Class
- Coordination / exploration
- Artifacts (file : line)
agent/exchanges/_EXCHANGE_INDEX.mdL275;phase-3-front-door-riff.mdL337;reciprocity-and-decolonial-frame-riff.mdL415- Issue
- Three links to
docs/REVIEWER_PACKAGE_PRINCIPLE_5_F1_2026_04.md.git log --allshows the file never existed in any commit. - Suggested resolution
- Defer. Re-evaluate substance: a planned-but-never-built reviewer package. Either build it, point to the actual artifact (e.g.
docs/REVIEWER_PACKET_TEMPLATE.mdor the Exchange #23 Principle-5 materials), or mark it an unbuilt deliverable. Do not silently substitute.
- Type
- Hallucinated/stale anchors (one co-authoring cluster)
- Class
- Process ↔ exploration ↔ exchange
- Artifacts (file : line)
agent/process/research-protocol.mdL3, L13 (×2), L35, L53, L79, L237;constitutional-ecology-and-coordination-architecture-riff.mdL15;coordination-architecture-reframe-exchange.mdL5- Issue
- ~9 anchors into the constitutional-ecology riff don't resolve. At least one is a clear heading rename: the riff's §11.6 is now "Adjacent coordination-architecture projects — first-pass mapping (v2 deliverable)" (slug
#116-adjacent-coordination-architecture-projects--first-pass-mapping-v2-deliverable), but the citing anchors use the older "…across the diffuse sovereignty layers" wording. The §2.3/§3.5/§1.6/§2.3.3-bis and §4.2-Path-β anchors need per-heading verification. - Suggested resolution
- Defer → focused re-author. Per protocol §3 note, fix the whole cluster together against the riff's actual current headings (the riff, research-protocol, and the #24 exchange were co-authored, so the same pass produced all of them). The §11.6 target is unambiguous; the others require reading each current heading.
- Type
- Stale / hallucinated
ROADMAP.mdanchors - Class
- Coordination / doctrine / exchange
- Artifacts (file : line)
ROADMAP.mdL15 (#thread-c-…), L228 (#riff--constitutional-ecology-…);agent/doctrine/_DOCTRINE_INDEX.mdL7, L52 (×2) (#high-priority);first-practitioner-critique-ai-provenance-exchange.mdL7 (#recommendation-2-…);docs/REVIEWER_PACKET_TEMPLATE.mdL286 (#medium-priority)- Issue
- Seven references to ROADMAP headings that have been renamed/restructured/archived. Two are unambiguous (
#high-priority→#high-priority-unblocks-multiple-workstreams;#medium-priority→#medium-priority-advance-when-bandwidth-allows); the#thread-c-…,#riff-…, and#recommendation-2-…targets were archived to ROADMAP_ARCHIVE.md and need substance re-evaluation. - Suggested resolution
- Defer. Fix the two unambiguous slugs; for the archived-section anchors, re-point at the ROADMAP_ARCHIVE.md target (or remove) after confirming substance.
- Type
- Hallucinated self-anchors (section never created)
- Class
- Exchange / coordination
- Artifacts (file : line)
ownership-taxonomy-systems-framework-exchange.mdL71 (#round-3--reserved-response--taxonomy-v3);agent/exchanges/_EXCHANGE_INDEX.mdL210 (#16-starting-proposal-comparative-review)- Issue
- Two intra-file forward-references to sections that were never written: the ownership taxonomy was falsified before its reserved Round 3 materialized, and the index's
#16-starting-proposal-comparative-reviewheading does not exist. - Suggested resolution
- Defer. Re-point to the actual superseding section or remove the forward-reference, noting the falsification/rename. Do not invent the section.
Cross-lineage reconciliation
The steward authorized parallel sub-agents to "compare notes." Outcome:
- Convergence (high confidence): Both the GPT-5.5 and Gemini 3.1 Pro agents independently verified the 57-digest count, the steward-anchor counting, the #29/#30/#31 index entries and status-block agreement, the dependency-graph inclusion, and the exchange set-equality. Independent agreement across lineages is the strongest signal that the recent mechanics are sound.
- Convergence (a real finding): Both flagged that the Brooks digest is described as cross-cutting sub-debates but is not represented the way the convention would suggest. Reconciliation refined this: the digest's own body claims Sub-debates 1 and 5 (the index adds 9), and the substantive issue was the missing
sub_debatesfront matter plus an open categorization-convention question (do steward-anchor digests belong in the per-sub-debate tables, or only in the cross-cutting anchor table?). Fixed the metadata (F3); logged the convention question as a steward decision (below). - Divergence — GPT-5.5 only: Caught the stale "candidate / not-yet-in-corpus" status language for #29/#30 across the Brooks digest, SOURCE_INDEX, and README (finding F2). This is the audit's headline substantive finding and would have been missed by the other lineage. Confirmed against the files and fixed.
- Divergence — Gemini 3.1 Pro only: Caught the missing
sub_debatesfront matter (folded into F3) and raised whether the Round-3 (external-human) reviewer needs of #29/#30/#31 should be consolidated under ROADMAP TODO #11 (the human-reviewer recruitment workstream). Reconciliation: Accept/Defer — Round 3 is correctly gated behind the agent-runnable Round 2, which has not yet been run; consolidating into TODO #11 now would be premature (the same logic the April audit applied to deferring the Platner digest into the dependency graph). Revisit when any of the three Round 2 passes completes.
A single-lineage audit would have caught one of F2/F3 but likely not both. The compare-notes step is recorded here as evidence the method adds value for this corpus.
Steward decisions (resolved June 14, 2026)
- Steward-anchor categorization convention → "Normalize" (executed June 14). The steward chose to dual-list all five anchors in their per-sub-debate tables (the Muskism precedent). Acemoglu/Autor (Sub-debates 3, 4, 6, 7, 8), Platner (3, 8), and Muskism (3, 4, 8) were already dual-listed; this pass added Friedberg to Sub-debates 1, 2, 3, 4, 5 (one dedicated cluster each) and Brooks to Sub-debates 1, 5, 9 (the last as a cautionary scientism cross-listing, with the §9 intro reworded from "single digest"). While normalizing, a fourth instance of the F2 stale-"candidate" drift was found in the SOURCE_INDEX status note and fixed (see F2b).
- Round-3 human-reviewer tracking for #29/#30/#31 → accepted the deferral (June 14). The steward accepted that Round 3 stays gated behind the agent-runnable Round 2 and is not consolidated into ROADMAP TODO #11 now; revisit when any of the three Round 2 passes runs.
Carried forward from the April 2026 audit (not re-litigated)
- P2-2 — PRINCIPLES.md §5 ↔ FOUNDATIONAL_COMMITMENTS.md §5 drift: tracked to close when Exchange #23 Round 5 lands the v3 §5 text into both documents at one commit. Not revisited in this pass.
- Alignment-memo deeper corpus-integrity check (
formation-docs/analysis/**vs retainedexternal-formation-docsexcerpts): still deferred to its own cadence; noexternal-formation-docschange triggered it. - Filename typo
iniital-systems-framework-review.md(Exchange #2): accepted; rename only as part of a broader URL-cleanup pass.
Resolution summary
- Fixed this pass (6): F1 (Suits broken link, flurry), F2a/F2b/F2c (Brooks→#29/#30 stale-status drift across three artifacts), F3 (Brooks
sub_debatesmetadata), F4 (two safe pre-existing path typos). - Carried forward (pre-existing, deferred with precise resolutions): ≈23 references in 5 clusters (C1–C5) — a deleted
SCRATCHPAD.md, a never-created reviewer package, an anchor cluster from the research-protocol / constitutional-ecology / #24-exchange co-authoring pass, a set of renamed/archivedROADMAP.mdanchors, and two never-written-section self-anchors. - Carried forward from April: 3 items, unchanged.
The mechanical checker still exits non-zero (the C1–C5 pre-existing breakages remain). That is expected; closing C1–C5 is a recommended focused follow-up, ideally before the checker is wired into CI as a pre-commit gate. Note these are entirely pre-existing — the recent flurry introduced exactly one broken link (F1), now fixed.
Next-audit trigger conditions
Per Coherence Audit Protocol §1:
- Any Round 2 of #29/#30/#31 completes (changes their status and may spawn adopt-targets).
- The C1–C5 carried-forward clusters are cleaned up (re-run the checker to confirm a clean exit).
- A core normative document is substantively revised, or Exchange #23 lands the §5 v3 text (closes April P2-2).
- Approximately 3–5 further exchanges complete.
- A lightweight corpus-integrity check should run after any change to
external-formation-docsorformation-docs/analysis/.
