Web frontend that drives the aura CLI binary and renders results (discussion idea) #72
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Status: discussion idea — NOT for automatic dispatch. This captures a design conversation; do not let the autonomous pipeline pick it up. Decide direction first.
Goal
A web interface that makes the existing
auraCLI operations interactively invocable and renders each operation result in its natural visual form — the graph as the interactive graph, a run as a metric card, a sweep/runsas a sortable comparison table. Not a terminal that pipes stdout to the browser.Shape — decoupled frontend, zero CLI changes
A standalone
crates/aura-webcrate (binaryaura-web) that shells out to theaurabinary as a subprocess and renders captured stdout/stderr/exit. No refactor ofaura-cli; the existingcli_run.rssuite stays untouched. The only edit to an existing file is onemembersline in the rootCargo.toml.tiny_http, localhost-only.aura-web [--port N] [--aura-bin PATH] [--workdir DIR].GET /api/commandsserves a declarative command catalog (data file in the crate).POST /api/run {path,args}validates against the catalog, spawnsaura <path> <args>, returns{output_kind, stdout, stderr, exit}.output_kind: Graph -> iframe srcdoc over the existing self-containedaura graphHTML; Run -> metric card; Sweep/RunsTable -> sortable table; Text/error -> pre / red pane.Maintainability under CLI drift
The catalog (data, not code) is the single place a command is described. A guard test checks the catalog against
aura --helpand fails CI when the surfaces diverge. Adding a command = one catalog entry; no code change.Ledger fit
aura runis just running the CLI.aura-webis a dev-tool crate; the frozen deploy bot never depends on it, sotiny_httpenters no artifact (no feature-gate needed).Open questions to discuss
catalog.toml.(Full design notes drafted locally; not committed.)
Triage 2026-07-09 (tree at
68317ec) — reconciliation note: the body's design predates three landings and would describe a dead CLI if executed as written:aura --helpwould bind to none of today's shapes.aura chart/aura graphemitting self-contained static HTML) — no server. The "local server + run/replay clock controls" thread remains open in the design ledger's open-threads section (docs/design/INDEX.md).Still a valid idea-anchor for the drive-operations half; a fresh design over the document-driven CLI (campaign/process vocabularies) replaces the 2026-06-15 catalog shape whenever this is picked up.
Re-anchoring after #295/#300 (2026-07-21): the goal — a web face that renders each operation's result in its natural visual form — stands, but the Shape section has drifted architecturally.
The C25 amendment (docs/design/INDEX.md, 'control surfaces are projections', 2026-07-20, #295) fixes the layering this issue predates: the text artifact vocabulary (blueprints, process/campaign documents, registry records) is the canonical layer, and every control surface is a projection/executor over those artifacts — not a wrapper assembling argv strings for the binary. The decided document-first completion (#300) additionally shrinks the CLI toward a small executor verb set, so a declarative catalog mirroring
aura --help(this issue's maintainability mechanism) would be built against a deliberately shrinking flag surface.A future web face would author/read documents and drive the library surface (crates/aura-runner, extracted by #295) or the executor verbs — closer to 'render the registry and the documents' than 'form-fill the flags'. Related: rendering/presentation deliberately stayed in the shell until this face exists (#295 design triage: extraction deferred to the cycle that builds the C22 web face; this issue and #150 are its tracked consumers).
Still a discussion idea per its own header — direction is the owner's call; not dispatch-ready.
Closed as ratified drop (owner decision, 2026-07-21, idea-cull round): the core premise (wrap the aura argv surface, catalog mirrors --help) is superseded by the C25 amendment — control surfaces are projections over the text-artifact vocabulary. A future web face would be brainstormed fresh against the aura-runner/document layer; this body carries nothing C25 does not already state.