{"path":"research/corpus-graph/readers/2026-10-11-pilot-open-question-four-notes-as-a-reader-returned-it.md","content":"# What a reader would tell the founder about four notes (pilot, the open question) (2026-10-11)\n\nA read-only reader (Sonnet), a helper of the app with a shell and the search by meaning. It is part of the\npilot described in [../reading-for-every-kind-of-insight.md](../reading-for-every-kind-of-insight.md) § 7. It was given the brief in\n[../open-reading-brief.md](../open-reading-brief.md), everything the founder has settled in one file, and these 4 notes:\n\n- `docs/depth.md`\n- `docs/bridging.md`\n- `docs/worldview-lenses.md`\n- `docs/research/the-load-bearing-unsaid.md`\n\nIt made 82 tool calls. Its report is below, unchanged. What was kept from it, after the quoted words were\nchecked by code and both passages were opened, is in `../found.jsonl` (lines whose `where` names this\nfile).\n\n---\n\n4 of the 4 notes read in full.\n\n### O1\nrests_on: docs/depth.md:57 \"The platform should NEVER accept unexamined premises as stopping points.\"\nrests_on: docs/depth.md:167 \"until the user reaches their actual bedrock, not a convenient stopping point\"\nrests_on: docs/depth.md:118 \"Converting what went without saying into something sayable is the core operation\"\nremark: The page's imperative is unconditional: never accept a stopping point, keep inviting until the user reaches \"actual bedrock\". It cites the unsaid note as warrant for turning the unsaid into the sayable. That note's findings are limits on exactly this operation: for a hinge the pass is a category error that performs the taboo trade-off, and the conversion is political. The September evidence research adds that hinges are a principled stop and that bare demands turn decomposition into a stalling weapon. depth.md never mentions hinges in that sense. Its title, No Permanent Bottom, is the unscoped form of a conviction that CLAUDE.md words as currently-undecomposed and invitable.\nso: Add one scoped sentence to depth.md (invite, never press; a hinge or protected value is a legitimate place to stop) and retitle, since a headline stays over-broad whatever the body says.\nsure: fairly. I compared the page with the CLAUDE.md conviction wording and with what-counts-as-evidence.md §2 on hinges and stalling. rg for hinge and sacred in depth.md finds only the sensitivity sense and one protected-value line.\n\n### O2\nrests_on: docs/depth.md:40 \"and that asymmetry is itself moral data, not a bug to be reasoned away.\"\nrests_on: docs/depth.md:43 \"Neither answer is stupid. The graph doesn't settle this.\"\nremark: The page's demonstration is a hand-built chain, not a pipeline run. I searched the repo and the Singer case is extracted nowhere. Another note calls the decomposition \"designed to bottom out at weighting\". With one chain per branch, every \"because\" is a single choice that a real descent would branch on. The last node of the phenomenological branch is written in one side's voice. \"That asymmetry is itself moral data, not a bug\" is the dissenter's conclusion, and Singer's camp calls the asymmetry a bias. The next paragraph says the graph \"doesn't settle this\". So the finding that the branches meet follows from how the chain was written.\nso: Label the example an authored illustration and make the bottom node a contested claim with the opposing reading attached, or run the case through the pipeline and show what comes out.\nsure: fairly. rg for drowning child and Singer finds only depth.md and the Swedish intro page. I read convergence-thread-corpus-map.md:98. The point about Singer's camp rests on general knowledge of the debate.\n\n### O3\nrests_on: docs/depth.md:47 \"Research confirms this matters: many ethical decision problems are NP-hard (Stenseke, 2024)\"\nrests_on: docs/depth.md:136 \"This means decomposition (breaking hard moral problems into tractable sub-problems) is not just useful but *necessary*\"\nremark: Twice the page says the NP-hardness of ethical decision problems makes decomposition \"computationally necessary\". The corpus's own source note (deliberus-as-alignment-infrastructure.md:97) says only that the result \"suggests\" this. depth.md turns that into \"Research confirms\" and \"This means\". The inference is also loose. NP-hardness is a worst-case result about computing the best action, which Deliberus does not attempt. Splitting an NP-hard problem into parts helps only when the parts barely interact. That condition is what the page's later Simon section supplies, and it is the better reason. The corpus also cites this paper under two different titles.\nso: Drop \"necessary\" or rest it on Simon's near-decomposability, and check what Stenseke actually concludes before the page says \"confirms\".\nsure: fairly on the logic. A guess on what Stenseke himself concludes, since I did not read the paper. The two titles are at non-zero-sum-economics-and-civilizational-cooperation.md:484 and deliberus-as-alignment-infrastructure.md:565.\n\n### O4\nrests_on: docs/depth.md:112 \"but it is inert until someone records the interpretation.\"\nrests_on: docs/depth.md:120 \"its default was neutral until the 2026-08-31 padding ruling deliberately made untagged decomposition parts weakest-part-governed\"\nrests_on: docs/depth.md:79 \"91% of verdicts survived every filing, the typical score did not move at all\"\nremark: Three statements on the page about the strength side do not agree. Line 112 says the necessary fix is inert until someone records the interpretation. Line 120 says the 2026-08-31 ruling made untagged parts weakest-part-governed, and qbaf.py now passes undecided_as=\"necessary\", so the fix is no longer inert. The slicing result at line 79 was measured on 2026-08-22, before that flip. Its own note says most strengths then sat near neutral because critical questions were unanswered, so part of the stability is emptiness.\nso: Rewrite line 112 to say the default now does the work and what that costs, and re-run the slicing study or date the result on the page.\nsure: yes for line 112 against line 120 and the code (qbaf.py:288). Fairly for the stability caveat: I read slicing-stability-first-run.md and did not re-run it.\n\n### O5\nrests_on: docs/depth.md:69 \"you ratify, edit, or refuse; you never author structure from a blank page.\"\nremark: The first of the seven things the machine holds says it proposes the decomposition and you ratify, edit or refuse. Since 2026-09-21 the splitter writes marked parts and the person reviews afterwards (keep, reword, drop). CLAUDE.md already flags the old propose-only description as wrong, and a \"ratified\" state is being retired. The order of events a visitor is promised runs the other way round. It also touches the page's claim that the one irreplaceable thing is the user's recognition: that now comes after the write, and only if someone sits down to review.\nso: Reword item 1 to say the machine writes marked parts and the user keeps, rewords or drops them.\nsure: fairly. I checked CLAUDE.md:1027, proposed_split.py and ledger B7/Q32. I did not check whether the web UI still offers a proposal step.\n\n### O6\nrests_on: docs/depth.md:99 \"and the verdict that marks it is itself a challengeable claim\"\nrests_on: docs/depth.md:185 \"every confirmed terminus remains a fallible fixed point open to a new move\"\nrests_on: docs/worldview-lenses.md:28 \"including premise staleness and terminus expiry\"\nrests_on: docs/research/the-load-bearing-unsaid.md:144 \"and the residue map exists to count exactly that\"\nremark: Four sentences across these notes use machinery or names the founder has since ruled out. depth.md says a classified terminus is a fixed point and that a verdict marks it. Since 2026-09-16 a kind is read, never set, and the verdict-claim ground is retired. It also speaks of a \"confirmed terminus\", but the confirmed field is retired and terminus itself was ruled a misnomer. The worldview page says \"terminus expiry\". The unsaid note says \"residue map\", and horizon has been the name since 2026-08-25. Each sentence still says something true, but a reader hunting for a verdict on a claim page finds none.\nso: Restate them in the horizon-reading vocabulary (a dated reading over the current arrangement), so a correction is not left standing on four surfaces.\nsure: yes for the rulings (ledger O2, O6, Q32; CLAUDE.md:787 and :553). Fairly that these are the only instances in the four notes, since I did not search every use of verdict.\n\n### O7\nrests_on: docs/bridging.md:56 \"People disagree on what to conclude but agree the reasoning is structurally sound.\"\nrests_on: docs/bridging.md:75 \"it surfaces the opposing group's strongest arguments — those rated well-reasoned even by the opposition — as the starting point\"\nrests_on: docs/bridging.md:24 \"agreement is voted, quality is computed from the arguments and answered critical questions around a claim, and there is no second vote\"\nremark: The page promises the argument both sides find compelling: people who \"agree the reasoning is structurally sound\", arguments \"rated well-reasoned even by the opposition\". Nobody rates the reasoning. Line 24 says there is no second vote. The feed's score is the vote split on the claim times a machine-computed edge number. A claim that half the voters reject and the machine rates strong is contested and well-supported. Whether the rejecting half finds the reasoning sound is never asked, and that is what the page's title names. \"I can't dismiss this\" is a first-person state, and the score takes no input from it.\nso: Score the premises instead (a claim under the contested one that voters on both sides agree with, using votes already collected), or reword the feed's claim to \"contested yet well-supported\".\nsure: yes for the code: _feed_bridging counts AGREES_WITH and DISAGREES_WITH users and averages edge strength, nothing else. Fairly that no other surface collects reasoning ratings.\n\n### O8\nrests_on: docs/bridging.md:65 \"The bridging mode averages `r.strength` across a claim's scheme-bearing edges.\"\nrests_on: deliberus/feed.py:365 \"WITH c, agrees, disagrees, total, agree_ratio, AVG(r.strength) AS avg_strength,\"\nremark: The 2026-08-17 correction says the feed averages r.strength over a claim's scheme-bearing edges. That is right but does not say which edges. In _feed_bridging (feed.py:362) and detect_bridging_claims (truth_graph.py:814) the match is (c)-[r]->(t:Claim). These are edges leaving the voted-on claim, the arguments it makes for other claims, not the reasoning arriving at it. The badge was fixed to incoming-only on 2026-08-17 for exactly this fault, and the feed was not. So the number multiplying the vote split says how c serves other claims. It falls back to 0.5 when c supports nothing and never moves when evidence is attached to c. The Q31 build item, the TODO entry and the tests (graph mocked) do not mention it.\nso: When Q31's re-rank is built, fix the edge direction in the same change, or the feed will rank by the reading of the wrong links.\nsure: yes. I read both queries against badge_inputs.py (`(s)-[r]->(c {claim_id: $cid})`), TODO.md:3403-3405 and TODO.md:1284.\n\n### O9\nrests_on: docs/bridging.md:19 \"Creates cognitive tension — the most productive state for genuine opinion change\"\nrests_on: docs/bridging.md:77 \"Broockman and Kalla's deep canvassing research adds a nuance: attitude change at group boundaries requires relational engagement, not just logical structure.\"\nrests_on: docs/bridging.md:73 \"James Fishkin's Deliberative Polling research shows ~70% of participants change positions on at least one major issue\"\nremark: The table's bold claim, that a well-reasoned argument for a conclusion you reject is \"the most productive state for genuine opinion change\", carries no citation. The study the page does cite for deep canvassing is, in the corpus's own reading (analysis-and-attunement.md:144, coupling-the-poles.md:48), a null for argument-only conversations across 6,869 voters. A four-month effect appeared only once narrative was added, and TODO.md:2908 puts it as \"We built the null arm\". Here it is a \"nuance\". Fishkin's ~70% is also a one-sitting figure, the timescale objection he already ruled correct (I1). Conversation-starter is the right frame, but the 2x2 headline claims the argument-only mechanism.\nso: Replace the bold sentence with what is known (tension may be necessary, not sufficient) and let the conversation-starter framing carry the page.\nsure: fairly. Three corpus notes report the Kalla and Broockman result the same way. I did not read the study.\n\n### O10\nrests_on: docs/bridging.md:91 \"A genuine risk: maximizing cross-group agreement incentivizes vague platitudes.\"\nrests_on: docs/bridging.md:93 \"Deliberus's four-type classification is the structural countermeasure. Empirical claims are harder to make vague than normative ones.\"\nrests_on: docs/bridging.md:56 \"Where disagreement is high (50/50 vote split on the conclusion) BUT QBAF strength is also high\"\nremark: The Vagueness Trap section defends against a design that maximises cross-group agreement. The formula on the page does the opposite. disagreement_factor peaks at a 50/50 vote split. The floor is two votes (`agrees + disagrees >= 2`), and the ratio ignores how many voted, so one agree and one disagree score the same as 500 and 500. The incentive is to be contested, and the cheap attack is two accounts voting opposite ways. The named countermeasure, claim type, is returned by the feed but not used in the score. The trap the page worries about is not the one the code can fall into.\nso: Name the real gaming surface (contestedness on thin votes) and add a voter-count floor or weighting before this is presented as the project's distinctive signal.\nsure: yes. I read feed.py lines 359-371: the type column is selected but not in the score.\n\n### O11\nrests_on: docs/worldview-lenses.md:5 \"They agree on roughly 80% of the structure underneath. They diverge on one definitional premise.\"\nrests_on: docs/worldview-lenses.md:9 \"And once located, the disagreement is almost always much smaller than it felt.\"\nrests_on: docs/research/prime-real-estate-words.md:17 \"to: *magic, God, love, freedom, natural, science, conscious*. Others carry a rebuke: *cult,\"\nremark: The page's first example, and the moment it calls among the most powerful the platform offers, is two people finding that \"freedom\" meant different things. After that, the disagreement is \"almost always much smaller than it felt\". The corpus's own 2026-10-07 finding lists freedom among the words people want. Showing two senses does not end that dispute, because each person is asked to give up what they came for, and what remains can be who gets the word (ledger AC3, ruled). The flagship example is therefore the exception class. The 80% is illustrative with no source, and \"almost always\" has none.\nso: Keep the example but add the third outcome (the senses are shown and the contest over the word remains), or pick a word nobody is fighting for.\nsure: fairly. I read prime-real-estate-words.md §2 and ledger AC3. That both speakers want the word is my assumption.\n\n### O12\nrests_on: docs/worldview-lenses.md:46 \"Not \"I tolerate your ignorance\" but \"I see the coherence of your worldview and I must engage with it honestly.\"\"\nrests_on: docs/worldview-lenses.md:84 \"not the reassuring experience of \"understanding\" the other side (which often means containing them within your existing framework).\"\nremark: The third feature is named \"Rose-Tinted Glasses UX\", and its success is the recognition \"I see the coherence of your worldview and I must engage with it honestly.\" Later on the same page, Žižek's warning defines failure as the reassuring experience of \"understanding\" the other side, which \"often means containing them within your existing framework\". The two describe the same experience, and the page never says how a designer tells them apart. \"Rose-tinted\" is also the ordinary idiom for flattering distortion, so the feature's name states the failure. The 2026-08-27 section's answer (another person is the instrument) serves the self-assessment use, not this one.\nso: Give feature 3 a test that separates it from tourism, for example the reader must name one premise of their own that the other lens makes costly, and consider renaming it.\nsure: fairly. The tension is read straight from the page. The idiom collision is a guess until a real stranger (Malin) hears it.\n\n### O13\nrests_on: docs/worldview-lenses.md:62 \"it captures operational values (how you actually decide) rather than stated values (what you say you believe)\"\nrests_on: docs/worldview-lenses.md:62 \"The computed profile IS the lens — derived from behavior, not declaration.\"\nremark: Edvin's dilemma filter is praised for capturing \"how you actually decide\", derived \"from behavior, not declaration\". Answers to trolley-type cases are declarations about hypotheticals, not behaviour. The corpus's own evidence section (what-counts-as-evidence/testimony-experience-and-normative-evidence.md §6.3) records order effects on such judgments as large in professional philosophers as in laypeople. Reflection did not remove them. A profile computed from dilemma answers inherits that instability, and a lens built on it could shift with question order. Nothing in the corpus tests dilemma answers against behaviour. The 2026 bottom-up version, a profile from votes, is declaration too.\nso: Before choosing \"seed with dilemmas\", run the cheap check: same person, shuffled order, does the profile hold?\nsure: fairly. I searched the corpus for dilemma-to-behaviour tests and found none, only the order-effects note. A guess on how large the instability would be here.\n\n### O14\nrests_on: docs/worldview-lenses.md:11 \"This is not a feature. It is the core interaction mode\"\nrests_on: docs/worldview-lenses.md:13 \"That's why they failed — analytical tools alone don't motivate sustained use.\"\nremark: The page speaks in the present tense of a product mode: the filter \"is the core interaction mode\" and its moment is among the most powerful \"the platform offers\". There is no lens code. I searched deliberus/ for worldview and lens and found nothing, and web/ only links to this page from the home page (\"Lenses\"). CLAUDE.md files the filter as \"EXPLORATORY until explicitly decided\". The page also states as fact a cause that the corpus lists as an open existential risk. steelmanned-critiques.md §3 gives a rival cause: structural incompatibility with online social dynamics, with platforms that all got users and stagnated, and Kialo with 1M registered users.\nso: Add a status line to the page (not built, a design under test) and mark \"That's why they failed\" as a hypothesis or cite what supports it.\nsure: yes on unbuilt (rg over deliberus/ and web/src). Fairly on the causal point: I read the steelman and found no evidence for the lens cause.\n\n### O15\nrests_on: docs/research/the-load-bearing-unsaid.md:47 \"Pointing the implicit-premise pass at a sacred commitment and rendering it as a weighable premise is the mechanised form of the taboo trade-off\"\nrests_on: docs/research/the-load-bearing-unsaid.md:120 \"Measured effect: 0 → 2 firings on the corpus, both genuine author value premises\"\nremark: The note concludes the brake gets a better justification, and counts the repair as 0 to 2 firings. In the code the brake is not a gate on decomposition. detect_sacredness has one caller, inside detect_weighing, which returns early unless the claim also contains a weighing phrase (outweigh, more important than, trumps). The two exemplar claims, human life as inherently precious, contain none. So on the pipeline's route there is nothing for the brake to do for them, and the \"2\" counts the regex on claim text. The splitter (which writes parts since 2026-09-21), the implicit-premise pass and the completeness copout count never consult it.\nso: Decide whether the brake is meant to guard every machine decomposition; if so it belongs in front of the splitter and the premise passes, and its firing count should be taken where it changes an outcome.\nsure: yes for the code. detect_sacredness is called only at weighing.py:248, process_extraction_weighings skips non-weighings, proposed_split.py:446 mentions the brake only in a comment, and there is no \"sacred\" in implicit_premises.py or completeness.py. Fairly for the consequence, since I did not run the pipeline.\n\n### O16\nrests_on: docs/research/the-load-bearing-unsaid.md:105 \"in the argued register you may *describe* a comprehensive doctrine, you may not *argue from* one.\"\nrests_on: docs/research/the-load-bearing-unsaid.md:65 \"a pseudo-sacred commitment yields to decomposition, a hinge does not, and which one you have is discovered by trying.\"\nrests_on: docs/research/the-load-bearing-unsaid.md:27 \"The founder's intuition is correct at this level\"\nremark: Of seven sacred-vocabulary hits, six were reported speech and one was asserted, in an advocacy voice. The note reads this as Rawls's register norm. The pattern is also what hinge theory allows (mention is fine, use is nonsense). But sacred content appearing in advocacy and in an opening line shows it is sayable where the register permits, which a hinge is not. \"What this changes\" then proceeds on the stronger reading (\"category-mistaken\", \"wrong tool\"). The proposed discriminator, \"discovered by trying\", is the very attempt the contemplation effect says does the harm. The \"answer in short\" was not revised after the test.\nso: Say in the note which of the two the brake is built for, and test the hinge reading only by invitation (a person asked whether to try), not by running the pass on their value.\nsure: fairly. I re-read the results table, the counts and \"What this changes\". The note itself says the 3.48x ratio is not shown.\n\nLooked for and did not find: any code that consults sacredness outside weighing.py and a display line in agent_readable.py; any pipeline run of the Singer case; any lens or worldview implementation in deliberus/ or web/src; any test of dilemma answers against behaviour; any note that states which end of the claim the bridging feed reads; any input anywhere that collects the opposing side's rating of a reasoning.\n"}