Live vs Legacy Boundary
Date: 2026-04-08Purpose
This document separates the code that is on the current product path from older product generations that still exist in the repository. The standard forlive is strict:
- mounted by an active server/router
- built or deployed by current container or platform config
- referenced by current product/runtime tests
legacy-reachable is also strict:
- not part of the canonical product story
- but still mounted, still imported, or still exposed to callers
Live
- Root runtime container:
Dockerfilestartsservices/runtime/server.js. - Runtime HTTP router:
services/runtime/router.ts. - World-runtime API surface:
src/api/world-runtime-routes.ts. - Runtime policy control surface:
src/api/world-runtime-routes.tsunder/v1/world/runtime-policy. - Gateway and control path:
src/gateway/gateway.ts,src/policy/authority-graph.ts,src/planner/planner.ts,src/world-model/ensemble.ts. - Collections runtime loop:
services/runtime/collections-cycle.ts,services/runtime/execution-loop.ts. - ML sidecar:
services/ml-sidecar/Dockerfile,services/ml-sidecar/src/server.py. - Public site:
site/package.json,vercel.json,site/app/. - Secondary dashboard surface:
dashboard/vercel.json,dashboard/src/. - Magic-link service:
services/magic-link/src/server.js.
Legacy-Reachable
- Legacy approval/charter semantics in
README.md,ARCHITECTURE.md, and parts of the runtime worker stack. These are mixed-era concepts that should be narrowed or retired in later passes.
Legacy-Unmounted
- The old worker-first HTTP surface is no longer mounted from the runtime router. Requests to
/v1/chat,/v1/teams/generate,/v1/workers/*,/v1/providers*,/v1/credits,/v1/approvals*,/v1/search,/v1/audit*, and/v1/team*now fail with explicit410 Goneresponses viaservices/runtime/legacy-surface.ts. - The old implementation file
services/runtime/workers-api.jsstill exists in the repo as dormant compatibility code, but it is no longer on the active request path.
Removed In This Pass
- The old “describe your business, generate a team of workers” implementation was removed.
- The mounted legacy endpoints now return explicit
410 Gonetombstones inservices/runtime/workers-api.js:/v1/workers/generate-team/v1/teams/generate
- The deterministic implementation file
services/runtime/team-generator.tswas deleted. - Legacy architecture copy that still advertised dynamic team generation was removed from
site/app/architecture/page.tsx. - The root dev helper now targets the mounted runtime entrypoint in
scripts/dev/start-api.sh, and the missingdev:apipath was removed fromdocs/DEVELOPMENT.md. - The broken root CI and release workflows were quarantined in
.github/workflows/ci.ymland.github/workflows/release.ymlso they no longer pretend to validate removedagentverseor tag-release surfaces. - The docs entrypoints now distinguish current world-runtime docs from archived worker-first material in
docs/introduction.md,docs/getting-started.md,docs/legacy.md, anddocs/mint.json. - Orphaned dashboard files with no import path from
dashboard/src/main.jsxwere deleted, including the formerdashboard/src/lovable/LovableSite.jsxsurface and legacy dashboard-only product-builder components. - Additional worker-first orchestration endpoints now return explicit
410 Gonetombstones inservices/runtime/workers-api.js, including legacy proposal generation, ranking, competence, meta-agent, and delegation routes. - Additional worker-first observability endpoints now return explicit
410 Gonetombstones inservices/runtime/workers-api.js, including learning overview, risk/anomaly queues, execution drilldowns, side-effect drilldowns, and worker trust/learning summary routes. - The deployed dashboard root now routes configured tenants into the live runtime shell instead of keeping them on duplicate marketing copy; see
dashboard/src/App.jsxanddashboard/src/lib/home-routing.js. - The dead dashboard-only worker-ops helper and its direct tests were removed. Those routes are no longer part of the deployed dashboard path.
- The tenant runtime-policy surface moved off the old worker API and onto the world-runtime API in
src/api/world-runtime-routes.ts, and the dashboard client now consumes that path viadashboard/src/lib/world-api.js. - The runtime router no longer mounts the old worker-first surface. Explicit compatibility tombstones now live in
services/runtime/legacy-surface.ts, including the removed/v1/chatand/v1/teams/generateentrypoints.
Deferred Cleanup
These areas still look like older product generations, but they are not safe to delete in the same pass because they still appear in scripts, tests, docs, or secondary product surfaces:x402/ action-wallet / settlement / proof-bundle surfaces underscripts/,src/core/, andservices/magic-link/- worker-first runtime APIs beyond the removed team-generation, observability, proposal-generation, ranking, competence, meta-agent, and delegation endpoints
- historical planning and spec documents under
docs/plans/anddocs/specs/ - dashboard/site duplication where both the legacy Vite dashboard and the newer Next site still present overlapping marketing surfaces
Cleanup Rule Going Forward
Do not delete by vibe. Delete only when the code is:- not on an active request path
- not a current build/deploy entrypoint
- not covered by current supported tests
- not part of a declared supported API surface