{"path":"research/folding-joining-and-zoom.md","content":"# Two folds and the zoom: what a joined card and a folded route may say, and how a map zooms\n\n**Date:** 2026-10-23, answered by him 2026-10-24 (§ 8, which supersedes § 3 and revises § 7).\n**Standing:** his rulings, quoted in § 1 and § 8, and Claude's theory for his agreement before any\nmockup is drawn (his order: *\"Make a mockup or three for how this could look.\nBut first let's make sure we agree on all this in theory.\"*). Ledger AX8 (ruled) and AX9 to AX12\n(open). Built: nothing yet. Earlier homes: `folded-routes-and-shared-premises.md` § 5 and § 9,\n`specs/map-view/design.md` § 3a, `graph-visualization.md` § 3 (semantic zoom).\n\n## 0. In short\n\n1. **A join is a sentence read off several claims, never stored.** It is right when it says what the\n   claims say together and nothing more: it entails each, and they together entail it (§ 2).\n2. **Ruled 2026-10-24: a card may join any claims that fit together as conjuncts, from any source**\n   (§ 8). ⚠ § 3's proposal, joining only what the strength rules read together, is withdrawn. Each\n   member keeps its own strength on the card, so the card needs no number of its own.\n3. **A folded route shows where it is weakest**: a band tapered at its weakest link, its weakest middle\n   claim marked, its unwritten and contested links counted (§ 4).\n4. **Proposed: one zoom moves both folds, and five levels** from the grounds a claim rests on to the\n   steps written under its links (§ 5).\n5. **Proposed: the zoom sets every fold on the map at once, and a tap opens one fold past it**, marked\n   as opened, so two arguments are never compared at different depths without the map saying so (§ 6).\n6. **The rehoming starts with 14 cut wholes; the 35 uncut ones are sorted first** (his order, § 8):\n   their misfiled reasons become reasons, then each is cut to the floor and rehomed.\n\n## 1. His words, 2026-10-23\n\nAnswering a report that the move of each link to its new part is unbuilt: *\"Do it, for everything in\nthe graph. Test it bit by bit so it's as safe as possible. Don't want a mess.\"*\n\nOn joining parts for display: *\"This is the way I wanna do it. Make it happen. It should not primarily\n(maybe later, maybe never) visualize the record/source's conjuncted claim, rather it should be able to\njoin any claims that fit linguistically as conjuncts, if that make sense? Not sure I'm using the\nconjuctions words technically-correct here but...\"*\n\nOn folding along a chain: *\"Yes. And it should also show the weakest links in a chain, like alluded to\nin the walkthrough about folding.\"* On folding sideways: *\"Yes\"*.\n\nAnd the open question: *\"We should consider what the map could look like at different zoom levels. And\nwhether folding - in any directionality - should be possible per argument/reason in the map view or\nmerely for the whole map at once, so the leaps/chain for all are synced.\"*\n\nHis earlier record on zoom, gathered for the walkthrough of the same day: *levels of zoom* (January\n2012), *drill down as far as you want* with low response time (2017), *like a video game … drill\ndown/sideways endlessly* (20 September 2026).\n\n## 2. What a join is\n\nHis words are right. Each claim is a **conjunct**, the joined sentence is their **conjunction**, and\nthe operation that turns *PTS has duties under the AI Act* and *IMY has duties under the AI Act* into\n*PTS and IMY have duties under the AI Act* is what grammar calls **coordination**, or, in the older\ngenerative name, **conjunction reduction**: the shared words are said once and the differing ones\nlisted.\n\n**The check is equivalence with the conjunction.** The joined sentence entails each member, and the\nmembers together entail it. The two directions catch different faults:\n\n- *Adds something*: a reduced sentence can read collectively where the members were each about one\n  thing. *Five agencies share the supervision* says more than five agencies each having duties.\n- *Drops something*: a member's qualifier lost in the reduction (*inom befintlig ram* on one member\n  only), or a member's polarity (*Sweden is not behind the call* cannot share a predicate with *Denmark\n  is behind the call*).\n\n**Two ways to make one.** Code joins when the members are word for word the same except in one place\n(a slot), listing the differing words with the language's own conjunction and list commas. Anything\nelse goes to a model, and a second call checks both directions, since a model must not check its own\njoin (the same reason the splitter's coverage check is a separate call, `decompose_claim.py`). A join\nthat fails the check is not shown; the members show as they are.\n\n**Never stored.** A joined sentence is a reading, like a headline (AL10, a claim's text is written\nonce). It is computed on read and may be cached by its members' ids and texts. **Not the record's\ntext** (his correction): the record keeps the author's words for a fresh cut to read; the map joins\nwhatever is on screen.\n\n## 3. Which claims a card may join (proposed 2026-10-23, withdrawn 2026-10-24: § 8)\n\nA card has one fill (its strength) and one band to its neighbour. So a joined card is honest only when\nits members sit in the same place (same neighbour, same kind of link, same direction) **and** one\nnumber is true of them together. The strength rules decide where that holds:\n\n| Members | Their strength together | Join? |\n|---|---|---|\n| Parts of one cut whole | the weakest part (B10, the parts rule) | yes, fill = weakest part |\n| Premises of one argument | the weakest premise (Q38) | yes: this is the argument card the bundle fix waits for |\n| Items no strength flows through (*qualifies*) | the sentence's own: the weakest member | yes |\n| Separate reasons for one claim | the best until their independence is read, then independent ones add (Q38, Q46) | **no**: a stack, strongest on top, *3 reasons*, opened on tap |\n| A support and an attack | opposite signs | never |\n\n**Why separate reasons stack.** *Denmark is behind the call and Iceland is behind the call* reads well\njoined. Whether it should be joined depends on whether the two are one argument (*our neighbours do\nit*, one rule applied to its cases) or two independent reasons. As one argument, the weakest governs\nand the joined card is right. As two independent reasons, their support adds, and a card reading *A\nand B*, filled at the weaker, would say less than the graph holds and suggest each needs the other.\n**The join follows the grouping into arguments; it never makes it.**\n\nAcross authors: allowed under the same rules, each member keeping its author mark on the card.\n\n*Added 2026-10-23, late:* reasons that share a likely rival (ledger Q42, ruled the same night) are a fourth row: neither joined nor\nstacked, they sit as cases under their middle claim and fold into its card at the arguments zoom, its one move the open\nrival. `where-a-shared-doubt-sits.md` § 4.\n\n## 4. A folded route\n\nA route runs from the focused claim to a claim several links away. Folded, it is one band, and it shows:\n\n- **Its weakest link**: the band tapers to its narrowest at the link with the lowest relevance.\n- **Its weakest middle claim**, marked separately: a strong link from a weak claim is a weak step too.\n- **How many links it folds, and how many have nothing written under them or are contested** (an attack\n  on a middle claim or on a link's relevance claim).\n- **What reaches the end**: the strength the graph already carries along the route, link by link, each\n  link carrying its relevance given its middle claim. Computed on read, never stored, never a link.\n  (This qualifies AX4's reason as written, *support does not carry along a chain*: in Deliberus each\n  link states its relevance, which is the screening made explicit; `folded-routes-and-shared-premises.md`\n  § 8, item 2.)\n- **A split where something attaches mid-route**: a side attack or premise opens the band there rather\n  than vanishing inside it (§ 5d there).\n\n## 5. Zoom levels\n\nSemantic zoom changes what a level shows, not its size, and what is on screen at one level stays when\nzooming in, opened in place (`graph-visualization.md` § 3, the persistence condition). Proposed: one\nzoom moves both folds, since *how much detail* is one question for a reader.\n\n| Level | Sideways | Along a chain |\n|---|---|---|\n| **Grounds** (farthest out) | arguments as one card each | each route folded to the far claims it rests on (evidence, testimony, horizons) |\n| **Arguments** | one card per argument and per cut whole; separate reasons stacked | routes of two links or more folded |\n| **Reasons** (today's default) | each reason its own card; list items joined | folded only past the third ring |\n| **Parts** | list items opened; nothing joined | as above |\n| **Steps** | as above | the steps written under links shown between rings |\n\nThe *grounds* level answers *what does this finally rest on?* with the folded bands showing the length\nand weak points of the way there.\n\nTwo points from the first outside reader of 4 October bear on this, logged at his request on 2026-10-23\nand not ruled ([how-a-map-is-cut-and-what-it-shows.md](how-a-map-is-cut-and-what-it-shows.md),\n*A first outside reaction*). Their birdwatching image, shapes and movements first and feathers only\nonce the species is known, asks that a stranger meet the farthest-out level first and zoom in from\nthere. And their later suggestion adds a second axis the table does not have: time, the same debate\nseen by day, week, month or year as topics come and go. His answer then names the cost this table\nalready carries, that a zoomed-out view risks coming out *\"tillplattat och obalanserat\"*.\n\n## 6. Every fold at once, or one at a time\n\nProposed: **both, in that order.** The zoom level sets every fold on the map, so all routes and joins\nare folded alike; a tap opens one fold past the level, the map marks it as opened beyond the rest, and\none control returns all to the level.\n\nWhy the level sets all by default: two arguments shown at different depths are compared unfairly. The\nopened one shows every weakness, the folded one keeps them in a band, so the shallower one looks\ncleaner by the view alone. The tapered band and the marked weak claim reduce this, and the mark on an\nunevenly opened map names what remains.\n\nConsidered: folds opened only one at a time (rejected: no overview, and unfair comparisons are the\ndefault rather than the exception); one setting for the whole map only (rejected: following one chain\nthen opens every chain, which is the hairball).\n\n## 7. The rehoming, scoped (AL15's second sentence)\n\nMeasured on the live graph 2026-10-23 (read-only):\n\n- **78 claims have live part links; 14 of them were cut by the splitter.** Of the rest (some have parts of two kinds), 29 are relevance\n  claims holding a machine's written steps (not cuts), and 27 have parts from extraction and 9 a\n  person's parts, which are mostly reasons filed as parts (59 % of correctly stored part links were not\n  parts, auto-connect-upgrade § 2c; 24 of 39 a person's, checks-on-machines § 11). Made records, those\n  would hide reasons that were never parts. They wait on the reasons-filed-as-parts repair (Q29).\n- **The 14 cut wholes carry** 30 links in (17 extraction supports, 6 extraction attacks, 5 by the\n  linker, 2 qualifies), 34 stored questions, 33 links out (29 by the cross-source premises pass, 3 by a\n  person, 1 extraction), 6 resemblance links and 3 concept uses. No votes.\n\nThe plan, bit by bit as he asked: the institute map's table of moves (made by hand in `build_map.py`'s\n`floor()` calls) is the first answer key; a reading pass names each link's home with the part sentence\nit bears on (a part, several parts, the parts together as one argument, a link between parts, or none,\nwhere it stops counting and stays visible), and is scored against that key; then a dry run over the 14,\nshown to him one case at a time; then one whole at a time, the old link kept and marked, the new ones\nnaming their readings, and the whole relabelled a record. A person's link follows AS1: an obvious move\nproceeds and the person is told.\n\n## 8. His answers, 2026-10-24\n\n**On the uncut wholes:** *\"So cut them to the best of your ability, to the floor, and then convert the\nexisting misfiled reasons to be reasons instead of parts. Does that make sense or am I confused?\"* It\nmakes sense. Measured that day: 35 wholes carry 87 live part links written by extraction, a person or\nthe linker. The order, Claude's reading of his: (1) read each of the 87 links: a part, a reason for\nthe whole, or neither; (2) a reason becomes a support link from the reason to the whole, the old part\nlink kept and marked; a link that is neither is retired and stays visible; (3) the whole, its reasons\nnow reasons, is cut to the floor by the splitter, matching before minting (AL16); (4) its links are\nrehomed and it becomes a record. A person's link moves under AS1: an obvious move proceeds and the\nperson is told. The 29 relevance claims holding a machine's steps are not in this set.\n\n**On the cards:** *\"Agreed. Well... about the cards, partly yeah but... I'm entirely open to playing\naround with how the map view is rendered. This might affect how cards are positioned/adjoined close to\neach other, like in the early argument-bundles sketches etc. This could be appropriate for horizontal\nconjunction-joins in some ingenious way.\"* (The bundle sketch: `docs/sketches.md`, Sketch 2.)\n\n**On which claims may join (supersedes § 3):** *\"No, I don't wanna require that. It over-anchors on\nwhat one author/source/record joined together in their particular phrasing/article/tweet/writeup/\nwhatever. Deliberus is not about that, it's about finding out the truth and pooling everyone's\nmind-work together, with optimal addressability, opportunity for targeted, un-duplicated scrutiny and\noptimized UX and overviewability.\"* And on *Danmark står bakom uppropet* with *Island står bakom\nuppropet*: *\"Then they should show as one special combo/joined card saying \"Danmark och Island står\nbakom upproret\" or potentially as a card with a sort of upper title-part reading \"Står bakom\nupproret:\" and a lower part reading \"Danmark\", \"Island\" rendered as tags/pills. And if one clicks any\npart of the combo card then you can click to zoom in and the map will show each individual\nclaim/reason. If that results in visual real estate issues, it's fine if we have to refocus the whole\nmap on this as the locus point.\"*\n\nWhat this settles for the strength display, Claude's reading: **a joined card has no strength of its\nown; each member keeps its own**, as a fill on its pill or under its words in the sentence, with its\nown band to the neighbour. The worry § 3 answered by forbidding joins (a joined card filled at its\nweakest member would understate independent reasons) is answered by never giving the card one\nnumber. Where the members are premises of one argument, the card marks the weakest as the one that\ngoverns (Q38).\n\n**On folding along a chain:** *\"Any fold vertically/deeper in the graph needs to assess and\nprioritize - live and as such it needs to be done by code and instant graph computation if at all\npossible - which claims should be shown in the view and which should be left out.\"* Proposed, unruled:\ncode ranks what a fold leaves out by what each claim passes on to the focus along its route, always\nkeeps the route's weakest step in view or marked on the fold, and keeps the map's one place for the\nrarest claim (`specs/map-view/design.md`). No model call.\n\n**On how a fold shows:** *\"How to indicate a fold is also up for debate but I like the idea I had\ntoday of showing 3 little dots along the line connecting two claims. There could even be a 3-way line\nwith dots on each of the 3 lines, indicating folded-up inference chains/subgraphs that aren't shown in\nview. Until one clicks them to unfold or if one zooms the whole map in (presuming the folds are not\nnear the edge of the shown map, in which case the focused claim would naturally be zoomed-in on in the\ncase of a map-wide zoom-in, right... this all depends, maybe the map-wide zooming could be directed to\nthat area/those folds that the mouse is hovering, if a modifier-key is held when scrolling the scroll\nwheel or such)\"*\n\nMockups of these, on the institute map's real claims: `specs/map-view/mockups/2026-10-24-folds-and-joins/`\n(made 2026-10-24, shown to him the same evening; every strength, count and interface word in them is a\nplaceholder, unblessed under AR14):\n\n- **`1-joined-sentence`**: his first form. *Danmark och Island har ställt sig bakom uppropet…* as one card\n  under *Sverige bör ställa sig bakom … uppropet*, each country underlined by its own strength bar with its\n  own band to the focus; an inset shows the two cards a click opens.\n- **`2-head-and-pills`**: his second form. A shared head (*Har ställt sig bakom uppropet …:*) above one pill\n  per member, each pill filled to its own strength and carrying its own band; an inset shows the same form\n  with three members (the call's three things every region should have access to, as narrowing links).\n- **`3-chain-folds`**: focus *Sverige bör inrätta ett institut för AI-säkerhet.* The reason *Sverige behöver\n  en aktör som granskar de mest avancerade AI-modellerna* stands on one folded claim (*Ingen svensk myndighet\n  har i dag i uppdrag att pröva …*), drawn as three dots on its line and a junction where three folded\n  grounds meet; the weakest branch (the unwritten *ingen annan myndighet* claim) is thin, marked with a\n  diamond, and shown because an objection (FOI's remit) attaches to it (a rule he declined the same night, § 8 below). A hover card gives the fold's health;\n  the zoom bar sits at the reasons level, with the ⌘-and-wheel hint beside it. Two joins on the first ring\n  (KTH and MPF as pills; *testa … och ge Sverige en trovärdig röst* as a sentence) show both forms side by side.\n\nWhich form, ruled 2026-10-24, asked whether both by the number of claims a card holds: *\"This!\"*\n(ledger AX9). A card with few claims reads as one sentence, one with more as a head with pills, since\npills stay readable at four or five members where a sentence does not. The count at which the form\nchanges is a setting, Claude's call until he sees it built; two claims as a sentence is the start.\n\n**Refined the same night, after the mockups** (ledger AX9): *\"I think I like single-sentence but with pills inline. Make sure they don't disrupt the line-height though. And when there are more than 3, it could shift to a head+pills look, with each pill in smaller font and it'd limit how many are visible at once until you hover or smt\"* So up to three members the card is one\nsentence with each member a pill inside it, sized so the line height holds; above three, a head with the\nmembers as smaller pills, a few shown and the rest on hover. How many show before the hover is Claude's call\nuntil he sees it built.\n\n**How the chain folds get built** (his word the same night): *\"This mockup has some sort of bendy bands, hope you don't intend to remake that part of the current wheel map view? I like a lot about this but tell you what, when it comes to the folded-chains buildout, let's have you build one little part of it at a time, with me blessing each part, ok? Start with the most crucial bits and go further in dependency order.\"* The bands in mockup 3 were the\nmockup's own drawing; the wheel keeps its bands as they are. The order proposed, each part shown to him before\nthe next: (1) a fold on one line, the three dots, with the hidden claims counted (needs a route found by code);\n(2) the hover card with the fold's weakest link; (3) a tap opening one fold, and the control returning all;\n(4) ~~a branch carrying an objection always shown~~ withdrawn on his word, below; (5) the zoom levels (AX10, unruled), last, since they set\nevery fold at once.\n\n**Part one built the same night** (his word: *\"Great, go ahead\"*): a claim on the wheel's second ring that only\nrelays one support, one link in and one out and no other link, folds; its supporter stands in its place and\nthe link carries three dots and the number folded. Only supports fold, since a support of a support still\nsupports, and nothing on the first ring folds, since those bear on the focused claim itself. First live case:\non *Extraordinary AI governance has to prove four things*, *No single expected-value number* stands under\n*Reducing risk does not make a measure legitimate* with *One layer's answer does not settle the others*\nfolded between them. The map's data reach three steps, so a fold shows a claim one ring nearer rather than\none ring further; folding pays more once the data go deeper. Part two, the hover card with the fold's weakest\nlink, waits on his look at part one.\n\n**Where the hover card came from** (2026-10-24): it is Claude's, drawn in mockup 3; his words had asked that a fold *\"assess and prioritize - live … by code\"* which claims it leaves out, and that a chain *\"show the weakest links\"*. Part one folds only a claim that relays one support, so it hides one claim and decides nothing yet.\n\n**His direction on how a fold shows, the same night** (unruled as a whole; his words): *\"\\\"En gren med en invändning syns alltid\\\"? Idk if I want that. The zoom/fold should not be broken up/made messy just because it has human input at some point in the chain/subgraph.\"* · *\"It should visually indicate the strength/truthiness flowing through the folded inference chain.\"* · *\"It's unnecessary to have the circle-blob with three dots if the lines around it have three dots on them. That circle-blob should maybe not even be there?\"* · *\"All that I require for the weakest links in the folded up chain is that one of the dots on the folded chain line/band perhaps shows in yellow, symbolizing the weakest strength in the chain... Or, that local part of the band loses half its opacity, could look good - at the part where the weakest link is.\"* · *\"The number of dots could actually be the number of folded up inferences in the chain, up to a point (don't want it messy if there's lots of folded up argumentation).\"* · *\"The ranking of what/when a fold hides requires some thought, doesn't it?\"* So the proposal that a branch carrying an objection is always shown is withdrawn, and with it AX4's clause that a fold splits where a side attacker attaches: an objection lowers its step's strength, and that shows through the strength display and the weakest marker, so the fold stays whole and hides nothing it should show. Showing each step's strength along the fold keeps AX4's other rule, that a fold carries no strength of its own: no total is shown, only the steps. The built part one still draws a small pill with three dots and a count on the line; by his direction it gives way to one dot per folded inference on the band itself, capped, unbuilt.\n\n**What testing a fold needs first, measured 2026-10-24 on the institute map** (his question: *\"to test this properly I feel like we need to have a realistic fill of claims in the graph for this particular topic … Have we, for example, split all claims in this map to the best of our ability?\"*): of 126 claims that are not records, four still bundle (*FRA:s uppdrag … gäller deras risker inom cybersäkerhet och inga andra risker*, two claims; *… redan har eller kan få*, two; *Premiss fråga slår ihop …, så ett parti … kan svara lågt*, a fact and a reason inside one claim; *… hos FOI och andra befintliga aktörer*, a list), and two government explanations carry an *eftersom* inside reported speech. Support chains are short: 125 claims have no support under them, and only three stand on a chain of three links or more. Every link's relevance is presumed and every claim reads unexamined or no data, so a weakest step cannot show anywhere yet. **Filled the same night on his word** (*\"Yes, fill the institute map by hand to the rulings: split the four, write out deeper steps, relevance from the second-family judge, each act saved as a test case for its microtask.\"*): the four cut, eleven premises the links had skipped written out, the four neighbours put under one claim between them; the longest support chain went from four links to six. The relevance judge read 85 of 86 links that night on Gemini's free tier (the OpenRouter account was empty), each link naming the model that answered. Later the same night the sources' own grounds, five more consultation answers, who decides and his own positions went in (250 claims, 334 links), and the judge read 65 of the new links. What was done, and the cases kept for each pass: `TODO.md`, the institute map item.\n\n**Joins beside the groupings already ruled for the wheel map** (his question of 2026-10-24, whether the\nwheel session of 2026-10-20 had gone over grouping): it had, twice. AR9, *the map's own concepts*, ruled\nthat night and unbuilt, groups a claim page's cards by the concepts the whole map's nouns form, found by\nthe embedder with no model call and recomputed on every visit; AR8, *a source's sections*, open, asks\nwhether a source page keeps the extraction's one-time argument names as starting points. A join is a\nthird and smaller thing: it puts claims that say one thing of several subjects into one card, while a\nconcept group places separate cards side by side on the ring. They compose, Claude's reading: a joined\ncard's members share their head, so they share its concepts and sit in one group, and a group's label\nstays true of the card (AR6) when every member uses the group's phrase. A join never crosses a concept\ngroup, since its members say the same thing. Unruled where a card whose members use different concepts\nsits; the same open question AR9 leaves for a single card that uses several.\n"}