{"path":"research/corpus-graph/readers/2026-10-11-pages-what-does-not-fit-ux-principles-and-design-guide-as-a-reader-returned-it.md","content":"# What does not fit on the page of UX principles and the design guide, as a reader returned it (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\nreading of the pages written for visitors, for what does not fit, described in\n[../reading-for-every-kind-of-insight.md](../reading-for-every-kind-of-insight.md) § 7b. It was given the brief in\n[../dissonance-reading-brief.md](../dissonance-reading-brief.md), everything the founder has settled in one file (135 items), and these 2 notes:\n\n- `docs/ux-principles.md`\n- `docs/design-guide.md`\n\nIt made 128 tool calls. Its report is below, unchanged. Nothing in it is kept or acted on until the\nquoted words have been checked by code and the passages opened; what was done with it is in § 7b of the note above.\n\n---\n\n2 of 2 notes read in full; about 190 checkable statements listed (numbers, dates, built/unbuilt claims, rules, colour and size tokens, file pointers).\n\n### F1\ntarget: docs/ux-principles.md:9\ntarget_words: \"the answer to rendering a dense graph is **slicing, not zooming**: one argument on\"\nolder: docs/research/game-feel-and-the-first-screen.md:162\nolder_words: \"a first version of this exists, and it took the founder's newer brief over this section's\"\nkind: overtaken\nwhy: The banner (2026-08-28) says the answer to a dense graph is slicing, one argument on screen at a time, not zooming. The built maps have three zoom steps and a source page opens on six sections at once, and the research note says the build took the founder's newer brief over its single-slice conclusion. The banner carries no mark of this, so a reader builds the single-slice view the founder has since passed over.\nstands: other, by a ruling of 2026-09-20\nstrength: medium\n\n### F2\ntarget: docs/ux-principles.md:18\ntarget_words: \"Nothing here prescribes a specific UI framework or visual design — these are the principles that any implementation must satisfy.\"\nolder: docs/ux-principles.md:418\nolder_words: \"A warm tinted marker, deliberately not the indigo of the rest of the chrome, whenever you are not.\"\nkind: counter-case\nwhy: The status line says the page prescribes no visual design and leaves any implementation free. P25, ruled 2026-09-22, prescribes a warm tinted marker deliberately not indigo, and ScopeSwitcher.svelte builds it that way. A builder who follows the status line and draws the compartment marker in the chrome's indigo breaks P25.\nstands: other, by a ruling of 2026-09-22\nstrength: medium\n\n### F3\ntarget: docs/ux-principles.md:28\ntarget_words: \"Every structured argumentation platform that died (20+ since 2007) had adequate technology and inadequate UX.\"\nolder: docs/research/kialo-deep-dive.md:203\nolder_words: \"Most argument mapping platforms died because they targeted \\\"people who want to have rational debates on the internet\\\"\"\nkind: tension\nwhy: Conviction 1 says the graveyard of 20+ platforms died of inadequate UX and \"proves\" rigor without delight is a dead end. The Kialo note gives a different cause for the same deaths: a tiny self-selecting audience with no distribution channel, and Kialo, equally analytical, survived by finding schools. A dead platform with good UX but no channel, or Kialo itself (steelmanned-critiques.md:82 counts it among the 20+), shows UX is not what separated them.\nstands: cannot tell, by nothing I found\nstrength: medium\n\n### F4\ntarget: docs/ux-principles.md:103\ntarget_words: \"testable rule for every gap-displaying surface, including the completeness oracle's `unsupported_value_premises`: **no gap displayed without a move offered.**\"\nolder: TODO.md:1758\nolder_words: \"it shows `?` marks and `+N` counts and offers nothing beside them.\"\nkind: rule-and-practice\nwhy: P4 states the rule for every gap-displaying surface: no gap without a move offered. The shipped claim and source maps show `?` marks and `+N` counts and offer no move beside them (MapCanvas.svelte readout has only \"Go here\"). The map breaks the rule on the page's most visible new surface, and P4 and P1 do not say so; only P24 says the maps offer no way to contribute.\nstands: target, by nothing I found\nstrength: medium\n\n### F5\ntarget: docs/ux-principles.md:123\ntarget_words: \"**Blue**: Claim stated, ready for evidence — all prerequisite claims are green\"\nolder: docs/ux-principles.md:384\nolder_words: \"now reads `UNSETTLED` in a neutral shade — never an approval word in confident blue.\"\nkind: word-two-senses\nwhy: P5 gives blue the meaning \"stated, not yet supported, you can contribute here\". P22, and display_band in qbaf.py, use blue for the positive supported band (strength 0.52 to 0.8), the colour of an approval word. A reader looking at a blue claim cannot tell \"needs evidence\" from \"supported\".\nstands: other, by the code\nstrength: medium\n\n### F6\ntarget: docs/ux-principles.md:141\ntarget_words: \"`format_context_for_synthesis` truncates *again* to 3 / 5 / 8 supporting and 2 / 3 / 5 challenging.\"\nolder: deliberus/synthesis_ledger.py:62\nolder_words: \"# Raised for curious and expert on 2026-08-13. Casual stays tight on purpose: it is the\"\nkind: overtaken\nwhy: P6 gives the display budgets as 3/5/8 supporting and 2/3/5 challenging and tells the reader to resist raising the limits. The code raised the curious and expert budgets the same day (3/8/16 supporting, 2/5/12 challenging). The page says the caps are \"now set separately\" but never gives the new numbers, so a reader takes 3/5/8 as current.\nstands: other, by the code\nstrength: medium\n\n### F7\ntarget: docs/ux-principles.md:264\ntarget_words: \"systems that do cognitive work FOR users rob them of the epistemic engagement that IS the point.\"\nolder: docs/research/conviction-and-critique.md:133\nolder_words: \"Part of the purpose of Deliberus is to help people by all means mentioned earlier to offload large parts of the work\"\nkind: overtaken\nwhy: P14's body holds that systems doing cognitive work for users rob them of the point. The founder's verbatim of 2026-08-17, re-made 2026-08-30, rejects that frame: offloading large parts of the work is Deliberus's purpose. The page proposes dropping the gloss only 270 lines later (line 531, \"proposed and unruled\"), so a reader of P14 meets the rejected frame unmarked.\nstands: other, by a ruling of 2026-08-17\nstrength: medium\n\n### F8\ntarget: docs/ux-principles.md:293\ntarget_words: \"Ask the user to rate the counter-argument's QUALITY (not agreement) — teaches the two-axis distinction\"\nolder: docs/ux-principles.md:62\nolder_words: \"Single-axis human voting (agree/disagree only). The QBAF badge IS the quality signal — computed from CQ evidence, not subjective votes.\"\nkind: overtaken\nwhy: P16's onboarding hook asks a new user to rate an argument's quality, and calls that the first contribution. P2 (Option B, 2026-03-31) and anti-pattern 2 hold that humans vote only agree/disagree and quality is computed from answered critical questions. A user cannot be asked to rate quality in a system that has no quality vote to take.\nstands: other, by a ruling of 2026-03-31\nstrength: strong\n\n### F9\ntarget: docs/ux-principles.md:318\ntarget_words: \"but the graph is no longer mute about whether a concept is settling or splitting\"\nolder: docs/research/core-periphery-and-the-concept-layer.md:49\nolder_words: \"state is measuring the pass's template more than the population.\"\nkind: overtaken\nwhy: The Apr 3 note says lifecycle states (bifurcated, fragmented, locally stable) now tell the user whether a term is settling or splitting. The 2026-09-06 measurement found 49 of 90 live concepts read \"bifurcated\" because the detector mints two senses per contested term, so the state reads back the pass's template. The state does not report how people use the word.\nstands: other, by a measurement of 2026-09-06\nstrength: strong\n\n### F10\ntarget: docs/ux-principles.md:348\ntarget_words: \"because the one signal that would redirect the whole build is whether people point at claims\"\nolder: docs/research/structure-versus-scale.md:204\nolder_words: \"if people do not point at claims across the pre-registered modality set, **or if outcomes do not differ when they do**\"\nkind: overtaken\nwhy: P20 makes non-pointing in the friends round the one signal that would redirect the whole build. The founder ruled 2026-08-19 that a session-one null redirects the modality and never puts the substrate on trial (TODO.md:2262). The signal was rewritten 2026-08-23 as pointing across a pre-registered modality set or no outcome difference, with verdict \"did not pay under the modalities tried\". A first session where nobody points would, by P20, redirect the whole build.\nstands: other, by a ruling of 2026-08-19\nstrength: medium\n\n### F11\ntarget: docs/ux-principles.md:384\ntarget_words: \"The band was calibrated by measurement, not feel: one decisively-answered question yields 0.524 and must remain a visible lean.\"\nolder: docs/research/session26-open-rulings.md:363\nolder_words: \"The neutral band was calibrated on \\\"one decisively-answered edge yields 0.524\\\", which held only for a clamp no answer can produce\"\nkind: overtaken\nwhy: P22 says the UNSETTLED band was calibrated on the figure that one decisively-answered question yields 0.524. Measured 2026-09-27 (ledger Q27, and the corrected comment in qbaf.py), that figure holds only for a state no answer can produce. A one-question edge fully answered reaches 0.504 and stays inside the band permanently, and one answer moves a lone-edge claim by less than 0.0005. The page carries no mark of the correction.\nstands: other, by a measurement of 2026-09-27\nstrength: strong\n\n### F12\ntarget: docs/ux-principles.md:512\ntarget_words: \"**Proposal on the table, unruled**: headline **\\\"Confirming is not checking.\\\"** — self-decoding,\"\nolder: docs/ux-principles.md:444\nolder_words: \"proposal on the table** — *\\\"Confirming is not checking\\\"* was withdrawn 2026-08-29 for failing the\"\nkind: overtaken\nwhy: The naming note presents \"Confirming is not checking\" as the proposal on the table, unruled. Anti-pattern 9's header, and ledger row J10, say it was withdrawn 2026-08-29 for failing the stranger test and that no proposal is on the table. The note carries no mark of the withdrawal, so a reader who stops at the note thinks a live proposal awaits a ruling.\nstands: other, by a ruling of 2026-08-29\nstrength: strong\n\n### F13\ntarget: docs/design-guide.md:15\ntarget_words: \"**Page width**: `max-width: 820px` centered. All pages share this constraint.\"\nolder: web/src/routes/compartments/+page.svelte:220\nolder_words: \"main { max-width: 900px; margin: 0 auto; padding: 1rem 1.5rem 5rem; }\"\nkind: number-or-date\nwhy: The guide says every page is capped at 820px. The code gives /concepts 1040px, /concept/[term] 980px, and compartments, sameness and part-review 900px (step-review 860px). A page built to the guide's width would not match those pages.\nstands: other, by the code\nstrength: medium\n\n### F14\ntarget: docs/design-guide.md:17\ntarget_words: \"View Transitions API — blur-out (200ms) on old, fade-in (300ms) on new. Smooth cross-page navigation.\"\nolder: web/src/app.css:98\nolder_words: \"/* ── Page transitions (View Transitions API) ── */\"\nkind: number-or-date\nwhy: The guide describes a 200ms blur-out and a 300ms fade-in. The rules under that comment in app.css (lines 99-104) are a plain 120ms fade-out and a 180ms fade-in with no blur. Commit 68db7bb (\"Remove page transition blur\", 2026-03-31) removed the blur, and the guide was never updated.\nstands: other, by the code\nstrength: medium\n\n### F15\ntarget: docs/design-guide.md:34\ntarget_words: \"| `--dl-card` | `#1d2535` | Card/block solid background |\"\nolder: web/src/app.css:12\nolder_words: \"--dl-card: rgba(29, 37, 53, 0.7); /* Card/block bg — 70% opacity lets dark bg breathe through */\"\nkind: state\nwhy: The guide says the card token is the solid colour #1d2535. In app.css it is the same colour at 70% opacity, deliberately so the background shows through. Every .obsidian card therefore renders translucent, not solid. A reader copying the guide's value gets a different surface.\nstands: other, by the code\nstrength: medium\n\n### F16\ntarget: docs/design-guide.md:212\ntarget_words: \"Concept keywords: `Attunement · Lenses · Bridging · Depth · Convergence · Vision` (lavender, 1.25rem, linked)\"\nolder: web/src/lib/components/PublicHome.svelte:710\nolder_words: \"Founder, 2026-09-19: \\\"Move 'the full picture' and the attunement/lenses/bridging etc\"\nkind: overtaken\nwhy: The guide's landing layout puts the input section second, then the Full Picture banner, then six keywords. The landing now opens on the example map and constellation, and the founder moved the banner and keywords above the input on 2026-09-19. The input is retitled \"Analyze your own thinking\", and there are seven keywords including Frontier (architecture-reference.md:300 also says seven). The whole numbered layout is out of date.\nstands: other, by a ruling of 2026-09-19\nstrength: strong\n\n### F17\ntarget: docs/design-guide.md:282\ntarget_words: \"Amber = qualifies/evidence. Purple = reframes/decompose. Blue = empirical/decomposes.\"\nolder: docs/design-guide.md:175\nolder_words: \"| Decompose CTA | `rgba(236, 72, 153, 0.2)` | Pink glow |\"\nkind: rule-and-practice\nwhy: Key principle 4 says each meaning has one consistent colour and gives purple to decompose. The guide's own glow table and tokens give the Decompose CTA pink, and in the code the decompose invitation (SorryMarker) is pink. Only reframes is purple, and the DECOMPOSES_INTO relation is blue. A designer following principle 4 would colour a decompose invitation purple.\nstands: other, by the code\nstrength: medium\n\n### F18\ntarget: docs/design-guide.md:284\ntarget_words: \"The D3 graph on claim pages is supplementary — the primary experience is card-based text.\"\nolder: docs/design-guide.md:263\nolder_words: \"D3 force-directed ego-graph. No longer mounted on any page (replaced 2026-09-20)\"\nkind: state\nwhy: Key principle 5 says a D3 graph on claim pages supplements a card-and-text primary experience. The same guide's component table says that graph is mounted on no page, and the code confirms it. Claim and source pages open on the computed ClaimMap, and the founder asked on 2026-09-20 that the map, not the lists, lead.\nstands: other, by the code\nstrength: strong\n\n### F19\ntarget: docs/design-guide.md:300\ntarget_words: \"[docs/ux-principles.md](ux-principles.md) — 23 UX principles + anti-patterns + ground-level input flow\"\nolder: docs/ux-principles.md:402\nolder_words: \"### P25 (RULED 2026-09-22, founder: *\\\"agreed\\\"*): A Reader Must Always Know Which Compartment They Are In\"\nkind: number-or-date\nwhy: The guide counts 23 UX principles. The page holds P1 to P25 (P24 a candidate, P25 ruled 2026-09-22), so 24 ruled and one candidate. The page's own research table also stops at P23, so P24 and P25 are missing from that map.\nstands: other, by the later date\nstrength: medium\n\nNoticed: (1) docs/ux-principles.md:213 says \"Three-pass pipeline: holistic scout → focused extraction → cross-structure analysis\", while line 342 and docs/architecture-reference.md:23 say eight-pass. That is a real number clash, but line 213 has only 7 words, so I could not quote it as a block. (2) P20 (line 348), P21 (line 364) and P23 (line 398) all call pointing at claims \"the one signal that would redirect the whole build\"; F10 covers P20, and P23 at least points to the modality caveat. (3) P3 line 72 and anti-pattern 4 say the extracted-structure confirmation step is non-optional, and the diagram at line 231 shows [EDIT][LOOKS RIGHT][DISCARD]. I found no such step in the code: the extraction page has no confirm, publish or discard control. The 2026-08-31 \"no ratify act\" end-state and the retired `confirmed` field (Q32) leave only the author's consent channel. (4) Anti-pattern 7 (line 441), \"Their evaluations produce the quality scores\", sits against Option B, and P8's \"Your quality rating\" does too. (5) design-guide.md:306 points to epistemic-gamification.md as \"two-axis voting\" with no mark that Option B decided against it; I judged this a summary, not a clash. (6) design-guide.md:9 says Manrope weights 400-800, but app.html loads only 400-700 while the logo and h1 ask for 800. (7) P17's \"60% quality threshold\" and \"Bayesian surprise ranking\" have no counterpart in deliberus/feed.py (the feed has 8 modes, as the guide says); the page frames them as principles. (8) Design-guide key principle 6 says claim text \"anywhere\" must link, while P23 and MapCanvas.svelte leave the page's own focal claim unlinked. (9) ux-principles.md:20 says CLAUDE.md carries \"nine hard directives\", but § UX/Product Directives now lists 13 bullets plus the separate claim-is-a-link directive. (10) ScopeSwitcher.svelte shows a faint \"Deliberus\" control to members while they are in the commons, which sits slightly against P25's \"No badge when you are in the commons\".\n"}