Lighthouse

Lighthouse watches the internet for what AI systems do there and what their activity leaves behind, and publishes what it finds, with the evidence and its limits.

Notes

R-0023: evidence review of LH016, record 0.1, its data and replays, and the surfaces it changed

date: 29 September 2026 reviewer: a Lighthouse review subagent on Fable 5.1 (claude-fable-5-1, as its harness reports), dispatched by the driving session for step 4 of AGENTS.md; nothing committed by the reviewer grounded at: commit 7b59f56 on claude/fervent-mccarthy-mjyebc; the round's changes are git diff f17523c 7b59f56 read: AGENTS.md; studies/LH016/ in full (brief.md, amendments.md, LH016.md, data/, scripts/, replay.sh, review/); the round's diff on AGENTS.md, about.md, notes/reader-review.md and programme.md, and those four files whole; the window diffs listed in section 2 with the notes and commit messages that name them (notes/R-0014, R-0015, R-0016, R-0018, R-0020, R-0021, R-0022; commits 6cb9051, c480bb0, e26c856, 1bc6e80); articles/two-days-for-most.md and articles/old-versions-new-pythons.md as they stand; studies/LH011/data/analysis/release_days.csv and studies/LH012/data/analysis/firstday_releases.csv; notes/reader-review.md at f17523c for the task texts; the comment on issue #20 through the GitHub tools, the one read outside the clone. Nothing under harbour/.session/, no key, no web page, no download count. calculations kept: studies/LH016/review/r0023_checks.py and its output r0023_checks.txt, cited below as §1 to §9. allowance: about nine dollars at list rates; not priced here.

1. Reproduction

bash studies/LH016/replay.sh ran clean and reported every output reproduced: tally.txt, blind_compare.txt, origin_check.txt (sample unchanged at seed 16), driver_check_litellm.txt and driver_check_drift.txt. The working tree was unchanged after it. studies/LH016/brief.md hashes to 422f290d…d174d, equal to snapshot_sha256.txt and to git show cb97e4e:studies/LH016/brief.md; the same hash was posted on issue #20 at 19:04:03 UTC, ten seconds after the protocol commit (19:03:53).

I recounted the figures with my own code rather than the study's scripts (§1 to §6, §8). Every figure in the Answer and Findings 1 to 4, 6 to 9 and 11 agrees with data/changes.csv, changes_secondary.csv, costs.csv, blind_codes.csv and post_hoc_readings.csv: 125 changes (P1 10, P2 23, P3 6, P4 27, P5 24, P6 35), tiers A 66, B 21, C 18, N 20, 219 surface edits on A rows; K 8, E 23, B 3, R2 17, RC 10, D 5; E's 13 of 23 certainty or figure; the group unit, cause or new reading at K 5 of 8, E 4 of 23, R2 8 of 17, RC 3 of 10, D 2 of 5; K 8 of 8 and R2 15 of 17 on text an evidence review had passed; 35 A-tier changes before release in P5 and P6 (R2 13, RC 9, E 7, B 3, D 3); costs $30.41 and $1.32, $17.44 and $1.94, $22.47 and $0.83, $7.24 and $2.41, research and checks by round; after release 45, 10 and 35, K 18, E 10, R2 4, D 2, RC 1; kappa 1.00 on material or not and 0.883 on tier, types 21 of 29, directions 26 of 29; 23 readings, 1 tested, 10 planned, 12 without a test, six of those from stage 2. The "minutes before" of Finding 5 holds by the commit times: the recheck's window opened 10 to 36 minutes after the resolution's in P4, P5 and P6, and the evidence review of LH011's revision 12 minutes after the keeper's revision.

