Three new plan trees that fill in the gaps surfaced during repo review. Together they map out what remains between the current scaffold-with-stubs state and a daily-usable, multitenant, agent-coordinated app. * Plan-daily-driver-finish (P0): turn stubs into real data. Five tasks covering the lint/shared-types breakage, hardcoded dashboard mocks, AI-page setTimeout placeholder, post-signin landing decision, and a cross-browser collab smoke test against the deployed Hocuspocus instance. * Plan-multitenant-saas-hardening (P1): everything multitenant needs beyond what Plan-multitenant-cursor-sync already covers. Invites and role management, soft-delete + append-only audit log, rate limits on the auth + mutation hot paths, and a Vitest + GitHub Actions test foundation so PRs can't ship red. * Plan-agent-coordination (P2): the layer that makes a Task-*.md runnable, not just readable. Adds workflow_prompt with task -> epic -> plan inheritance, an agent_runs table for auditable sessions, and two new MCP tools (claim_task / complete_task) that replace the freeform update_object composition agents do today. Includes an intentionally-deferred Epic-optional-orchestrator that captures the Symphony-shaped runner as a decision point rather than an immediate build. Each task is bead-scale (one focused Cursor session) with explicit in-scope, out-of-scope, and anti-goal sections so a future agent can pick up a single Task-*.md and start without scrollback context. Co-authored-by: Cursor <cursoragent@cursor.com>
2.5 KiB
2.5 KiB
| kind | slug | title | status | priority | tenant_id | cursor_plan_id | updated_at |
|---|---|---|---|---|---|---|---|
| plan | daily-driver-finish | Daily-driver finish — turn the scaffold into an app you'd actually open | in_progress | P0 | global | null | 2026-06-01 |
Plan overview
Echodo's web app is feature-rich on the surface (workspaces, planner, docs, forms, whiteboards, AI page, MCP server, collab editor) but several of those surfaces are stubs or hardcoded mockups. This plan finishes the personal task manager layer: the smallest set of changes that turns pnpm dev into something you'd open on a Monday morning instead of a demo.
Objectives and success criteria
- Workspace home page shows real data (open tasks, recent items) sourced from tRPC, not hardcoded constants.
- AI chat page calls the existing
routers/ai.tsandpackages/aiprovider instead of asetTimeoutplaceholder. - New users land on a useful surface after sign-in instead of a decorative dashboard.
- Collab editor (TipTap + Yjs + Hocuspocus) has been smoke-tested end-to-end on the deployed stack with two browsers.
pnpm lintandpnpm type-checkboth run clean from a fresh clone (currently both fail for pre-existing infra reasons).
Scope and boundaries
In scope
- Dashboard data binding, AI chat wiring, landing-route decision, collab smoke test.
- Repo cleanup:
next lintdeprecation,@tasks/sharedNode-API leak inutils/id.ts.
Out of scope (this plan)
- Multitenant invite flows, audit log, rate limiting (see
Plan-multitenant-saas-hardening). - Agent orchestration / runs table (see
Plan-agent-coordination). - New product features beyond what's already scaffolded.
Epics
| Epic | Link |
|---|---|
| Shipping the shell | ./Epic-shipping-the-shell/Epic-shipping-the-shell.md |
Metrics and milestones
| Milestone | Target | Metric |
|---|---|---|
| Repo green | M1 | pnpm lint && pnpm type-check exits 0 from a clean clone |
| Daily-usable | M2 | Home + AI + landing route all serve real data, no hardcoded mocks left in user-facing pages |
| Two-browser collab verified | M3 | Two browsers editing the same TipTap doc on the deployed Hocuspocus instance without drift |
Risks and mitigations
| Risk | Mitigation |
|---|---|
next lint migration churn |
Migrate to ESLint CLI via the official Next codemod; keep the same rule set so behavior stays stable. |
| Hocuspocus auth mismatch in prod | Smoke test specifically against the deployed collab service, not localhost-only, before declaring M3 done. |