ubiquitous-invention/plans/Plan-daily-driver-finish/Plan-daily-driver-finish.md
Randall Stillwell 778fe1d321 plans: scaffold daily-driver-finish, saas-hardening, agent-coordination
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>
2026-06-01 23:52:22 -05:00

56 lines
2.5 KiB
Markdown

---
kind: plan
slug: daily-driver-finish
title: Daily-driver finish — turn the scaffold into an app you'd actually open
status: in_progress
priority: P0
tenant_id: global
cursor_plan_id: null
updated_at: "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.ts` and `packages/ai` provider instead of a `setTimeout` placeholder.
- 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 lint` and `pnpm type-check` both 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 lint` deprecation, `@tasks/shared` Node-API leak in `utils/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. |