Skip to content

finding(check-eager-closure-budget): all THREE rows of the additivity table name a sha as "its merge" and none is on main — two are branch merges pointing the other way, and the third no longer exists at all #9493

Description

@os-try-charles

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 existGET /commits/ba20b0bc0404

⭐ 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) 1ba20b0bc0
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)

  1. 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.
  2. ba20b0bc0's four other claims (:823, :957, :1142, :1249) get the same treatment.
  3. ⛔ Do not move any ceiling, baseline or budget constant — this is a provenance repair, numbers_touched: NONE.
  4. ⚠️ 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationdomain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repofindingpm:queuepriority:p3tooling

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions