Phase 8 — Synthetic-Layer Assembly (Eleventh Run, 2026-05-09)

Run framing. Subsequent-run mode. Triggered by today's Heinbokel 2021 ingest (3 new claim entries) and by accumulated audit-produced content since the 2026-05-07 tenth-run + 2026-05-08 weave + 2026-05-09 morning deferred-discharge. Co-runs with Phase 2 (silent-key scan on Heinbokel) and Phase 6 (citation integrity spot-check). The Phase 6 spot-check uncovered a critical infrastructure finding — wiki/claims.md whole-file duplication — which was repaired before this Phase 8 work could begin (see wiki/.audit/citation-integrity-2026-05-09.md §"Critical finding").

Operational mode. Claude Code mode under user pre-authorization "do the most important phases, use subagents if needed". Per the durable rule (CLAUDE.md §Claim Status Gates), supported promotions still halt for human review unless explicitly pre-authorized for the current run; the user did NOT pre-authorize supported promotions for this run, so this Phase 8 confines itself to candidate→live promotions and Step 8.5 / 8.9 mechanical work.

Inputs walked

  1. Today's Heinbokel 2021 candidates (3 new entries from the ingest, all created candidate or live earlier today):

    • heinbokel-not-a-false-friend-on-coherent-deformation — created live at ingest; nothing to do.
    • case-report-as-coherent-deformation — created candidate with explicit Status History deferring live-promotion judgment to "audit Phase 8" (this run).
    • science-as-coherent-deformation-philosophical-praxis-of-medicine — created candidate / speculative with explicit promotion-criteria specifying ingest of one canonical phenomenologist of medicine OR worked structural argument as gate.
  2. Phase 2 silent-key triage (3 PASS candidates from Heinbokel, all routed to subsection / typed-connection upgrades; see silent-keys-2026-05-09.md).

  3. Phase 6 corrective-citation flags (5 mechanical attribution fixes; 2 deferable to next ingest cycle, 3 applicable now).

  4. Harvest output (scripts/harvest-claim-candidates.py, 47 raw candidates not in claims.md). After de-duplication noise filtering, no genuinely-new candidates remain that haven't been processed in earlier Phase 8 runs (4th–10th); confirmed by manual review of harvest entries against existing claim slugs and prior audit reports.

  5. Bridge cards from 2026-05-08 weave Run 3 (5 cards: déposer, haunting, endurance du chaos, ontologie militante, the past that could have been otherwise) — gated separately on bridge-card-specific calibration per v0d.5 schema; NOT touched in this Phase 8 run. Remain at Status: proposed (dry-run) per next-actions.md row 1.

  6. Existing post-Heinbokel claim register state — verified after the duplication repair: 116 unique slugs / 13 supported / 53 live / 49 candidate / 1 contested / 0 retired (pre-this-run).

Step 8.4 — Promotion against gates

case-report-as-coherent-deformation: PROMOTED candidate → live

Independent claim-promotion-reviewer subagent verdict: PROMOTE (with note on prudential reservation). The reviewer's per-test analysis:

  • Test 1 (contestable formulation): PASS. The strongest opposing position — case reports as merely instrumental third-person evidence MP uses to illustrate a philosophical thesis — is statable without straw-manning. The claim explicitly identifies and rejects this position.
  • Test 2 (evidence traceability): PASS. All seven evidence bullets (Heinbokel raw line 124, Heinbokel raw line 85, PhP lxii, PhP 188, ILVS 277, ILVS 279, PhP 378) verified PASS at Phase 6 of today's audit. Structurally complete chain.
  • Test 3 (counterpressure recorded): PASS. Five distinct counterpressures recorded — Goldenberg 2003 challenges, undertheorised ILVS 279 step, dependency on prior supported claim, painter/scientist parity compression, single-source dependency.

The maintainer's stated reservations on Goldenberg 2003 un-coherent-deformation engagement and single-source dependency are well-founded confidence-level concerns that legitimately block supported promotion later but do not constitute 3-test gate failures. The Counterpressure section already records both concerns, which is precisely how Test 3 is satisfied.

