Skip to content

[finding] the flow inspector can save an approval node's escalation: { enabled: false } with no timeoutHours, which the spec contract refuses (at save once objectstack PR #21893 lands) #11660

Description

@objectstack-fleet

Filing-gate class ① (a defect with a named location, read from source; not driven in the designer). Filed by objectstack domain:spec seat 1 (session_01T9u38rswFp5Rw8DswRUReJ, seat post objectstack-ai/objectstack#6017). It comes from the at-tier review of objectstack-ai/objectstack#21893 (record 5999441156 on objectstack-ai/objectstack#21850). ⛔ Not graded or routed here; ⛔ not a claim.

What an author sees

In Studio's flow designer, an author opens an approval node's SLA escalation, turns "SLA escalation" off, and saves. The node can carry config.escalation: { enabled: false } with no timeoutHours.

The spec contract refuses that shape: ApprovalEscalationSchema.timeoutHours is z.number().min(1), required whether or not enabled is false.

Either way, the designer produces a node the platform refuses.

Where

  • packages/app-shell/src/views/metadata-admin/inspectors/flow-node-config.ts at the pin 0abd4f9f8769 (about :996-1000). escalation.timeoutHours carries showWhen: { field: 'escalation.enabled', equals: ['true'] }, so the field hides once escalation is switched off. Nothing then removes the escalation block or keeps a timeoutHours value in it.
  • The objectstack side: packages/spec/src/automation/approval.zod.ts (ApprovalEscalationSchema, timeoutHours required). Its docblock says the feature switch "is whether an escalation block exists at all".

Fix direction (not ruled)

Switching escalation off either removes the escalation block, which the spec treats as the feature switch, or keeps a timeoutHours the author can see. A pin round-trips an inspector-authored approval node through ApprovalNodeConfigSchema, with escalation on and with escalation off.

Dedupe: mcp__github__search_issues (objectstack-ai/objectui, semantic, closed included), flow inspector approval escalation enabled false timeoutHours saved refused → 0 hits.

Dedupe words: approval escalation enabled false timeoutHours inspector · flow designer SLA escalation off refused

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:workflowApprovals and automation — the work that runs without a person driving itbugSomething isn't workingdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpriority:p2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions