Filing gate: class (a), a latent build break with a measured reach. reach: the Spec Main Shape Gate (the consumer compile against objectstack main that the maintainer ruled as the only spec shape gate, objectui#9860, option C). It went red on PR objectui#11570's first head with exactly this failure. Reader: triage grades and routes it.
Filed by domain:ui seat 1 (session_01FjqrwXPfSMkSfkKYDSRkN2, seat post objectui#5560). It comes from the objectui#10872 dev's measurement on PR objectui#11570, and the log of the failing gate job 111264389756 was read by this seat. ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.
What happened
- PR objectui#11570 (
record:line_items arm, head efa2ef2) went red on Spec Main Shape Gate with packages/types/src/zod/index.zod.ts(593,14): error TS7056: The inferred type of this node exceeds the maximum length the compiler will serialize. Line 593 is export const AnyComponentSchema = defineNodeComponentUnion(z.discriminatedUnion('type', [...])).
@object-ui/types then emitted no .d.ts, and every consumer of @object-ui/types/zod failed with TS7016 (cli, core).
- The same gate was green on objectui
main ab18797 and on PR objectui#11568's head. Against the published @objectstack/spec 17.6.0 the PR built.
- The PR fixed its own tip at
c9e205d by giving its arm a NAMED exported type, so declaration emit references it instead of inlining it. The headroom problem stays.
Measured (the objectui#10872 dev, an instrumented copy of the worktree's TypeScript 6.0.3)
The counter is TypeScript's own approximateLength, which it compares with its 1,000,000 noTruncation ceiling.
| reading |
AnyComponentSchema |
objectui ab18797, spec 17.6.0-equivalent tree |
about 979,997 (fixed head on 17.6.0) |
objectui ab18797 against objectstack main 5c9138b |
990,509 |
+ the record:line_items arm inline (9,871) |
about 1,000,380, which is TS7056 |
| PR objectui#11570's fix (arm named) |
990,574, leaving 9,426 of headroom (0.94%) |
- The arm's own size is the same on both specs. What moved is the rest of
AnyComponentSchema: about +10.6k from spec 17.6.0 to objectstack main, with no objectui change.
- So with no objectui change at all, one more spec delta of that size puts
@object-ui/types into TS7056 against main. So does one new inline arm of 9,426 or more (record:details is 5,964, so two such arms). Every objectui PR's Spec Main Shape Gate then goes red, and the next spec bump breaks objectui's own Type Check.
The family (this is its closing card)
TS7056 has already been fixed locally four times, each by naming a type. The docblocks are on objectui main:
packages/types/src/zod/app.zod.ts (about :766);
packages/types/src/zod/data-display.zod.ts (about :1008, ReportNodeZodType);
packages/types/src/zod/layout.zod.ts (about :1401);
packages/types/src/zod/reports.zod.ts (about :328).
PR objectui#11570 is the fifth occurrence. Per the seat's same-family rule, this card covers the whole family, not a single site.
Likely landing (a lead, not a ruling)
- Name the type of each big category union inside
AnyComponentSchema (for example PublicBlockComponentSchema, about 143.6k on the counter), so its body leaves AnyComponentSchema's print. The types are structurally identical, but the printed .d.ts text of existing exports changes, which the PR must state.
- Enumeration pin (the card's acceptance): a headroom reading, preferably the gate's own run, that fails when
AnyComponentSchema's serialized size crosses a stated margin below the ceiling, with every category union listed as named or inline.
- ⛔ Not a new gate: if a pin is chosen, it is a test in
packages/types beside the existing union pins.
Dedupe
Generated by Claude Code
Filing gate: class (a), a latent build break with a measured reach.
reach:the Spec Main Shape Gate (the consumer compile against objectstackmainthat the maintainer ruled as the only spec shape gate, objectui#9860, option C). It went red on PR objectui#11570's first head with exactly this failure. Reader: triage grades and routes it.Filed by
domain:uiseat 1 (session_01FjqrwXPfSMkSfkKYDSRkN2, seat post objectui#5560). It comes from the objectui#10872 dev's measurement on PR objectui#11570, and the log of the failing gate job 111264389756 was read by this seat. ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.What happened
record:line_itemsarm, headefa2ef2) went red onSpec Main Shape Gatewithpackages/types/src/zod/index.zod.ts(593,14): error TS7056: The inferred type of this node exceeds the maximum length the compiler will serialize. Line 593 isexport const AnyComponentSchema = defineNodeComponentUnion(z.discriminatedUnion('type', [...])).@object-ui/typesthen emitted no.d.ts, and every consumer of@object-ui/types/zodfailed with TS7016 (cli, core).mainab18797and on PR objectui#11568's head. Against the published@objectstack/spec17.6.0 the PR built.c9e205dby giving its arm a NAMED exported type, so declaration emit references it instead of inlining it. The headroom problem stays.Measured (the objectui#10872 dev, an instrumented copy of the worktree's TypeScript 6.0.3)
The counter is TypeScript's own
approximateLength, which it compares with its 1,000,000noTruncationceiling.AnyComponentSchemaab18797, spec 17.6.0-equivalent treeab18797against objectstackmain5c9138brecord:line_itemsarm inline (9,871)AnyComponentSchema: about +10.6k from spec 17.6.0 to objectstackmain, with no objectui change.@object-ui/typesinto TS7056 againstmain. So does one new inline arm of 9,426 or more (record:detailsis 5,964, so two such arms). Every objectui PR'sSpec Main Shape Gatethen goes red, and the next spec bump breaks objectui's own Type Check.The family (this is its closing card)
TS7056 has already been fixed locally four times, each by naming a type. The docblocks are on objectui
main:packages/types/src/zod/app.zod.ts(about:766);packages/types/src/zod/data-display.zod.ts(about:1008,ReportNodeZodType);packages/types/src/zod/layout.zod.ts(about:1401);packages/types/src/zod/reports.zod.ts(about:328).PR objectui#11570 is the fifth occurrence. Per the seat's same-family rule, this card covers the whole family, not a single site.
Likely landing (a lead, not a ruling)
AnyComponentSchema(for examplePublicBlockComponentSchema, about 143.6k on the counter), so its body leavesAnyComponentSchema's print. The types are structurally identical, but the printed.d.tstext of existing exports changes, which the PR must state.AnyComponentSchema's serialized size crosses a stated margin below the ceiling, with every category union listed as named or inline.packages/typesbeside the existing union pins.Dedupe
AnyComponentSchemaarm is a named zod export" — objectui#7917 restored the invariant at 107/107, and the next omission is invisible again #8784 and A component type has THREE declared surfaces that disagree (TS schema type / registry meta inputs / renderer prop reads), and nothing reconciles or enforces them #4631, all closed and none about serialization size.git grep TS7056onmainfinds the four docblocks above and no card.AnyComponentSchema TS7056 serialization·inferred type exceeds maximum length index.zod.ts·spec main shape gate declaration emit ceiling.Generated by Claude Code