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
finding(types): objectui#7759 group F (STRUCTURAL) plus ChatbotSchema.body — the remaining CONCRETE mirror-wider-than-declaration rows, settled per ruling F1 and rules 1/2 #10296
Execution split of #7759, covering the last CONCRETE rows: group F (STRUCTURAL) and the group-D key ChatbotSchema.body. Governing text: ruling 5617221514, as adopted by the director in 5617465269, plus the ordering note 5617614225. Priority and domain are inherited from the parent (priority:p2, domain:spec). Filed by the domain:spec @ objectui execution seat, session session_01877XiBYSaRCk2CU7cMSg3S.
Siblings (this card's exclusions)
group
where
A
done (objectui#9364)
B
objectui#10280, PR objectui#10292
E
PR objectui#10294. It also cleared DataTableSchema::columns (F) and FormSchema::fields (D) through their nested function arm
C/D decidable subset
objectui#10286
D date values
objectui#10293
D DashboardComponentSchema.header / .globalFilters
stay on #2231, and the twin region is PR objectui#10273
C FormSchema.layout
a renderer feature, not this card
Rules
F1: a structural mirror points at the spec's authoring schema (for example SelectOptionSchema), ⛔ never at a runtime read model. Where the declaration is a read model, the difference is recorded as an expected divergence. The comment at 5596511491 warns that DetailViewFieldSchema.options must NOT be "fixed" by mirroring SelectOptionMetadata.
ChatbotSchema.body: it has a live read site. Settle it by rule 1 if the spec declares it, or rule 2 if not, after a two-face element-shape comparison.
Ordering 5617614225: where the protocol is judged wrong, a spec card goes first and the key STOPS here.
Done when
The dev re-derives the remaining CONCRETE WiderThanDeclared rows on main after the sibling PRs land, or against their branches. Each in-scope row is either settled, with a pin that reddens on revert, or explicitly recorded as an expected divergence. There is one minor changeset. Clause-② yes.
Claim: PM loop round 7 — objectui#10296 (#7759 group F STRUCTURAL, plus ChatbotSchema.body)
Session: session_01877XiBYSaRCk2CU7cMSg3S
Branch: claude/issue-10296-7759-group-f
Worktree: objectui-issue-10296
Domain: domain:spec
Seat: domain:spec#1
File surface:
the packages/types pairs that group F re-derives to (each is named in the dev report before it is edited), plus ChatbotSchema in complex.ts / zod/complex.zod.ts;
the matching rows in the parity ledger, pins, and one .changeset/10296-…md.
A pair inside an excluded region STOPS and is reported.
Container & model: S, mode:subagent, model: opus (TIER_DEFAULT)
Clause-②: yes
Thread-read: none
Serial constraints cleared: re-measured at 2026-09-24T16:20Z. Every sibling region is excluded by name, above. The parity ledger is shared with all of them, and whichever lands later merges main.
Dispatch authority: objectstack-ai/objectstack#19980, and 「任务很多,并发保持3」 (the maintainer). This fills the slot freed by the #7759 group E dev (PR objectui#10294).
{
"issue": 10296,
"status": "done",
"branch": "claude/issue-10296-7759-group-f",
"pr": "https://github.com/objectstack-ai/objectui/pull/10307",
"session": "session_01877XiBYSaRCk2CU7cMSg3S — the parent PM seat's id (mode:subagent)",
"premise_still_valid": true,
"summary": "STEP 1 TABLE (re-derived on origin/main 8b1f06619 from WIDER_ARMS, CONCRETE rows only; each sibling branch was fetched into a private ref and checked for whether the row disappears there): DashboardComponentSchema::header/globalFilters -> excluded (#2231 / PR #10273). DashboardComponentSchema::dateRange (F) -> STOP: it is inside PR #10273's excluded DashboardComponentSchema region, and it is still present on that branch. FilterBuilderSchema::fields, FilterFieldSchema::operators, ContainerSchema::maxWidth, HeaderBarSchema::variant -> #10286 (all gone on its branch). FormSchema::mode -> #10286 region (still present on its branch). FormSchema::layout -> excluded (renderer feature). CalendarSchema::defaultValue/value -> #10293 (gone). SliderSchema::defaultValue/value, TooltipSchema::content -> PR #10292 (gone). DataTableSchema::columns/renderCellEditor, TableColumnSchema::cell, FieldConditionSchema::custom, FieldConstraintsSchema::validate, FormFieldSchema::condition/validation, FormSchema::fields -> PR #10294 (all gone). HeaderBarSchema::logo (F) -> STOP: it is inside #10286's HeaderBar region and still present on that branch. DetailViewFieldSchema::options (F) -> MY SCOPE, settled. ChatbotSchema.body -> ALREADY SETTLED on main: objectui#8572 / PR #9639 retired it on both faces as a never tombstone, and its row left the ledger. There is no work for it here, and that part of the card's premise is stale (the rest of the card holds). CHANGE: the mirror of DetailViewFieldSchema.options now reads the spec's authoring SelectOptionSchema by reference, through stripImportedDefaults, per F1. It no longer uses the inline shape that admitted a number/boolean value and stripped other keys, and it does not use the read model SelectOptionMetadata. The spec declares no per-field options on record:details, so the pair is objectui-own, but the element is the spec's select-option concept, and F1 names SelectOptionSchema explicitly. On objectstack origin/main, SelectOptionSchema has the same key set as the installed 17.4.0. The tsc measurement shows one remaining incompatibility: visibleWhen. The spec's input envelope requires dialect, while the read model's objectui wire (#2212) has an optional dialect and a required source. That is recorded as an EXPECTED DIVERGENCE, read model, not repaired: the WiderThanDeclared/WIDER_ARMS row stays but is re-annotated, KnownDrift gains DetailViewFieldSchema:options, and the same cause propagates one level up to DetailViewSectionSchema:fields (a new entry) and DetailViewSchema fields/sections. The header was re-derived to 48 entries / 89 keys, with the restated figure updated, and SPEC_DERIVED_PAIRS gained the pair because the census test derived it. Assignee os-bill and the labels were left untouched.",
"tests": "HEAD a8446a2ae (the final commit; main had not moved, so the merge was a no-op). (1) Under the verify lock: pnpm --filter @object-ui/types type-check (tsc, examples, test configs) exited 0, then pnpm exec vitest run packages/types/ gave 'Test Files 215 passed (215)' and 'Tests 4929 passed (4929)'; VERDICT command-exit 0. These ran on bytes identical to a8446a2ae. (2) New pin packages/types/src/__tests__/detail-view-field-options-10296.test.ts, 6 tests: invalid_type at options.0.value for a number and for a boolean; unrecognized_keys at options.0 with keys [icon] or [disabled]; an accepting control with every spec key; and verdict parity with the spec schema over 6 samples. (3) Reverse verification, done once for the single remedy class, with the fix committed first and trap-guarded with absolute paths: I wrote the base-commit views.zod.ts into place. The on-disk markers read inline value union 1, SpecSelectOptionSchema 0. The pin then gave 'Tests 5 failed | 1 passed (6)' (the accepting control stays green, as expected), and tsc -p tsconfig.test.json exited 2 with 'LedgerMismatch ... views.zod.ts#DetailViewFieldSchema'. The restore used git checkout HEAD -- FILE; afterwards git diff HEAD was 0 bytes and the blob hash was 5caaadb6 for both HEAD and disk. (4) Downstream: turbo build of the @object-ui/plugin-detail^... closure (11 tasks, exit 0); pnpm --filter @object-ui/plugin-detail type-check exited 0; the two plugin-detail tests that import the zod DetailViewSchema/DetailViewSectionSchema gave '2 passed', '21 passed'. No other package imports the changed zod exports; I checked by git grep, and all other hits were comments. The TS declaration is unchanged. (5) eslint --no-inline-config on the 3 changed source files, --format json: 3 files, 0 errors, and 2 no-explicit-any warnings on lines 1250/1349, which are untouched pre-existing lines. The population is exactly those 3 files. Type-aware linting is not configured in eslint.config.js (no parserOptions.project), so the diff cannot move any untouched file's verdict. (6) Gates at exit 0: check-changeset-presence, check:spec-symbols, check:new-line-citations ('0 new citation(s)'), check:control-bytes, check-changeset-no-major, check:changeset-claims, check:pending-changeset-literals, check:installed-pin-claims. NOT MEASURED: check:spec-floors, reason: PREREQUISITE (no-artifact, it needs a whole-workspace build), left to CI. dispatch-gates.mjs is objectstack-only; I derived objectui's list by hand from the dispatch and package.json.",
"mcp_calls": "0",
"api_writes": "2 — both through the fleet-write relay (repository_dispatch to objectstack-ai/objectstack, executed as objectstack-fleet[bot]): pr_create POST /repos/objectstack-ai/objectui/pulls (draft, PR #10307, run 36030396492, body read back byte-identical at 6592 bytes with 0 angle brackets); comment POST /repos/objectstack-ai/objectui/issues/10296/comments (this report). Plus git push of the branch (not a REST write). Zero label writes, because the PM told me not to touch labels.",
"open_questions": [
{
"question": "DetailViewFieldSchema.options: which is right for visibleWhen, recording it as an expected divergence (what this PR does, with 4 KnownDrift keys, 1 of them the leaf and 3 propagated) or overriding it on the mirror with objectui's ExpressionWireSchema, as form.zod's SelectOptionSchema already does (zero-row ledger)?",
"options": [
"A: keep the spec's authoring envelope and record the divergence (this PR)",
"B: override visibleWhen with objectui's wire, so the rows clear"
],
"recommendation": "A. B reshapes a spec-declared key locally, which ordering note 5617614225 forbids. If objectui's wire and the spec envelope should converge, that is a spec-or-wire decision for its own card, not one to settle through this row."
}
],
"out_of_scope_findings": [
"STOP (not a finding, re-routed): DashboardComponentSchema::dateRange is F, in PR #10273's excluded region. Measured in passing: @objectstack/spec 17.4.0 exports DATE_RANGE_DEFAULT_RANGES / DateRangeDefaultRange from @objectstack/spec/ui, so rule 1 likely governs (the mirror takes the spec's vocabulary). Not measured to a verdict. carrier: PM, after #10273 lands · noted, not filed · dedupe words: dateRange defaultRange DATE_RANGE_DEFAULT_RANGES mirror",
"STOP (not a finding, re-routed): HeaderBarSchema::logo is F, in #10286's HeaderBar region, and still in WIDER_ARMS on that branch. Proposal F routed it to ADR-0049 enforce-or-remove with variant. carrier: #10286 / PM · noted, not filed · dedupe words: HeaderBarSchema logo enforce-or-remove",
"premise note: ChatbotSchema.body was already retired on main by objectui#8572 (PR #9639), so the card's second key needs no work. carrier: none needed · noted, not filed"
]
}
ACCEPT: objectui#10296 (#7759 group F plus ChatbotSchema.body), delivered by PR objectui#10307 at head 3925bdd. Session session_01877XiBYSaRCk2CU7cMSg3S, domain:spec @ objectui seat.
Scope, re-derived:
DetailViewFieldSchema.options was the only in-scope row left after subtracting the siblings.
For dateRange, spec 17.4.0 exports DATE_RANGE_DEFAULT_RANGES, so rule 1 likely governs.
logo goes to ADR-0049 enforce-or-remove, with variant.
Change: the mirror of options now reads the spec's authoring SelectOptionSchema by reference, per F1, and not the read model. visibleWhen is recorded as an expected divergence (option A), which is propagated in KnownDrift.
Review: Clause-② yes. The isolated contract review at a8446a2 was PASS. Its delta review at this head, recorded on the PR, is PASS. That delta:
adds output-shape pins (a string visibleWhen becomes a cel envelope; a dialect-less envelope and an empty string are refused);
states the SystemIdentifierSchema value rule exactly;
adds a whitespace-only tripwire for the next spec bump.
Tests: 4941 in types, and the plugin-detail closure type-check passes. The remedy was reverse-verified at a8446a2.
Landing: flip ready and enqueue once every check on this head is green or an expected skip. ⚠️ The Spec Main Shape Gate is red on every objectui head until objectui#10287 lands.
ACCEPT refreshed for PR objectui#10307 at head da3afd5, from the domain:spec @ objectui seat, session session_01877XiBYSaRCk2CU7cMSg3S.
Change since the last ACCEPT. The head moved to da3afd5 after the Spec Main Shape Gate flagged two diagnostics of this PR's own, at zod-mirror-parity.test.ts:3477/3496. On objectstack main, SelectOptionSchema.visibleWhen requires a non-blank source, so the four DetailView* WIDER rows no longer measure WIDER there.
The fix is test-only.
A shape predicate is read off the mirror's own input face.
The four rows are withheld only when that predicate is false, which means only on main.
On 17.4.0 nothing is waived, and an ablation proves the rows still redden if the gate is forced.
A runtime tripwire forces the rows, their WIDER_ARMS entries and the gate to be deleted together at the next spec bump.
The dev reproduced the gate locally against main: red before the fix, green after.
Review. The isolated delta review at this head, recorded on the PR, is PASS. It confirmed three things:
the gate cannot mask an unrelated widening, because withholding is by key and the recorded set only shrinks;
the container rows' only wider member was options;
the tripwire matches both spec versions.
Landing. Flip ready and enqueue once every check on this head is green or an expected skip. The remaining red is the Spec Main Shape Gate on objectui#10287, and its fix, PR objectui#10315, has been accepted and is landing.
Activity
objectstack-fleet commentedon Sep 24, 2026
Claim: PM loop round 7 — objectui#10296 (#7759 group F STRUCTURAL, plus
ChatbotSchema.body)Session:
session_01877XiBYSaRCk2CU7cMSg3SBranch:
claude/issue-10296-7759-group-fWorktree:
objectui-issue-10296Domain:
domain:specSeat:
domain:spec#1File surface:
packages/typespairs that group F re-derives to (each is named in the dev report before it is edited), plusChatbotSchemaincomplex.ts/zod/complex.zod.ts;.changeset/10296-…md.⛔ Excluded regions:
DashboardComponentSchema/AppComponentSchema/PageNodeSchema(PR objectui#10273);FilterField/FilterBuilder/FormSchema/HeaderBar/Container(objectui#10286);CalendarSchema(objectui#10293);Slider/Tooltip(PR objectui#10292);A pair inside an excluded region STOPS and is reported.
Container & model:
S,mode:subagent,model: opus(TIER_DEFAULT)Clause-②: yes
Thread-read: none
Serial constraints cleared: re-measured at 2026-09-24T16:20Z. Every sibling region is excluded by name, above. The parity ledger is shared with all of them, and whichever lands later merges
main.Dispatch authority: objectstack-ai/objectstack#19980, and 「任务很多,并发保持3」 (the maintainer). This fills the slot freed by the #7759 group E dev (PR objectui#10294).
objectstack-fleet commentedon Sep 24, 2026
os-dev-report
{ "issue": 10296, "status": "done", "branch": "claude/issue-10296-7759-group-f", "pr": "https://github.com/objectstack-ai/objectui/pull/10307", "session": "session_01877XiBYSaRCk2CU7cMSg3S — the parent PM seat's id (mode:subagent)", "premise_still_valid": true, "summary": "STEP 1 TABLE (re-derived on origin/main 8b1f06619 from WIDER_ARMS, CONCRETE rows only; each sibling branch was fetched into a private ref and checked for whether the row disappears there): DashboardComponentSchema::header/globalFilters -> excluded (#2231 / PR #10273). DashboardComponentSchema::dateRange (F) -> STOP: it is inside PR #10273's excluded DashboardComponentSchema region, and it is still present on that branch. FilterBuilderSchema::fields, FilterFieldSchema::operators, ContainerSchema::maxWidth, HeaderBarSchema::variant -> #10286 (all gone on its branch). FormSchema::mode -> #10286 region (still present on its branch). FormSchema::layout -> excluded (renderer feature). CalendarSchema::defaultValue/value -> #10293 (gone). SliderSchema::defaultValue/value, TooltipSchema::content -> PR #10292 (gone). DataTableSchema::columns/renderCellEditor, TableColumnSchema::cell, FieldConditionSchema::custom, FieldConstraintsSchema::validate, FormFieldSchema::condition/validation, FormSchema::fields -> PR #10294 (all gone). HeaderBarSchema::logo (F) -> STOP: it is inside #10286's HeaderBar region and still present on that branch. DetailViewFieldSchema::options (F) -> MY SCOPE, settled. ChatbotSchema.body -> ALREADY SETTLED on main: objectui#8572 / PR #9639 retired it on both faces as a never tombstone, and its row left the ledger. There is no work for it here, and that part of the card's premise is stale (the rest of the card holds). CHANGE: the mirror of DetailViewFieldSchema.options now reads the spec's authoring SelectOptionSchema by reference, through stripImportedDefaults, per F1. It no longer uses the inline shape that admitted a number/boolean value and stripped other keys, and it does not use the read model SelectOptionMetadata. The spec declares no per-field options on record:details, so the pair is objectui-own, but the element is the spec's select-option concept, and F1 names SelectOptionSchema explicitly. On objectstack origin/main, SelectOptionSchema has the same key set as the installed 17.4.0. The tsc measurement shows one remaining incompatibility: visibleWhen. The spec's input envelope requires dialect, while the read model's objectui wire (#2212) has an optional dialect and a required source. That is recorded as an EXPECTED DIVERGENCE, read model, not repaired: the WiderThanDeclared/WIDER_ARMS row stays but is re-annotated, KnownDrift gains DetailViewFieldSchema:options, and the same cause propagates one level up to DetailViewSectionSchema:fields (a new entry) and DetailViewSchema fields/sections. The header was re-derived to 48 entries / 89 keys, with the restated figure updated, and SPEC_DERIVED_PAIRS gained the pair because the census test derived it. Assignee os-bill and the labels were left untouched.", "tests": "HEAD a8446a2ae (the final commit; main had not moved, so the merge was a no-op). (1) Under the verify lock: pnpm --filter @object-ui/types type-check (tsc, examples, test configs) exited 0, then pnpm exec vitest run packages/types/ gave 'Test Files 215 passed (215)' and 'Tests 4929 passed (4929)'; VERDICT command-exit 0. These ran on bytes identical to a8446a2ae. (2) New pin packages/types/src/__tests__/detail-view-field-options-10296.test.ts, 6 tests: invalid_type at options.0.value for a number and for a boolean; unrecognized_keys at options.0 with keys [icon] or [disabled]; an accepting control with every spec key; and verdict parity with the spec schema over 6 samples. (3) Reverse verification, done once for the single remedy class, with the fix committed first and trap-guarded with absolute paths: I wrote the base-commit views.zod.ts into place. The on-disk markers read inline value union 1, SpecSelectOptionSchema 0. The pin then gave 'Tests 5 failed | 1 passed (6)' (the accepting control stays green, as expected), and tsc -p tsconfig.test.json exited 2 with 'LedgerMismatch ... views.zod.ts#DetailViewFieldSchema'. The restore used git checkout HEAD -- FILE; afterwards git diff HEAD was 0 bytes and the blob hash was 5caaadb6 for both HEAD and disk. (4) Downstream: turbo build of the @object-ui/plugin-detail^... closure (11 tasks, exit 0); pnpm --filter @object-ui/plugin-detail type-check exited 0; the two plugin-detail tests that import the zod DetailViewSchema/DetailViewSectionSchema gave '2 passed', '21 passed'. No other package imports the changed zod exports; I checked by git grep, and all other hits were comments. The TS declaration is unchanged. (5) eslint --no-inline-config on the 3 changed source files, --format json: 3 files, 0 errors, and 2 no-explicit-any warnings on lines 1250/1349, which are untouched pre-existing lines. The population is exactly those 3 files. Type-aware linting is not configured in eslint.config.js (no parserOptions.project), so the diff cannot move any untouched file's verdict. (6) Gates at exit 0: check-changeset-presence, check:spec-symbols, check:new-line-citations ('0 new citation(s)'), check:control-bytes, check-changeset-no-major, check:changeset-claims, check:pending-changeset-literals, check:installed-pin-claims. NOT MEASURED: check:spec-floors, reason: PREREQUISITE (no-artifact, it needs a whole-workspace build), left to CI. dispatch-gates.mjs is objectstack-only; I derived objectui's list by hand from the dispatch and package.json.", "mcp_calls": "0", "api_writes": "2 — both through the fleet-write relay (repository_dispatch to objectstack-ai/objectstack, executed as objectstack-fleet[bot]): pr_create POST /repos/objectstack-ai/objectui/pulls (draft, PR #10307, run 36030396492, body read back byte-identical at 6592 bytes with 0 angle brackets); comment POST /repos/objectstack-ai/objectui/issues/10296/comments (this report). Plus git push of the branch (not a REST write). Zero label writes, because the PM told me not to touch labels.", "open_questions": [ { "question": "DetailViewFieldSchema.options: which is right for visibleWhen, recording it as an expected divergence (what this PR does, with 4 KnownDrift keys, 1 of them the leaf and 3 propagated) or overriding it on the mirror with objectui's ExpressionWireSchema, as form.zod's SelectOptionSchema already does (zero-row ledger)?", "options": [ "A: keep the spec's authoring envelope and record the divergence (this PR)", "B: override visibleWhen with objectui's wire, so the rows clear" ], "recommendation": "A. B reshapes a spec-declared key locally, which ordering note 5617614225 forbids. If objectui's wire and the spec envelope should converge, that is a spec-or-wire decision for its own card, not one to settle through this row." } ], "out_of_scope_findings": [ "STOP (not a finding, re-routed): DashboardComponentSchema::dateRange is F, in PR #10273's excluded region. Measured in passing: @objectstack/spec 17.4.0 exports DATE_RANGE_DEFAULT_RANGES / DateRangeDefaultRange from @objectstack/spec/ui, so rule 1 likely governs (the mirror takes the spec's vocabulary). Not measured to a verdict. carrier: PM, after #10273 lands · noted, not filed · dedupe words: dateRange defaultRange DATE_RANGE_DEFAULT_RANGES mirror", "STOP (not a finding, re-routed): HeaderBarSchema::logo is F, in #10286's HeaderBar region, and still in WIDER_ARMS on that branch. Proposal F routed it to ADR-0049 enforce-or-remove with variant. carrier: #10286 / PM · noted, not filed · dedupe words: HeaderBarSchema logo enforce-or-remove", "premise note: ChatbotSchema.body was already retired on main by objectui#8572 (PR #9639), so the card's second key needs no work. carrier: none needed · noted, not filed" ] }Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
ACCEPT: objectui#10296 (#7759 group F plus
ChatbotSchema.body), delivered by PR objectui#10307 at head3925bdd. Sessionsession_01877XiBYSaRCk2CU7cMSg3S,domain:spec@ objectui seat.Scope, re-derived:
DetailViewFieldSchema.optionswas the only in-scope row left after subtracting the siblings.ChatbotSchema.bodywas already retired onmain(objectui#8572 / PR feat(types)!: retire ChatbotSchema.body on both published faces (objectui#8572) #9639). That part of the premise was stale.DashboardComponentSchema::dateRange(in PR feat(types): App/Dashboard/Page twins take the spec by reference, like their zod mirrors #10273's region) andHeaderBarSchema::logo(in PR fix(types): settle FilterField.operators, Container.maxWidth and HeaderBar.variant between mirror and declaration (objectui#10286) #10300's region) are STOPPED, not dropped. Each follows its region's PR.dateRange, spec 17.4.0 exportsDATE_RANGE_DEFAULT_RANGES, so rule 1 likely governs.logogoes to ADR-0049 enforce-or-remove, withvariant.Change: the mirror of
optionsnow reads the spec's authoringSelectOptionSchemaby reference, per F1, and not the read model.visibleWhenis recorded as an expected divergence (option A), which is propagated in KnownDrift.Review: Clause-② yes. The isolated contract review at
a8446a2was PASS. Its delta review at this head, recorded on the PR, is PASS. That delta:visibleWhenbecomes acelenvelope; a dialect-less envelope and an empty string are refused);SystemIdentifierSchemavalue rule exactly;Tests: 4941 in types, and the plugin-detail closure type-check passes. The remedy was reverse-verified at
a8446a2.Landing: flip ready and enqueue once every check on this head is green or an expected skip.⚠️ The Spec Main Shape Gate is red on every objectui head until objectui#10287 lands.
Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
ACCEPT refreshed for PR objectui#10307 at head
da3afd5, from thedomain:spec@ objectui seat, sessionsession_01877XiBYSaRCk2CU7cMSg3S.Change since the last ACCEPT. The head moved to
da3afd5after the Spec Main Shape Gate flagged two diagnostics of this PR's own, atzod-mirror-parity.test.ts:3477/3496. On objectstackmain,SelectOptionSchema.visibleWhenrequires a non-blanksource, so the fourDetailView*WIDER rows no longer measure WIDER there.The fix is test-only.
main.WIDER_ARMSentries and the gate to be deleted together at the next spec bump.main: red before the fix, green after.Review. The isolated delta review at this head, recorded on the PR, is PASS. It confirmed three things:
options;Landing. Flip ready and enqueue once every check on this head is green or an expected skip. The remaining red is the Spec Main Shape Gate on objectui#10287, and its fix, PR objectui#10315, has been accepted and is landing.
Generated by Claude Code
feat(types)!: DetailViewFieldSchema.options reads the spec's authorin…