{"path":"research/self-similar-decomposition-and-claim-ontology.md","content":"# Self-Similar Decomposition and the Claim Ontology\n\n**Date**: April 1, 2026 (Session 9)\n**Type**: Ontological design decision + philosophical foundation\n**Status**: Decision made — implemented in code (ClaimBase hierarchy), implications ongoing\n\n---\n\n## The Founding Question\n\nDuring a deep review of whether the extraction pipeline produces sufficiently atomic claims for Deliberus's long-term vision, a series of connected insights crystallized about the nature of atomicity itself — and what it means for the system's own representations.\n\nThe starting observation: after implementing four atomicity improvements (prompt refinement, implicit premise detection, auto-decompose via retrieval, recursive CQ on corrections), the question arose whether `ImplicitPremise` should inherit from `AtomicClaim`. This seemingly technical code question opened into the deepest ontological reflection of the project so far.\n\n---\n\n## The Self-Similar Decomposition Principle\n\n**Deliberus's founding ideal is that all reasoning should be decomposed into maximally atomic constituents.** The system exists to take free-form text and reveal its logical structure. But this principle applies recursively — **the system's own representations are subject to the same acid of universal reason.**\n\n### The CQ Polarity Claim Example\n\nA CQ polarity claim like **\"Dr. Smith IS credible as an expert in labor economics\"** is NOT atomic. It bundles multiple independently-verifiable subclaims:\n\n- \"Dr. Smith has published 47 papers in labor economics\" (empirical, independently verifiable)\n- \"MIT appointed Dr. Smith as chair in economics\" (empirical, independently verifiable)\n- \"Publication record in a specific domain indicates expertise\" (definitional — what \"credible expert\" means)\n- \"Labor economics is the relevant domain for this claim\" (definitional — domain match)\n\nEach has different evidence, different confidence, different vulnerability to challenge. A reader might accept the publication record but contest whether labor economics is the right domain. **Bundling them into one assertion makes that challenge invisible.**\n\nAnd here's the crucial point: **the CQ templates already KNOW this decomposition.** The `expert_opinion` scheme's critical questions ARE the decomposition template — credibility, domain match, peer agreement, evidence basis. The CQs point exactly at the seams where the mother claim should split.\n\n### The `reasoning` Field\n\nThe `reasoning` field in every claim contains a free-form chain-of-thought blob — exactly the kind of unstructured text that Deliberus exists to decompose. \"Step 1: this is an empirical claim because... Step 2: the epistemic basis is a causal hypothesis because...\" — each step is a separable judgment with its own evidence.\n\nRight now, `reasoning` is a process artifact (the LLM's CoT trace that helps it classify better). But by the founding ideal, it's a **sorry marker at the meta level**: \"this claim has reasoning that hasn't been decomposed into the graph yet.\"\n\nThe CoT blob is to the graph what unstructured source text is to the extraction pipeline. It's raw material waiting to be processed.\n\n### The Mother Claim Pattern\n\n**Fredrik (verbatim, Session 9):**\n\n> \"The freeform text in CQ polarity claims and the reasoning field should be exposed to the acid of universal reason. That is, it should be recursively decomposed (eventually, not instantly tho) until we aren't muddling properly separable aspects of reality that can and should be judged separately. There's always separate evidence in different domains and contexts for a claim that generalizes over those domains, but then in such a case the 'mother claim' (the more general one) should simply be modeled as being supported by (and receive QEM/QBAF support transitively/programmatically) all the subclaims that it can and should be decomposed into.\"\n\nThe mother claim pattern:\n\n```\n\"Dr. Smith is credible as an expert in labor economics\"  (mother claim)\n    ├── DECOMPOSES_INTO → \"Smith published 47 papers in labor economics\"\n    ├── DECOMPOSES_INTO → \"MIT appointed Smith as economics chair\"\n    ├── DECOMPOSES_INTO → \"Publication in the domain indicates expertise\"\n    └── DECOMPOSES_INTO → \"Labor economics is the relevant domain\"\n```\n\n*Update 2026-08-17: the pattern is right and the arithmetic under it was carrying two relations under one name. Dr Smith's four parts are **jointly required** — necessary support in the literature's terms — while three studies corroborating one effect are not, and additive energy scored them identically, so a mother could read strong while a required part was weak. `DECOMPOSES_INTO` now accepts a `support_interpretation`, and a necessary reading imposes a **ceiling**: a whole is no stronger than the weakest thing it requires. All 131 existing edges are untagged and nothing moved. See [support-semantics-and-the-conjunction-problem.md](support-semantics-and-the-conjunction-problem.md) and [strength-layer-audit.md](strength-layer-audit.md).*\n\nThe mother claim's QBAF strength is the **programmatic result** of its subclaims' evidence quality — not a standalone vote on the bundled assertion. QEM's energy function propagates support transitively: each answered subclaim shifts the mother claim's badge. A reader who provides evidence for Smith's publications contributes to the mother claim's strength WITHOUT having to evaluate the bundled whole.\n\n**Fredrik (verbatim, Session 9):**\n\n> \"We must at some point in time enable and process such decomposition without insisting that a muddled, too-general claim is atomic.\"\n\n---\n\n## The Recursive Sorry Structure\n\nThe sorry model (`docs/research/lean-deliberus-analogies.md` §1) is self-similar. Each level of decomposition reveals the next level's sorry markers:\n\n- **Level 0**: Source text → extracted claims. Sorry markers on value premises (\"currently undecomposed\")\n- **Level 1**: Claims → CQ polarity assertions. Sorry markers on CQ answers (\"needs evidence\")\n- **Level 2**: CQ polarity assertions → subclaim subgraphs. Sorry markers on each subclaim's own CQs\n- **Level 3**: ...\n\nThe graph gets deeper at each level. The convergence thesis says: drill deep enough and you reach shared bedrock across worldviews. **Each level of decomposition peels away one layer of the \"middle\" where confusion lives.**\n\nThis connects directly to `depth.md`: \"The graph has no natural bottom — only a current bottom that's always invitable to go deeper.\" Applied to the system's own representations: the `reasoning` field is a current bottom. CQ polarity claims are a current bottom. Both are sorry markers in disguise.\n\n---\n\n## The Linguistic Perspective\n\n### Saussure: Parole and Langue\n\nIn Saussure's terms: the `reasoning` field and free-form claim text are *parole* (particular utterances, performance, surface expression). The graph structure — claims, edges, CQs, DECOMPOSES_INTO relationships — is *langue* (the underlying system, competence, structural relationships).\n\nDeliberus extracts *langue* from *parole*. Having *parole* fields in ClaimBase is correct — they're the raw material. But the *parole* should always be invitable to further structuring into *langue*. The system advances by converting the former into the latter.\n\n### Wittgenstein's Objection\n\nWittgenstein would push back: \"the meaning of a word is its use in the language.\" Some reasoning may be inherently situated, narrative, context-dependent — resisting decomposition into atomic propositions. This is Layer 3 from `semantic-disambiguation-and-concept-tracking.md`: \"what CANNOT be put into language at all.\" Polanyi's \"tacit knowledge\" — we know more than we can tell.\n\nThe Deliberus answer (from `depth.md`): \"The truly ineffable exists — but it is much deeper than where most debates stop and most platforms accept defeat.\" Most reasoning traces CAN be decomposed. The system's job is to keep inviting, Socratically, until language is genuinely exhausted. The depth at which language runs out is MUCH deeper than where most systems give up.\n\n### Dennett's Universal Acid — Applied to the System Itself\n\nDennett's Universal Acid (from `depth.md`): once understood, reason dissolves every boundary regardless of topic. Applied to Deliberus's own architecture: the acid doesn't stop at the boundary between \"source text\" and \"system representation.\" The system that decomposes external text should eventually decompose its own intermediate representations.\n\nThis is the deepest implication of \"No Copout Axioms\": even the system's own data structures are \"currently undecomposed,\" not \"permanently atomic.\"\n\n---\n\n## The ClaimBase Ontological Decision\n\n### What Was Built\n\n`ClaimBase` — a shared base class for all Pydantic models that produce claims:\n\n```python\nclass ClaimBase(BaseModel):\n    \"\"\"Shared ontological contract for all claims in the Deliberus graph.\"\"\"\n    reasoning: str      # The informal sketch (sorry marker at meta level)\n    text: str           # The claim itself (always invitable to further decomposition)\n    short_title: str    # Graph display label\n    type: ClaimTypeLit  # empirical/normative/definitional/value_premise\n    epistemic_status: EpistemicStatusLit\n    evidence_type: EvidenceTypeLit\n    source_span: str    # Provenance anchor\n    attributed_to: str | None\n\nclass AtomicClaim(ClaimBase):     # adds: decomposition_notes, confidence, claim_kind\nclass ImplicitPremise(ClaimBase): # adds: connects_from, connects_to\n```\n\n### What It Commits To\n\nEvery entity in the Deliberus graph that participates in deliberation (can be voted on, decomposed, related, questioned) has these 8 properties. This is equivalent to saying: **the Deliberus ontology has one kind of deliberation atom — the Claim.**\n\nThe commitment distinguishes two kinds of fields:\n\n1. **Structured properties** (type, epistemic_status — categorical, not further decomposable). These are the current analytical achievements.\n2. **Free-form content** (text, reasoning — always invitable to further decomposition). These are the current sorry frontier.\n\nThe system advances by converting category 2 into category 1 — turning free-form reasoning blobs into structured claim subgraphs, turning bundled CQ assertions into decomposed premise chains. But the NEXT level always has its own free-form frontier.\n\n### What It Does NOT Commit To\n\n- The 8 fields being eternal (adding fields propagates automatically via inheritance)\n- The four types being final (extending `ClaimTypeLit` propagates automatically)\n- CQ polarity claims needing a Pydantic model (they're template-generated, stored via `create_claim_node()`)\n- The `reasoning` field being permanent (it may eventually be superseded by structural decomposition of the reasoning itself)\n\n### The Lean Parallel\n\nIn Lean, the axiom set is small, shared, and extensible. It's been extended (universe polymorphism, quotient types) but never contracted. The commitment is \"this is the current minimum trusted foundation\" — not \"this is eternal.\"\n\nClaimBase is the same. Lean's kernel draws a hard boundary: satisfy the type checker → your proof is trusted. ClaimBase draws the same boundary: satisfy the base schema → your claim is a full citizen of the deliberation graph.\n\n---\n\n## Implications for the Architecture\n\n### 1. CQ Polarity Claims Should Eventually Be Decomposable\n\nThe correction UX already allows users to decompose value premises. Extending this to CQ polarity claims is natural — and the scheme templates provide the decomposition map. The recursive CQ pipeline (Session 9, Change 4) already runs scheme detection on user decompositions, generating new CQs at each level.\n\n### 2. Auto-Decompose Should Target CQ Claims\n\nThe auto-decompose via retrieval (Session 9, Change 3) discovers existing claims that could serve as premises for new claims. This should also target CQ polarity claims — when a new extraction produces evidence matching a CQ assertion, the system should create DECOMPOSES_INTO edges automatically.\n\n### 3. The `reasoning` Field Is a Future Extraction Target\n\nAs the system matures, the CoT trace in `reasoning` could be processed by the extraction pipeline itself — surfacing the inferential steps as separate claims. This is not urgent (the trace's primary value is enabling better LLM classification) but it's architecturally possible.\n\n### 4. QBAF Transitivity Is the Mechanism\n\nThe mother claim pattern works BECAUSE QEM gradual semantics propagate strength transitively through DECOMPOSES_INTO edges. When a subclaim gains evidence, the mother claim's badge shifts. No additional mechanism is needed — the existing QBAF architecture supports this naturally.\n\n---\n\n## The Broader Principle: No Permanent Atoms\n\n**Nothing in the Deliberus graph is permanently atomic.** Everything is \"currently undecomposed\" — invitable to go deeper. This applies to:\n\n- Value premises (the original sorry markers)\n- Empirical claims (decomposable into methodology + evidence + confounders)\n- Definitional claims (decomposable into criteria + scope + edge cases)\n- CQ polarity assertions (decomposable into the CQ's own sub-questions)\n- The `reasoning` field itself (decomposable into inferential steps)\n- Evidence-as-subgraph (uploaded PDFs decomposable into their constituent claims)\n\nThe depth at any point reflects how much the community has cared to examine that particular thread — and that asymmetry IS the information. Where decomposition is deep, the community has invested epistemic effort. Where sorry markers remain, the invitation stands.\n\nThis is the \"No Copout Axioms\" principle taken to its logical conclusion: not just \"value premises can be decomposed further\" but \"EVERYTHING can be decomposed further, including the system's own intermediate representations.\"\n\n---\n\n## The Reported-Speech Blind Spot (measured 2026-08-14)\n\nThe founder asked why a claim of the form *\"Opponents of minimum wage legislation argue that a wage floor will harm low-wage workers\"* is not split into the attribution and the content, so the content can be attacked or defended in its own right. Measured against the live corpus: **65 of 1,642 substantive claims (4.0%) are reported-speech shaped, and 2 of those 65 have been decomposed.** The minimum-wage one is a leaf, typed `empirical` / `prediction`, carrying three support edges.\n\nThere are four causes and none of them is an oversight in the ordinary sense.\n\n**The atomicity rules are about logic, not speech acts.** The decompose prompt's rule list splits *\"X because Y\"* into two, splits causal chains at each step, and forbids splitting rhetorical parallelism. Attribution appears nowhere in it. The model is never told that *\"P argues X\"* carries two separable commitments — that P argues it, and X itself.\n\n**The quality gate actively certifies the bundled form.** The decontextualization pass applies the stranger test: could a reader who has never seen the source understand exactly what is being asserted? *\"Opponents of minimum wage legislation argue that a wage floor will harm low-wage workers\"* passes perfectly — it is a model standalone claim. The pipeline's own standard for atomization-is-finished therefore returns *done* on precisely the claims that are least finished.\n\n**It was examined once, and ratified, correctly, on the wrong sample.** Dogfood run 2's G8 looked at exactly this behaviour on Graeber's polemic — 64 of 72 claims typed empirical — and judged it *\"right rather than alarming\"*, because the pipeline was converting rhetoric into attributed, checkable sociological claims. That judgment was sound about what it examined, and it did not ask the next question: *and then what happens to the reported content?* For an author's own rhetoric the answer is harmless, since the moral core concentrated into the 8 normative claims. When the reported content is **the opposing side's argument**, the content that never becomes a node is the thing the debate is about.\n\n**The safety net is a syntax detector, not a speech-act detector.** `looks_bundled` tests four properties: length over 140 characters, an *and*/*or*, a reasoning connector, and internal punctuation. Tested on the two real claims: the minimum-wage one flags, but only as `long_claim_text` — by accident of length rather than by recognising the pattern — and the run-6 ICJ claim does not flag at all. So the mechanism that implements *no permanent atoms* is blind to this class by construction.\n\n### The fix is already half-built\n\n`attributed_to` is populated on **1,082 of 1,642** substantive claims and it already carries third parties rather than only the source's author: the ACLU extraction holds both *\"ACLU\"* and *\"opponents\"*; the Econlib extraction holds both Linda Gorman and the researchers she cites. **The divergence between who wrote the source and who the claim is attributed to is exactly the reported-speech signal, it is already in the graph, and nothing reads it.**\n\nTwo cautions before building on it. The field is **polysemous** — sometimes the source's own author, sometimes a quoted third party, with no marker distinguishing the two — and it is **dirty**, carrying `The Author` beside `the author` and `ACLU` beside the spelled-out name. It is a signal that needs normalising, not a ready-made detector.\n\n### Normalizing the field, and what the first run exposed (2026-08-14)\n\n`deliberus/attribution.py` resolves the corpus's distinct attribution strings into canonical entities plus a **role** — `self`, `third_party`, or `unknown` — with a hard validation gate, and it never overwrites `attributed_to`. First run over 130 distinct values (one model call, 16.6k characters): **129 mapped to 109 canonical entities, collapsing 20 duplicate spellings**, roles 34 `self` / 94 `third_party` / 1 `unknown`.\n\n**The gate earned its place immediately.** The model returned one entry naming a string that does not exist in the corpus, and dropped one real value in its place. Both were caught and reported rather than silently absorbed. An entity-resolution pass that quietly discards what it could not parse would under-report precisely where it is least reliable, so rejection-with-a-reason is not defensive coding here, it is the instrument.\n\n**And the result refuted my own taxonomy.** `third_party` came back at 73%, which is far too high for \"the author is reporting an opponent\" — because the class silently bundles two different acts. Citing a supporting authority (*\"Card and Krueger found X\"*, *\"Herzog and Hertwig (2009)\"*) is a third-party attribution that **strengthens** the author's own case. Reporting an opponent (*\"Opponents of minimum wage legislation argue that…\"*) is a third-party attribution the author intends to **attack**. Only the second carries the stance signal. A role vocabulary that cannot tell citation from opposition measures nothing about flattening, and it is the same failure the taxonomy work already named: an enum induced from one register, breaking on the next. The split wants at least `cited_support` beside `reported_opposition`, and the honest way to set it is to look at the 94 before choosing, not to guess a third value now.\n\n### Preventing re-drift, which is the half that makes it hold\n\nA one-time normalization decays on the next extraction. The founder's point, and it is the standing *every fix includes its prevention* rule: divergent spellings must not re-enter the graph after the corpus has been cleaned, or the registry becomes a snapshot of one afternoon.\n\nThe shape that follows from the constraints already in this module: **the canonical entities become a first-class registry, and store time resolves against it.** A new claim's `attributed_to` is matched to a known entity and stored with its canonical form and role; a value that matches nothing is **not silently coined as a new entity** but recorded as unresolved and surfaced, because an unrecognised name is either a genuinely new party or a new spelling of an old one, and only a human or a model with the registry in hand can tell which. That keeps the field converging rather than fanning out, and it keeps abstention visible instead of manufacturing entities to avoid an empty slot.\n\nTwo properties to preserve when it is built. It must stay **lossless** — the raw string survives beside the resolved one, exactly as raw source text now survives beside its extraction. And it must **fail open**: an unresolvable attribution can never block an extraction from storing, because the cost of a missed normalization is a dirty field while the cost of a blocked write is a lost claim.\n\n### RATIFIED 2026-08-15: always mint the reported content\n\nThe founder's decision, against the option this document leaned toward: when a source reports someone else's position, **the reported content always becomes its own claim**, not only when a counterpart already exists or when someone contests it. The reasoning is that a position being argued about is *in play*, and a map of an argument that omits the positions under attack is not a map of that argument. This follows from the graph being a living substrate rather than a record of endorsements.\n\n**The hazard raised against this option does not disappear by choosing it — it converts into a labelling requirement.** Minted content is asserted by nobody in the corpus; it exists because someone quoted it in order to attack it. So every count the project publishes — total claims, the support-to-attack ratio, corpus size in any funding document — must distinguish **asserted** claims from **minted-from-report** claims, or those numbers quietly overstate what the corpus holds. That is now a hard requirement rather than a nicety, and it is the one place this decision can go wrong.\n\nTwo structural consequences. The link from the report to the minted content must **carry no strength**, since the reporter's accuracy and the content's truth are independent — disproving the content must never suggest the quote was fabricated. And the minted claim carries the *reported* party as its asserter with the reporting source as its provenance, which is exactly the two-field split §\"Normalizing the field\" arrived at from the other direction.\n\n#### Both hard requirements are currently satisfied by accident (audited 2026-08-16)\n\nThe pass is switched on and writing. Neither requirement above is enforced.\n\n**Non-propagation rests on an absent property, not on a rule.** `GET /claims/{id}/badge` builds its QBAF input from `MATCH (c:Claim)-[r]->(t:Claim) WHERE r.scheme IS NOT NULL` — an **untyped** edge match filtered only by the presence of `scheme`. `REPORTS` does not propagate strength today because REPORTS edges happen to carry no scheme, verified live (1 REPORTS edge, 0 with a scheme; the six types that do carry one are SUPPORTS, ATTACKS, DECOMPOSES_INTO, QUALIFIES, REFRAMES, DEFINES). The moment any code sets a scheme on a REPORTS edge, strength flows through it and disproving the content starts dragging down the true claim that somebody said it — silently, with no test failing. **The requirement is declared in prose and enforced nowhere**, and it is the cleanest first constraint for the approved ontology layer: `REPORTS` is disjoint from the strength-bearing relations, checked rather than assumed.\n\n**Provenance labelling is a function nobody calls.** `count_safe_summary` exists and is tested, and `rg` finds no caller outside its own module. `/graph/stats` still returns undifferentiated totals, so the first published count that includes minted claims will overstate what the corpus holds. Harm is currently one claim; the pass is running, so it grows from here.\n\nTwo smaller observations from the same audit. `DEFINES` carries a scheme on one edge and therefore participates in strength propagation, which may or may not be intended and has never been decided. And the type-blind badge query means **every future non-propagating relation inherits this trap**, so the fix is to make the query name its types rather than to keep new types scheme-free.\n\n### What minting actually produces, layer by layer (2026-08-15)\n\n\"The graph fills with statements nobody believes\" was too blunt, and working the live example refutes it in a more interesting direction. Four layers exist, and the trouble sits between the last two.\n\n**The source sentence** does two jobs at once. **The report** — *\"they argue X\"* — is asserted sincerely by the reporting author, is checkable against what the other side actually said, and causes no problem; it is the claim the pipeline already stores. **The minted content** — *X* — is not asserted by the reporting author at all. And **the opponent's own statement of their position**, call it *X′*, is a different sentence about the same position, written by the person who holds it.\n\nThe problem is that **X and X′ are two renderings of one position, one written by its holder and one by its opponent**. Four failure modes follow, and they are separable.\n\n**Duplication.** If X′ is already in the corpus, minting X creates a second node for the same position. Claim-sameness is a documented open problem here, so those two do not merge on their own, and until they do the corpus double-counts the position, splits its evidence across two nodes, and reports an inflated claim total.\n\n**Paraphrase drift.** Even in good faith, X is the opponent's wording. In the live pair, one text says *minimum wage laws* while the other says *a meaningful wage floor*, and one says *low-skilled workers* while the other says *low-wage workers*. Those are not the same proposition, and the difference is exactly the scope a careful arguer would contest. This is paraphrase flattening — the first known mechanism — appearing at a new site.\n\n**Straw man, which is the dangerous one.** If the reporter mischaracterized the position, minting turns that mischaracterization into a graph object attributed to the other side. **A misrepresentation becomes structure**, on the reporter's authority, and it is the exact failure this project exists to prevent.\n\n**Phantom asserter.** *\"Opponents of the FLSA\"* is not a person. A minted claim attributed to a group with no identity can never be corrected by the people it speaks for, which is the correction channel every other claim in the graph enjoys.\n\n**And the live example is sharper than any of that.** Checked against the two stored claims: **neither side asserts the content in its own voice.** The Prospect writes *\"opponents of minimum wage legislation argue that…\"* and Econlib writes *\"a majority of economists believe that…\"*. Both are reports. So the proposition *a wage floor harms the workers it is meant to help* is, in this corpus, **reported by two authors who disagree about it and asserted by neither** — and minting from both reports would create it twice.\n\n**Three of the four have existing answers, and one is new work that pays for itself.** Duplication is the claim-sameness problem already under study. Paraphrase drift is what the disagreement-preservation instrument measures. Phantom asserters are handled by the voice-and-stance split. **The straw man is unaddressed, and the decision to always mint is what makes it detectable**: once one side's rendering of the other's position is a first-class object, it can be compared against the other side's own statements, and a material divergence is a measurable misrepresentation. That is the ideological Turing test as an instrument, and it exists only because the reported content became a node.\n\n### The founder's correction to fair-share discounting (2026-08-15)\n\nThe worked example in `decomposition-axes.md` §2b treats *\"she published 47 papers\"* as one unit of evidence and splits its credit across the children that draw on it. **The founder's objection is that the unit is not atomic and the example is therefore too crude.** Those 47 papers have contents, quality, relevance, and standing of their own; a serious treatment decomposes them, and then admits every other relevant paper and every indirectly related subtree in the graph.\n\nHe is right, and it reframes what the discount is for. Once evidence decomposes, most *apparent* sharing dissolves: the child about a publication record draws on all 47, the child about domain activity draws on the labor-economics subset, and the child about standing draws on citation data rather than paper counts. What looked like one fact behind three children was one *bundle* cited three times. **Fair-share discounting was correcting an artifact of under-decomposed evidence**, and as evidence decomposition improves, the correction it applies gets smaller.\n\nIt does not become unnecessary. Genuine sharing survives decomposition — a single atomic finding really can back several siblings — and that is the case the discount exists for. The implementation is already indifferent to granularity: it discounts whatever provenance sets it is given, so feeding it leaf-level evidence produces the right answer and feeding it bundles produces a cruder one. **What is missing is the pass that decomposes the evidence itself**, which is a distinct piece of work from routing and should be sequenced with it.\n\n### Registered prediction (founder, 2026-08-15)\n\n*\"This is a living knowledge substrate which our interactions with will over time increase in what we get from them in terms of instructive/constructive value while asymptotically lowering the investment in terms of defining the right ontology and filling up the graph with extractions and human- or auto-populated implicit premises, evidence and shared fundamental knowledge/assumptions about how the world works. The costs here will likely go down over time while the usefulness will go up. This is my prediction. Complexity will increase… but once we start making real headway on the right structure and ontology… then we will end up with something that will blow people away completely. At least people who know what they're looking at.\"*\n\n**The first sentence is the operative one and both earlier records of this quote dropped it.** It names the unit: the falling cost is *the investment required to keep the substrate populated and coherent* — ontology design, extraction, and the human-or-automatic filling-in of implicit premises and shared background — not narrowly compute and not narrowly reader effort. It also names an independent variable that is not time but **corpus maturity**, and a shape that is not merely downward but **asymptotic**.\n\nRecorded as a prediction rather than an assumption, in the project's own style, because it is testable and currently **unmeasured**. `lowering-the-cost.md` §6 supplies partial support already — 87% of concepts are reused across the corpus while claim-level reuse is near-absent, which is the shape a falling unit cost would take — and it also records why the prediction cannot yet be scored: **cost tracking was never implemented**, so the learning curve is unmeasurable rather than unproven. Two lines of logging separate this prediction from a number that could confirm or refute it.\n\n**The prediction is not new, and its earlier form names the mechanism.** On 2026-04-03 the same intuition appears with the causal step spelled out ([codex-session-20260403.md](codex-session-20260403.md)): as more material is processed, *\"upstream of all those topic/object-level conclusions will be an increasingly saturated level in the graph consisting of shared normative and empirical general mid to high level subtrees of claims and premises\"*, so recursive decomposition stops being unbounded because new descents terminate in already-known subclaims. That is the nonrivalry argument in the founder's own words, four months before Romer's name was attached to it, and the session's synthesis holds up: the early fear was correct for recursive *generation*, the optimism is correct for recursive *retrieval and reuse*, with the standing caution that aggressive default-merge manufactures false sameness exactly where subtle distinction is the product.\n\n### The mechanism audited against the code and the graph (2026-08-16)\n\nThe April mechanism is specific enough to check: a saturating upstream layer of shared premises, so **new descents terminate in already-known subclaims**. Measured, it is not happening, and the reasons are four independent build gaps rather than one refutation. Nothing here says the prediction is wrong; it says **the prediction has never been given the conditions it names.**\n\n| What the mechanism needs | Measured state |\n|---|---|\n| An abundant layer of general premises | **16 implicit-premise claims in the entire graph**, against 1,626 extracted and 4,769 total. **18 of 25 sources have zero.** The largest source in the corpus (ACLU, 165 extracted claims) has one |\n| Those premises shared across sources | **1 of the 16 carries a `SIMILAR_TO` edge.** The layer is not merely thin, it is unshared |\n| Descents that terminate in known subclaims | **`decompose_claim` performs no lookup of existing claims.** It mints children unconditionally. Termination-in-known-subclaims is not rare, it is **impossible by construction** |\n| Recursion that reaches depth | No automatic recursive decomposition exists anywhere in the codebase. 131 `DECOMPOSES_INTO` edges over 103 children |\n\n**Gap one: half the pipeline never runs the pass.** `detect_implicit_premises` is wired into the Temporal workflow only. `deliberus/api.py`, which serves `/extract/stream`, never calls it — so any source extracted through the interactive path has zero implicit premises *by construction, not by the model finding none*. This is a third instance of the documented stream-path divergence, alongside the missing forensics row and the missing cleanup-at-start.\n\n**Gap two: when it does run, it is instructed to be scarce.** The prompt caps output at *\"Maximum 1-2 implicit premises per argument structure\"*, adds *\"Prefer fewer, more important implicit premises over many trivial ones\"*, and tells the model to *\"Skip arguments where the reasoning is already fully explicit.\"* The pass is tuned for precision at the cost of recall, which is defensible for a bridge-finder and fatal for a layer-builder.\n\n**Gap three, and the deepest: it produces the wrong object.** The pass finds *unstated assumptions connecting explicit claims within each argument* — local connective tissue, scoped to one source. The prediction names *\"shared fundamental knowledge/assumptions about how the world works\"* — general-purpose upstream material, whose value is precisely that it is **not** specific to the argument that surfaced it. The necessity filter (*\"must be NECESSARY for the argument to work — not merely related\"*) is exactly the filter that excludes general background, which is typically presupposed rather than load-bearing in any single inference. **Bridge premises and background premises are two different things, and only the first has ever been built.**\n\n**The same finding has a name in physics.** Assembly theory measures construction-with-reuse, and its joint-assembly measure distinguishes a sample whose objects share building blocks from one that is merely diverse. In those terms the four gaps above say the corpus has **no assembly pool at the claim layer**: every construction starts from raw material, which is exactly the regime in which the cost cannot fall. See [assembly-theory-and-the-reuse-mechanism.md](assembly-theory-and-the-reuse-mechanism.md), which also reports the convergence that matters most — **identifying repeated units is assembly theory's own hardest problem too**, so claim-sameness is a principled difficulty rather than a local failure.\n\n**One counter-signal, and it is real.** 18 of 103 decomposition children have more than one parent, so shared subtrees do already exist at the decomposition layer even with no reuse lookup. The saturation mechanism is therefore not inert everywhere — it appears faintly where structure is dense, and is absent where the prediction placed it.\n\n**Read against the April mechanism, the August measurement is split.** Concept reuse at 87% is the saturated upstream layer appearing. Claim-level reuse near zero is that layer failing to appear *where the prediction placed it* — in shared premise subtrees — and dogfood run 6 supplies the reason, since claim-level cosine measures vocabulary and cross-domain kinship is structural. The mechanism therefore depends on implicit-premise extraction, which run 3F independently identified as the pipeline's weakest and most important pass. **The lever on this prediction is implicit-premise recall, not cost accounting**; cost logging would give the curve, but recall is what would bend it.\n\n### Why this matters beyond tidiness\n\nSplitting attribution from content would make the stance-flattening problem **structural rather than lexical**. Today `deliberus/stance.py` detects the symptom with a cosine score and a reported-speech pattern, and its own recorded recall gap is that it misses the case that motivated it. If the content were its own node, both sources would point at *one* claim: one asserting it, one attributing it and then attacking it. The difference in stance would be visible in the graph's shape, and the support edge would land honestly on the attribution — because the two authors genuinely do agree that opponents argue this.\n\n**The open question is not whether to split but when.** Sometimes the attribution *is* the point, when an author is making a real observation about discourse rather than staging a rebuttal. Unlike the other author-intent problems in this corpus, though, the cue sits in the sentence itself, which makes it far more tractable than the stance question. This is an ontology decision and belongs to the founder.\n\n## Cross-References\n\n- [depth.md](../depth.md) §No Copout Axioms — the founding conviction, now extended to system representations\n- [convergence.md](../convergence.md) — self-similar decomposition enables convergence testing at arbitrary depth\n- [analysis-and-attunement.md](../analysis-and-attunement.md) — the parole/langue distinction as the dialectic in code\n- [vision.md](../vision.md) §One Graph, Not Separate Canvases — ontological unity of all claims\n- [lean-deliberus-analogies.md](lean-deliberus-analogies.md) §1 — sorry model, §2 — `@[simp]` flywheel, §8 — convergence thesis\n- [scheme-bounded-decomposition-and-evidence-as-subgraph.md](scheme-bounded-decomposition-and-evidence-as-subgraph.md) — Layer 1-3 decomposition, \"What Is Truly Atomic?\", the mother claim pattern (evidence-as-subgraph)\n- [extraction-improvement-research.md](extraction-improvement-research.md) §8 — implicit premise recovery (MArgE multi-agent debate)\n- [qbaf-gradual-semantics-research.md](qbaf-gradual-semantics-research.md) — QEM transitivity enables the mother claim pattern\n- [semantic-disambiguation-and-concept-tracking.md](semantic-disambiguation-and-concept-tracking.md) — three layers of meaning, Layer 3 as the Wittgensteinian limit\n- Code: `deliberus/extraction/models.py` — `ClaimBase`, `AtomicClaim`, `ImplicitPremise` hierarchy\n"}