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

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.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.