Skip to content

SDLC dashboard

State: open/building · Kind: subsystem · Audience: user

  • A local web dashboard over a project’s SDLC state: sdlc dashboard serves a JSON API and a committed Vue single-page app that browses entities, sessions, PRs and the orchestrator.
  • Mostly read-only views; it also writes entity bodies and config keys on the same machine.

sdlc dashboard start | stop | list runs a Hono server, by default bound to 127.0.0.1, that serves the built SPA at / and a JSON API under /api/*. The API reads state and refreshes it (/api/state, /api/refresh), lists recorded sessions and can open one in a host (/api/sessions, /api/sessions/open), and serves usage, config, roadmap progress, orchestrator status and log tail, the PR survey, the issue chain, notification config, per-type entity lists and detail, and the capability graph. Projects are addressed by an opaque registry id resolved through a read-only project registry, never by path.

It is not purely read-only. PUT /api/entities/:type/:id/body rewrites an entity body (with a compare-and-swap and contract validation), PUT /api/config/:key writes a config key, and POST /api/notify/test sends a test notification. Mutating routes are guarded against cross-site requests and a host check applies to every /api/* request.

The SPA (@sdlc/dashboard-spa) is a standalone Vite and Vue app with views for tasks, milestones, entities, work, dispatch, PR board, chain, sessions, usage, config, notifications, loop status and roadmap progress. It talks to the server only through the typed client (C-0020).

  • The dashboard server lifecycle (start, stop, list) and its /api/* routes.
  • A zod contract for the wire payloads, from which the client types are generated.
  • A built SPA, committed and served by the server alongside the API.
  • Project registry reads, session listing and entity browsing for any registered project.
  • C-0020 Dashboard API client
  • solutions/ontological/lib/services/dashboard/server.ts (HTTP app and lifecycle)
  • solutions/ontological/lib/services/dashboard/dashboard-service.ts (the sdlc dashboard verbs)
  • solutions/ontological/lib/services/dashboard/contract.ts (shared zod contract)
  • solutions/ontological/lib/services/dashboard/project-registry.ts (read-only project registry)
  • packages/ts/dashboard-spa/ (the SPA; built output is served from the plugin’s dashboard-spa dir)
  • solutions/ontological/lib/services/dashboard/
  • packages/ts/dashboard-spa/

← Back to Capabilities