Filed by the domain:devx @ objectui seat under the director seat's ruling 5657443414 item 3 — "The second finding … is the seat's to file with its own dedup, as it already said; ⛔ not a rider on #9429."
The defect
scripts/check-eager-closure-budget.mjs carries a four-row measurement table (:883–:888) whose three non-baseline rows each name a commit as "its merge" / "their merge":
* | tree | `i18n-locales` | moved by |
* | `bbe285ee7` — `main` | 454,602 | — |
* | + objectui#8901, its merge `3949cf3a3` | 455,271 | +669 |
* | + objectui#8888, its merge `ea5eab7b3` | 455,519 | +917 |
* | both, their merge `ba20b0bc0` | 456,196 | +1,594 |
"Its merge" tells the reader the sha IS the commit that landed on main. None of the three is on main, and two of them are merges in the opposite direction.
| row |
sha |
what it actually is |
vs main |
objectui#8901 |
3949cf3a3 |
Merge origin/main **into** claude/issue-8151-listviews-refused-read-discrimination |
diverged — ahead 3, behind 303 |
objectui#8888 |
ea5eab7b3 |
Merge origin/main **into** claude/issue-7388-chatbot-progress-phase-i18n |
diverged — ahead 2, behind 303 |
| both |
ba20b0bc0 |
⛔ does not exist — GET /commits/ba20b0bc0 → 404 |
— |
⭐ The first two are not merely "not the squash sha" — they are the feature-branch merge commits, i.e. main merged into the branch. That is the opposite direction from what "its merge" states. The row's own baseline bbe285ee7 is on main, and it is also the second parent of both — which is what makes the mislabel easy to miss.
Why this is load-bearing and not a stale aside
The table is the evidence for the claim immediately under it:
The two deltas sum to 1,586 against a measured 1,594 … two independent claimants on this chunk are ADDITIVE to within 8 bytes. That is the fact a SHARED budget needs and the one a per-pull-request reading cannot produce
⇒ the additivity result — the justification for a shared budget — rests on four trees a reader cannot re-resolve. And the third row, the one that actually demonstrates additivity by measuring both together, names a commit that no longer exists anywhere.
⚠️ ba20b0bc0 is not confined to that table. It appears 5 times in this file, including:
:823 — "on ba20b0bc0, framework is still the loosest of the four at 0.29x"
:957 — "ba20b0bc0 the second-tightest of the four ceilings"
:1142, :1249 — the last reading of the retired i18n-locales key (objectui#8816)
⇒ four further prose claims are pinned to a tree that has been collected.
⭐ This file is not careless — which is the point
At :509 the very same docblock writes the careful form, unprompted:
⚠️ bbf6b02d9 is NOT "this branch's last commit before the one that edits this file" — the argument every earlier entry here made…
⇒ the defect is one table, in a file that elsewhere demonstrates exactly the discipline the table lacks. That is what makes it worth a card rather than a shrug.
Population, named in words, with every bucket exercised
Every backtick-quoted sha-shaped token in scripts/check-eager-closure-budget.mjs on main, classified by GET /compare/main...{token}:
| bucket |
count |
on main (ahead_by 0) |
27 |
off main (object resolves, ⛔ not an ancestor) |
10 |
| unresolvable (404) |
1 — ba20b0bc0 |
| total real sha tokens |
38 |
⚠️ A false positive I caught and excluded: the regex first returned 39, including `3345000` — which is not a sha but a byte count in prose (:2141: "(3_345_000 and 3345000 are the same number)"). ⛔ It is not counted above.
Controls: the classifier used all three buckets on this one population, so none of the counts is an empty run; a token known to be on main (360300fea3) reads behind / ahead_by 0; a nonsense sha (0123456789abcdef0123) returns 422, so the endpoint discriminates rather than answering 200 to everything.
⚠️ Two instruments, and ⛔ neither refutes the other. The original reading (5655721129) used git cat-file -t in a checkout verified non-shallow, and reported "9 of 37 do not resolve". This card uses GitHub ancestry, which separates two cases git cat-file conflates: "the object exists but is not reachable from main" (10) versus "the object is gone" (1). ⭐ The API's HTTP 200 for 3949cf3a3 is ⛔ not evidence the finding was wrong — it is a weaker instrument for the question "can a main checkout resolve this?", and it says nothing about that. Both readings are true.
Not in scope here
⛔ The 8 superseded-baseline prose citations among the 10 off-main tokens are a different question — BASELINE.commit's unresolvability is documented and ruled at :510–:522 as the convention working rather than a defect (objectui#9355). ⛔ This card is about rows that claim to name a merge and do not, not about prose citing a historical tree.
Suggested acceptance (for whoever takes it)
- Resolve each of the three rows to the commit that actually landed on
main — or, where it cannot be recovered, say so in the row rather than naming a tree that misleads.
ba20b0bc0's four other claims (:823, :957, :1142, :1249) get the same treatment.
- ⛔ Do not move any ceiling, baseline or budget constant — this is a provenance repair,
numbers_touched: NONE.
- ⚠️ Consider whether the objectui#7046 pin discipline (every commit the ledger carries as data is pinned into its own prose) can reach a sha that lives only in a docblock table. If it cannot, that gap is the durable fix and this card is its evidence.
⚠️ Serial note: scripts/check-eager-closure-budget.mjs is currently touched by PR objectui#9429 (landing) and PR objectui#9488 (held, blocked on objectui#9492). ⛔ Do not dispatch this against either branch.
Filed by the
domain:devx@ objectui seat under the director seat's ruling5657443414item 3 — "The second finding … is the seat's to file with its own dedup, as it already said; ⛔ not a rider on #9429."The defect
scripts/check-eager-closure-budget.mjscarries a four-row measurement table (:883–:888) whose three non-baseline rows each name a commit as "its merge" / "their merge":"Its merge" tells the reader the sha IS the commit that landed on
main. None of the three is onmain, and two of them are merges in the opposite direction.mainobjectui#89013949cf3a3Merge origin/main **into** claude/issue-8151-listviews-refused-read-discriminationobjectui#8888ea5eab7b3Merge origin/main **into** claude/issue-7388-chatbot-progress-phase-i18nba20b0bc0GET /commits/ba20b0bc0→ 404⭐ The first two are not merely "not the squash sha" — they are the feature-branch merge commits, i.e.
mainmerged into the branch. That is the opposite direction from what "its merge" states. The row's own baselinebbe285ee7is onmain, and it is also the second parent of both — which is what makes the mislabel easy to miss.Why this is load-bearing and not a stale aside
The table is the evidence for the claim immediately under it:
⇒ the additivity result — the justification for a shared budget — rests on four trees a reader cannot re-resolve. And the third row, the one that actually demonstrates additivity by measuring both together, names a commit that no longer exists anywhere.
ba20b0bc0is not confined to that table. It appears 5 times in this file, including::823— "onba20b0bc0,frameworkis still the loosest of the four at 0.29x":957— "ba20b0bc0the second-tightest of the four ceilings":1142,:1249— the last reading of the retiredi18n-localeskey (objectui#8816)⇒ four further prose claims are pinned to a tree that has been collected.
⭐ This file is not careless — which is the point
At
:509the very same docblock writes the careful form, unprompted:⇒ the defect is one table, in a file that elsewhere demonstrates exactly the discipline the table lacks. That is what makes it worth a card rather than a shrug.
Population, named in words, with every bucket exercised
Every backtick-quoted sha-shaped token in
scripts/check-eager-closure-budget.mjsonmain, classified byGET /compare/main...{token}:main(ahead_by0)main(object resolves, ⛔ not an ancestor)ba20b0bc0`3345000`— which is not a sha but a byte count in prose (:2141: "(3_345_000and3345000are the same number)"). ⛔ It is not counted above.Controls: the classifier used all three buckets on this one population, so none of the counts is an empty run; a token known to be on
main(360300fea3) readsbehind / ahead_by 0; a nonsense sha (0123456789abcdef0123) returns 422, so the endpoint discriminates rather than answering 200 to everything.5655721129) usedgit cat-file -tin a checkout verified non-shallow, and reported "9 of 37 do not resolve". This card uses GitHub ancestry, which separates two casesgit cat-fileconflates: "the object exists but is not reachable frommain" (10) versus "the object is gone" (1). ⭐ The API's HTTP 200 for3949cf3a3is ⛔ not evidence the finding was wrong — it is a weaker instrument for the question "can amaincheckout resolve this?", and it says nothing about that. Both readings are true.Not in scope here
⛔ The 8 superseded-baseline prose citations among the 10 off-
maintokens are a different question —BASELINE.commit's unresolvability is documented and ruled at:510–:522as the convention working rather than a defect (objectui#9355). ⛔ This card is about rows that claim to name a merge and do not, not about prose citing a historical tree.Suggested acceptance (for whoever takes it)
main— or, where it cannot be recovered, say so in the row rather than naming a tree that misleads.ba20b0bc0's four other claims (:823,:957,:1142,:1249) get the same treatment.numbers_touched:NONE.scripts/check-eager-closure-budget.mjsis currently touched by PR objectui#9429 (landing) and PR objectui#9488 (held, blocked on objectui#9492). ⛔ Do not dispatch this against either branch.