Three figures do not hold, and one line of the header:

  • The Answer's research-steps paragraph says "six literature checks changed designs". data/research_steps.csv records a design change for four (Q-05, Q-08, Q-09, Q-10) and none for two (Q-06, Q-07) (§6). Finding 10 lists the four and says two recorded none, but opens "The six literature checks recorded changed designs", which contradicts its own second half.
  • Finding 7 says the keeper's reading made "10 on LH010's piece from the reanalysis". Of S-06 to S-15, nine are on articles/the-lead-was-a-few-libraries.md (LH010's piece) and one, S-11, on the colophon's later-evidence line of articles/fixes-that-said-so.md, LH009's piece (§3).
  • Finding 5 and the Answer say the recheck's 8 corrected text "all of it written by stage 2's resolution". The origin search classes 8 of 10 as written during the round, which I confirm (§4), but the first coder's own comments put two of the 8 elsewhere: P6-29's short-form sentence dates from the corrections after the blind check (c488d2a, 17:18 UTC, the window 3ca1804..c488d2a; git log -S in §9), and P5-20's ambiguity was in the draft at 9523003, which stage 2 reworded without removing it (§9). So: 8 of 10 corrected text written during the round in response to a review, of which 6 were sentences the resolution introduced (P4-24, P5-15, P5-16, P5-18, P6-30, P6-31), one the resolution had reworded (P5-20) and one written partly after the blind check and partly in the resolution (P6-29). AGENTS.md step 4's wording, "text written minutes before in response to a review", holds for all 8; the record's, programme.md's and notes/reader-review.md's "the resolution had written" holds for 6, or 7 if rewording counts. The same paragraphs say the fault was "most often a new reading stated more surely than its evidence or without its label": by type the 8 are unit 3, scope 2, certainty 2, post hoc 1 (§9); the four that fit the description are P5-15, P5-16, P5-18 and P6-31, half, not most.
  • The header's instruments line says "no web page, download count, account or key", and the brief's Sources "All read locally: no web page, no download count". Replay X2 read ClickPy four times at 19:52 UTC on 29 September (review/replay-X2/x2_requery.txt, with the rows in x2_requery_data/) and its note rests part of its boto3 and litellm points on them. The reads were anonymous and the retained files are in the record, so the finding stands; the header and Method must say it, and a dated amendment should, since the brief promised none.

Two figures have no source in the record: the replay runs' costs, $3.59, $4.98 and $4.82, appear in Finding 12's table, Lesson 5 and notes/reader-review.md with no row in data/costs.csv and no statement of where they were read (§2).

2. The coding, against its sources

I read the window diff and the naming note or commit message for 16 primary rows and 3 secondary rows. Attribution, tier and type hold by the brief's codebook in all 19.

Row Step, tier, type Named in Holds
P2-01 K, A, scope, correction 6cb9051's message, "a new title without an unbounded 'never'" yes: the title and the synthesis's "it never was" bounded to the month read; R-0014's note 9 had read the title and kept it
P2-03 K, A, unit, correction 6cb9051's message, "a download counted as a fetch so a low share is not a slow spread" yes; the coder's quotation drops "the", as Finding 5 says
P4-01 K, A, cause, correction c480bb0's message yes: "accounted for" to "could account for ... if each download ... brings one"; R-0017 raised it again on programme.md (P4-08), so also_raised E holds
P1-06 E, A, figure, correction R-0014 item 6 yes: the alt text and the SVG's desc, "is low" to "starts lower"; split from P1-07's "49 and 85" as the log says
P3-03 E, A, certainty, correction R-0016 must fix 3 yes: "tested three" to "fixed three ... and tested the two the log can count"
P6-13 E, A, unit, correction R-0021 stage B must fix 2 yes: the 26 decided cases that left a lockfile unread via another pin added beside "7 of the 167"; the record's Finding 5 and the synthesis notice changed with it
P2-17 E, A, certainty, correction R-0015 must fix 2 yes: "has not spread slowly" to "need not have"; the text was the keeper's revision's, so passed_by blank is right
P4-17 R2, A, new reading, addition, post hoc, pending R-0018 material problem 1 yes: the walk reading added on eight surfaces, labelled as made after publication and untested
P5-06 R2, A, unit, correction R-0020 material problem 1 yes: "52 drawn" to "the 52 that released, of 80 drawn" on seven surfaces; R-0019 had passed them, stage 1 had noted it
P6-26 R2, A, limit, qualification R-0022 readability (c) attribution and tier hold; the type is the looser call, as the second coder said (new reading): the sentence adds two readings the record labels post hoc (H-23)
P5-15 RC, A, certainty, correction R-0020 Recheck fix 1 yes: "says" to "suggests" on a sentence stage 2's resolution wrote
P6-31 RC, A, certainty, correction R-0022 Recheck yes: the absolute "any install of the project reads" narrowed to the manifest, and a requirements file only when installed; in programme.md and the record
P6-01 B, A, figure, correction R-0021 stage A disagreement 1 yes: 128 of 166 to 129 of 167 across ten surfaces and the SVG; the window is the corrections after the blind check, credited to B where stage A names the rule (amendment 3)
P4-15 D, A, cause, correction e26c856's message, "the driving session then replaced 'kept off' with 'ruled out'" yes; not in R-0017, so D by the log's rule
P4-21 R2, N R-0018 readability 1 and 2 yes: two clarifications a reader says back the same way
P6-32 RC, N R-0022 Recheck fix 4 yes by the codebook's letter: "the workflows' install steps have not been read" is about what the study read, not the internet; a hard call, as the coder says
S-07 K, A, scope, correction the piece's Corrections line, version 1.1 yes: "earliest public advisory" to "earliest advisory ... that GitHub had reviewed, among the records we kept", in the improvement round the keeper commissioned; passed by R-0010
S-17 L, A, scope, qualification commits 1bc6e80 and a36508d yes: a later-evidence notice added to what-a-download-shows.md and its short form; its "none were for eleven" is unbounded, as the comment says
S-25 K, A, unit, correction, "also in the primary frame" c480bb0's message yes: "Machines on Pythons" to "Downloads from Pythons" on the synthesis notice and its short form; counted once, in P4 (P4-03), as amendment 1 says