Action taken:

  • Updated Status: candidate → Status: live in wiki/claims.md for case-report-as-coherent-deformation.
  • Appended Status History entry recording the promotion reasoning, the independent reviewer verdict, and the criteria for any future live → supported upgrade.
  • Updated summary table row in wiki/claims.md (status: candidate → live).
  • Updated index.md count line (49 candidate → 48 candidate; 53 live → 54 live).
  • Updated overview.md count line.
  • Updated index.md Claims summary table row.

science-as-coherent-deformation-philosophical-praxis-of-medicine: HELD at candidate

The maintainer's stated promotion criteria — (a) ingest of one canonical phenomenologist of medicine, OR (b) a worked structural case, OR (c) a second-source secondary reading on painter/scientist parity — are not yet met. None of Leder, Toombs, Zaner, Young, Heelan is in raw/. The 3-test gate is plausibly met but the held-at-candidate decision is defensible. No promotion.

Step 8.5 — Optional concept-page upgrades (silent-key triage)

Three subsection / typed-connection upgrades from the Phase 2 silent-key scan, all small in scope (well below the ~10–15 cap):

[[coherent-deformation]] — new subsection "Through the crease of speech (Heinbokel 2021 — silent key)"

Added a small subsection under the existing Heinbokel "Application Register" section. Articulates the silent-key analysis (single-occurrence positionally-load-bearing figure; passes positional-load, under-defined, not-in-motif-tracker tests) and connects to MP's own ILVS p. 244 "fold in the immense fabric of language" as the genealogical predecessor. Cross-references the silent-keys audit report.

[[science-as-coherent-deformation]] — new typed-connection (*is anchored in*)

Added an explicit *is anchored in* [[coherent-deformation]] *via MP's own Balzac-quotation* connection in the page's Connections section, keyed on the CD 77 "science to be explained" phrase that Heinbokel uses three times as the textual hinge for the painter→scientist analogy. Cross-references the silent-keys audit report.

[[cultural-world]] — new subsection "Artefacts of sedimented human action (Heinbokel 2021 — silent key)"

Added a subsection in the Details section after the "Problem-Space Recurrence Across the Wiki" enumeration. Catalogues Heinbokel's compound coinage as the conceptual operator that admits scientific instruments (lab results, case reports, tissue samples, diagnostic imaging) into intercorporeal intersubjectivity, refusing the Zeug framing. Cross-references the silent-keys audit report and the case-report claim entry.

Step 8.5 — Phase 6 corrective citation fixes

Two of the five Phase 6 flagged items are mechanical attribution fixes applicable now. Three are deferred (pensee-de-survol PoP Kosmotheoros unanchored, imaginary-mp Nature p. 371 unanchored, philosophy-of-biology accept-as-is).

[[pensee-de-survol]] — Sources line 95 corrected

"*Aspects de l'homme* recurrences" (Texts & Dialogues bullet) was a misattribution. Per wiki/motifs.md §"survol / vue de Sirius / Kosmotheoros / pensée de survol" line 190, the canonical T&D attestation is the Silverman/Barry editorial framing on p. 18: "We make no attempt at an overview, for, as Merleau-Ponty continually pointed out, a 'pensée de survol' will not accomplish the philosophical task." Updated the Sources bullet to reflect the canonical attestation.

[[capital-as-phenomenology]] — Sources line 53 + Key Points line 21 corrected

The "Marx hégélien d'un bout à l'autre" formulation, which the page attributed to MP's PoP 1961 course, is in fact the Inédits II editor's gloss on PoP (Inédits II raw line 1295), not MP's own text. The MP-original closest in content is the PoP extraction-note line 538 "passage from the Phenomenology to the Logic." Updated both lines to use MP's actual PoP language with an explicit note recording the corrective attribution.

Deferred Phase 6 flags (queued for future audit / next ingest)

  1. pensee-de-survol Sources line 92 + Motif Weight line 77 — PoP 1961 Kosmotheoros polemic citation is unanchored in PoP's own extraction note. The term IS solidly attested in V&I p. 287 Working Notes. Two fix options: (a) re-route to V&I (requires adding V&I to frontmatter sources and Sources body); (b) targeted raw-source check of PoP for Kosmotheoros. Deferred — needs a reading-level decision and/or raw-source scan.
  2. imaginary-mp Key Points line 19 + Sources line 49La Nature p. 371 "Appearances are the canon of what we can understand by being" is not in the Nature extraction note or source page. Phrase has Dufourcq/Halák register; may actually be from MC2026's Dufourcq chapter rather than direct Nature. Deferred — needs targeted raw-source check of La Nature p. 371.
  3. philosophy-of-biologyNature p. 152 traces only via Halák; Maturana-Varela / Mossio-Bich / Weber-Varela citations correctly framed as "Per Halák's reading in M-C 2026 Ch 5." Acceptable as-is.
  4. seinsgeschichte Knight 2024 §5 — section-level granularity issue; not a fabrication concern. Tighten attribution to "Ch 4 §5 / Intro §2" at next opportunity.

