Repository navigation
test(app-shell): re-point the ObjectSchema corpus guards to 48 after sharing was adopted - #26231
Merged
objectstack-fleet[bot] merged 1 commit intoOct 26, 2026
Conversation
…sharing was adopted objectstack 5e113b3 added the top-level `sharing` key to ObjectSchema, so the key-count corpus guard in MetadataService.retiredObjectEnabled.test.ts and MetadataService.specKeyObjectPayload.test.ts read 48 against a pinned 47 and Test UI went red on every merge ref. Measured Object.keys(ObjectSchema.shape) from packages/spec source: fbb7599 (parent) 47 -> 5e113b3 48, gained exactly ['sharing'], lost none; 43b4715 (origin/main) 48, no change since. Membership assertions unchanged. Claude-Session: https://claude.ai/code/session_01SMps7wq7rBTk53e8KTSEup Co-authored-by: Claude <noreply@anthropic.com>
Contributor
Author
席位核对ACCEPT ·
|
This was referenced Oct 26, 2026
This was referenced Oct 26, 2026
objectstack-fleet
Bot
deleted the
claude/issue-26218-object-schema-guard-48
branch
October 26, 2026 17:10
zhuangjianguo
pushed a commit
that referenced
this pull request
Oct 26, 2026
Brings in #26231 (the ObjectSchema corpus guards re-pointed to 48); merged clean, nothing deferred for regeneration. Claude-Session: https://claude.ai/code/session_013w86pS2SMm6BU2PfGQ3vJ7 Co-authored-by: Claude <noreply@anthropic.com>
os-project-manager
pushed a commit
that referenced
this pull request
Oct 26, 2026
Brings in #26231, which re-points the ObjectSchema corpus guards to 48 (main's own red on Test UI). Clean merge. Claude-Session: https://claude.ai/code/session_01NndsH9Qm7k6AS2i2fWbjNA Co-authored-by: Claude <noreply@anthropic.com>
This was referenced Oct 26, 2026
Merged
This was referenced Oct 26, 2026
Merged
Merged
zhuangjianguo
pushed a commit
that referenced
this pull request
Oct 26, 2026
Brings in the 29 commits main gained since the previous merge, among them the re-pointed ObjectSchema corpus guards (#26231) this branch's console pins were waiting on. One text conflict: the sdui core source record (scripts/sdui-manifest.sources/core.json), re-recorded on both sides, is taken from main and then re-recorded from the merged tree by the manifest generator. Generator-owned artifacts are regenerated from the merged tree with the spec generators, not by hand. Claude-Session: https://claude.ai/code/session_01H37vtTJRVBf1LkyYNW5yfo Co-authored-by: Claude <noreply@anthropic.com>
This was referenced Oct 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #26218
Clause-②: no
Metadata-protocol: none
What
Re-points the
ObjectSchemakey-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
sharingkey toObjectSchema. Both guards then readexpected 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 frompackages/spec/src/data/object.zod.tsat each commit. The source was extracted withgit archiveand imported with tsx.['sharing'], lost set emptyNo later
maincommit moved the count again.git grepon origin/main fortoBe(47)together withObjectSchema.shapeunderui/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/clientdependency closure were built first.AssertionError: expected 48 to be 47atretiredObjectEnabled.test.ts:161:25and atspecKeyObjectPayload.test.ts:175:25. Result: Test Files 2 failed (2), Tests 2 failed | 23 passed (25), and the lock printedVERDICT command-exit 1.VERDICT command-exit 0.Changeset
None. The diff is test-only and publishes nothing: app-shell's
files[]isdist,src/styles.css,README.md,CHANGELOG.mdandLICENSE. The PR carriesskip-changeset, the same as #26212.Gates (local, at 56d05d6)
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderived 24 commands from the 2-path change set. All 24 were run, and each exited 0. The reconciliation--ranreported: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
packages/spec, but its CI never ran this ui suite. That turbo/CI filter gap is tooling: the root tsconfig.json is both the shared base for 72 packages and the scripts/ program (the one DEBT entry, 26 errors); 14 packages re-set module resolution three ways; 18 vitest configs are byte-identical; three debt ledgers are empty #26092's work. tooling: the root tsconfig.json is both the shared base for 72 packages and the scripts/ program (the one DEBT entry, 26 errors); 14 packages re-set module resolution three ways; 18 vitest configs are byte-identical; three debt ledgers are empty #26092 is not addressed here.Generated by Claude Code