Repository navigation
Commit a3e5bfa
test(dogfood): the authz census records handleI18nRequest at 4, a docblock link; i18n.ts reach is unchanged (#26002)
<!-- claude-projects-attribution: {"github_login":"os-elon-musk"} -->
_Requested by **Elon** · [project
thread](https://claude.ai/code/project/chan_01WedDzV26nniwxv7jC88B9D?thread=cmsg_01WedDzV26nniwxv7jC88B9DXw3j5HBYvWhbrgfaK1iuue)_
Fixes #25988
Clause-②: no
Metadata-protocol: none
The claim is 6411275777 (seat `domain:devx#1`, card thread
`session_01H98bQgxPLVbpyR6Zsu6SUW`, branch
`claude/project-thread-vi44lw`, platform-assigned).
## What changes
`main`'s `Dogfood Regression Gate (3/3)` has been red on every run that
runs it since `69fa23d6` (#25956), on one assertion of the authz
blind-spot census:
```
control "handleI18nRequest" moved in packages/runtime/src/domains/i18n.ts: expected 4 to be 3
```
The census is a measurement pin, so the fourth occurrence was read
before it was recorded. One file changes:
`packages/qa/dogfood/test/authz-probe-blind-spot.census.ts`, the
`packages/runtime/src/domains/i18n.ts` row. The `handleI18nRequest`
control goes from 3 to 4, and the row's comment names the fourth
occurrence and why reach is unchanged. No other row, no total and no
derivation rule moves.
## The fourth occurrence, read
`packages/runtime/src/domains/i18n.ts` at `05f7758f` holds
`handleI18nRequest` four times:
| line | what it is | since |
|:--|:--|:--|
| 20 | file docblock, a `{@link handleI18nRequest}` | before |
| 73 | `TRANSLATIONS_CACHE_CONTROL`'s docblock, `(see the floor in
{@link handleI18nRequest})` | `69fa23d6` |
| 150 | the `DomainRoute` call site in `createI18nDomain` | before |
| 155 | `export async function handleI18nRequest(` | before |
`69fa23d6` (the translations validator, Part of #25785) added three
module-private helpers to that file (`requestHeader`, `ifNoneMatchHits`,
`translationsAnswer`) and the one constant. None of them is an `export
async function handle*Request` entry point, it added no `DomainRoute`
prefix, and it added no `shouldDenyAnonymous(` call. The anonymous floor
is still the handler's first statement. So the row's population, reach
and gate control are unchanged at 1 / 1 / 1, and the row's own
population and reach test stayed green on `main` the whole time. The
only reading that moved is the handler-name control, by a docblock link.
This is a count change, not a census row change, and nothing here needs
a new probe.
## Sweep of the rest of the census
- At this branch's base `05f7758f` the census file reads `1 failed | 46
passed` (the same i18n assertion, nothing else), and with this change
`47 passed`. So no other control, row, total or probe-table reading has
moved since `69fa23d6` or with any later merge up to `05f7758f`.
- `origin/main` has since moved to `a4eae064` (4 commits). In the
census-read source directories they touch only two test files
(`packages/runtime/src/domains/mcp-package-object-discovery.test.ts`,
`packages/runtime/src/stored-metadata-reader-contexts.pin.test.ts`), and
the census reads neither, so the reading holds there too.
## Verification
All at head `ed1c5b39`, under `scripts/pm/os-verify-lock.sh`.
- **Census before the change** (`05f7758f`, `pnpm exec vitest run
test/authz-probe-blind-spot.test.ts` in `packages/qa/dogfood`): `Tests 1
failed | 46 passed (47)`, `AssertionError: control "handleI18nRequest"
moved in packages/runtime/src/domains/i18n.ts: expected 4 to be 3`.
- **Closure build**, the CI step's command at `--concurrency=2`: `pnpm
turbo run build --filter=@objectstack/dogfood`: `Tasks: 67 successful,
67 total`, `VERDICT command-exit 0`.
- **Dogfood shard 3/3**, the CI leg's carrier and command:
`OS_TEST_SHARD=3/3 node scripts/run-with-stall-guard.mjs --log
dogfood.log --stall-minutes 10 -- pnpm turbo run test
--filter=@objectstack/dogfood`:
- `Test Files 97 passed | 2 skipped (99)`
- `Tests 990 passed | 14 skipped (1004)`
- `authz-probe-blind-spot.test.ts (47 tests)` passed inside the shard
- `VERDICT command-exit 0`
- `node scripts/check-test-completeness.mjs`: `OK (1 package(s), 1004
test(s) declared and all 1004 accounted for)`
- **`authz-conformance.test.ts` + the census** (conformance sits in
another shard, so it was run on its own): `Test Files 2 passed (2)`,
`Tests 108 passed (108)`, `VERDICT command-exit 0`.
- `pnpm --filter @objectstack/dogfood typecheck`: `VERDICT command-exit
0`.
- `pnpm exec eslint --no-inline-config` on the changed file: exit 0.
- **Derived gates.** `node scripts/pm/dispatch-gates.mjs --commands`
derives 52 families on the 1 changed path. 51 exit 0. `pnpm
check:dual-build-cjs-loads` is NOT MEASURED: it exited 3 (PREREQUISITE
NOT MET) because it needs every package's `dist/` and only the dogfood
closure was built. CI's Lint lane owns it. `dispatch-gates.mjs --ran`:
`52 derived, 51 run, 1 NOT-MEASURED, 0 UNRUN`.
- `node scripts/pm/check-governed-merges.mjs --branch HEAD`: NOT
governed, 16 changed lines.
- No changeset: `@objectstack/dogfood` is `private`, and the diff is one
test-support file. `skip-changeset` is declared with this PR.
PR and merge-group CI never run the dogfood legs, so this PR's checks
cannot show the fix. The card's acceptance is read on `main` after
landing: the first push run that runs `Dogfood Regression Gate (3/3)`,
and the next scheduled run. Both run ids will be reported on the card.
## Acceptance notes
- A docblock that links the handler by name moves this control, and so
do the nine sibling domain rows, each of which counts its own handler's
name by substring. That is the pin doing its job: it makes whoever
touches the file re-read the row. It is also why PR CI, which skips the
dogfood legs, merged the change green. Making PR or merge-group CI run
them is out of scope here. #24073 and #22653 ruled on that.
---
_Generated by [Claude
Code](https://claude.ai/code/session_01H98bQgxPLVbpyR6Zsu6SUW)_
Co-authored-by: Claude <noreply@anthropic.com>1 parent 56a2346 commit a3e5bfa
1 file changed
Lines changed: 12 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1070 | 1070 | | |
1071 | 1071 | | |
1072 | 1072 | | |
1073 | | - | |
1074 | | - | |
1075 | | - | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
1076 | 1084 | | |
1077 | 1085 | | |
1078 | 1086 | | |
| |||
1081 | 1089 | | |
1082 | 1090 | | |
1083 | 1091 | | |
1084 | | - | |
| 1092 | + | |
1085 | 1093 | | |
1086 | 1094 | | |
1087 | 1095 | | |
| |||
0 commit comments