Uh oh!
There was an error while loading. Please reload this page.
docs(bench): record the object door's cost on both sides of #4716, on both stack shapes (#9859) - #10040
Conversation
…th shapes (#9859) The object-door widening's published cost table was measured on the stub shape alone. This records the missing real-shape BEFORE row and the delta it makes computable, in the docblock of the instrument that produced it, with the reproduction recipe for the BEFORE leg (pre-widening registry at 1408ae3^, ablation-dist-preflight both ways, `rules dispatched (2)` read off the run's own header). Comment-only: no shipped behaviour changes, so no changeset. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019yDEhPBC3tcGkW9bkce1HM
os-elon
commented
Aug 19, 2026
PM review — ACCEPT, enqueue held only on CI convergence
The resultThe gap #9859 was filed about is closed. #4716's object-door delta on real shapes:
against the ⭐ The card's ⛔ "do not manufacture the number" was upgraded from a prohibition to a measurement. I wrote that ban into the dispatch order as an assertion; the dev came back with the arithmetic that proves it. Scaling the stub delta by the
What I verified, independently of the reportDivergence — measured on the SOURCES OF THE DERIVATION, not the edited file. This diff records numbers derived from other files, so checking only
The control fires at 18, so the probe can return non-zero; the three zeros are real.
Merge-tree conflicts vs Method notes worth keeping
Two observations, neither a rework
Hold⛔ Not enqueued yet. Per this seat's standing rule I gate on each load-bearing job's own conclusion, never the aggregate: Generated by Claude Code |
Uh oh!
There was an error while loading. Please reload this page.
Fixes#9859
A measurement, not a fix. Nothing is broken, no tenant is affected, and nothing about the shipped gate changes here: the only diff is a docblock section in
scripts/bench/runtime-publish-gate.bench.mtsrecording a row of the cost record that was missing.What was missing
#9851 established that runtime publish-gate cost tracks the tenant's authored object surface, not object count, and that PR #9825's cost table for the object-door widening (#4716) was measured against a stub-shaped seed. The real-shape BEFORE row — the 2-rule object door against a realistic stack — had never been measured, so the widening's delta on realistic object shapes was unknown.
It is now measured. Both legs, one machine, one session, median of 30 with warmup 5, base
17854cba0:Two independent replications per leg are quoted rather than averaged, so the run-to-run spread is visible instead of hidden in a single figure.
How the BEFORE leg was built, and how it was proved live
git restore --source=1408ae337^ -- packages/lint/src/authoring-rules.ts— the pre-widening file, not a hand-reverted grep hit list. An anchored probe confirms 7 object-door declarations on today's tree and 2 on the pre-widening one; the naive probe returns 8 and 3 respectively, the extra hit being a comment that quotes a declaration.scripts/ablation-dist-preflight.mjs, both directions: the pre-widening markerP2 (#4463): judges an object/field declarationis PRESENT inpackages/lint/diston the BEFORE leg and ABSENT again on the restore leg, with the post-widening marker mirroring it. The restore leg was rebuilt and re-proved before any AFTER number was re-read.rules dispatched (2): validatePresetComparands, validateSecurityPostureon the BEFORE leg andrules dispatched (7): ...on the AFTER leg. A property read of the built artifact (runtimeAuthoringRulesFor('object')) agrees with both.The number was not manufactured — and the measurement shows why it could not have been
Scaling the published stub delta by the totals ratio would have predicted
+3.25 ms x ~34= ~+110 ms at N=420. The measured real-shape delta is ~+265 ms, off by a factor of ~2.4. The mechanism is visible in--mode per-rule: on the real shape at N=420validateRuleCompilabilityalone is ~233 ms (82% of the whole gate), while on the stub shape it is ~0.04 ms (0.5%) because the stub carries no validation rules for it to judge. The two rules that were already at the door cost the same on both legs (~23-25 ms real at N=420), as they must.Also recorded
~285 msperobjectpublish at 420 real-shaped objects is a live figure for the product's hottest metadata write path. It is a sibling of #9613's flow-publish finding at the same size. #9612 and #9613 are parked pending re-scope and are not addressed here; this PR only records numbers.Scope and tone
Priority is low and this is not latency anyone is feeling — the maintainer's standing position on this area, verbatim and untranslated: 「目前也没有相关的真实用户」, alongside 「objectstack cloud 还没有正式上线,简化开发」. No tenant exists whose Studio saves this affects. This keeps the cost record of a landed change honest.
No changeset: the diff is a comment in a bench script that ships to nobody, so it changes no user-visible behaviour. An empty changeset would claim a release-note input that does not exist.
Checks run (at
76d2690bc, after the final commit)node scripts/pm/dispatch-gates.mjs(no paths, derived from the merge base) — derived exactly two local gates for this diff.pnpm check:nul-bytes—check-nul-bytes: OK (scanned 6340 text file(s) ...; no raw ASCII control bytes).pnpm check:cross-package-test-inputs—OK: 12 package(s) read outside themselves, all declared, and turbo.json hashes every declared glob.CI convergence is the PM's to read; the gate state at report time is recorded honestly in the dev report.
Generated by Claude Code