{"path":"research/the-feed-reconsidered.md","content":"# The feed, read again after seven months\n\n**Date**: 2026-10-22 · **Status**: proposals, unruled; ledger Arc AW · **Asked for by the founder**:\n*\"Anything from the live feeds / feed system/assumptions that needs reconsideration in the light of all\nthese months of development, please read up and think that through deeply and add ledger rows about it.\"*\nAnd, minutes later: *\"Make sure all assumptions and ideas are up to date with recent developments and\ndecisions and ideas and workstreams.\"*\n\n**His framing, the same evening**, on being told the feed exists: *\"A lot has been said about what this\ncould be good for, and it requires careful thought, but it's a feature that we should have. And it's for\nsure connected to lenses/bridging/attunement etc.\"* And on voting, an hour earlier: *\"I'm very suspicious\nabout voting, it feels like a copout, almost encourages people to stop thinking. And if it concerns\nsomething where people can and should think deeply, then that's counterproductive. People often use it\nto avoid dealing with complexity. I'm not like that. And I don't want to encourage it.\"*\n\n**Builds on, does not restate**: [feed-algorithm-design.md](feed-algorithm-design.md) (the March research\nand its eight principles) · [the-ratification-record-and-the-triage-feed.md](the-ratification-record-and-the-triage-feed.md)\n(the triage feed, the demotion of bare judgments) · [what-human-judgment-is-for.md](what-human-judgment-is-for.md)\n(the four human acts, the additivity principle) · [machine-work-as-a-standing-property.md](machine-work-as-a-standing-property.md)\n(standing passes and their record) · [what-if-and-lenses.md](what-if-and-lenses.md) (one door for\nsuppositions, lenses and policies) · [../bridging.md](../bridging.md).\n\n---\n\n## 1. What runs today, measured on deliberus.com the evening of 2026-10-22\n\nThe feed was built on 2026-03-31 (`deliberus/feed.py`, the page `web/src/routes/feed/+page.svelte`, linked\nfrom the landing page as *Browse the Feed*). It is one list of claims, the same for every visitor, in eight\nsort orders. Each mode was read over the public API with a limit of 100.\n\n| Mode | What it ranks by | What it returned | What it suggests doing |\n|---|---|---|---|\n| needs help | count of stored critical questions with no supporting evidence on the yes answer, plus a contested term without a chosen sense, plus how bundled a claim looks | 100 items; the top claim, a minimum-wage criterion, has **86** stored open questions, the next 64 | answer a question, clarify, decompose |\n| contested | none: claims that use a contested concept, **in alphabetical order of the term**, every score 1 | 99 claims over **15** concepts | clarify |\n| bridging | closeness of the agree/disagree split to 50/50, times the average stored strength of the links **leaving** the claim | **1** item, from one agree and one disagree | decompose |\n| divisive | closeness of the agree/disagree split to 50/50 | **1** item, the same two votes | decompose |\n| needs votes | fewest agree/disagree votes | 100 items, every one at **0** votes | **vote** |\n| recent | the claim id **as text**, descending | a hand-built synthetic map's claims first (`claim_thermo_t8`, `t7`, … `t11` after `t2`) | **vote** |\n| strongest | stored link strength, high first | scores 1.0 and 0.95, labelled *\"well-scrutinized\"* | inspect |\n| weakest | stored link strength, low first | every score **0.5**, labelled *\"needs scrutiny\"* | add evidence |\n\nFour more facts. The API's own description names five modes, not eight. The page's empty state tells a\nvisitor to *\"Extract some content first!\"*. Every mode returned an error in production for about four months\nuntil 13 August (dogfood run 4), behind tests that mock the database, and the tests still do: of the feed's\ntests only one checks a real query's syntax (`tests/test_feed.py`). And the feed's ranking has not changed\nsince 2026-04-04; the later commits added a visibility filter and fixes made for other work.\n\n## 2. What the feed predates\n\nEach of these was decided or built after the feed, and each bears on an assumption it encodes.\n\n| Date | What changed | Where |\n|---|---|---|\n| 2026-03-31 | Humans vote on stance only; quality is computed or argued, never voted (the Option B ruling, the same day as the feed) | `../ux-principles.md` P2, anti-pattern 2 |\n| 2026-08-17 | The strength badge reads the reasons that **arrive** at a claim; the feed still reads those that leave it | `TODO.md` |\n| 2026-08-27 | Contributions are added, never overwritten; the four human acts (*nobody here has said X*, *this region is framed wrong*, *I do not accept that as my position*, impact testimony); **never ask a mind to audit its own frame** (canon) | `what-human-judgment-is-for.md` §§ 3, 4c, 4d |\n| 2026-08-31 | The triage feed as the primary human surface; **human force enters the graph only through contributions that argue for themselves, and bare judgments are telemetry** (agreed); the end-state with no verdict acts (blessed) | `the-ratification-record-and-the-triage-feed.md` §§ 3, 3b, 4b |\n| 2026-09-10 | The reframe act is one of the central ways humans contribute, and the product invites it (ruled) | `what-human-judgment-is-for.md` § Act two |\n| 2026-09-21 | Critical questions are latent, written out only when someone touches them; no surface emits a question without both ends of its link; the map view is live | `latent-scaffolding-and-the-type-token-split.md` § 4b |\n| 2026-09-28 | A link's strength is a reading, never a stored value, and maps and feeds are ordered by the reading (Q31); relevance is a factor on the link, argued, never voted (Q33) | ledger |\n| 2026-09-28 | Critical-question answers are weighed, never counted; counting survives, labelled, as *coverage* (Q3, ruled in direction) | ledger |\n| 2026-09-29 | Review need not keep pace with a proven machine pass; an error rate belongs to the task as written | `CLAUDE.md` § machine work |\n| 2026-10-06 | *Proven* means proven to a stated bound and scope: the pass and its version, the model, the kind of claim (T8) | ledger |\n| 2026-10-10 | A reader of the corpus found that ranking by measured belief change is a persuasion optimiser's target | `corpus-graph/readers/2026-10-10-early-strategy-and-feed-notes-as-a-reader-returned-it.md` F3 |\n| 2026-10-15 | A frame report is filed at once and shown loudly only after readers of other positions say it bears (AK2, open) | ledger |\n| 2026-10-17 | Agreement is welcomed as an outcome of clarity and never optimised as a measure (AL7) | ledger |\n| 2026-10-19/20 | Every machine pass becomes standing work with a record of what it has read (R8, ruled with a brake; the registry built); a framing question is its own node (AP1, ruled) | `machine-work-as-a-standing-property.md` § 7 |\n| 2026-10-22 | One door for a reader's suppositions, a holder's lens and a policy's rules (Arc AU, open); signposts and the readiness gate (Arc AV) | `what-if-and-lenses.md`, `signposts-for-the-whole-project.md` |\n\n## 3. The March principles, read against that\n\nThe research note's eight principles were offered as *\"principles, not decisions\"*. Read against § 2:\n\n| Principle (March) | Now | Why |\n|---|---|---|\n| 1. Optimise for belief updates, not engagement | holds against engagement; the target changes | a measured belief change is what a persuader maximises (§ 4, AW8) |\n| 2. Coverage over relevance | holds, for the reading half | the strongest reason from each position, AW7 |\n| 3. Route controversy to proven contributors | changes | routing by a score of the person conflicts with *record facts, never a reputation score* and misses what positions see (AW9) |\n| 4. Evidence gaps are contribution invitations | holds and widens | the work half, AW4 and AW5 |\n| 5. Make rankings auditable | holds, sharpened | P10: a reason line says only what holds for the item it sits on; four modes print readouts that do not hold (§ 1) |\n| 6. Track cumulative exposure | holds, for the reading half, kept private to the reader | AW7 |\n| 7. The organic redraw is a dashboard | taken up elsewhere | the map view (live 2026-09-21) is that dashboard; the feed need not be one |\n| 8. Measured belief change as the strongest signal | reversed | AW8 |\n\n## 4. The proposals (ledger Arc AW)\n\nEach section names a ledger row; the row is the decision, this is the reasoning.\n\n### 4a. Two halves, work and reading (AW1)\n\n*RULED 2026-10-22: \"Blessed, all of it.\" Unbuilt.*\n\nToday's eight modes answer three different questions for three different people: *where can I help?*\n(needs help, contested, weakest), *what is there to read?* (recent, strongest), and *what should I vote\non?* (needs votes, divisive, partly bridging). Since August the record has a better answer to the first,\nthe triage feed, and since today an answer to a reader's question that the feed never had, the one door of\nArc AU. Browsing the whole graph has its own surface, the map view.\n\nSo the proposal is a feed with **two halves**: a **work half** that brings a person the open places only a\nperson can fill, and a **reading half** that orders the graph through the reader's own stances and chosen\nlenses. The third question gets no surface (AW2).\n\n*Considered and rejected:* keeping the eight modes and repairing each (three run on stance tallies the\n2026-08-31 demotion makes telemetry, and four print readouts that do not hold); a single triage feed\n(drops the reader's side he tied to lenses, bridging and attunement); folding the feed into the map view\n(a map shows one region; a feed's job is to find the region).\n\n### 4b. The feed asks for no votes (AW2)\n\nTwo modes end in the action *Vote*, and one exists to collect votes. The agreed principle of 2026-08-31\nalready says the triage feed *\"routes humans toward the act class the additivity principle protects and\naway from tally-shaped acts\"*; the live feed does the opposite on two of its eight modes. A stance vote stays\nwhere it is, on the claim page, as the one judgment each person is sole authority on; the feed simply never\nasks for one. This is AL7 (ruled 2026-10-17: agreement welcomed as an outcome, never optimised as a\nmeasure) applied to the front door. What it asks a newcomer instead is the low-rung act the corpus already names: *\"You know this\nargument. What's missing?\"* (`what-human-judgment-is-for.md` § Act one), which means something at n = 1.\n\n*Cost, owned:* stance data stays thin. Measured today, one claim in the live graph has two or more stance\nvotes, one each way. The instruments that read stances (the discursive-dilemma reading, a reader's own lens)\nthen wait for votes people give unprompted, which is also the only kind the signposts count (AV1).\n\n### 4c. A tally steers no one's attention (AW3)\n\nA feed position is attention, and attention is what a brigade wants. *Divisive* ranks by closeness to an\neven split, which two accounts set for any claim; that is the classic Sybil problem (Douceur 2002) placed\nat the front door. The proposal: **no mode orders items by a raw count of stances.** *Divisive* ends, as AL7 already implies for any mode that measures agreement.\n*Bridging* survives only in the form the literature built to resist numbers: acceptance of the same reason\nby people who disagreed elsewhere, as in Community Notes, where a note shows only after raters who usually\ndisagree both rate it helpful (Wojcik et al. 2022), with a floor on how many from each side. It reads the\nreasons arriving at a claim, the reading of Q31 rather than the stored number, and the claim's type, which\nfixes the three faults a reader found on 2026-10-11 (`TODO.md`, filed with Q31's build as his to rule).\n\n*Counter-consideration:* even cross-position agreement is a tally, and positions are inferred from the same\nvotes; a determined group can split itself to look like two sides. And the corpus's own counter-case: an\nargument that is well built and still rejected hardens a person for whom the conclusion is sacred instead of\nmoving them (`does-descending-change-the-descender.md`), so bridging is an offer to a reader, never a push.\n\n### 4d. Needs help ranks by what an answer would move (AW4)\n\n*Needs help* counts stored open questions. Two later facts break that count. Since 2026-09-21 most links'\nquestions are latent and are never stored until touched, so the count sees only questions written out\nbefore then, and the top of today's list is a hub claim with 86 of them. And a count measures size, not\nneed: one question whose answer would flip a conclusion outranks eighty that would move nothing.\n\nThe quantity the corpus already computes is the right one: how far a claim's reading moves when one\nquestion is answered one way or the other, the hinge (`deliberus/hinge.py`, already used to order a\nclaim's own questions in `deliberus/question_ordering.py`). That is the\nvalue of information in the decision-theory sense (Howard 1966): ask first where an answer changes the\nmost. So *needs help* ranks potentials and stored questions alike by the hinge, summed over the claims that\nrest on them (the fan-out hinge proposed in `TODO.md`), and a contested term by the divergence it causes\ndownstream rather than by its spelling. The count of open questions stays visible beside it, labelled\nas coverage, which is how Q3 (ruled in direction 2026-09-28) keeps a count without letting it rank.\n\n*Counter:* the hinge is computed per root and costs a strength computation per candidate; the count is\ncheap. The ruling R8 brake applies to any re-sweep this needs.\n\n### 4e. The work half reads the passes' own doubts (AW5)\n\nThe triage-feed note listed its supply in August as *\"an uncertainty ordering whose tail has had no\nconsumer\"*: cross-family disagreement, low classifier confidence, the gray band, `does_not_fit`, stale\nclaims, unsupported value premises. Since 2026-10-20 those tails have a home: every pass is registered and\nevery reading is recorded by pass, item and version (`deliberus/standing_work.py`). So the work half reads\nthat record: items where a pass abstained, where two model families disagreed, where a reading is below the\nbar a pass was calibrated to, and candidates for the two human-reserved classes (an absence, a frame), plus\na share drawn at random, because items picked by the machine's own doubts show only the faults those doubts\nalready know (Y14). It never shows what a pass proven to a stated bound on that kind of item already holds\n(T8's sense of proven). Each item is one plain\nsentence asking one thing, the founder's own specification for the triage feed (*\"incredibly clearly\narticulated yet short 1-sentence prompts\"*), and none of today's labels (*Answer CQ*, *QBAF 80%*, *Decompose*).\n\nThis makes R13 (housekeeping and the triage feed are one design) concrete, and it is the place where the\nreadiness gate meets the feed: an item a newcomer cannot read is an item nobody answers.\n\n### 4f. The feed carries more than claims (AW6)\n\nThe feed returns claims. Since March the graph has grown other things that need a person: a link whose\nrelevance must be argued (Q33), a framing question (AP1), a frame report waiting for readers of other\npositions (AK2), a reason line as a unit (Q38). Each needs its context to ask anything, as a critical\nquestion does: both ends of a link, the map a frame report is about. The rule of 2026-09-21 (no surface\nemits a question without both ends) extends to every item kind. One fault of this kind is already live:\nthe strength-ordered modes match every link type, so a link that argues a requirement or a relevance can\nsurface as if it were an argument (`TODO.md`).\n\n### 4g. The reading half is the one door seen from your stances (AW7)\n\nThis is the half he tied to lenses, bridging and attunement. For a reader who has stated stances, the\nreading half shows, in order: the claims their own position rests on most (the hinge over their stances,\nArc AU's door used for one person); the strongest reasons against their stances that they have not opened\n(the March note's coverage principle), meaning reasons people of other positions have written in the graph;\nand where people of other positions accept a reason they reject. All three are read from links already in\nthe graph at read time, and nothing is written. No model is asked to search the reader's own frame for what\nit lacks, which *never ask a mind to audit its own frame* forbids.\nAU12 already proposes what comes first in the what-if view, the claims both high on the hinge and split\nacross lenses; the reading half is that ordering offered as a feed.\n\nTwo guards. It is offered, never imposed: the reader turns on a lens, and the feed does not push\ncounter-arguments as a correction of their exposure (the March note's allostatic regulator), which is the\nconsent-and-timing reading of the open sacredness question. And a reader's stance history stays theirs.\n\n### 4h. Belief change is a reading, never a rank (AW8)\n\nThe March note made *arguments that demonstrably caused belief updates in prior disbelievers* the highest\nranking signal. The July red team (`convergence-wager-red-team.md`) showed machine persuasion already\nout-persuading people, and a persuasion optimiser maximises exactly the surface properties a quality score\nreads; a measured change of mind is that optimiser's target. Ranking by it would reward whoever floods the\ngraph with persuasive text. So a before-and-after reading (the revote, the descender's position slider) is\nkept as audited telemetry about the platform, never as a weight on what others see, which is AL7's rule\nfor agreement extended to a change of mind. This reverses\nPrinciple 8 and qualifies anti-pattern 3 (*\"quality of belief updating is\"* a success metric): it is a\nmeasure of the platform, not of an argument.\n\n### 4i. Work goes by position, never by a score of the person (AW9)\n\nMarch's Principle 3 routes controversy to users who have shown they contribute well, which requires a\nquality score of people. The record since points elsewhere: *never ask a mind to audit its own frame*\nmeans a frame-lock candidate is best seen by someone positioned outside it; AK2 asks corroboration of a\nframe report from readers of other positions; impact testimony asks those in the position. So the work half\nroutes by position and by what a person has said they know, and keeps no quality score of anyone, the\nconservative design's *record facts, never a reputation score* (`cheap-to-add-slow-to-matter.md`,\nproposed 2026-09-03), and E7 (open), which finds that a score of a contributor's rationality measures noise.\n\n*Counter:* without a track record a group can flood the work half with answers; positional verification\nfails for a lone position (`cheap-to-add-slow-to-matter.md` § 8). Both are the open sybil question, which no\nlayer defends yet.\n\n## 5. Repairs that need no ruling (filed in `TODO.md`)\n\nThese are faults against rules already made, not decisions: *recent* sorts by the id's text and should sort\nby time; *contested* is alphabetical and should rank; *strongest* and *weakest* print *\"well-scrutinized\"*\nand *\"needs scrutiny\"* over a stored number Q31 retired, which P10 forbids until the build lands; the API's\ndescription names five of eight modes; the empty state speaks to a builder, not a visitor; and the feed has\nno test that runs its queries on a real graph, the gap that hid four months of errors.\n\n## 6. What stays open\n\nWhether the reading half needs stated stances at all, or can start from a lens a reader picks without\nvoting; how a frame report's queue and the work half meet; and what the feed shows someone who has not said\nanything yet, which is every newcomer and the readiness gate's own question.\n"}