---
id: 03-delete-demo-apps-and-features
epic: platform-retrofit
title: Delete web-tanstack and the four demo content features
type: technical-story
status: todo
feature: web-tanstack, blog, media, marketing-pages, navigation
depends-on: [02-single-version-release-please]
blocks: [04-web-next-shell, 08-rewrite-agent-docs]
created: 2026-07-12T10:22:00Z
updated: 2026-07-12T11:16:19.512Z
---

## Goal

`apps/web-tanstack` and the demo features `blog`, `media`, `marketing-pages`, `navigation` are gone, including all composition wiring: core-api router anchors, core-cms collection anchors, web-next pages/imports, the bindAll dispatcher entries, seeds, e2e specs, and Storybook references. Only `auth` remains at the feature tier. Deletion order is dependency-order — app first, then features — and each deletion is one slice/commit that leaves every gate green.

## Why

The demo content blocks the package map: the Veect features (workspaces, projects, design-doc, discovery, ai) can't land cleanly while blog/media/navigation/marketing-pages occupy the workspace, the router/CMS composition, and the app surfaces (PRD user story 4). The generators are template-driven (`turbo/generators/templates/`), not derived from live features, so all four content features go (PRD Q2).

## Done when

- `apps/web-tanstack`, `packages/blog`, `packages/media`, `packages/marketing-pages`, `packages/navigation` no longer exist; no imports from deleted features anywhere; `pnpm turbo boundaries` clean.
- Each deleted feature's wiring (core-api router anchor, core-cms collection anchor, bindAll entry, web-next UI imports, seeds, e2e specs, Storybook references) was pruned in the same slice as the package deletion.
- `docs/glossary.md` Packages-section terms describing each deleted feature were pruned in the same slice that deleted the feature (no orphaned glossary terms); `auth` entries stay.
- The `auth` feature's manifest, tests, and coverage bands are untouched (regression canary — ADR-027 §4).
- ESLint/turbo boundary configs and the generators survived the deletions (spot-check: `pnpm turbo gen feature` still scaffolds; any config a deletion breaks is fixed inside that same slice).
- `pnpm typecheck && pnpm lint && pnpm test && pnpm conformance && pnpm fallow:audit && pnpm coverage:diff` pass on EVERY slice — no big-bang broken middle. (Exception per the epic's baseline waiver: `pnpm lint` is waived UNTIL the final deletion slice of this story — deleting blog/navigation/marketing-pages removes the only edges closing the `core-trpc → core-api` package cycle, so the final deletion slice and everything after MUST pass `pnpm lint`.)

## In scope

- The five deletion slices and their wiring/seed/e2e/Storybook/glossary pruning.
- Fixing any ESLint/turbo boundary config or generator breakage a deletion causes, inside the causing slice.

## Out of scope

- Replacing the web-next home page and the boot smoke assertion (story 04).
- Deleting `auth`, `apps/cms`, `apps/storybook`, or any core package — they stay wired.
- Generator retargeting beyond what deletions force (PRD out of scope).

## Tasks

- [ ] Delete `apps/web-tanstack` and all its wiring in one slice — workspace/turbo entries, root scripts, CI references (e.g. `WEB_TANSTACK_SENTRY_DSN` / `VITE_` DSN wiring), e2e project entries — one commit, all gates green.
- [ ] Delete `packages/blog` and prune its composition wiring in the same slice — core-api router anchor, core-cms collection anchor, bindAll entry, web-next pages/imports, seeds, e2e specs, Storybook references, glossary terms — one commit, all gates green.
- [ ] Delete `packages/media` and prune its composition wiring in the same slice (same checklist as blog) — one commit, all gates green.
- [ ] Delete `packages/marketing-pages` and prune its composition wiring in the same slice (same checklist; includes its cross-feature event handlers consuming auth events) — one commit, all gates green.
- [ ] Delete `packages/navigation` and prune its composition wiring in the same slice (same checklist) — one commit, all gates green.
