57 lines
2.5 KiB
Markdown
57 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. |
|