The passed_by fields I read match the notes: R-0014 read the title (P2-01), R-0016 checked the co-fetch assumption and kept the wording (P4-01), R-0019 checked the counts of P5-06's surfaces. Nothing in the 19 moves a count.

3. The replay scores

Before opening review/replay_scores.csv I scored the 16 known answers from amendment 2's list and the three notes. Mine: X1 found K11-3, K11-5, partly K11-2, missed K11-1, K11-4; X2 found K11-3, K11-5, partly K11-1, K11-2, missed K11-4; X3 found K12-2, partly K12-1, K12-3, K12-5, K12-6, missed K12-4. The driving session's file agrees on 15 of 16 and quotes the passages I would have.

The one disagreement is X3 on K12-6, "the ten-point settling band is lenient for small shares": the file scores it found, I score it partly. X3's problem 2 names the passage and says the band lets a near-universal upward drift pass as "holds", with the median ratio 0.79 and "boto3 44 of 99 above +10"; it does not say the band is lenient where shares are small, which is the fault as fixed (boto3's and aiobotocore's shares growing by two thirds inside it). By amendment 2's rule that is the passage with an adjacent fault, so partly. If the driving session agrees, the totals on the record, programme.md and notes/reader-review.md become 5 found, 7 partly, 4 missed; no lesson turns on it either way. Two scores rest on the rule's letter and I note them without disagreeing: X2's K11-1 is partly because the note names the headline for another reason, and X3's K12-4 is a miss although the note considered the walk reading ("old pip's backtracking") and argued against it, which Finding 12 says.

The task texts are as the record says: replay_stage1_text.txt and replay_stage2_text_prompted.txt are verbatim substrings of notes/reader-review.md at f17523c, and the naive text is the prompted text less exactly the sentence from "Where they apply" to "not categories to fill" (checked by script, not kept). What each run's stage 1 opened, which the record reads from transcripts with scripts/tool_calls.py, is not in the repository and I did not check it.

4. The two problems in released pieces

