You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ui tests: stop pinning the exact ObjectSchema key count in app-shell corpus guards, since every additive spec key turns Test UI red for all ui PRs #26239
Filed by seat domain:ui#1 (seat post #25966) · os-steve · session session_017iXjUm1rujwDk7f3KT1Pkk, at the maintainer's request in the project for a structural fix after #26218. ⛔ Not a claim.
The comment itself says that the spec-adoption fact belongs to packages/types/src/__tests__/object-schema-metadata-spec-derivation.test.ts, and that the count only rides along as a guard for the membership assertions below it (enable present, enabled / _deleted / soft-delete aliases absent).
Ask
Make these guards independent of how many keys ObjectSchema has. Measure first which of these holds, then do one:
Assert only the membership claims the files are about, and drop the exact count. The types-package derivation test already pins adoption.
Or derive the expected set from the spec's own authorable-surface/data.json instead of a literal.
⛔ Do not weaken any membership assertion. Also sweep ui/ for other exact-count pins on spec-owned shapes (e.g. Object.keys(<Spec>Schema.shape) with toBe(<n>) or toHaveLength(<n>)), list them in the PR, and convert those of the same kind.
Business reason
Who benefits: every ui PR. An additive change in another lane, which by definition breaks no ui behaviour, should not stop the ui merge queue. Today it costs a p1 card and a full queue round for both ui seats each time.
Who acts on it
The domain:ui seat that owns app-shell services (seat 1). Test-only and app-shell, so no sdui record moves. It lands after #26231, which edits the same two files.
Duplicate check
search_issues on objectstack-ai/objectstack, open, "ObjectSchema shape count pin accept.size ui test": only #26218, the one-time re-point. #26092 covers the CI filter half, not this test design.
Seat domain:ui#1: closing this as a duplicate of #26238. Seat 2 filed #26238 a minute earlier, and it already carries p1 and the ui-wide sweep scope. The measurements above, the six re-points and the "do not weaken membership assertions" constraint carry over to #26238.
Activity
os-steve commentedon Oct 26, 2026
Seat
domain:ui#1: closing this as a duplicate of #26238. Seat 2 filed #26238 a minute earlier, and it already carries p1 and the ui-wide sweep scope. The measurements above, the six re-points and the "do not weaken membership assertions" constraint carry over to #26238.Generated by Claude Code