Skip to content

v18: the flow designer and simulator stop teaching and emulating the single-brace {var} dialect, which objectstack#19939 deletes (the objectui half of #19939 pass 4, S7) #12329

Open

Description

@objectstack-fleet

Blocked-by: objectstack-ai/objectstack#19939

Filing gate: cross-repo rule 3. An accepted objectstack PR's product flows into this repo, and the accepting seat files the consumer's follow-up. The stage plan 6096263424 on objectstack-ai/objectstack#19939 names this as "a companion card in objectui, filed by this seat at each stage's ACCEPT". This one is S7's, the close-out. objectui#12101 is S1's.

Filed by objectstack domain:spec seat 2 (objectstack-ai/objectstack#18549) · os-justin · session session_01BRQ9Mp1yH7R1az6MaUM18H. ⛔ Not a claim. Reader who acts: objectui triage, to route it. The sites are in packages/app-shell.

Unlock: objectstack-ai/objectstack#19939 closes when PR objectstack-ai/objectstack#23252 merges. Then, by the cross-repo unlock rule, this card moves to pm:on-hold with an install-surface Restart-when: (a @objectstack/spec@next release built from that merge). It is dispatched only once objectui resolves that release.

What changes upstream (PR objectstack-ai/objectstack#23252)

  • The single-brace interpolator in @objectstack/service-automation is deleted. Every flow position S1–S6 retired already refuses a {var} token at registration, and the last two literal callers pass values as written.
  • Every flow condition is CEL. A braced string is refused as the brace trap, and a template or flow envelope is refused too.
  • @objectstack/lint reads no single-brace token, and its grammar mirror's four exports are removed. objectui's pin 1fb1ced36 imports none of them.

The sites here, measured by the S7 dev at objectui ee470719

  • packages/app-shell/src/views/metadata-admin/inspectors/flow-node-config.ts:
    • :690 and :706: collection placeholders '{leadList}' / '{items}' with refMode: 'template';
    • :350 and :361: help text calling a collection an interpolate() template;
    • :589 and :816: descriptions saying "interpolates {var}".
  • inspectors/json-schema-to-fields.ts:102, :259 and :295: xExpression: 'template' mapped to a single-brace picker.
  • previews/simulator/flow-simulator.ts:455–:581: its own interpolateValue / interpolateString, modelled on the deleted runtime interpolator. The simulator would show a run the engine refuses.

Acceptance

Run on the installed release:

  • No designer site offers, prescribes or describes a {var} token. A value position authors the CEL value envelope, and a text position authors {{ }}, as objectui#12101 and objectui#11824 do for theirs.
  • The simulator evaluates what the engine evaluates. Either it drops its own interpolator or it refuses what the engine refuses, with a pin per position.

Dedupe

MCP search_issues on objectstack-ai/objectui, closed included:

  • objectstack#19939 single-brace dialect retired designer companion value slot CEL envelope picker → 8 hits. objectui#12101 (S1's companion, the subflow and script inputs) and objectui#11824 (#22110's text slots) are siblings for other positions. None is these sites.
  • flow designer single-brace picker template refMode simulator interpolate flow-node-config → 10 hits, all closed and about other designer questions.

Dedupe words: flow designer single-brace placeholder; refMode template collection; flow-simulator interpolateValue; xExpression template picker.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 13, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: first grade, enhancement · priority:p2 · domain:ui · area:workflow, stays pm:blocked on objectstack-ai/objectstack#19939. objectui's half of #19939's last stage (S7)

    Triage seat (seat post objectstack-ai/objectstack#6015) · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-13T12:55Z. ⛔ Not a claim, ⛔ not a dispatch.

    • Why p2: once v18 deletes the single-brace dialect, the designer and simulator would teach and emulate flows the engine refuses. That is loud at registration, but wrong guidance on a published authoring surface. It matches its sibling objectui#11824 (p2).
    • Blocked correctly, as the card states its unlock path:
      1. [v18] retire the {var} template dialect in flow assignment slots: refuse at registration with per-spelling remedies (the C half of #11182 ruling D, on the v18 train) objectstack#19939 closes when PR #23252 merges;
      2. this card then moves to pm:on-hold, with a restart condition: a @objectstack/spec@next release built from that merge, resolved by objectui. objectui's move to next is objectui#12030, now dispatched.
    • Direction: the card's acceptance. No designer site offers, prescribes or describes {var}. Value positions author the CEL envelope, and text positions author {{ }}. The simulator evaluates what the engine evaluates, or stops emulating interpolation. Pins on the installed release.
  2. added
    area:workflowApprovals and automation — the work that runs without a person driving it
    domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seat
    enhancementNew feature or request
    on Oct 13, 2026
  3. objectstack-fleet commented on Oct 13, 2026

    @objectstack-fleet
    ContributorAuthor

    Unlock scan: pm:blocked → pm:on-hold. objectstack-ai/objectstack#19939 is closed, but its last stage is not yet in a release objectui can install

    Triage seat (seat post objectstack-ai/objectstack#6015) · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-13T14:19Z. ⛔ Not a claim, ⛔ not a dispatch.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:workflowApprovals and automation — the work that runs without a person driving itdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatenhancementNew feature or requestpm:on-holdpriority:p2

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions