Skip to content

Commit a1477de

Browse files
test(app-shell): re-point the ObjectSchema corpus guards to 48 after sharing was adopted (#26231)
Fixes #26218 Clause-②: no Metadata-protocol: none ## What Re-points the `ObjectSchema` key-count corpus guard from 47 to 48 in the two app-shell tests that pin it: - `ui/packages/app-shell/src/services/MetadataService.retiredObjectEnabled.test.ts` (was :161) - `ui/packages/app-shell/src/services/MetadataService.specKeyObjectPayload.test.ts` (was :175) Each file gains one entry in its existing re-point comment block, in the same style as the five earlier re-points. The membership assertions under the count are unchanged. The diff touches tests only: no product source, no spec, no workflow, and no `scripts/sdui-manifest.*` (app-shell is outside the sdui registry closure). ## Why 5e113b3 (#26005) added the top-level `sharing` key to `ObjectSchema`. Both guards then read `expected 48 to be 47`, and Test UI went red on every PR's merge ref (#26213: shard 8/16, check-run 121679452481, and shard 2/16, check-run 121679452468). ## Measurement `Object.keys(ObjectSchema.shape)` was read from `packages/spec/src/data/object.zod.ts` at each commit. The source was extracted with `git archive` and imported with tsx. | commit | count | delta vs previous | |---|---|---| | fbb7599 (5e113b3^) | 47 | none (control) | | 5e113b3 (#26005) | 48 | gained exactly `['sharing']`, lost set empty | | 43b4715 (origin/main at branch point) | 48 | gained none, lost none | No later `main` commit moved the count again. `git grep` on origin/main for `toBe(47)` together with `ObjectSchema.shape` under `ui/` finds only these two guards. ## Red, then green Both files were run as one command: `bash scripts/pm/os-verify-lock.sh -c 'cd ui && pnpm exec vitest run --maxWorkers=2 FILE_A FILE_B'`. The spec and `@objectstack/client` dependency closure were built first. - **Red** at 43b4715 (unchanged base): `AssertionError: expected 48 to be 47` at `retiredObjectEnabled.test.ts:161:25` and at `specKeyObjectPayload.test.ts:175:25`. Result: Test Files 2 failed (2), Tests 2 failed | 23 passed (25), and the lock printed `VERDICT command-exit 1`. - **Green** at 56d05d6: Test Files 2 passed (2), Tests 25 passed (25), and the lock printed `VERDICT command-exit 0`. ## Changeset None. The diff is test-only and publishes nothing: app-shell's `files[]` is `dist`, `src/styles.css`, `README.md`, `CHANGELOG.md` and `LICENSE`. The PR carries `skip-changeset`, the same as #26212. ## Gates (local, at 56d05d6) `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` derived 24 commands from the 2-path change set. All 24 were run, and each exited 0. The reconciliation `--ran` reported: `24 derived, 24 run, 0 NOT-MEASURED, 0 UNRUN`, with every line exit-coded. Every other family, along with Type Check UI and the full Test UI shards, is declared to CI. Their verdicts are the PR check-runs. ## Acceptance notes - Gap: #26005 changed `packages/spec`, but its CI never ran this ui suite. That turbo/CI filter gap is #26092's work. #26092 is not addressed here. --- _Generated by [Claude Code](https://claude.ai/code/session_01SMps7wq7rBTk53e8KTSEup)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 6927b02 commit a1477de

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

‎ui/packages/app-shell/src/services/MetadataService.retiredObjectEnabled.test.ts‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,11 @@ describe('objectui#6238 · the schema oracle — both tombstone keys are refused
157157
// (objectstack#25513; measured against the 915e9404 pin: the spec's own
158158
// `authorable-surface/data.json` gains exactly `data/Object:membershipKeys`
159159
// between the two commits, none lost; objectui#13440). Re-pointed the same way.
160+
// 48 on the objectstack `main` pin after objectstack#26005 (5e113b39), which adopted
161+
// `sharing` (measured against its parent fbb75998: gained set exactly `['sharing']`,
162+
// lost set empty; unchanged at 43b47156). Re-pointed the same way.
160163
const accept = new Set(Object.keys(ObjectSchema.shape as Record<string, unknown>));
161-
expect(accept.size).toBe(47);
164+
expect(accept.size).toBe(48);
162165
expect(accept.has('enable')).toBe(true);
163166
expect(accept.has('enabled')).toBe(false);
164167
expect(accept.has('_deleted')).toBe(false);

‎ui/packages/app-shell/src/services/MetadataService.specKeyObjectPayload.test.ts‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,11 @@ describe('the instrument', () => {
171171
// (objectstack#25513; measured against the 915e9404 pin: the spec's own
172172
// `authorable-surface/data.json` gains exactly `data/Object:membershipKeys`
173173
// between the two commits, none lost; objectui#13440). Re-pointed the same way.
174+
// 48 on the objectstack `main` pin after objectstack#26005 (5e113b39), which adopted
175+
// `sharing` (measured against its parent fbb75998: gained set exactly `['sharing']`,
176+
// lost set empty; unchanged at 43b47156). Re-pointed the same way.
174177
const accept = new Set(Object.keys(ObjectSchema.shape as Record<string, unknown>));
175-
expect(accept.size).toBe(47);
178+
expect(accept.size).toBe(48);
176179
// `fieldGroups` is the only grouping key on the object, and it groups the
177180
// FIELDS INSIDE one object — it is not a category for objects themselves,
178181
// so `group` has no mapping target here.

0 commit comments

Comments
 (0)