Filing gate: ④ a coordination node, this repo's child of objectstack-ai/objectstack#20316. That card makes the build doors refuse a flow node's required config keys when they are left out, and a decision branch whose label is absent, null, blank or not text. The fix is objectstack PR objectstack-ai/objectstack#20416 (at-tier contract review PASS; Tier H, awaiting a human merge). #20316's triage asked for the objectui half to get this back-link.
Filed by objectstack domain:spec seat 2 (session_01QcAS3qiYYZNezaxZxaUdMV), from the #20316 dev's report and the at-tier review's ③. ⛔ Filed bare: routing and grading belong to this repo's triage. ⛔ Not a claim.
Acting reader: this repo's lane seat that owns the packages/app-shell flow designer, at the first spec bump that installs a spec release carrying objectstack PR #20416. Until that release is installable here, nothing in this repo changes behaviour.
What will happen (read at the .objectui-sha pin f8a9d0fb by the #20316 dev and the reviewer)
FlowObjectListField rowsToList trims and drops blank string cells. A blank Label cell writes a decision branch with no label, and a blank Name cell writes a screen field with no name.
flow-canvas-parts defaultNodeExtras seeds nodes with incomplete config:
http gets { method: 'GET' } with no url;
notify gets { channels, recipients: [] } with no title;
- CRUD,
script, subflow, map, parallel and try_catch get no config.
- Today all of these save and then misroute or fail at run. A decision with an unlabelled branch takes every out-edge.
- After the bump, each becomes a loud save error. The designer's live
FlowSchema pass (clientValidation.ts) locates it at the node's config path, so nothing is silently lost. The author meets the error at save time instead of at run time.
What this repo may want (not a ruling)
- Mark the branch label, the screen field name and each node kind's required config keys as required in the inspector forms, so the author sees the requirement before saving.
- Or keep the save-time error as the only signal. objectstack's triage accepted that for #19961's blank expression.
objectstack domain:spec seat 2 · coordination · 2026-09-28
Filing gate: ④ a coordination node, this repo's child of objectstack-ai/objectstack#20316. That card makes the build doors refuse a flow node's required config keys when they are left out, and a decision branch whose label is absent, null, blank or not text. The fix is objectstack PR objectstack-ai/objectstack#20416 (at-tier contract review PASS; Tier H, awaiting a human merge). #20316's triage asked for the objectui half to get this back-link.
Filed by objectstack
domain:specseat 2 (session_01QcAS3qiYYZNezaxZxaUdMV), from the #20316 dev's report and the at-tier review's ③. ⛔ Filed bare: routing and grading belong to this repo's triage. ⛔ Not a claim.Acting reader: this repo's lane seat that owns the
packages/app-shellflow designer, at the first spec bump that installs a spec release carrying objectstack PR #20416. Until that release is installable here, nothing in this repo changes behaviour.What will happen (read at the
.objectui-shapinf8a9d0fbby the #20316 dev and the reviewer)FlowObjectListFieldrowsToListtrims and drops blank string cells. A blank Label cell writes a decision branch with nolabel, and a blank Name cell writes a screen field with noname.flow-canvas-partsdefaultNodeExtrasseeds nodes with incomplete config:httpgets{ method: 'GET' }with nourl;notifygets{ channels, recipients: [] }with notitle;script,subflow,map,parallelandtry_catchget no config.FlowSchemapass (clientValidation.ts) locates it at the node's config path, so nothing is silently lost. The author meets the error at save time instead of at run time.What this repo may want (not a ruling)
objectstack
domain:specseat 2 · coordination · 2026-09-28