--- kind: epic slug: shipping-the-shell title: Shipping the shell — wire stubs to real data, fix repo guardrails plan_slug: daily-driver-finish status: in_progress priority: P0 tenant_id: global cursor_epic_id: null updated_at: "2026-06-01" --- # Epic objective Every page in `apps/web/app/(app)/[workspaceSlug]/` should serve real data from the existing tRPC routers, and `pnpm lint && pnpm type-check` should pass from a clean clone. Today both are partially broken (hardcoded mocks on the home page, `setTimeout` on the AI page, `next lint` interactive prompt, Node-API leak in shared). ## In scope / out of scope **In scope** - Wire `[workspaceSlug]/page.tsx` to tRPC. - Wire `[workspaceSlug]/ai/page.tsx` to `routers/ai.ts` + `packages/ai`. - Decide and implement the post-sign-in landing route. - Smoke-test the collab editor against the deployed Hocuspocus instance. - Fix `pnpm lint` (Next 16 ESLint CLI migration). - Fix `pnpm type-check` (`@tasks/shared/utils/id.ts` Node API leak). **Out of scope** - New feature work. This epic is *finishing*, not extending. ## Related tasks | Task | Link | |------|------| | Fix lint + shared types | `./Task-fix-lint-and-shared-types.md` | | Wire workspace home dashboard | `./Task-wire-workspace-home-dashboard.md` | | Wire AI chat to tRPC | `./Task-wire-ai-chat-to-trpc.md` | | Pick workspace landing route | `./Task-pick-workspace-landing-route.md` | | Smoke-test collab editor | `./Task-smoke-test-collab-editor.md` | ## Dependencies - Depends on: nothing. Auth + workspace provisioning landed in `875b1cf`. - Blocks: `Plan-multitenant-saas-hardening` (don't harden surfaces that are still stubs). ## Acceptance criteria - [ ] `pnpm lint && pnpm type-check` exits 0 from a clean clone. - [ ] No hardcoded mock data in any `(app)/[workspaceSlug]/*` page. - [ ] AI chat page sends and receives messages through `routers/ai.ts`. - [ ] Post-sign-in lands a user on a page that shows real state. - [ ] Two browsers editing the same TipTap doc on the deployed Hocuspocus instance stay in sync for at least one full edit session. ## Proposed timeline | Phase | Window | Notes | |-------|--------|-------| | Repo green | Day 1 | Lint + shared types fix | | Stubs to data | Day 2 | Home + AI + landing route | | Collab verify | Day 3 | Cross-browser smoke test |