{"path":"research/codex-review-19-october-read-back.md","content":"# Codex's review of 19 October, read back (2026-10-20)\n\n**What this is.** His request, 20 October: *\"Read this Codex session's last bits very carefully … and make\nsense of everything unique in the last phase of the session, make sure you understand exactly what\nAstra/Codex is on about, I will have it check your work afterwards.\"* So this note is written to be checked\nby Codex: each of its claims is restated, verified against the repository as it stands on 20 October, and\nmarked where this reading differs from or adds to it.\n\n**Source.** Codex thread `01a12215-7701-73e2-a4a4-f8c69cb2bbab`\n(`~/.codex/sessions/2026/10/09/rollout-2026-10-09T21-13-14-01a12215-…jsonl`), 9 to 19 October. \"The last\nphase\" is read as everything from his question of 17 October on how reasons work together through the final\nturn, which began 19 October 14:07 CEST, before the builds of 19 and 20 October in the Claude session that\nwrote this note. Codex's own summary of that phase is gathered in [one-challenge-one-home.md](one-challenge-one-home.md).\n\n## 1. The phase in order\n\n1. **The case for a conclusion belongs to everyone who contributes to it.** His words, 17 October:\n   *\"if some says 'X because A and B' then it's just a boon if someone else comes up with C as a strong\n   reason for X. And if someone shoots down A, then so be it, that's our collective best guesstimate\"*.\n   Codex agreed and named the one question left: do A and B each give a reason, or only together?\n2. **A reason can state its joint case in its own words** (his: *\"Well then a reason should argue that inside\n   the text of its claim I guess?\"*). Codex's gate example: *today is Tuesday, and this gate is open every\n   Tuesday* as one reason with two challengeable parts; a camera image showing the gate open is a second,\n   independent reason. Refuting *Tuesday* removes the first argument and leaves the camera.\n3. **His correction: the schedule is a rule, not a reason.** *\"'gate is open every Tuesday' is an\n   inference-rule, right? Which is not an independent reason for 'the gate is open now' without 'today is\n   Tuesday'\"*, and the earlier notes had settled this (the floor of one rule applied once to one case; the\n   Socrates drawing joins a case and a rule under one validity check). Codex conceded and corrected its note.\n   This correction is what the reasons splitter (ledger T9, built 17 October) encodes: a rule is never a\n   support link of its own.\n4. **\"A or B\".** Either says *either argument would suffice* (resilience, not hedging) or *one of them\n   happened, I don't know which*, in which case splitting it into two asserted facts invents information.\n   Kept as one claim (ledger AL3).\n5. **One argument, two drawings.** *A and B together support X* and *A supports X, with B under the link*\n   may be two views of the same argument and must not be counted as two reasons.\n6. **Dates and times are checked by the clock.** His request: a claim like *today is Tuesday* should be\n   evaluated automatically, as a session knows the date. Codex added: the claim's instant and timezone made\n   explicit, a historical *today* keeps its original reference, a clock check says nothing about whether the\n   gate keeps its schedule, a failed check means unknown, and repeated checks are not independent evidence.\n7. **The legacy object model.** `docs/object-model.md` marked as a historical inventory; a harvest written\n   (`legacy-object-model-harvest.md`). Its best idea: *found in this source*, *faithfully represented*,\n   *true* and *relevant* are four separate judgments, as the Meteor prototype kept them.\n8. **The sketches.** Six full-resolution photographs recovered into `docs/sketches/` (the contention map,\n   the 30°C example, the deduplication notes, two states of the 2013 concept-tracking sheet, the Socrates\n   sheet), metadata-free copies public, originals private. Still unlocated: the bundle tabs (*speed, dream,\n   cobalt, sweet*), the feed comparison (*infinite scroll* against *organic (redraw)*), the felicific\n   calculus page. Commit `3ed3f45`.\n9. **The final turn, 19 October.** His three asks: summarise every salient point in bullets of at most nine\n   words; check whether Claude's later review missed or misread anything; advise. Plus his earlier open\n   questions on Claude Mods and on Jev (the decision model). Codex answered with about sixty bullets in six\n   groups, a list of what Claude carried forward, four things to revisit, updated Jev findings, the five\n   research practices' outcome, five ideas for Mods, and one recommended next case.\n\n## 2. What Codex is on about, in one paragraph\n\nA reason's premises can fall **together** (an argument needs all of them) or **separately** (each is an\nargument of its own). The graph must record which, or it does two wrong things at once: it counts one\nargument as two, and it lets a premise go on contributing after its partner has failed. Three of the four\nrevisits are this one worry seen from different sides (the splitter's storage, the *rule never goes inside\na reason* wording, and the sense-alignment wording, which is the same worry about meaning: two premises\nusing a word in different senses can look joined when they are not). The fourth is housekeeping that\nillustrates his correction-propagation concern. Everything else in the final turn (Mods, the one-case\nworkbench, the alarm example) is about how to examine that worry on one case deeply rather than on many\ncases thinly.\n\n## 3. The four revisits, verified on 20 October\n\n### 3a. Joint premises are not represented by the reasons splitter: confirmed, with a second defect\n\n**Codex's claim.** A probe with the sentence *\"The alarm sounds because contact A is closed, contact B is\nclosed, and closing both contacts completes the alarm circuit\"* (a supplied reading, a fake graph, no model,\nno database) produced two support links, `A → alarm` and `B → alarm`, the rule under each, and neither\nlink recording that it needs the other contact. New links carry no scheme, so this is a representation\ngap, not demonstrated mis-scoring.\n\n**Verified.** The probe reproduces on today's code: support links `A→X` and `B→X`, the rule under both\nrelevance claims.\n\n**Where it comes from.** Not only the writer: the reading itself has no way to say it. Each reason in the\nmodel's reading (`ReasonOff`) carries one role, `case` or `rule`, and nothing groups case reasons into an\nargument. `commit` then writes one support link per case and hangs every rule under every case's link\n(`deliberus/reasons_off.py`, the two loops after the minting).\n\n**A second defect from the same loop, not in Codex's write-up as a consequence.** A probe on *\"The courtyard\ngate is open now, because today is Tuesday and this gate is open every Tuesday, and the camera image shows it\nopen\"* (same method) gives support links `Tuesday → X` and `camera → X`, and the Tuesday schedule hangs under\n**both** relevance claims, the camera's included. So refuting the schedule would weaken the camera argument,\nthe opposite of his rule that refuting A defeats only the arguments that need A. Codex did name the\nmechanism (\"attaches every stated rule to every link\").\n\n**What it would cost once schemes land.** Ledger AL15 measured the arithmetic on 19 October for a whole of\ntwo parts used as a premise and rewritten part by part: the supported claim moves to 0.569, and still to\n0.519 when one of the two parts is refuted, *\"which counts one joint argument as two\"*. The splitter's output\nfor a joint case has exactly that shape. So Codex's caution (representation gap only) holds for today's graph\nand the measured cost is already on record for the day the scheme pass reaches these links.\n\n**Footprint today.** The graph this checkout reads (`deliberus_extraction`) holds 2 claims and 1 support link\nwritten by the pass, the link with no scheme. The pass runs only by script or behind\n`DELIBERUS_FLOOR_FIRST=1` (off), and it is a phase-2 pass in the standing-pass registry\n(`machine-work-as-a-standing-property.md` § 7), so the fix belongs before it becomes standing.\n\n**The repair: two halves, and only the first is settled** (rewritten 2026-10-20, after his second\nthoughts and a reading of the corpus, § 9). The first half is undisputed: the reading groups the reasons\ninto arguments by the test T9's ruled text already names (*whether each still counts when the other\nfalls*), a rule hangs only under the link of its own argument, and an argument of one case gets its link\nas T9 ruled. The second half is how to draw an argument whose case has several facts, and that is open\nin three rows (AL3, AL4, Q38) with three drawings in the corpus; § 9 sets them side by side. An earlier\ndraft of this paragraph took AL4's composite supporter as the repair. That would have settled an open\nontology question inside a bug fix, and a build of it was begun and set aside the same day.\n\n### 3b. *\"The rule never goes inside a reason\"* is stronger than its reasons: agreed\n\n**Codex's claim.** AL4's recommendation avoids duplication, but avoiding duplication does not settle where\nthe rule is stored, since a composite reason could reference the same shared rule rather than copy it; the\ndeciding question is which representation keeps dependencies and gives challenges an intelligible place.\n\n**Verified.** AL4 (ledger line 894) is OPEN and says *\"the rule never goes inside a reason's text; it lives\nunder the link as one shared claim\"*.\n\n**Reading.** This is the over-broad headline shape: it names a place (*inside*) where the reason given is\nabout a use (*copying*). A narrower wording the same reason supports: *the rule is stored once and\nreferenced, never copied into a reason's text*. Whether a composite reason may hold the rule as a referenced\npart is then a separate, open question for AL3 and AL4. **Applied 20 October** to AL4's headline (with a\n⚠ on the row) and to `one-challenge-one-home.md` § 2, ahead of Codex's second reading.\n\n### 3c. *\"Sense alignment is necessary\"* needs the qualification the earlier text had: agreed\n\n**Codex's claim.** The earlier discussion allowed explicit bridges between different senses; the later\nformulation risks turning *prevent unnoticed equivocation* into *require identical senses*.\n\n**Verified.** `one-challenge-one-home.md` line 133: *\"Matching sense identifiers is neither a general\nrelevance proof nor a demand that every good inference share vocabulary.\"* Lines 311 and 330: *\"(iii) that\nthe reason and the claim use their shared terms in the same sense\"* and *\"sense alignment is necessary and\nnot sufficient\"*.\n\n**Reading.** The two are different requirements, and the first is the one the corpus argued for. Proposed\nwording for (iii): *where the reason and the claim use a shared term in different senses, the difference is\nvisible and bridged, so no step equivocates unnoticed*; and *no unnoticed equivocation is necessary and not\nsufficient*. **Applied 20 October** to unruled text only, in the form *no shared term shifts its sense\nunnoticed between the reason and the claim (a difference in sense that is stated and bridged is allowed)*\nand *no unnoticed equivocation is necessary and not sufficient*: AL8, `one-challenge-one-home.md` (iii)\nand its later sentence, `retrofitting-the-reasons-channel.md` § 3 *What it cannot do*, and the\nconcept-layer note's Q39 paragraph. The listening script of 15 October keeps its words as spoken. This paragraph first said Q39's row and\nthe retrofit note's item 1 already carried the bridge; Codex's second reading showed item 1 covers only a\nreason that shares no term, and that Q39, item 2 and the concept-layer paragraph still made different\nsenses a verdict. All three now name the bridge (§ 11).\n\n### 3d. His context decision had not reached the ledger: confirmed, and wider than Codex said\n\n**Codex's claim.** TODO records his instruction to build both context layers without a replay test; the\nledger row for the reply-time search (AK3) still said open.\n\n**Verified,** and AK4 too: its status read *\"his to decide; rec: run it, five cases, cheap helpers\"*, the\nreplay he declined. TODO itself noted *\"The ledger row AK3 does not carry this ruling yet.\"* Both rows now\ncarry the ruling in his words (20 October).\n\n## 4. The Jev findings: all verified\n\nAgainst `~/dotfiles/docs/taking_the_whole_corpus_into_account_2026-10-08.md`:\n\n- Three questions about one message in one call differ from three calls by 0.011 on average, the same as a\n  repeat of one call (0.011); 30 real messages.\n- The whole hook takes 442 ms as a shell runs it (476 ms bare); the model answers in 298 ms.\n- Twelve passages in one request against one at a time: 26 of 144 answers change side.\n- As a reranker over 1,812 pairs: more of the 57 bearing notes reach a top five (40 against 31), first\n  place worse (27 against 37). Not wired into search.\n- The conflict trial failed its pass mark (the colliding row scored 0.37 on *goes against*, seventh of 84).\n- The labels throughout are Claude's.\n- The outside reader, built 10 October, finds a plain reversal and misses a collision between two texts that\n  share a subject and few words (three of three at low effort; `outside-checks/README.md`).\n\nThe distinction Codex draws holds: several questions about one item behave like one question; several items\nin one context do not.\n\n## 5. Mods: verified, with one thing Codex left out\n\nAnthropic's page on the Mods API (read 20 October): `$.model.complete` sends one prompt with an optional\nsystem prompt and **no CLAUDE.md or other project context**, so a corpus checker must supply its grounding\nitself, as Codex said. Codex did not mention the sibling, `$.model.fork`, which sends the current\nconversation **with** the session's system prompt and project context. The pair maps onto the independence\nquestion exactly: `complete` is a fresh reader that knows only what it is handed; `fork` shares the\nsession's frame and so cannot serve as an independent check. Both bill to his plan. A Mod can also run work\non a timer (`$.clock.every`), show a status line or toast without starting a turn, and start a turn\n(`$.prompt.submit`), which is what a one-case workbench with a background reader would use.\n\nCodex's five ideas, in its words: the **one-case workbench** (passage, graph, alternatives, his reasoning;\nits first choice), a connection tray, a context receipt (which rulings informed a judgment), a correction\npreview (affected notes, prompts and code), an ontology switcher (Lins examples and alternatives). It keeps\n`connection-nudge` for reminders. All unbuilt; not filed as a build item.\n\n## 6. What Codex credits Claude with\n\nChecked here: the inline-reason splitter is built (T9); conditionals are read as links and suppositions,\nnot assertions (AM5); cutting before linking exists and is off by default (`deliberus/floor.py`,\n`DELIBERUS_FLOOR_FIRST`); real-schema example graphs replaced the commentary diagrams\n(`tools/lins/example_graphs.py`). Taken from Codex without re-checking: that recutting matches existing parts\nbefore minting (consistent with AL16) and that unmatched parts carrying contributions trigger review. One\nitem to read with care: *claim wording is immutable; rewording creates another claim*. Moving a judgment to\nthe new wording is designed and unbuilt (`a-sentence-as-a-pointer-into-a-landscape.md` § 6d).\n\n## 7. Since Codex's turn\n\nBuilt or ruled in the Claude session of 19 and 20 October, and their bearing on the above: the whole as a\nrecord (AL15) supplies the joint-premise arithmetic in 3a; match before minting (AL16) is the recutting Codex\ncredits; the standing-pass registry (phase 0) lists the reasons splitter as a phase-2 pass, which sets when\n3a must be fixed; the `confirmed` field retired (Q32); a hedge as stance for every claim (AM6); the testable-\nbets research (ledger AO1 to AO5). None of them closes 3a, 3b or 3c.\n\n## 8. The next case\n\nCodex recommends the alarm example as the first case for the workbench: two required contacts, one rule, one\nindependent observation, each component challenged in Lins, to expose joint-dependency loss, duplicate\nchallenge homes and double-counted evidence in one manageable example. This matches his preference of 19\nOctober for one case examined deeply, yielding rules for automated work (`three-minds-and-the-leap.md`). The\ntwo probes in 3a are that case's first half, run without the workbench.\n\n## 9. Read against the corpus, on his second thoughts (20 October)\n\n**His words, mid-build:** *\"Hey I'm having some second thoughts... Have we thought through all this and\ngrasped it all fully yet? Arguments grouped/bundled, the smallest inference step + rule, reasons vs parts,\nretrofitting reasons etc etc, look up all this in the corpus and corpus graph and think deeply about what\nwe're doing and whether it's the right path to go down.\"* And: *\"Also read on recursive decomposition and\nlinked/convergent etc etc (and ofc think about whether anything Codex/Astra has pointed out applies still,\nafter that)\"*. Read for this section: `a-part-and-a-reason.md` § 0 to § 5a, `claim-parts-and-inferential-\nreasons-2026-10-14.md` whole, `retrofitting-the-reasons-channel.md` § 1 and § 2, `the-chain-inside-a-link.md`\n§ 10, `self-similar-decomposition-and-claim-ontology.md` (the founding question and the mother claim),\n`the-squirrel-and-the-strength-calculus/strength-rulings-and-code-as-read-2026-10-08.md` § B.5 to § B.8, and\nledger rows T9, Q38, Q39, B10, AD22, AL3, AL4, AL15; his own words of 14 October (*\"There's a difference\nbetween parts and reasons, right?\"*) through `mannaminne --said`.\n\n**What the corpus settles.**\n\n- *A part and a reason are roles relative to a whole.* Three wholes: what the claim says, one argument\n  for it, the whole case for it (`a-part-and-a-reason.md` § 5). A reason is a part of an argument, never of\n  its conclusion; treating linked premises as content-parts of the conclusion is a category mistake\n  (`claim-parts-and-inferential-reasons-2026-10-14.md` § 3).\n- *T9 is ruled and carries the grouping test.* Its sharpened text: *two reasons are told from one step by\n  asking whether each still counts when the other falls.* The build of 17 October did not ask it.\n- *The floor of a step* is one stated rule, applied once, to one stated case (ruled 2026-10-14 as AG14's\n  third clause). A case can hold several facts: the alarm's case is both contacts.\n- *A line* (his 2013 argument bundle) is one argument with several premises: removing one breaks it. Lines\n  are supplied, by a person or a pass, and attackable (Prakken); the arithmetic proposed is min within a line\n  and max across lines (Q38, open, with Q37). So the reading's grouping is a pass proposing lines.\n- *Parts only where a claim genuinely bundles separable commitments* (ruled 2026-10-14, *\"1b is obviously\n  good to me\"*, redrawing Dr Smith's credentials as support).\n- *The arithmetic for an argument whose pieces all stand is the open lift*, and what the number on a claim\n  means is undeclared (closing question 1). Any drawing chosen now is scored by unruled arithmetic, so the\n  drawing has to be chosen on structural grounds.\n\n**What it leaves open: how to draw one argument whose case has several facts.** Three drawings, each\nalready in the corpus, none ruled. Figures are the strength code's, from § B.7 of the code reading.\n\n| Drawing | Where it is proposed | For | Against |\n|---|---|---|---|\n| One claim holding the facts, supporting the conclusion through one link | AL3; AL4's composite supporter; AL15's whole as premise; the founder's representation of 17 October (`retrofitting-the-reasons-channel.md` § 1) | symmetric; each fact keeps one home; one link, one relevance claim, the rule once under it | needs a way to link a claim that has been cut, since the floor holds a cut claim from linking today, and leans on AL15's whole as a premise, unruled; scores a joint argument of two facts at 0.9 at about 0.500 today (the whole sits at 0.507). First written here as minting a bundle the separability floor would cut; Codex's second reading: cutting exposes the parts and need not erase the conjunction (§ 11) |\n| One fact as the supporter, the other facts and the rule under the link | AD22's grounds of a relevance claim; `a-part-and-a-reason.md` § 2b, third row; AL3's second view | no new node; estimated, not measured, to score about like one reason (0.519), if today's code reads a relevance claim's parts at all; either fact refuted should remove the argument | treats two symmetric facts asymmetrically: which contact is the supporter is arbitrary |\n| The line as its own object, grouping support links | Q38 (*\"the grouping of reasons into lines is the one new object\"*) | the honest object for a grouping; maps his 2013 bundles directly | needs Q37/Q38's arithmetic; until then two tagged links still add (0.569, and 0.519 with one refuted) |\n\n**The corpus asks for this comparison and nobody has run it.** `retrofitting-the-reasons-channel.md` § 1:\n*\"compare it with premises under a relevance link before adding a new object type.\"* Codex's\nrecommended case is the one to run it on: two required contacts, the rule, and an independent camera\nreading, drawn three ways in the example graphs (`tools/lins/example_graphs.py`), each challenge placed,\neach strength measured on today's code, and one contact refuted.\n\n**The path, revised.** Build the settled half now: the reading groups reasons by T9's test and stores the\ngrouping; a rule hangs only under its own argument's link; an argument of one case gets its link; an argument\nof several facts is recorded, not yet linked (§ 10): written as the sentence's parts but as no link, so\nthat the drawing he picks can be written later from the stored reading without another model call. Then the comparison on\nthe alarm case, for his ruling. A draft of the first half (prompt wording with two worked examples, a\nrequired argument number on each reason, version 3) was written and set aside the same day; the live check\nmust use sentences other than the prompt's examples.\n\n**Codex's points, after the reading.** Still apply: the joint-premise gap and the rule hanging under the\nwrong link (3a; now with the representation question separated from the fix); AL4's *\"never goes inside\"*\n(3b; the retrofit note already frames it as a comparison); the sense-alignment wording (3c; the origin,\n`retrofitting-the-reasons-channel.md` § 3 item 1, has the bridge the later restatements dropped); two\ndrawings of one argument must never both be written (AL3; it binds the comparison). Done: the context-layer\nruling (3d). Already in the corpus and consistent: parts and reasons as roles, an argument's failure not\nfalsifying its conclusion (Q34), conditionals and reported speech kept in scope (AM5 built), the date\ninstrument (TODO, AL5), the unlocated sketches (TODO), *found in this source* as its own judgment\n(`legacy-object-model-harvest.md`). Codex's *\"composite reason claims might represent joint premises\"* is\nthe first drawing above: a candidate, as Codex wrote it.\n\n## 10. His four questions of 20 October, one worked example, and what is put to Codex\n\nHis questions, on reading § 9's path: what *held* means and why; *\"Should we perhaps make the splitter ask\nthat then? If this was ruled, why did we end up not weaving it into the prompting for the splitter/building\nit?\"*; why the floor is off (*\"Shouldn't we enable this?\"*); and, on how this is discussed at all, that a\nquestion about the graph's shape needs one example shown whole, the words in each claim and each link,\n*\"certainly not just lazily referred to\"*. So this section opens with one.\n\n**The example, in the graph's own words.** One author writes: *\"The alarm is sounding, because contact A is\nclosed and contact B is closed, and the alarm sounds whenever both contacts are closed; and the guard says\nshe hears it.\"* The reading names five pieces:\n\n| Piece | Text | Role |\n|---|---|---|\n| X | The alarm is sounding. | conclusion |\n| A | Contact A is closed. | case |\n| B | Contact B is closed. | case |\n| R | The alarm sounds whenever both contacts are closed. | rule |\n| G | The guard says she hears the alarm. | case |\n\nT9's test groups them. Without B, A no longer counts for X, so A, B and R are one argument; G still counts\nwhen A falls, so G is a second argument.\n\n**What version 2 writes today** (the two loops in `commit`, read 20 October): the sentence decomposes into\nall five pieces; support links A → X, B → X and G → X; a relevance claim on each link, and R under all\nthree, the guard's included. Once the scheme pass scores these links: refute B, and A → X still stands\nalthough contact A alone never sounds the alarm; refute R, and the guard's report loses support it never\nneeded.\n\n**What the settled half would write (version 3; specified, unbuilt).** The five pieces and the five links from the\nsentence to its parts, unchanged. G → X with its relevance claim and no licence from the source under it; the testimony link still carries its kind's standing questions (could she hear it, is she sincere, what made the sound). For the contacts\nargument, no support link yet: the reading stores *A and B, under R, for X* as one argument, so the link\ncan be written in whichever drawing he rules, later, without asking the model again. That is all *held*\nmeant when § 9 first used it; the word is dropped, because the floor uses *held* for a claim kept out of linking, a\ndifferent thing. The name for the contacts argument is **recorded, not yet linked**. An argument of one fact\nand its rule (*today is Tuesday*, under *this gate is open every Tuesday*) is linked as now, with only its\nown rule under it. The floor counts the sentence as cut either way, so its pieces stand for it; whether each piece is\nat the floor is read on the piece itself (§ 11). One side door checked: the linker pairs a source's claims only with claims from other sources (the\ncandidate query in `deliberus/extraction/auto_connect.py`), so it cannot write A → X from the same sentence\nbehind the splitter's back.\n\n**The three drawings of the contacts argument** (open in AL3, AL4 and Q38; scores as in § 9's table):\n\n- *One claim holding both facts*: AB, *\"Contact A is closed and contact B is closed\"*, with A and B as its\n  parts; AB → X; R under AB's relevance claim.\n- *One fact as the supporter*: A → X; B and R under A's relevance claim.\n- *A line*: A → X and B → X, marked as one line, scored by the minimum within it once Q37 and Q38 rule the\n  arithmetic.\n\n**Why the T9 build did not ask the grouping test.** The row's sharpened text names it (*two reasons are told\nfrom one step by asking whether each still counts when the other falls*). The build of 17 October came hours\nafter a recommendation, AL4's, of a composite supporter for joint facts; it left that drawing open in AL3\nand AL4 (its docstring: *what this pass does not decide*) and wrote one support link per case meanwhile. It\ndid not flag that this default counts one joint argument as two; that cost was measured two days later\n(AL15). The test belongs in the splitter's reading, which is the settled half.\n\n**Why the floor is off, and the recommendation.** The floor (AL9, `deliberus/floor.py`) is off by default\nbecause a cut costs one to two model calls a claim, more than the production key's free tier carries; the\noperator sets the switch per run, and the Claude backend refuses to run in production. With the floor on\ntoday, every entering sentence with a joint reason would be written in version 2's shape, across the\ncorpus. Recommended order, unruled: the settled half first; then the floor on for operator runs on the\nClaude backend; production when its key carries one to two calls a claim (Codex adds that readiness\nis more than the key, § 11).\n\n**What is put to Codex.**\n\n1. Is the settled half right as specified: grouping by T9's test; a rule only under its own argument's link;\n   an argument of one fact linked as now; an argument of several facts recorded, not yet linked; a\n   version-2 reading with two or more cases and no grouping refused and read again?\n2. Is *recorded, not yet linked* the right interim, against writing the composite now, or writing both\n   links with a line mark?\n3. Which drawing for the contacts argument, on structural grounds, since the arithmetic that would score\n   each is unruled (§ 9)? Does anything in the corpus already decide it that § 9 missed?\n4. Do the two wording repairs (§ 3b, § 3c), now applied, say what the earlier corpus said?\n5. The floor order above.\n\n**Where it stood when handed to Codex (20 October).** His instruction on the fixes: *\"Rather do it before\nthe next Codex review than after.\"* And on handing it over: *\"We can see what Codex thinks now if you update\neverything on disk so it's ready to be weighed in on.\"* So: the two wordings are applied (§ 3b, § 3c); the\noutside reader re-read AL4 and AL8 as amended, reversed nothing, and added AM5 to AL4 and AM1, AM7 and Q3\nto AL8, all carried on the rows; the ledger gap is closed (§ 3d). The settled half is specified and not\nbuilt, and the comparison of the three drawings has not been run: both wait on Codex's reading and his\nword. Discussed in chat on 20 October, and kept as a rule for chat since: a question about the graph's\nshape is shown with one example whole, its claims and links in words, before it is reasoned about.\n\n## 11. Codex's second reading (20 October), checked and applied\n\nCodex answered § 10's five questions the same day; its answer is kept verbatim in\n[codex-review-19-october-second-reading-2026-10-20.md](codex-review-19-october-second-reading-2026-10-20.md).\nEvery code claim in it was checked against the code (`reasons_off.read` calls a stored reading stale\nonly when the sentence's text changes; `floor.standing` returns *cut* for a claim with live parts, and\nlinking holds a cut claim), and every corpus passage it cites was opened. Each holds.\n\n**Agreed:** the settled half, *recorded, not yet linked* as the interim, and the floor order. **Not\nsettled by the corpus:** which drawing wins. Codex favours the composite case for the alarm,\nprovisionally: the two contacts play the same role, each stays separately challengeable, and their\njoint use is one argument, written as the claim *Contact A is closed and contact B is closed*, with\neach contact as a content part, one support link to *The alarm is sounding*, and the both-contacts\nrule referenced under that link. It names the cost: linking needs an explicit way to use a claim that\nhas been cut, since the floor holds one today.\n\n**The settled half, tightened by its five points:**\n\n1. The grouping test is asked of the argument the sentence expresses. Contact A without contact B no\n   longer gives the alarm through the both-contacts rule; that says nothing about whether contact A\n   could support it some other way, nor that the guard's report is independent of the contacts.\n2. An argument is stored as references to its premises and its rule, and a premise or a rule may serve\n   more than one argument. The draft of 20 October that gave each reason one required argument number\n   is out.\n3. *Nothing under the guard's link* means no licence supplied by the source. The testimony link keeps\n   its kind's standing questions (could she hear it, is she sincere, what made the sound).\n4. Rereading repairs what version 2 wrote: the version change itself marks version-2 readings stale;\n   the machine links they wrote are retired; claims and the reasons attached to them are kept by\n   matching before minting (AL16); and readings where a rule's grouping is unclear are reread too, not\n   only those with two cases.\n5. A recorded argument is visible from its conclusion, as *one further argument is recorded but not yet\n   included*: a processing state, kept apart from unexamined, from examined and failing, and from shown\n   false.\n\n**The floor, with its completion condition.** Before operator runs: the five points above, checked on\nthe alarm case and on fresh sentences that are not the prompt's examples. Before production: the\ncorrected version deployed, outdated readings handled, unfinished processing reported as unfinished,\nand a budget that counts the recursive cuts, which can take more than one or two calls a claim (the\nstanding-pass acceptance checks, `machine-work-as-a-standing-property.md` § 7, cover the version and\nrerun parts). A sentence read and written does not put its pieces at the floor (each piece is read on\nits own), and a claim at the content floor can still hide an unwritten inference.\n\n**How the drawings are compared, structurally and not by the number each gives:**\n\n| Challenge | What must follow |\n|---|---|\n| *Contact B is closed* refuted | the contacts argument fails; the guard's stands |\n| the both-contacts rule refuted | the contacts argument fails; the guard's stands |\n| the guard's report refuted | the contacts argument stands |\n| the same argument drawn again | no new evidence and no second argument appears |\n\n**What this note got wrong, now corrected in place:** § 3c's claim that the retrofit note's item 1\nalready carried the sense bridge (it covers only a reason that shares no term); § 9's objection that\nthe separability floor counts against the composite case (cutting exposes the parts and need not erase\nthe conjunction); § 10's sentence that the pieces of a read sentence stand at the floor; and § 10's\n*nothing under* the guard's link. **Wording repairs completed:** AL4's headline now states the\nreason-backed principle (reference the existing rule claim; repeated words make no second argument) and\nmarks where the claim sits as the recommendation it is; *One challenge, one home* § 2 matches it; the\nsense bridge is named in Q39, the retrofit note's item 2 and *What it cannot do*, and the concept-layer\nparagraph.\n\n**What waits on him:** building the settled half with these five points, and then the comparison on\nthe alarm case for his ruling on AL3, AL4 and Q38.\n"}