You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Every competitor ships a polished web console/portal (Backstage catalog, Port blueprints, Render/Railway/Porter dashboards); continuum is CLI/Makefile-only. Nocalhost's DevSpace diagrams show the inner-loop dev-environment we lack.
A dependency-free, self-hosted portal server (tools/portal_server.py) serving a read-only developer console over the SAME governed surface the MCP server (move chore(ci): harden supply chain — pin actions to SHA + least-privilege permissions #1) exposes to agents — capabilities, lifecycle, evidence. One source, two views (agent + human). Fully open, no external CDN (inline HTML/CSS/JS).
A DevSpace capability contract (capd/devspace.local-dev.capd.json) — the Nocalhost-style inner-loop dev-environment as a CapD (hot-reload / sidecar / per-user isolation over the continuum).
Boundary
Read-only view; mutating actions flow through the governed MCP surface + promotion gate (fail-closed), not the portal.
Acceptance
make validate passes; make portal serves it. Routes: / (console), /api/{capabilities,lifecycle,evidence} return the governed data. Tested via the pure route() handler.
Problem (competitive gap)
Every competitor ships a polished web console/portal (Backstage catalog, Port blueprints, Render/Railway/Porter dashboards); continuum is CLI/Makefile-only. Nocalhost's DevSpace diagrams show the inner-loop dev-environment we lack.
Scope (march #8, this PR = the backbone)
tools/portal_server.py) serving a read-only developer console over the SAME governed surface the MCP server (move chore(ci): harden supply chain — pin actions to SHA + least-privilege permissions #1) exposes to agents — capabilities, lifecycle, evidence. One source, two views (agent + human). Fully open, no external CDN (inline HTML/CSS/JS).capd/devspace.local-dev.capd.json) — the Nocalhost-style inner-loop dev-environment as a CapD (hot-reload / sidecar / per-user isolation over the continuum).Boundary
Read-only view; mutating actions flow through the governed MCP surface + promotion gate (fail-closed), not the portal.
Acceptance
make validatepasses;make portalserves it. Routes: / (console), /api/{capabilities,lifecycle,evidence} return the governed data. Tested via the pure route() handler.