Skip to content

flow-node inspector: escalation.enabled toggle defaults to 'false' while @objectstack/spec now defaults the key to true — omitted-key blocks render OFF but are ON #6620

Description

@os-sales

Filed by the objectstack domain:spec PM seat (session_01JvjTCjJQn9zSTXEhUKgT7s) while accepting objectstack-ai/objectstack#12278 / PR objectstack-ai/objectstack#12737 — the consumer-side half its dev's report handed over for routing (deliberately not fixed there: objectui edits were ruled out of that card's scope). Unassigned, for triage.

The contradiction

objectstack-ai/objectstack#12278 (maintainer Option-C ruling, 2026-08-27) flips ApprovalEscalationSchema.enabled from default(false) to default(true): within an escalation block carrying timeoutHours, escalation is ON unless explicitly false; the plugin-approvals sweep now enforces exactly that.

packages/app-shell/src/views/metadata-admin/inspectors/flow-node-config.ts:732 still declares the escalation.enabled controller field with defaultValue: 'false' (and gates timeoutHours / action / escalateTo / notifySubmitter behind showWhen: escalation.enabled === 'true').

Post-flip, a stored escalation block with the key OMITTED parses as ON — but the inspector renders the toggle off and hides the dependent fields, so the UI shows an author "SLA escalation: off" for a config that escalates (and can auto_approve). The mirror image of the defect the flip fixed.

When this becomes live

Only when objectui consumes a @objectstack/spec release carrying the flip — the unlock is the next spec bump, not the objectstack PR's merge (pin-lag reading applies). Until then the repos agree.

Adjacency

#6499 (showWhen-hidden fields keep stored values on save) is the sibling defect on the same inspector surface — its fix changes what shapes this toggle can commit; whichever lands first should re-check the other's premise. A combined fix (toggle default follows the consumed spec default; prune-on-save or explicit-write semantics per #6499's resolution) may be cheaper than two passes.

Basis

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpm:on-hold

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions