Last updated 2026-05-07

Routes & Features

Every page and API route in the dashboard, drawn directly from platform/web/src/app/.

Pages

RouteSourcePurpose
/app/page.tsxHome — recent runs, health badge, quick links.
/runsapp/runs/page.tsxList of all runs with status badges.
/runs/[id]app/runs/[id]/page.tsxRun detail: jobs, steps, live log, artifacts.
/workflowsapp/workflows/page.tsxDiscovered workflow list.
/workflows/[name]app/workflows/[name]/page.tsxWorkflow detail and YAML editor.
/prsapp/prs/page.tsxOpen pull requests across the workspace.
/prs/[id]app/prs/[id]/page.tsxReview screen with Monaco split-view diff and file sidebar.
/featuresapp/features/page.tsxOne card per feature, with thumbnail when video-capture has been run.
/features/[slug]app/features/[slug]/page.tsxSingle feature: description, demo video, screenshots, linked diffs.
/diffsapp/diffs/page.tsxList of stacked diffs across features.
/diffs/[slug]app/diffs/[slug]/page.tsxAll diffs for a feature with stack ordering.
/diffs/[slug]/[position]app/diffs/[slug]/[position]/page.tsxSingle diff review (approve / reject / comment).
/secretsapp/secrets/page.tsxRunner mirror keys, backend status, repo-backed SOPS store overview, verify, and sync.
/issuesapp/issues/page.tsxGitHub issue sync dashboard and deployment-log configuration.
/artifactsapp/artifacts/page.tsxRun artifacts and cache entries.
/auditapp/audit/page.tsxGitHub sync audit log.
/discussionsapp/discussions/page.tsxLocal GitHub discussions cache.
/wikiapp/wiki/page.tsxLocal GitHub wiki cache.
/releasesapp/releases/page.tsxLocal GitHub releases cache.
/runnersapp/runners/page.tsxRunner pool inspection.
/insightsapp/insights/page.tsxWorkspace insights and rollups.
/packagesapp/packages/page.tsxPackage and project inventory.
/profileapp/profile/page.tsxLocal profile page.
/settingsapp/settings/page.tsxDashboard settings shell.

API routes

All routes live under /api/; they run on the Next.js server and proxy to the runner, the gh CLI, or git.

Health

RouteMethodWhat it does
/api/healthGETCombined health: dashboard self + runner reachability.

Pull requests

RouteMethodWhat it does
/api/prsGETList open PRs via gh pr list --json.
/api/prs/[id]GETSingle PR detail (commits, files, review state).

Secrets

RouteMethodWhat it does
/api/secrets/repoGETRepo-backed SOPS + age overview from workspace files.
/api/secrets/repo/verifyPOSTRun repo-secrets verification and return issues.

Features & diffs

RouteMethodWhat it does
/api/featuresGETList features from .stax/features.json.
/api/features/[slug]GETFeature detail.
/api/features/[slug]/videoGETStream the video-capture artifact for a feature.
/api/features/[slug]/screenshots/[filename]GETSingle screenshot artifact.
/api/diffsGETList all diffs across features.
/api/diffs/[slug]/[position]GETSingle diff metadata + patch.
/api/diffs/[slug]/[position]/approvePOSTMark approved.
/api/diffs/[slug]/[position]/rejectPOSTMark rejected.
/api/diffs/_by-uuid/[uuid]GETLookup by stable diff UUID (used for permalinks).

Git helpers

RouteMethodWhat it does
/api/git/fileGETRead a file at a given ref (used by the Monaco diff viewer to load parents).

Theme & chrome

The dashboard renders a sidebar + topbar shell on every route except review pages, where the topbar is hidden to maximize diff space. Theme selection is handled by a small inline script in public/theme.js and persisted in localStorage; refraction-ui's tokens drive every surface so the same scheme applies to the UI, the diff viewer chrome, and the docs.