EMATIX(R) DATA TERMINAL — ROBCO INDUSTRIES UNIFIED OPERATING SYSTEM
COPYRIGHT 2026 EMATIX SYSTEMS — ALL RIGHTS RESERVED
USER: GUEST   SESSION: 2026-05-21 02:29:57Z   HOST: ematix.dev/specs
// TECHNICAL SPECS

Web UI

The flow web subcommand — pipelines overview, run history, DAG, restart from failed step, pause/resume.


Web UI

Run flow web from any host that can reach your RunLog backend. The CLI launches a FastAPI server on 127.0.0.1:8080 by default (localhost-only — SSH-tunnel or front with a reverse proxy for remote access; binding to a non-loopback address logs a loud warning since the alpha ships without bearer-token auth).

pip install "ematix-flow[web]"
flow web --port 8080
# open http://127.0.0.1:8080/

The SPA matches this site’s Pip-Boy / Carolina-teal theme. Two top-level views (Pipelines and Jobs) plus a per-run detail page.

Pipelines — last 10 executions at a glance

Pipelines view — each pipeline with last-10 strip + next-run / LIVE STREAMING indicator

The landing page is per-pipeline, not per-run. Each card shows:

Clicking any square drills into the run detail page for that execution, including the task-DAG visual.

Jobs — every run record in a flat table

Jobs table — every run record across all pipelines

When you need to filter, sort, or scan recent failures across every pipeline at once, the Jobs view is a flat table of every run record. Status pill, pipeline name, started/finished timestamps, attempt count, duration, and the failed step (if any) all sit in the row. Clicking a row opens that run’s detail page.

Workflow DAG — live task graph with parallel branch

orders_etl — running DAG with a parallel branch, captured live

A workflow in flight. The DAG is rendered as an SVG inside the run detail page (no external charting dep — same Pip-Boy theme as the rest of the UI). Reading left-to-right:

The dashed border + dim color means a step is pending (waiting for its depends_on). Solid amber pulse = running. Solid teal = succeeded. Solid red would be failed. The legend under the SVG calls all four out.

The layout is longest-path-rank: every node sits to the right of every dependency. Sibling steps at the same rank stack vertically — that’s where parallelism is visible at a glance.

Failed run — Restart from failed step highlighted

warehouse_etl detail — Restart from step button hovered, error message visible

A workflow that hit an error mid-DAG. The detail page exposes the exact step that failed (merge_payments), the error (ValueError: amount column missing in batch 47), and the full retry history (two attempts, both failing on the same step).

The RESTART FROM STEP “merge_payments” button is one of two restart actions surfaced on a failed batch run. Clicking it POSTs to /api/runs/01HQ-warehouse-fail/restart with { "from_step": "merge_payments" }. The scheduler picks up the new “requested” row on its next tick (default 10s) and the worker resumes the DAG from merge_paymentsload_orders’s output is reused, so the re-run is the failed step plus everything downstream, not the whole pipeline.

The RERUN FROM BEGINNING button next to it kicks off a fresh run from scratch — useful when the source data has changed or the failure was non-deterministic.

For streaming runs, the same button reads RESUME FROM WATERMARK instead and resumes from the last committed watermark rather than a discrete step. Rerun from beginning is available on any terminated run.


◀ BACK TO TECHNICAL SPECS ▲ HOME