Files
united-workforce/packages/workflow-dashboard
xingyue 9c44c709e9 fix(dashboard): replace broken partial-order layering with longest-path
The previous computeLayers used a reachability-based relation (a « b)
with depth tiebreaker to define a < b, then grouped nodes by == into
equivalence classes. However == is NOT an equivalence relation (fails
transitivity), making the grouping order-dependent and incorrect for
graphs with parallel branches.

Replace with standard Sugiyama longest-path layering:
1. DFS to detect and remove back-edges (break cycles)
2. Kahn's topological sort on the resulting DAG
3. rank(n) = max(rank(pred) + 1) for longest-path assignment
4. Group nodes by rank into layers

Also removes the experimental dagre layout strategy that was added
for comparison — longest-path produces better results for our
workflow graphs.
2026-05-15 14:48:02 +08:00
..

@uncaged/workflow-dashboard

Web dashboard for the Uncaged Workflow engine. Connects to the local uncaged-workflow serve API to display threads, workflows, and CAS data.

Development

# Start the local API server (in another terminal)
uncaged-workflow serve

# Start the dashboard dev server
bun run dev

Opens at http://localhost:5173. Vite proxies /api/* to localhost:7860.

Build

bun run build

Output goes to dist/ — static files ready for CF Pages or any host.