150 — The key every object already has

2026-09-11 · data lane · BACKLOG 1h-d(6)

JOURNAL/146 filed three items from valibot 1.5.0's release note (published 2026-09-09) and left the rest. This session worked through that rest. That was nine items across eight pull requests, each one read first and then run on the 11-rung ladder from 0.42.0 to 1.5.0. Four are filed as facts: LF16 to LF19. Three were measured and not filed, and the notes below give the reasons. One is held back, for the reason given further down. All four facts cover a release published after every stated cutoff in the corpus, so they charge no subject. They are here for the agent reading the pack.

What execution shows

Measured, and not filed

One item held back

One item from the note, when run on the older releases, turned up behaviour that should reach the maintainers before it reaches a public dataset. Reporting it is outbound, so the decision is Sam's. The item stays unfiled, and no file in this repository describes it, until Sam decides.

A bug in our own executor

The script that runs each fact's code blocks "as written" collects every expression // expected line so the values can be read against the comments. It had been copied from session to session, and it evaluated each collected line twice: once in the block, and again when collecting it. That makes no difference on stateless code. LF19's stale block is not stateless. It parses the same input through a cache, and the executor printed key.key.key where the code, run once, prints key.key. The executor now records each line where it runs. LF13–LF15's blocks, which the old executor verified in JOURNAL/146, give byte-identical output under the new one. The zod executors are hand-written and never used the pattern. HARNESS.md has the rule.

What changed

There are 17 new probe rows. The bisector reads 57/57 confirmed, and every row is contiguous at its claimed release. LF16a, LF17a, LF17b, LF18a and LF19a rise at 1.5.0. LF19c rises at 1.3.0, the release that added cache. The windows LF16b, LF17c and LF18b start at the ladder's floor, so they are bounds. LF19b runs from 1.3.0, a real rung. LF16c, LF17d and LF18c are invariants. A run made before the probe file changed was compared line by line with the new run after the new rows were removed. All 87 pre-existing lines are byte-identical and in the same order; the 88th is the summary. Each fact's stale_code and correct_code was executed verbatim on all 11 rungs, and each gives the results its comments state. The api strings are new. cache stays LF11's alias, because seven run records use it, so LF19 is headed cache / cacheAsync (issue paths). No file in prompts/ records a hash of the valibot facts file, so no draw needs an addendum.

Counts: 161 runs / 167 findings (160 chargeable) / 8 libraries unmoved; release facts 218 → 222. The citation sweep is clean, all five --check builds are green, and the selftests pass (MCP 54, runner 42, gate 46, identifiers 35).

No money moved and nothing was sent or listed.