refactor!: delete unreachable destinations and the docs that described a dead system - #621
Merged
Merged
Conversation
…d a dead system Removes 113k lines across two independent classes of dead weight, each verified against the code rather than against what a doc claimed. Dead UI (-51,942): 9 chat-surface destinations (memory, agents, home, inbox, library, routines, team, todos, tools) plus their barrel blocks, and 7 web feature dirs. None is reachable in either host: `memory` is absent from both SOLO_ORDER and TEAM_ORDER and its web URL redirects to Settings, and the rest fall through DestinationOutlet's `default:` to a placeholder. The apparent host references were comment text, not imports -- AgentsRoute.tsx only mentions `<AgentsDestination>` in a header comment. `useStepMachine` moves to connectors/webhooks, its one remaining consumer, rather than to a shared layer: deleting tools/ without that move would have dangled two deep imports that bypass both barrels, reddening the required `host-typecheck` check and breaking the desktop esbuild resolve. Dead docs (-61,354): Six trees whose premises are gone -- docs/roadmap specced ~30 PRs into a `docs/specs/` tree that never existed in git history and was founded on a DEV_AUTH_BYPASS that now only survives as a guard *rejecting* it; docs/new-design built on an Atlas-orange brand decision whose hex is now only Anthropic's provider-mark colour. Also RUN-RESULTS.md, which described a 53-journey layout that commit e8622a1 replaced, and whose durable traps already live in the harness README. Rewrites: JOURNEYS.md now maps G0->AS-1 and G3-G10->IP-2..IP-9 instead of linking 9 deleted scripts; github-actions-strategy.md no longer lists deploy.yml and release-images.yml as "implemented" (neither exists); the ai-backend system map gains the 8 undocumented packages (surfaces_v2, effects, artifacts, harness_quality, control_plane, release, presentation, hyperparameters) and drops the Postgres adapter removed in e03840e. Verified: tsc clean on chat-surface + frontend + desktop; 3,832 vitest passing; desktop esbuild and vite build both exit 0; the built web bundle boots in a browser with all 25 chunks 200 and renders the sign-in screen. The one failing test (canvasLifecycle.test.ts) is pre-existing on dev -- it imports agent_runtime.presentation.lifecycle, a module that exists on neither dev nor here. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…estination `features/home/HomeRoute.tsx` imported `HomeDestination` and `HomePanel` from the barrel, so removing the dead `home` destination broke three CI jobs (host-typecheck, build-and-audit, packed CLI payload). The binder is dead by the same evidence as the destination it bound: no `home` slug exists in `routes.ts` or `App.tsx`, and its only importer is `api/homeApi.ts`, itself unreachable. Why local typecheck missed it: this worktree has no `node_modules`, so `tsc` resolved `@0x-copilot/chat-surface` by walking up to the MAIN checkout's workspace symlink — which still contains `HomeDestination`. The package's own typecheck was honest; every cross-package check was resolving the other tree. Symlinking the workspace packages into the worktree reproduces CI exactly. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`test_waiver_count_does_not_grow` pins the orphan-destination waiver count to an integer literal so a PR that adds a waiver has to justify the bump. This PR moves it the other way: the eight waivers that disappeared were not re-classified, the code they waived is deleted. Re-pinning at 5 keeps the ratchet tight. Leaving it at 13 would silently re-open room for eight new orphans. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removes 113,296 lines across two independent classes of dead weight, each verified against the code rather than against what a doc claimed.
Dead UI (−51,942)
Nine
chat-surfacedestinations —memory,agents,home,inbox,library,routines,team,todos,tools— plus their barrel blocks, and 7 web feature dirs. None is reachable in either host:memoryis in neitherSOLO_ORDERnorTEAM_ORDERand its web URL redirects to Settings → Privacy; the rest fall throughDestinationOutlet'sdefault:to a placeholder.The apparent host references were comment text, not imports —
AgentsRoute.tsx:20only mentions<AgentsDestination>in a header comment. That single fact is what made an earlier grep-based pass wrong in both directions.useStepMachinemoved toconnectors/webhooks/, its one remaining consumer, rather than to a shared layer. Deletingtools/without that move would have dangled two deep imports that bypass both barrels — reddening the requiredhost-typecheckcheck and breaking the desktop esbuild resolve (esbuild fails at resolve, before tree-shaking).Dead docs (−61,354)
Six trees whose founding premises are gone:
docs/roadmapspecced ~30 PRs into adocs/specs/tree that never existed in git history, and was founded on aDEV_AUTH_BYPASSthat now survives only as a guard rejecting it.docs/new-designwas built on switching the brand accent to Atlas orange#d97757— a hex that is now only Anthropic's provider-mark colour.RUN-RESULTS.mddescribed a 53-journey layout thate8622a1dreplaced; its durable traps already live in the harness README.Rewrites
JOURNEYS.mdmaps G0 → AS-1 and G3–G10 → IP-2…IP-9 instead of linking 9 deleted scripts.github-actions-strategy.mdno longer listsdeploy.yml/release-images.ymlunder "Workflows (implemented)" — neither exists.surfaces_v2at 35 files,effects,artifacts,harness_quality,control_plane,release,presentation,hyperparameters) and drops the Postgres adapter removed ine03840ed.Verification
tsc× chat-surface, frontend, desktopvite buildOrphan-destination guard passes; waivers drop 13 → 5 because the waived code is gone.
The 1 failing test is pre-existing on
dev:canvasLifecycle.test.tsshells into a Python runner importingagent_runtime.presentation.lifecycle, a module present on neitherdevnor this branch — only its runner survives.Not run: the Playwright harnesses (
tools/desktop-journeys,tools/cli-testing). They need a staged runtime andnode_modulesthe worktree lacks.🤖 Generated with Claude Code