These four items are added to wiki/.audit/next-actions.md.

Step 8.7 — Run summary

Pre-run state: 116 entries (13 supported / 53 live / 49 candidate / 1 contested / 0 retired).

This run's deltas:

  • 0 new claim entries created (Heinbokel's 3 entries were created at ingest earlier today).
  • 1 candidate→live promotion: case-report-as-coherent-deformation.
  • 0 supported promotions (per durable rule + no run-scoped pre-authorization).
  • 3 concept-page Step 8.5 micro-upgrades (silent-key triage): coherent-deformation, science-as-coherent-deformation, cultural-world.
  • 2 mechanical Phase 6 corrective fixes applied: pensee-de-survol, capital-as-phenomenology.
  • 4 Phase 6 flags deferred to next-actions queue.

Post-run state: 116 entries (13 supported / 54 live / 48 candidate / 1 contested / 0 retired).

Step 8.8 — Post-Phase-8 confidence addendum

Per CLAUDE.md §Workflow: Audit's note on phase order, Phase 7 confidence-recalibration may need to re-pass any pages or claims whose confidence changed because of Phase 8 work.

In this run, no confidence values changed:

  • case-report-as-coherent-deformation retained medium confidence at promotion (Goldenberg 2003 + single-source counterpressures legitimately bear on confidence and are recorded).
  • science-as-coherent-deformation-philosophical-praxis-of-medicine retained speculative confidence (held at candidate).
  • The 3 Step 8.5 silent-key upgrades and 2 Phase 6 corrective fixes did not require confidence shifts on their host pages.

No Phase 7 addendum pass needed for this Phase 8 run. (Step 8.8 is a structural reminder; the addendum executes only when Phase 8 actually changes confidence values, which it did not here.)

Step 8.9 — Cite-back

Updated framing on the affected concept pages:

  • [[coherent-deformation]]: case-report claim reference updated from "candidate" to "live" with promotion-reasoning note in two locations (Application Register subsection paragraph; Synthetic Claims connection bullet).
  • [[schneider-case]]: case-report claim reference updated from "candidate" to "live" with promotion-reasoning note.
  • [[science-as-coherent-deformation]]: case-report claim reference updated from "candidate" to "live" with promotion-reasoning note in the Connections section bullet that references both this run's promotion and the held-at-candidate companion claim.

Critical infrastructure repair (cross-reference)

The wiki/claims.md whole-file duplication finding (introduced by today's Heinbokel ingest commit d87c8f7) was diagnosed and surgically repaired during Phase 6 of this audit run. The repair was a precondition for any Phase 8 work — promoting claims into a duplicated register would have either (a) introduced a third copy or (b) silently failed because the Edit tool can't unambiguously target a duplicated old_string.

A post-mortem of the duplication root cause is queued in wiki/.audit/next-actions.md as a workflow-investigation item. Hypothesis: the ingest workflow's Edit operations on wiki/claims.md at the size threshold either (i) used a non-unique old_string that matched at multiple positions, or (ii) somehow concatenated a previous in-memory version into the write. The same-class bug also produced the Block-2-internal duplication of bloch and diacritical entries (introduced 2 days earlier by commit 5917dc4 "Phase 8 latent-claim discharge"), so this is not a one-off — it is a workflow-level fragility that the post-mortem should investigate and the lint/ingest skills should defend against.

See wiki/.audit/citation-integrity-2026-05-09.md §"Critical finding" for full diagnosis and the "Recommended follow-up" subsection.

Outputs

  • wiki/claims.md — updated (case-report status, summary table; plus the structural repair from Phase 6)
  • wiki/index.md — count line + Claims summary table case-report row
  • wiki/overview.md — count line
  • wiki/concepts/coherent-deformation.md — Phase 2 Step 8.5 silent-key subsection + cite-back
  • wiki/concepts/cultural-world.md — Phase 2 Step 8.5 silent-key subsection + frontmatter
  • wiki/concepts/science-as-coherent-deformation.md — Phase 2 Step 8.5 typed-connection + cite-back
  • wiki/concepts/schneider-case.md — cite-back
  • wiki/concepts/pensee-de-survol.md — Phase 6 corrective fix + frontmatter
  • wiki/concepts/capital-as-phenomenology.md — Phase 6 corrective fix + frontmatter
  • wiki/.audit/silent-keys-2026-05-09.md (Phase 2 report)
  • wiki/.audit/citation-integrity-2026-05-09.md (Phase 6 report)
  • wiki/.audit/synthetic-layer-2026-05-09-eleventh-run.md (this report)
  • wiki/.audit/next-actions.md (deferred items + post-mortem queue)
  • wiki/log.md (audit close-out entry)

Cap discipline

  • Live promotions: 1 (cap ~10–15 per run — well under).
  • Supported promotions: 0 (cap requires user pre-authorization in interactive mode; no run-scoped pre-authorization granted; durable rule respected).
  • Concept-page Step 8.5 upgrades: 3 (cap ~10–15 — well under).
  • Critical infrastructure repair: 1 (out-of-band; the cap is a per-run promotion cap, not a per-run repair cap).

All within bounds.


Post-mortem appendix (2026-05-09, post-eleventh-run)

Discharge of the workflow-investigation item queued in next-actions.md row 6 ("post-mortem of wiki/claims.md duplication bug"). Items 1–4 of the queue row addressed below; item 5 (CLAUDE.md schema text addition) considered and deferred to user adjudication.

Item 1 — Identify the specific Edit calls

Forensic walk of the two suspect commits using git show and git diff:

Commit d87c8f7 (Heinbokel ingest, 2026-05-09 afternoon). The diff against 68e4b0a shows three hunks on wiki/claims.md:

  1. @@ -10,25 +10,4643 @@ — replaces 25 OLD lines (the original summary-table header + its first 20 data rows, lines 13–34) with 4643 NEW lines. Net +4618.
  2. @@ -4865,7 +9483,218 @@ — at line 4865 of OLD (= line 9483 of NEW), 7 lines replaced with 218. This is the legitimate Edit that inserts the 3 new claim entries (heinbokel-not-a-false-friend-on-coherent-deformation, case-report-as-coherent-deformation, science-as-coherent-deformation-philosophical-praxis-of-medicine). Net +211.
  3. @@ -4875,7 +9704,7 @@ — small touch in the false-friend section. Net 0.

H2 count delta: 113 → 226 (exactly doubled). Total lines: 4886 → 9715 (≈doubled). The diff contains 0 deletion lines (grep -cE '^- ' on the diff returned 0). All 113 new H2 sections appeared as additions.

The first hunk is the bug. Its 4643-line new_string contained: (a) a rebuilt summary table in column-padded format with 116 rows (~117 lines), followed by (b) a near-verbatim copy of the file's existing H2 body content (~4500 lines). The second and third hunks are the legitimate workflow operations and are structurally clean.

Commit 5917dc4 (Phase 8 latent-claim discharge, 2026-05-07). Hunks: @@ -37,11 +37,13 @@ (+2) and @@ -4732,6 +4734,88 @@ (+82). H2 count 110 → 112 — matches the 2 intended additions (dyadic-encounter-presupposes-institution, geological-institution-as-anthropocene-paradigm). The bloch and diacritical entries appear once each in the post-5917dc4 file; the H2 grep confirms a single occurrence of each through 5917dc4 → 7ded4f5 → 773ae11 → 68e4b0a. The "duplicate bloch/diacritical entries" the Phase 6 audit found in the post-d87c8f7 corruption are simply two of the 113 H2 sections that got duplicated by the d87c8f7 first-hunk bug — not a separate same-class incident at 5917dc4.

Correction to the Phase 6 audit's hypothesis. The citation-integrity-2026-05-09.md §"Critical finding" diagnosis says "Same-class root-cause hypothesis as the embedded Status History garbling within Block 2 (a separate, smaller-scale instance of the same bug, likely introduced during commit 5917dc4...)". This post-mortem disconfirms the smaller-scale-earlier-instance hypothesis: 5917dc4 is structurally clean. The bug is a one-shot d87c8f7 event, not a two-instance pattern. The "embedded Status History garbling" the audit observed is part of d87c8f7's chimeric splice between Block 1 (stale duplicate) and Block 2 (canonical), not a residue of an earlier write.

Item 2 — Determine the cause

Not non-unique old_string matching. The Edit tool's behavior on a non-unique old_string is either to error ("old_string not unique") or, where replace_all is true, replace every match with the same new_string. Neither produces a +4618 net hunk concentrated in one place with zero deletions elsewhere. The signature rules out this hypothesis.

Not a Write tool with stale-buffer concatenation either. A Write would have produced one giant hunk replacing the entire file — @@ -1,4886 +1,9715 @@ or similar. The actual diff has untouched lines 35–4864 of OLD (which appear verbatim as lines 4653–9482 of NEW). A Write doesn't preserve mid-file ranges.

The cause is autoregressive output failure during the first hunk's new_string generation. The assistant intended an Edit that replaced the original summary-table header + first 20 rows with the rebuilt 116-row padded table. The new_string should have been ~117 lines. Instead, the model generated those ~117 lines AND then drifted into emitting body content (~4500 lines of duplicated H2 entries from a stale snapshot of the file). The Edit tool then wrote the over-long new_string faithfully, producing the chimera.

Two pieces of corroborating evidence for the autoregressive-drift mechanism:

  1. The duplicated body's Updated-date signature is older than the file's own pre-edit state. Spot-check (per Phase 6 audit): kaushik-stiftung-literary-frame in Block 1 has Status: live, Updated: 2026-05-05; in Block 2 it has Status: supported, Updated: 2026-05-09. The file at 68e4b0a (the immediate parent commit) had kaushik as supported, 2026-05-09 already (the supported promotion landed at 68e4b0a morning's deferred-queue discharge). So Block 1's content reflects a snapshot from BEFORE the morning's deferred-discharge — i.e., from approximately the 5917dc4 (2026-05-07) era. This is consistent with the model "remembering" an older version of the file from prior sessions or audit-report context, not from the live read at the start of the Heinbokel session.

  2. The Block 1 / Block 2 boundary shows splicing artifacts, not a clean concatenation. Phase 6 found mp-institution-as-stiftung-meets-french-social-thought truncated mid-prose at line 4683 of the corrupted file, with summary-table-style fragments dumped in, and the duplicated bloch + diacritical entries sitting right after the truncation. Clean concatenation would leave the boundary as a hard junction between H2 ends and the next H2 begins; the chimeric splice is what autoregressive drift looks like when the model partially "switches mode" mid-output (one moment generating body H2 entries from cached state, the next moment trying to resume the new file's intended summary-table-and-then-body structure).

Item 3 — Lint integrity check (LANDED)

Added check_claims_register_integrity to scripts/lint-mechanical.py. Three invariants enforced for wiki/claims.md:

  1. Each H2 slug appears exactly once (catches whole-file duplication, partial-block splices, and accidental re-issue).
  2. Each summary-table slug appears exactly once (catches table-side duplication).
  3. The H2 set equals the summary-table set (catches orphan H2 entries missing from the table, and orphan table rows without an H2 — the latter was the secondary repair Phase 6 made when it added 3 missing summary-table rows for entries created at the 2026-05-07 tenth run and 2026-05-08 weave that had body entries but no table rows).

Test on the corrupted d87c8f7 state: the lint reports 110 duplicate H2s — matches the audit's "110 slugs appeared in BOTH copies" finding. Test on the current (post-repair) state: clean. Implementation uses a regex region scan from ### Summary table to the first column-zero ^---$ horizontal rule, so cross-references inside H2 entry bodies (where claims cite each other via [[claims#slug]]) are not double-counted.

The new section in lint output: "Claims register integrity (slug uniqueness + H2/table parity)".

Item 4 — Ingest self-review checklist item (LANDED)

Added a new bullet to .claude/skills/ingest/SKILL.md Step 7 (Self-Review):

Claims register integrity check (per the 2026-05-09 post-mortem): if you edited wiki/claims.md, run python3 scripts/lint-mechanical.py | grep -A1 "Claims register integrity" before commit. The check enforces three invariants — each H2 slug appears exactly once, each summary-table slug appears exactly once, and the H2 set equals the table set. The 2026-05-09 critical finding was a whole-file duplication invisible in conversation context: a single Edit's new_string for "rebuild the summary table" drifted mid-generation and emitted both the rebuilt table AND a stale snapshot of the file body, doubling every H2 entry. Obsidian resolves [[claims#slug]] to the FIRST H2 occurrence, so concept pages silently rendered stale claim statuses. When the integrity check reports duplicates, do NOT commit; investigate the boundary and surgically restore.

The bullet sits alongside the existing depth-preservation and citation-traceability checks. The point of including the failure-mode narrative inline is so a future maintainer (or Claude session) reading the SKILL cold understands why the check exists.

Item 5 — v0d.6 schema entry (LANDED, mid-post-mortem after user authorization)

The post-mortem queue row asked: "consider a v0d.6 schema entry making the slug-uniqueness invariant explicit in CLAUDE.md §Claims Register Format." Initial disposition was to defer (CLAUDE.md is hard-gated by General Rule 6 and the next-actions row's "consider" is conditional), with the recommended additions queued as a follow-up. The user then explicitly authorized the schema additions mid-post-mortem, lifting the gate.

Three changes shipped:

  1. CLAUDE.md §Claims Register Format → ID and Slug Conventions gains a "Slug uniqueness invariant" paragraph at the end of the subsection. The paragraph states the invariant (each slug appears exactly once as ^## H2 AND exactly once as a [[claims#slug]] row in the Summary table), explains the silent-failure-mode (Obsidian's FIRST-anchor resolution makes duplicate H2s render stale copy without breakage), points to the lint check and ingest Step 7 as the durable enforcement mechanisms, and names the 2026-05-09 incident as the known failure mode behind the rule (genealogy preservation per the schema-changelog convention).

  2. wiki/schema-changelog.md gains a ## v0d.6 (2026-05-09) entry. The entry records: the failure mode (whole-file duplication via autoregressive new_string drift, with the empirical evidence pinning the mechanism); the schema additions (the CLAUDE.md paragraph, the lint check, the SKILL.md bullet); the reasoning for codifying at schema level rather than only at workflow-guard level (the invariant was implicit in v0c but never stated, and a future maintainer would never know to look for an unstated invariant); the generalization-not-shipped note (other large operational files have no analogous slug invariant; deferred pending evidence of recurrence on non-claims.md files); and explicit "no 6-month review clause" note (this codifies an existing invariant rather than introducing a new workflow whose ROI needs reviewing).

  3. CLAUDE.md Schema version line bumped from 0d.5 (2026-05-08) to 0d.6 (2026-05-09), in the same operation as the schema-changelog entry, per the changelog's standing header rule.

The post-mortem now closes with all five items landed (1–4 from the original close condition, plus the optional item 5 promoted to landed status by user authorization).

Generalization beyond claims.md

The bug's mechanism — an Edit new_string that the model generates with the file's body content unintentionally tacked on, where the model's output drifted from the intended replacement scope into emitting cached file content — is not specific to wiki/claims.md. The same failure mode could in principle hit any large file edited near its top with new_string content that the model assembles by referencing the rest of the file. Files at risk: wiki/index.md, wiki/motifs.md, wiki/log.md, large source pages, large concept pages.

The lint check is the right scope for claims.md because slug uniqueness gives a check primitive that's free to compute. Generalizing to the other files is harder: there's no analogous slug invariant on motifs.md (motif headings are heterogeneous) or index.md (rows are page entries), and log.md is append-only so duplication would be detectable but rare. A modest defense at the SKILL level (a Step 7 checklist item generalized to "any large file edited via large new_string should be re-grepped for duplicate H2/H3 sections before commit") would catch the generalized case without requiring per-file lint rules. Queue this as a separate v0d.6+ consideration if the next-actions cycle revisits the post-mortem.

Closure

Items 1–5 all landed (item 5 promoted from deferred to landed after user authorization mid-post-mortem). Writeup appended (this section). The next-actions queue row 6 is marked done.