Repository navigation
Commit 2808438
test(dogfood): the two view resets drop the ?package= the reset door never read (#23105)
Fixes #23084
Clause-②: no
## What changes
`packages/qa/dogfood/test/view-container-cross-package-default.dogfood.test.ts`,
two lines: the two view resets drop the `?package=${REPAIR}` the reset
door never read.
- `:174` `DELETE /meta/view/os_qa_shadow_probe?package=${REPAIR}`
becomes `DELETE /meta/view/os_qa_shadow_probe`
- `:228` `DELETE /meta/view/os_qa_keyed_probe?package=${REPAIR}` becomes
`DELETE /meta/view/os_qa_keyed_probe`
Nothing else moves. The two `PUT` saves (`:149`, `:203`) keep their
`?package=`, because the save door reads it. The closed query set in
`packages/rest/src/rest-server.ts` is not widened. No changeset:
`@objectstack/dogfood` is private and publishes nothing.
## Why (triage ruling 6131531682, applied as ruled)
- The hourly full run has been red on `Dogfood Regression Gate (1/3)`
since `038d4c9588` (PR #23070). That PR gave `DELETE
{metaPath}/:type/:name` its closed query set, `META_ITEM_RESET_PARAMS =
['state', 'dropStorage', member]` (`rest-server.ts:744`, refused at
`:7346`), as route rule 5 asks. `package` is not in it, so these two
test calls now get a correct located 400.
- The reset handler never read `package`. On `2d21b9c891` the handler's
only query reads are `state` (`:7348`), `dropStorage` (`:7357`) and the
member selector (`:7386`). The four helpers it calls (`resolveExecCtx`,
`walledCatalogRefusal`, `resolveProtocol`, `resolveMetaWriteActor`) read
no `req.query` at all. `DeleteMetaItemRequest` declares no package
(`protocol.lock-one-resolution.test.ts:607-608` says so). The pre-#23070
handler (`038d4c9588^`) read the same two names, `state` and
`dropStorage`, and nothing else. So dropping the parameter changes no
behaviour, because the handler already ignored it.
- `git grep` on `2d21b9c891`: these two test lines are the only places
that put `?package=` on a meta `DELETE`.
## Measured
All runs are in this container, on base `2d21b9c891` plus the fix
`a61ad11dd3`, through `scripts/pm/os-verify-lock.sh`. The dogfood
dependency closure was built first (`pnpm turbo run build
--filter=@objectstack/dogfood`, 63/63 tasks).
- **Reproduction before** (unmodified file at `2d21b9c891`): `Tests 2
failed | 2 passed (4)`. Both failures are `AssertionError: expected 400
to be 200`, at `:175:28` (steps 1-7) and `:229:28` (keyed member). This
matches the hourly run.
- **After** (`a61ad11dd3`): the same file gives `Test Files 1 passed
(1)`, `Tests 4 passed (4)`, and the lock reports `VERDICT command-exit
0`.
- **Shard 1/3** (`OS_TEST_SHARD=1/3 pnpm --filter @objectstack/dogfood
exec vitest run --maxWorkers=2`, CI's own carrier, at `a61ad11dd3`):
`Test Files 87 passed (87)`, `Tests 718 passed (718)`, and the lock
reports `VERDICT command-exit 0`.
- The 87 files match vitest 4.1.11's `BaseSequencer.shard` slice (sha1
of the root-relative path, `[0, 87)` of 259), recomputed locally. That
slice contains this file.
- **Typecheck:** `pnpm --filter @objectstack/dogfood run typecheck`
exits 0. `tsc --listFiles` counts the edited file once, so the program
does cover it.
- **Derived gates:** `dispatch-gates --commands` lists 53 commands, the
same list on `2d21b9c891`, on `a61ad11dd3` with no paths, and on current
`origin/main` `abf86554c9`. All 53 exit 0 at `a61ad11dd3`.
- `check:dual-build-cjs-loads` first exited 3 (`PREREQUISITE NOT MET`, 8
packages unbuilt). It exited 0 once those were built: `107 published
require entry point(s) across 66 package(s) load`.
- `--ran` reconciliation: `53 derived famil(ies) accounted for`.
- **Lint, proven narrowing over the one touched file:**
1. Population, read from eslint's own config: `isPathIgnored: false`,
with 5 rules enabled for the file.
2. File count, from `--format json`: 1 file, 0 errors, 0 warnings, exit
0.
3. Invariance: the resolved config has no `parserOptions.project` or
`projectService`, and the 5 rules are per-file AST rules. So this diff
cannot move any other file's verdict.
## For #23072: the PUT door does read `package`
`PUT {metaPath}/:type/:name` reads `package` at `rest-server.ts:7175`
(`metaItemPackageBinding(req.query?.package)`) and threads it as
`packageId` into the save request (`:7225`).
The handler's other query reads:
- `force` (`:7166`);
- `mode`, read a frame down in `metaSaveRequestOptions` (`:7146`,
`meta-save-request.ts:94`);
- the repeat guard names `['force', 'package', 'mode']` (`:7145`).
The PUT declares no closed set yet. The test's `PUT
...?package=${REPAIR}` at `:203` carries weight: `:222` asserts
`_packageId` is `REPAIR`. This line is not changed here.
## Acceptance notes
- Not merged with `origin/main`: it moved 4 commits during this run
(`abf86554c9`: lint, metadata-protocol, objectql, CI timing scripts).
This diff is two test lines and dogfood runs only in the full battery,
so the pin is the next hourly full run on `main`: `Dogfood Regression
Gate (1/3)` green.
- Shards 2/3 and 3/3 were not run locally, by declared narrowing. The
edited file is in shard 1, and every other dogfood file boots its own
app or a per-worker shared one that this file is not part of. CI's full
battery runs all three.
- The same hourly run's `Test Core (6/6)` red is `shard-timing-drift`
and is not this card, as the claim notes.
---
_Generated by [Claude
Code](https://claude.ai/code/session_01VoSxBQujKLZKPwK2u5ehQ6)_
Co-authored-by: Claude <noreply@anthropic.com>1 parent 8464380 commit 2808438
1 file changed
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
174 | | - | |
| 174 | + | |
175 | 175 | | |
176 | 176 | | |
177 | 177 | | |
| |||
225 | 225 | | |
226 | 226 | | |
227 | 227 | | |
228 | | - | |
| 228 | + | |
229 | 229 | | |
230 | 230 | | |
231 | 231 | | |
| |||
0 commit comments