{"path":"research/what-belongs-in-the-ontology.md","content":"# What Belongs in the Ontology, and What Belongs in the Graph\n\n**Date**: 2026-08-22 · **Occasion**: founder question, verbatim: *\"I wonder what of this reasoning should take place INSIDE of Deliberus vs BEFORE building Deliberus, to ensure the ontology isn't built from a confused place or too-fuzzy/imprecise or too-opinionated/overfitting-to-one-theory or whatever. Worth pondering on a meta-level.\"* · **Grounding**: full reads this session of [taxonomy-gaps-and-the-closed-enum.md](taxonomy-gaps-and-the-closed-enum.md), [deep-descent-experiment.md](deep-descent-experiment.md), `deliberus/support_semantics.py`, `deliberus/completeness.py`, [red-team-synthesis-2026-07.md](red-team-synthesis-2026-07.md) § operator-reflexivity, [conviction-and-critique.md](conviction-and-critique.md) § the four open questions, [philosophical-foundations-stress-test.md](philosophical-foundations-stress-test.md) §1, [heylighen-value-complexity-and-deliberus.md](heylighen-value-complexity-and-deliberus.md) §3.\n\n---\n\n## §0 The short answer\n\nA commitment belongs **in the ontology** when the system could not represent disagreement about it without already having it. It belongs **in the graph** when the system can hold it as an ordinary contestable claim and keep working. That is a mechanical test, it can be run on any candidate, and running it over the live schema finds real things — including two commitments currently invisible and one position the graph cannot presently render.\n\n**Status: the test is a proposal, not a ratified principle.** It is offered because it is mechanical and it finds things; whether it governs is the founder's call, and nothing in the One-Breath principle list has been changed on its strength.\n\nEverything else in the founder's question follows from one observation: **the ontology is already a theory.** Not \"risks becoming\"; is. So the question is not whether to commit before building. It is which commitments are load-bearing, whether each is visible, and what to do with the ones that are neither.\n\n## §1 The three worries pull in opposite directions, so there is no single dial\n\nThe question names three failure modes: *built from a confused place*, *too fuzzy/imprecise*, *too opinionated / overfitting to one theory*. The second and third are opposite errors. A schema thin enough to offend nobody cannot compute anything — a graph with one node type and one untyped edge is maximally uncommitted and maximally useless, because it cannot tell support from attack and therefore cannot surface the shape of a disagreement. Commitment is what makes structure informative. Precision is not the enemy of neutrality; **invisible** precision is.\n\nSo \"how opinionated should the ontology be\" has no useful answer, and the tuning metaphor is the wrong shape. What sorts the cases is not a level but a test.\n\n## §2 The ontology is already a theory — three worked instances, all already documented\n\nNone of these is hypothetical. Each was found by a different method and each is recorded elsewhere in the corpus.\n\n**The residue taxonomy is ought-shaped.** Fittingness, structural, axiom-choice and permissive-zone were induced from value debates — death penalty, minimum wage, assisted dying, a white lie — and every one of them is a kind of *evaluative* bottom. The deep-descent experiment walked \"physical pain is bad\" to its floor and hit a terminus none of the four can name: an open question about the world, possibly fundamental. The schema had a metaethical shape and did not say so ([deep-descent-experiment.md](deep-descent-experiment.md) § the taxonomy is OUGHT-biased).\n\n**The terminus enum encodes an is/ought split.** `empirical` on one side, four evaluative types on the other. That is a substantive philosophical position rendered as a data type. It is probably the right position, and it is not marked as a position anywhere in the code, so nothing in the system can attack it.\n\n**Additivity was an unexamined commitment.** The strength layer summed evidence energy because summing is what one does, not because anyone argued that value structures are additive. Heylighen's criteria-interaction point says the opposite is the norm in value space — improving one aspect routinely worsens another ([heylighen-value-complexity-and-deliberus.md](heylighen-value-complexity-and-deliberus.md) §3) — and the strength-layer audit found the conjunction-versus-corroboration confusion the assumption had been hiding.\n\nThree instances, three different discovery routes, one pattern: **the theory was in the schema before anyone decided to put it there.**\n\n## §3 The test: can the system hold the disagreement?\n\nFor any candidate commitment, ask: *if two users disagreed about this, could the graph represent both of their positions?*\n\n- **Yes** → it is a claim. Put it in the graph and let it be attacked.\n- **No** → it is ontology. It is load-bearing, and the obligation is to make it visible rather than to remove it.\n\nThe test is cheap to run and it is not merely a sorting device — it turns up things nobody looked for.\n\n**\"Pain is bad\" passes as a claim.** It is already a live typed-open node (`claim_605b1fd10966`, hedonic monism as its sharpest form). Nothing in the machinery depends on its truth. Two users can disagree about it inside the graph, with attack edges, and every instrument keeps working. The entire five-level palette in [decomposing-value.md](decomposing-value.md) is claim-layer material by this test.\n\n**The is/ought split fails.** Someone who denies the distinction — a thoroughgoing naturalist, or Heylighen at his strongest — cannot have their terminus typed at all, because the enum's first partition *is* the distinction. That is a real representability failure and it was invisible until the test was run.\n\n**Strong particularism fails, and the stress test already found it by another route.** Dancy's holism says a feature that is a reason here can be no reason, or an opposite reason, elsewhere. The graph's edge polarity is context-free at the type level, so a particularist's position renders as an undecomposed claim — which the completeness oracle then reports as an unsupported value premise, its *sharpest incompleteness signal* (`deliberus/completeness.py`). The system does not merely fail to hold the position; it actively scores it as a copout. ([philosophical-foundations-stress-test.md](philosophical-foundations-stress-test.md) §1.)\n\n**Additivity now passes, because it was moved.** That is §5.\n\n## §4 Why \"settle it first\" cannot work\n\nThe tempting reading of the founder's worry is: do the metaethics properly, *then* build, and the ontology comes out clean. That path is closed, for a reason worth stating precisely.\n\nEvery taxonomy in this system **was induced from the register the corpus happened to contain** — and up-front thinking has exactly the same defect, because a thinker's registers are also whatever they have met. Two years of reading value theory before writing a line of code would have produced an ought-shaped residue taxonomy just as reliably, and just as invisibly, because that is what value-debate material teaches. The gap was not found by reading. It was found by **running a descent on pain** and watching the classifier have nowhere to put the answer.\n\nThree taxonomy gaps arrived in three consecutive investigations. That is a rate, not a coincidence, and it is a property of induced taxonomies rather than a defect that gets fixed once ([taxonomy-gaps-and-the-closed-enum.md](taxonomy-gaps-and-the-closed-enum.md)). For a project whose stated ambition covers all knowledge, new registers arrive indefinitely.\n\nSo the corrective is empirical, not preparatory: **run descents on registers unlike each other, and instrument the misfit rate.** Which is why the confession channel matters more than any particular slot.\n\n## §5 What to do with a commitment once the test finds one — three moves, cheapest first\n\n**1. De-bake it.** Demote the hard-coded semantics to a recorded per-object parameter whose default reproduces current behaviour exactly. `support_semantics` is the shipped template and its docstring states the discipline outright: *\"Nothing here changes a single strength until an interpretation is recorded. The default is `undecided`, which reproduces the shipped aggregation exactly.\"* The corpus's 131 pre-existing decomposition edges were left untyped on purpose, because guessing their interpretation would be inventing evidence. The result is that additivity stopped being an assumption and became a claim about a particular edge, at the cost of one field and the movement of zero strengths.\n\nThat is the pattern to reach for first. It converts an invisible commitment into a visible, contestable, per-instance one **without a migration and without a philosophical verdict.**\n\n**2. Confess it.** Where the commitment is a closed set of categories, give the set a way to say it lacked a slot: an explicit does-not-fit value with a required free-text reason. This does two things — it stops forced nearest-fit, which is the classification layer's silent failure mode, and it converts the escape hatch into an accumulating corpus of *taxonomy pressure*, which is the evidence base for which slots are real. The unclassified rate then becomes an instrument that can score against the ontology's claimed generality, which today is asserted and untestable. Shipped on the scheme enum 2026-08-19; the design and the per-consumer hazard are in [taxonomy-gaps-and-the-closed-enum.md](taxonomy-gaps-and-the-closed-enum.md).\n\n**3. Publish it.** Write the commitment into the graph as a claim, so it can be attacked by the system's own mechanisms. This is the operator-reflexivity gap: the QEM choice, the four-type taxonomy, the extraction prompts and the Legibility Rule all live in code, none is a graph object anyone can attack, and the self-reference tower therefore terminates in an un-audited governance level ([red-team-synthesis-2026-07.md](red-team-synthesis-2026-07.md) § Convergence 3). It is also founder question 2 in [conviction-and-critique.md](conviction-and-critique.md), still open. It is the most expensive of the three moves and the only one that fully closes the gap.\n\nThe three compose. De-baking makes a commitment representable; confessing makes its misfit measurable; publishing makes it contestable.\n\n**First instance executed (founder-ratified 2026-08-22).** The is/ought partition is now a published claim: `claim_ontology_isought` (the partition), grounded by `claim_ontology_twofloors` (floor-independence, from [decomposing-value.md](decomposing-value.md) §4), with the live hedonic-monism node `claim_605b1fd10966` — exactly the claim that the two floors are one — attacking the ground on the public surface. The contest edge is deliberately schemeless, so it is visible without moving any badge by operator fiat; scoring arrives through the ordinary correction pipeline. Seeder: `scripts/seed_ontology_commitments.py` (re-runnable; aborts if the contest partner is absent). Confession shipped the same day: `does_not_fit` on the terminus enum, note-required. This closes move two entirely and opens move three's door; whether further commitments (the QEM choice, the four-type claim taxonomy, the Legibility Rule) walk through it is per-commitment founder judgment.\n\n## §6 What genuinely belongs *before*, and it is not a verdict\n\nThe reasoning that has to happen before building is not *settling* the metaethics. It is producing **a map of which theory each schema element already encodes** — so that every load-bearing commitment is at least visible, and the ones that fail the representability test are known rather than discovered later by a user whose position will not render.\n\nOn that reading [decomposing-value.md](decomposing-value.md) did the right work and its product is the right kind: not a verdict about what value is made of, but an inventory — five levels, two floors, a named place where hedonic monism sits as a live claim rather than as a baked assumption. The doc's own §7 already separates what it settles for the platform from what it leaves open, and the answer to \"should this reasoning happen inside or before\" is **both, in different roles**: before, as the commitment map; inside, as the claims themselves.\n\nThere is one honest asymmetry. Fuzziness is cheap to fix later and opinionatedness is not. An under-specified schema gets sharpened when a case forces it, and the case arrives with the evidence for how to sharpen. An over-committed schema silently distorts every source in a register it was not induced from, and the distortion is invisible precisely because forced nearest-fit reports success. **When the two errors are in tension, prefer the fuzzy one** — but only in the presence of a confession channel, because fuzziness without one is indistinguishable from wrongness.\n\n## §7 What this does not settle\n\n- **Whether the residue taxonomy gets a fifth is-bedrock type or an explicit normative-only scope.** Founder call, open since the deep-descent experiment. The representability test says the current silent behaviour — forcing an is-bedrock into `fittingness` or collapsing it to `undecided` — is the one option that is wrong either way.\n- **Whether the ontology itself should live in the graph.** Founder question 2, open. This doc argues the three moves are ordered by cost, not that the third should be taken.\n- **Whether the is/ought split should be de-baked.** The test flags it; nothing here says it should move. It may be the rare case where the right response is to publish the commitment and defend it rather than to parameterise it.\n- **Whether edge polarity should carry context.** The stress test names the two commitments that take real damage from holism; the fix is not designed.\n\n## Cross-references\n\n- [taxonomy-gaps-and-the-closed-enum.md](taxonomy-gaps-and-the-closed-enum.md) — why induced taxonomies keep breaking, and the confession-channel design\n- [deep-descent-experiment.md](deep-descent-experiment.md) — the ought-bias finding that made the schema's theory visible\n- [decomposing-value.md](decomposing-value.md) — the commitment map for the value layer\n- [philosophical-foundations-stress-test.md](philosophical-foundations-stress-test.md) — Dancy's holism and the two commitments it damages\n- [heylighen-value-complexity-and-deliberus.md](heylighen-value-complexity-and-deliberus.md) — additivity as a modeling choice value-space violates\n- [red-team-synthesis-2026-07.md](red-team-synthesis-2026-07.md) — the operator-reflexivity gap\n- [conviction-and-critique.md](conviction-and-critique.md) — the four open founder questions, of which this is question 2's neighbourhood\n- [../depth.md](../depth.md) — nothing is permanently atomic, applied to the system's own representations\n"}