litellm (issue #21). review/replay-X2/driver_check_litellm.py reads LH011's retained release_days.csv, litellm's 1,426 known rows for 46 versions, and my recount agrees line for line (§7): six releases reached half within 30 days, 1.83.1 to 1.83.6 of 3 to 13 April, each first on 1 May 2026 (days 28, 27, 26, 24, 18, 18; median 25, which is the piece's "the typical one after 25 days"), none at half on any of its later days read, 2 to 12 of them, and none on day 1 or 2. The passage the record quotes is in the current piece (articles/two-days-for-most.md, "Most crossed half within two days": "For litellm, six of its 46 releases eventually did, the typical one after 25 days"); the short form does not carry it. "None held it" in the Answer is an absolute whose window is the 30 days read, stated in Finding 12 but not beside it.

The rise after day 2 (issue #22). review/replay-X3/driver_check_drift.py reads LH012's firstday_releases.csv; my recount agrees (§8): delta_points is (s30 minus s2) times 100 for every row; 339 of 355 above zero; median 7.15, quartiles 3.56 and 10.25; 97 above +10 and one below minus 10; 257 within the band; median ratio 0.790; 32 projects, median of medians 3.20, 31 above zero (click is the one at or below). s2 and s30 are the at-or-newer shares, LH012's own definition, so the rise is downloads moving to the release or a later one and is not a later release displacing this one; the record should say "at-or-newer" once so a reader does not take the rise for an artefact of later releases. The quoted "holds for the month" is in the current piece ("What this does to what we said before"). For the correction's scope, the settling claim also stands on articles/old-versions-new-pythons.md's summary and "What stays behind", the synthesis's notice and its short form's, investigations/software-updates.md ("How firm"), AGENTS.md's current understanding and recently changed claims, programme.md's LH012 and LH014 answers and observations.md; the notice on two-days-for-most.md already says "within ten points".

5. Inference

Could the counts be right and the reading wrong? The record states the main threats and I add three.

  • Order. The steps ran once, in one order, so each count is what a step added after the others; the Answer's Cost paragraph, the brief and Limits say so. Lesson 1's "neither does the other's work" rests on the kinds of change each made in that order; the replays test the reader review on text the evidence review had passed, but no replay tests the evidence review on text a reader review had passed, so the split is supported for the reader review and assumed for the evidence review. Next says an evidence-review replay is not planned; Lesson 1 could say the asymmetry in a clause.
  • One coder, and tier N. Attribution follows the notes, which name what they found, so a step that fixed something without naming it is credited to D; Limits say D is a floor. The second coder's sample was drawn from the first coder's rows, so it tests how the rows were coded, not whether every change was rowed; Limits should say that. Tier A includes changes as small as adding aiobotocore to a clause (P4-24, which the recheck itself called not material), and with one N in 30 the boundary is untested, as Finding 11 says.
  • The grouping. Labelled post hoc. I tried the obvious alternative, adding scope and limit to unit, cause and new reading (§9): K 6 of 8, E 7 of 23, R2 14 of 17, RC 6 of 10. The contrast between the evidence review and the other two survives; the recheck moves up.
  • The origin search. Literal and post hoc, as labelled; its two misattributions (section 1) are the limit it names, a passage reworded during a round reads as written then.
  • The replays' confound. The record says the list of prompts postdates the corrections and that V0 removes it. The whole reader-review design postdates them too: notes/reader-review.md was created in c480bb0, the commit that carried the keeper's LH012 corrections, after both keeper readings. So V0 removes the explicit hindsight, not all of it, and the variant comparison tests structure against checklist, not hindsight against none. One draw per run, as the record says.
  • Same family. Stated in the brief, the record and the About page; it applies to me.

The Answer claims what the evidence supports, at the certainty it states, once the four items in section 1 are corrected. Lesson 5's "every correction of a released claim in the frames traces to it" says more than Finding 7, which counts 18 made by the keeper's reading or the work it commissioned and 17 by other steps in the rounds those readings opened, three of them (P4-18, P4-19, P4-20) the rehearsal's own catches in released text the keeper had not flagged; "traces to it or to the rounds it opened" is what Finding 7 supports. Lesson 4's "moved three public figures by correcting two rules" counts P6-04, which is the sentence reporting the check's own result, as a moved figure; two figures moved. Absolutes and their windows: "All 8", "every A-tier change", "every correction ... in both frames" carry theirs; the litellm "none held it" does not (section 4).

6. The procedure changes and the surfaces

Each change follows from a count in the record: AGENTS.md step 2 from Findings 2, 3 and 13; step 4's fresh reader from Finding 5 (8 of 10, 6 of 7); the Evidence paragraph's test-naming rule from Finding 8 (twelve readings without a test, H-22 on a public surface unlabelled); the "Open question" bullet from Next and issues #21 to #23; notes/reader-review.md's recheck sentence, log paragraph (4 and 1 of which 1, 5 and 6 of which 4, 8 and 3 of which 3 agree with origin_check.txt, with P6-29's caveat) and replay section from Findings 5 and 12; programme.md's answer, checkpoint and post hoc paragraph from the record. AGENTS.md step 2's "by the reader-and-inference review before it" covers R2's P4 rows, which came after LH012's release, in the rehearsal; a summary, and I leave it.

Certainty across surfaces: programme.md's LH016 answer says "Every correction of a released claim in the frames came from the keeper's reading or work the keeper commissioned", which drops the record's "or in the rounds those readings opened" and so states the claim more firmly than the record and than the About page's "began with". Otherwise the four surfaces agree with the record and one another.

The About page, sentence by sentence: the second review since 29 September, its reader-first design and its question (notes/reader-review.md, stages 1 and 2) hold; "Whatever is rewritten in answer to either review is read again by a fresh agent before release" is AGENTS.md step 4 as now written; "every correction we have made to what a released piece claimed began with that reading or with work the keeper asked for" holds by Finding 7 across both frames, with the rounds opened by those readings counted as beginning with them; the link to the record resolves. One thing a reader of the page cannot see: the record it links to is version 0.1 under this review.

7. House style

No em or en dash in any file the round changed (checked over the whole diff; the minus signs in the replay notes' figures are the reviewers' own). No American spelling found in the changed prose (a list of the usual words, by grep). Every figure's source is named except the replay costs (section 1).

8. What I changed and kept

Changed in the working tree: nothing. Every fix I would make touches a figure, a claim or a lesson, so each is proposed below for the driving session. Kept: studies/LH016/review/r0023_checks.py and r0023_checks.txt. Not checked: the transcripts the record reads for what stage 1 and the second coder opened; the replay costs; the keeper's words, which are not in the repository.

Verdict

What must be fixed:

  1. Four of six, not six. Answer, research-steps paragraph: "six literature checks changed designs" to "four of the six literature checks changed designs". Finding 10's first sentence to "Four of the six literature checks recorded changed designs: ..." (data/research_steps.csv, §6).
  2. The header and Method must say what X2 read. Instruments line: "no web page, download count, account or key, except that replay X2 read ClickPy's by-version table four times, anonymously, at 19:52 UTC (review/replay-X2/x2_requery.txt, x2_requery_data/)"; the same in Method's replay sentence and Finding 12 beside X2's points; a dated amendment 4 recording that the brief's "no download count" was not kept by that run.
  3. The recheck's 8, stated as counted. Finding 5: "8 corrected text that was not there: 6 sentences stage 2's resolution had introduced (P5-15, P5-16, P5-18, P6-30, P6-31, P4-24), one it had reworded without removing the draft's ambiguity (P5-20) and one written partly in the corrections after the blind check and partly in the resolution (P6-29), by the first coder's comments; in four of the eight (P5-15, P5-16, P5-18, P6-31) a new reading was stated more surely than its evidence or without its label". The Answer's "text that stage 2's resolution had written minutes before, most often a new reading ..." to "text written minutes before in response to a review, six of the eight by stage 2's resolution, half of them a new reading stated more surely than its evidence or without its label"; the same on programme.md's LH016 answer ("text stage 2's resolution had just written") and in notes/reader-review.md's "After the review" sentence and log paragraph. AGENTS.md step 4 stands.
  4. The keeper's share of the corrections, at one certainty. programme.md's LH016 answer: "Every correction of a released claim in the frames came from the keeper's reading or work the keeper commissioned, directly or in the rounds those readings opened". Lesson 5: "every correction of a released claim in the frames traces to it or to the rounds it opened (Finding 7)".
  5. Finding 7's ten. "10 on LH010's piece from the reanalysis" to "9 on LH010's piece and 1 on the later-evidence line LH009's piece carried, from the reanalysis" (§3).
  6. A source for the replay costs. Three rows in data/costs.csv (round X, steps X1 to X3, with the transcript pricing they came from), or a sentence in Finding 12 naming it.

Should be fixed, not blocking: (a) the K12-6 score, section 3, resolved either way and the disagreement noted in replay_scores.csv or Finding 12; (b) Finding 4's "by the evidence review in 11" to "by an evidence review in 15 (the release review in 11, R-0016 or R-0017 in the four P4 rows)"; (c) the Answer's "none held it" to "none was at half on any later day of the 30 read"; (d) Finding 12 or Limits: the reader review's whole design postdates the corrections, so V0 removes the explicit list only; (e) Limits, "One coder's judgement": the sample tests how rows were coded, not whether every change was rowed; (f) Lesson 4: "made three public-claim changes, two of them figures moved by correcting two rules"; (g) Finding 12: say once that the day-2 and day-30 shares are at-or-newer shares; (h) Lesson 1: that the split is tested by replay for the reader review only.

Resolution, by the driving session

Made on 29 September 2026 and committed at 20:22 UTC (1c3133a), before release; each changed passage then went to a fresh agent for one recheck (below).

  1. Four of six: done in the Answer and Finding 10 ("Four of the six literature checks recorded changed designs ...; the other two recorded none").
  2. What X2 read: done in the record's header ("no download count, except four anonymous reads ..."), Method, Finding 12 and Limits, and as amendment 4 in studies/LH016/amendments.md. None of the three days on which it read lies in LH013's weeks.
  3. The recheck's 8: Finding 5 now gives the six sentences the resolution introduced, P5-20 and P6-29 as you describe, and the four of eight where a new reading was stated more surely than its evidence or without its label; the Answer, programme.md's LH016 answer and notes/reader-review.md's sentence and log paragraph say "text written minutes before in response to a review, six of the eight sentences stage 2's resolution had introduced". AGENTS.md step 4 unchanged, as you advised.
  4. The keeper's share: programme.md's LH016 answer and Lesson 5 now add "directly or in the rounds those readings opened" and "or to the rounds it opened".
  5. Finding 7: "10 from the reanalysis ..., 9 on LH010's piece and 1 on the 'Later evidence' line LH009's piece carried".
  6. Replay costs: three rows added to data/costs.csv (round X), and Finding 12 names the source (harbour/hb tokens --agent on each run's transcript).

Should-fix: (a) K12-6 rescored partly in review/replay_scores.csv, with your disagreement in its comment; the totals are now 5 found, 7 in part, 4 missed, in the record, programme.md and notes/reader-review.md; (b) Finding 4 as you proposed; (c) "none was at half on any later day of the 30 read" in the Answer, Finding 12 and programme.md; (d) Limits' replays bullet says the whole design postdates the corrections; (e) Limits' coder bullet says the sample tests how rows were coded, not whether every change was rowed; (f) Lesson 4 as you proposed; (g) Finding 12 and the Answer say the shares count the version and any newer; (h) Lesson 1 says the replays test the split for the reader review only. The driving session also changed AGENTS.md step 2's "was changed by" to "was changed mostly by", since the evidence review made 4 of the 22 changes of meaning (Finding 3). No disagreement remains.

Recheck

date: 29 September 2026 rechecker: a fresh Lighthouse review subagent on Fable 5.1 (claude-fable-5-1, as its harness reports), given this note, the diff of the changed passages and the retained files they cite, for one recheck; nothing committed grounded at: ebe6a49 on claude/fervent-mccarthy-mjyebc (1c3133a, 20:22:34 UTC, carries the resolution; ebe6a49, 20:22:49 UTC, the two corrected times); the changed passages are git diff --word-diff=plain 7b59f56 ebe6a49 on studies/LH016/LH016.md, amendments.md, data/costs.csv, review/replay_scores.csv, programme.md, notes/reader-review.md and AGENTS.md read: the diff whole; data/changes.csv (the 18 rows the new wording cites), changes_secondary.csv (S-03, S-11), tally.txt, origin_check.txt, research_steps.csv and costs.csv; review/replay_scores.csv, replay-X2.md, replay-X3.md, x2_requery.txt and x2_requery.py with the four file names in x2_requery_data/, driver_check_litellm.txt, driver_check_drift.txt and r0023_checks.txt; the replay task texts; studies/LH013/brief.md's weeks; notes/reader-review.md, about.md and the three commit messages whole; the record whole. Nothing under harbour/.session/, no key, no web request. bash studies/LH016/replay.sh reproduced all five outputs with the three X rows in costs.csv (scripts/tally.py reads only the P rounds' rows) and left the working tree unchanged.

The must-fix items

  1. Four of six. Done. The Answer's "four of the six literature checks changed designs, and none is recorded as changing an outcome" and Finding 10's "Four of the six literature checks recorded changed designs ...; the other two recorded none" match data/research_steps.csv: Q-05, Q-08, Q-09 and Q-10 record a design change, Q-06 and Q-07 none, and touched_outcome is yes for none of the six.
  2. What X2 read. Done in the header, Method, Finding 12 and Limits and as amendment 4, and supported by review/replay-X2/x2_requery.txt: four reads at 19:52:55 and 19:52:56 UTC on 29 September 2026, as the public demo user with no key (x2_requery.py), of litellm on 4 June and 15 September 2026 and of boto3 and botocore on 12 August 2026, made in stage 2 by X2's note, which rests its litellm and boto3 points partly on them. None of those dates lies in LH013's weeks, 28 September to 11 October 2026 (studies/LH013/brief.md). One figure in the new text does not hold: the four reads fall on three calendar days, 12 August being read twice, and Finding 12 ("for four days in June, August and September 2026"), the Limits' replays bullet ("four days of download counts"), amendment 4 ("None of the four days lies in LH013's weeks") and item 2 of the Resolution above say four days. The header's "four anonymous reads ... for days in June, August and September 2026" holds.
  3. The recheck's 8. Done, and the first coder's comments in data/changes.csv support each part: the six sentences stage 2's resolution introduced (P4-24, P5-15, P5-16, P5-18, P6-30, P6-31; the comments read "Selection rule of the 172 introduced by R2", "R2's clause", "Sentence introduced by R2 (P6-24)", "An absolute introduced by R2"), P5-20 ("The draft's '39 of 50 libraries ranked 51 to 500' had the same ambiguity; R2 reworded it without fixing it") and P6-29 ("The short form's wording dates from the corrections window; README's 'of all the recipes' was new in R2"); origin_check.txt lists exactly those eight of the recheck's ten as written during the round. The four surfaces agree: the record's Answer, programme.md's answer and notes/reader-review.md's "After the review" say "text written minutes before in response to a review, six of the eight sentences stage 2's resolution had introduced", and AGENTS.md step 4 stands at "text written minutes before in response to a review". The log paragraph's 4 and 1 of which 1, 5 and 6 of which 4, and 8 and 3 of which 3, one of the three partly from the corrections after the blind check, match changes.csv (RC's A rows P4-24; P5-15 to P5-18, P5-20, P5-21; P6-29 to P6-31) and origin_check.txt. On the "half of the eight", see (b) below.
  4. The keeper's share. Done: programme.md's answer adds "directly or in the rounds those readings opened" and Lesson 5 "or to the rounds it opened (Finding 7)", so both now say what the Answer's "directly (18 of the 35 ...) or in the rounds those readings opened (the other 17)" says; tally.txt's M4 (35 corrections: K 18, E 10, R2 4, D 2, RC 1) supports it. about.md's "began with that reading or with work the keeper asked for" is unchanged and no firmer.
  5. Finding 7's ten. Done: "9 on LH010's piece and 1 on the 'Later evidence' line LH009's piece carried". Of the secondary frame's ten K rows, nine sit on articles/the-lead-was-a-few-libraries.md and S-11 on the colophon of articles/fixes-that-said-so.md, whose "Update, 27 September 2026" line amendment 1 codes as the surface that carried later evidence for LH009 (S-03); the piece cites studies/LH009, and r0023_checks.txt §3 gives the same 9 and 1.
  6. Replay costs. Done: three rows in data/costs.csv (round X, steps X1 to X3, $3.59, $4.98 and $4.82, source "harbour/hb tokens --agent on the run's transcript, 29 September 2026"), which Finding 12 and notes/reader-review.md's replay section now cite; hb tokens --agent <id> is a command harbour/hb defines. Finding 12's table, Lesson 5's "$3.59 to $4.98 each" and Method's "$13.39 ($3.59, $4.98, $4.82)" agree with the rows. The tally does not read round X, and the replay confirmed it unchanged.

The should-fix items

(a) K12-6 is now "partly" in review/replay_scores.csv, with a comment recording the driving session's "found" and the review's disagreement; by amendment 2's rule (the passage named with another fault) partly is right, since X3's problem 2 names the settling passage, the near-universal rise and "a symmetric band cannot see a one-sided drift", and not leniency where shares are small. The totals 5 found, 7 partly, 4 missed follow from the file (X1 2, 1, 2; X2 2, 2, 1; X3 1, 4, 1) and stand on the record's table and Answer, programme.md and notes/reader-review.md; Finding 12's new sentence states the disagreement as this note put it. (b) Finding 4's "by an evidence review in all 15, the release review in 11 and notes/R-0016.md or R-0017.md in the four P4 rows, and by stage 1 in 13" holds: P4-17 to P4-20 each carry E(R-0016) and E(R-0017) in passed_by and no plain E, and tally.txt's M2 gives R2 E 11, E(R-0016) 4, E(R-0017) 4, R1 13. (c) "none was at half on any later day of the 30 read" in the Answer, Finding 12 and programme.md matches driver_check_litellm.txt (0 of 2, 3, 4, 6, 12 and 12 later days read, to day 30). (d) and (e) the Limits' replays and coder bullets say what section 5 asked, and the c480bb0 claim holds: git log --diff-filter=A dates notes/reader-review.md to c480bb0 (29 September, 10:22 UTC, "Correct the latest piece to 1.1 ..."), after the keeper's revisions of 28 September (6cb9051, 21:13 UTC) and that morning. (f) Lesson 4's "three public-claim changes, two of them figures moved by correcting two classifier rules" matches the blind check's A rows: P6-01 and P6-02 are figures, moved by the brief's multi-stage rule and its missing-evidence rule, P6-04 certainty. (g) "counting it and any newer" in the Answer and "at that version or newer" in Finding 12 say what firstday_releases.csv's s2 and s30 are, and the figures beside them (339 of 355, 7.15 and 7.2 points, 3.20 by project, 31 of 32) match driver_check_drift.txt. (h) Lesson 1's added sentence is right and agrees with Next's "not planned". AGENTS.md step 2's "mostly": the group unit, cause or new reading holds 22 A-tier changes (K 5, E 4, R2 8, RC 3, D 2), 13 of them the keeper's and stage 2's, 16 with the recheck, so "mostly" holds.

The rest of the changed text

Method's spend sentence carries two placeholders, "SPEND_RECHECK" and "SPEND_TOTAL", which stand in the committed record (the recheck's spend could not be known before it ran, but the words are on a public surface). Its four other new spend figures ($11.10, $3.88, $0.97, $5.68) have the transcript pricing the sentence names as their only source; the commit messages carry no spend line, and I could not check them without opening harbour/.session/. The resolution's time, 20:22 UTC (1c3133a), is the commit's. The header's new "reviewed:" line is a key AGENTS.md's record form does not list (other records name their reviews under "cites"); harmless. grounded_at still says "amendments 1 to 3" while the instruments line cites amendment 4, which changes no figure.

Amendment 4's "as notes/reader-review.md allows" and Method's "as a reader review may" say more than the note does: its stage 2 text asks that any calculation be kept under review/ and forbids reading other notes, releases.md and commit messages, and it neither allows nor forbids a read of the download log, so "does not forbid" is what holds. Amendment 2 also says each run "is told not to run git and not to read outside that worktree"; a clause in amendment 4 saying that instruction concerned the repository's files would stop a reader taking X2's reads for a breach of it. Neither changes a figure.

On the "half of the eight a new reading stated more surely than its evidence or without its label" (the Answer, notes/reader-review.md): the phrase fits P5-15 ("says" to "suggests") and P6-31 (an absolute) exactly; P5-16 is a new reading's selection rule given without its condition and P5-18 a post hoc label placed so that a tested share read as post hoc. Finding 5 says what each of the four was, so the record does not mislead; the two summaries carry the phrase alone. "stated more surely or more broadly than its evidence, or with its label misplaced" would fit all four. The count is this note's own and the four are named, so not blocking.

Surfaces, house style, what I changed

The record, programme.md, notes/reader-review.md and AGENTS.md say the same at the same certainty on the recheck's eight, the keeper's share, the replay scores and the two problems filed; programme.md says less on the eight (no "half"), not more. No em or en dash in any added line of the diff or in this note (checked by script over the eight files, the CSVs included); no American spelling found in the added prose (the usual endings and words, by grep). Changed in the working tree: one wording slip in studies/LH016/LH016.md, Next, third bullet, "how many of the recheck's corrected the resolution's own text" to "how many of the recheck's corrected text written during the round in response to a review", which is what notes/reader-review.md's log paragraph now counts; no figure or claim changed. Nothing else edited.

What must be fixed:

  1. Replace the placeholders "SPEND_RECHECK" and "SPEND_TOTAL" in the record's Method (studies/LH016/LH016.md) with the figures, or cut that clause, before release.
  2. "Four days" to three: X2's four reads fall on 4 June, 12 August (boto3 and botocore) and 15 September 2026. Finding 12 ("for four days in June, August and September 2026"), the Limits' replays bullet ("four days of download counts"), amendment 4 ("None of the four days lies in LH013's weeks") and item 2 of the Resolution above.

After the recheck, by the driving session

Both must-fix items are done: the spend placeholders in Method are filled from the transcripts ($3.52 for this recheck; $38.55 for all of the study's subagents), and the four reads are said to fall on three days in Finding 12, Limits, amendment 4 and the resolution above. Of the points not blocking: amendment 4 and Method no longer say the read was allowed, only that the task text neither asked for nor forbade it; the Answer, Finding 5 and notes/reader-review.md now say "stated more broadly or surely than its evidence, or mislabelled", which fits all four; grounded_at names amendments 1 to 4. The header key "reviewed" is kept as a pointer to this note, and the study's spend figures rest on the transcript pricing named, as the recheck says. The recheck's own wording fix in Next is kept. The record is released at version 0.1.

From notes/R-0023.md in the repository, last changed 29 September 2026.