Skip to content

feat(graph): AI-first studio and Graph UI/UX overhaul - #5

Merged
SeasonsChange422 merged 8 commits into
mainfrom
feat/graph-ux-ai-first
Nov 5, 2026
Merged

SeasonsChange422 merged 8 commits into
mainfrom
feat/graph-ux-ai-first

Conversation

@SeasonsChange422

Copy link
Copy Markdown
Member

Summary

Reworks the Graph UI around an AI-first studio, prioritising usability first and visual polish second. Front-end only (packages/views/graphs, packages/core/graphs, one set of --graph-* tokens); no server or mobile changes. Routes are unchanged.

Editor (AI-first studio)

  • One surface: the design conversation beside an always-editable canvas. A step opens in a drawer over the canvas instead of a separate mode; flow-level settings (input/output schema, concurrency, JSON import/export, archive) live behind "Flow settings" and the start/end steps.
  • The conversation is created by the first message, not by opening the page. Executor and approver default sensibly and can be changed under the composer (new updateAi on the draft store). When no runtime is online the chat says why and the canvas stays editable.
  • Each AI turn marks added/changed steps on the canvas, with a one-click "undo this turn".
  • Steps are added from a grouped menu or inserted on a connection via its "+" (insertGraphNodeOnEdge).
  • "Ask AI to change this step" pre-fills the composer from the drawer.

Graph workspace

  • Header carries name, draft state, problem count, a "Run" dialog and a single Publish that saves, validates and publishes, pinning diagnostics to their steps.
  • Tabs: Workflow / Runs / Triggers.
  • New-graph entry: describe it, copy an existing flow, or start blank.

List page

  • Flows / All runs tabs. Each flow row shows its step shape, last run, recent outcomes and a run button.
  • Run list is a day-grouped table: status, linked issue or block reason, initiator, start time, duration, search, state filters with counts, and a four-figure summary.

Run page

  • Header progress bar; pending approvals and blockers as one-line banners with actions; state legend on the flow.
  • Record pane rebuilt: step header (executor, status, attempts, duration) then output; long prose folds; short fields in a key-value block; copy buttons; artifact image gallery with thumbnails; events as a readable timeline; tidy input/raw tabs.

Canvas visuals

  • Category-coloured step cards showing who does the work and one config fact, run state as a pill, capsule start/end, branch "Yes/No" port labels, rounded tinted connections, readable zoom on open, no minimap.

Notes

  • The legacy one-shot generation UI (servers without the chat builder) is removed; such servers now show "AI not enabled" and the canvas remains fully editable.
  • AI asking for approver/executor via in-chat buttons is not included (needs a protocol change).
  • rootTitle is now parsed from the existing root_snapshot field in run responses.
  • Artifact thumbnails load through the authenticated client, so each downloads the full image.

Testing

  • tsc clean for all packages except @multica/docs (local fumadocs-ui missing, unrelated).
  • packages/views graph tests + locale parity: 242 passed; packages/core graph tests pass.
  • Pre-existing failures unrelated to this PR: web type-scale (landing pages), views rich-content boundary (code-block-view.tsx), desktop (local Electron install).
  • Walked through list, new entry, studio, drawer, flow settings, run dialog, runs tab and run page in a browser on a local stack; no console errors. Not exercised live: an actual AI conversation (no runtime online), approval/blocked banners, branch steps.

🤖 Generated with Claude Code

SeasonsChange422 and others added 8 commits November 5, 2026 01:39
…run grouping

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… run state on the canvas

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… one-click publish

The editor is now one surface: the design conversation beside an editable
canvas. A step opens in a drawer instead of a separate mode, flow-level
settings live behind the start and end steps, and each AI turn is marked on
the canvas with a one-click undo. A conversation is created by the first
message rather than by opening the page, with the executor and approver
defaulted and changeable under the composer.

The graph page header carries the name, draft state, problem count, a run
dialog and a single publish action that saves, validates and publishes,
pinning any problems to their steps. Runs get their own tab, and new graphs
start from a describe / copy / blank entry.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…into a workspace

The graphs page splits into Flows and All runs. Each flow row shows its
shape, its last run and the outcome of its recent runs, with a run button;
run statistics become state filters. The run page header carries progress
and the controls, pending approvals and blockers become one-line banners
with their actions, the flow shows a state legend, and the record pane is
tabbed instead of a stack of collapsed blocks.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… opacity

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Open the editor canvas on the start of the flow at a readable zoom instead
of restoring a stale viewport, drop the minimap that rendered as a blank
box, let the step inspector sit flush in a wider drawer, and tell the
composer why it is closed (no runtime) instead of saying it is archived.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Step cards show who does the work and one fact about the step, keep the
description in a muted block, carry run state as a pill, and label branch
outcomes beside their ports. Connections are rounded, tinted by outcome and
run state, and grow their insert button on hover. Canvases open at a
readable zoom: the editor on the first steps, a run around its focused step.

The run list becomes a table grouped by day with status, linked issue or
block reason, initiator, start time and duration, a search box, filters
that only list states present, and a four-figure summary.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Rebuild the run page's record pane. The step tab leads with the step,
its executor, status, attempts and duration, then its output, a compact
attempt list and folded input. Long agent prose opens folded with a fade
and a show-all toggle, short fields sit in a key-value block, list items
get bullets, and every field can be copied.

Artifacts become an image gallery with real thumbnails and a list of files
and commits, each naming the step that produced it. Events read as a
timeline of sentences that name the step and the person instead of raw
codes. Input and raw data get tidy key-value layouts with copy buttons,
and the JSON moves behind the raw tab.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@SeasonsChange422
SeasonsChange422 merged commit aab1fe6 into main Nov 5, 2026
12 checks passed
@SeasonsChange422
SeasonsChange422 deleted the feat/graph-ux-ai-first branch November 5, 2026 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant