Repository navigation
test(dogfood): the authz census and the matrix docblock read the runtime route ledger as the 92 rows it holds - #24069
Conversation
… 92 rows it holds The route-ledger census row and the population-source docblock read packages/runtime/src/route-ledger.ts as 88 rows. The ledger has held 92 since the GET, PUT, PATCH and DELETE /keys rows arrived with their mounts. Each new row carries the existing domain '/keys', so population and reachable both move 88 -> 92, blindSpot stays 0, keys stays 23, and the "route: '" / "domain: '" controls move 88 -> 92 (RouteLedgerEntry unchanged at 2). Every figure was measured on the ledger with the census's own rule. Claude-Session: https://claude.ai/code/session_018t6a5rvqPRvEDMCVVW9kYT Co-authored-by: Claude <noreply@anthropic.com>
… 92 rows The docblock figure the matrix docblock-figure pin reads still said `packages/runtime/src/route-ledger.ts` (88 rows / 23 domains). The ledger has held 92 rows over the same 23 domains since the GET, PUT, PATCH and DELETE /keys rows arrived, so the pin's two present-tense tests were red on main. One figure moves 88 -> 92; nothing else in the file changes. Claude-Session: https://claude.ai/code/session_018t6a5rvqPRvEDMCVVW9kYT Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift CheckNothing in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 0 changed package(s)), so this run has no opinion about the docs. What this run could not see
Coarse fallback — 0 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
席位核对ACCEPT · #24056 ·
Noted, filed by this seat in its next filing window: Noted, not filed: the census population-source paragraph still says "82 audited rows" for Landing: Generated by Claude Code |
Fixes #24056
Clause-②: no
Basis for the Clause-② line: a test-only change to a private package (
@objectstack/dogfood). No request, schema or published text changes.No changeset:
@objectstack/dogfoodis private and the diff is test-only, so this PR takesskip-changeset(the seat writes the label).What changed
Two pins in
packages/qa/dogfoodstill readpackages/runtime/src/route-ledger.tsas 88 rows. The ledger has held 92 rows since PR #24009 (for #23909) ledgered theGET,PUT,PATCHandDELETE /keysmounts.main'sDogfood Regression Gatehas been red on shards 1/3 and 3/3 since then. The ledger is right; the pins follow it.packages/runtime/src/route-ledger.tsis unchanged.test/authz-probe-blind-spot.census.ts, the route-ledger row:populationandreachablemove 88 -> 92, andblindSpotstays 0. The"route: '"and"domain: '"controls move 88 -> 92, andRouteLedgerEntrystays at 2.keysstays 23. One dated history comment in the row's own style says which four rows arrived. The population-source docblock line in the same file moves to "92 rows over 23 domains".test/authz-conformance.matrix.ts:28: the one figure the docblock-figure pin inauthz-conformance.test.tsreads,(88 rows / 23->(92 rows / 23. Nothing else in the file changes.Every figure was measured on the ledger at base
905f57bc7with the census's own rule (the scopedROUTE_LEDGERtable): 92route: ', 92domain: ', 23 distinct domains and 5 rows carryingdomain: '/keys'(the existingPOST /keysrow plus the four new ones), so all four new rows are reachable through an existing key. Whole-file controls: 92 / 92 / 2.Which figures the checker reads
The docblock-figure pin (
checkFoldedDocblockFiguresinauthz-conformance.test.ts) reads onlyauthz-conformance.matrix.ts. It folds the comment continuations, then reads the backticked ledger path followed by(N rows / M families|domains), one per ledger:packages/rest/src/rest-route-ledger.ts(81 rows / 18 families, already correct) andpackages/runtime/src/route-ledger.ts(was 88 rows / 23 domains). It reads nothing in the census file. The census test reads the row's numeric fields, not its prose.Verification
All runs went through
scripts/pm/os-verify-lock.sh. The closure was built withpnpm exec turbo run build --filter='@objectstack/dogfood^...' --concurrency=2: VERDICT command-exit 0, 65 of 65 tasks.Command:
pnpm --filter @objectstack/dogfood exec vitest run --maxWorkers=2 test/authz-conformance.test.ts test/authz-probe-blind-spot.test.ts905f57bc7Tests 4 failed | 104 passed (108): exactly the four tests named on the card, and nothing else red in either file86ed87210(census row only)Tests 2 failed | 106 passed (108): only the two docblock-figure tests remain3888a39e7Test Files 2 passed (2),Tests 108 passed (108)Ablations, one per changed figure. Each went through
node scripts/ablation-replace.mjs(WRAP mode: the anchor must hit, the write and the restore are proven on disk):population: 92,->population: 88,(anchor x1 -> x0, blob9841799b7a20->0816269a58bc):authz-probe-blind-spot.test.tsgaveTests 1 failed | 46 passed (47)on "packages/runtime/src/route-ledger.ts — population, reach and blind spot are unchanged",expected 92 to be 88. Restored: blob == HEAD9841799b7a20,git diff HEADempty.(92 rows / 23->(88 rows / 23at head3888a39e7(anchor x1 -> x0, blobc5d3442b8a73->97d165b1593b):authz-conformance.test.ts(61 tests, 2 failed) red on "every figure the docblock states equals what its ledger holds TODAY" and "the anchor is the PATH, ..." (docblock says 88 rows, the table holds 92).authz-probe-blind-spot.test.tsstayed green (47 / 47). Restored: blob == HEADc5d3442b8a73,git diff HEADempty.Both ablations went red, the predicted direction. No
dist/is on the path, because the tests import these modules by relative path.Other local readings at head
3888a39e7:pnpm --filter @objectstack/dogfood exec tsc --noEmit --listFilesgave VERDICT command-exit 0, with both changed files in the program.pnpm exec eslint --no-inline-configover both changed files exited 0, with no output. A control-byte grep over both files found none.node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack(2 paths vs merge base905f57bc7) derived 47 commands, all run at3888a39e7, each exit captured before any pipe. 46 exited 0.pnpm check:dual-build-cjs-loadsexited 3, PREREQUISITE NOT MET: 8 packages outside the dogfood closure have nodist/, so it is NOT MEASURED locally (CI builds the whole tree). The--ranreconciliation exited 0: "47 derived, 46 run, 1 NOT-MEASURED, 0 UNRUN".origin/mainmoved 3 commits past the base while this was open (tob1d5569d9). None of them touches the two dogfood test files, the census, the matrix orroute-ledger.ts, and the one runtime file among them has no reader inpackages/qa/dogfood. No merge.main's push battery: thedogfoodjob inci.ymlis skipped forpull_requestandmerge_groupevents. This PR's check-runs therefore cannot show them; the local readings above are the evidence, and the nextmainbattery'sDogfood Regression Gate(1/3) and (3/3) is the confirmation.Acceptance notes
authz-probe-blind-spot.census.tsaround:103–:114) still sayspackages/rest/src/rest-route-ledger.ts: 82 audited rows over 18 families, whileREST_ROUTE_LEDGERholds 81 rows / 18 families at905f57bc7(the census row itself records 81). Its "290 rows in total" was not re-measured. No checker reads either figure, and both are outside this card's surface, so they are left as they are. carrier: none.packages/rest/src/rest-server.ts(13,701 lines, 70 commits in 30 days) along itsregister*Endpointsseams, one move-only slice per PR,/metaafter #22877 stage 2 #23050, and PR refactor(rest): move registerFormEndpoints into form-routes.ts (#23050 slice 11) #24054 (its slice 11) edits other rows of the same census andauthz-conformance.test.ts, notauthz-conformance.matrix.ts.Generated by Claude Code