ubiquitous-invention/plans/Plan-daily-driver-finish/Epic-shipping-the-shell/Task-smoke-test-collab-editor.md

85 lines
3.6 KiB
Markdown
Raw Normal View History

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-02 00:52:22 -04:00
---
kind: task
slug: smoke-test-collab-editor
title: Smoke-test TipTap + Yjs + Hocuspocus across two browsers on deployed stack
plan_slug: daily-driver-finish
epic_slug: shipping-the-shell
status: ready
priority: P1
tenant_id: global
owner: unassigned
cursor_todo_id: null
updated_at: "2026-06-01"
---
# Task summary
The TipTap + Yjs + Hocuspocus stack works in dev. Before declaring Echodo daily-usable, verify two browsers on the deployed collab service can edit the same document without drift, disconnect, or auth issues.
## Description
This is a verification task, not a feature task. It has two parts: build a checklist, run the checklist, document the result.
### Pre-flight
- Deploy must be up. CT 102 (Postgres/Redis), CT 107 (Coolify web), collab service running and reachable.
- A test workspace must exist with at least one document object.
- Two browsers with different sign-ins (use credentials provider for both — fastest path).
### Checklist
1. Browser A opens the document. Verify cursor appears and TipTap loads.
2. Browser B opens the same document. Verify B sees A's content.
3. A types a paragraph. B should see it within ~200ms.
4. B types in a different paragraph simultaneously. Both should converge without lost characters.
5. A goes offline (devtools network → offline), types, comes back online. Yjs should reconcile A's offline edits.
6. Kill the Hocuspocus process; clients should reconnect when it comes back (verify in `apps/collab-server/src/index.ts` logs).
7. Close both browsers. Reopen. Verify content persisted in Postgres (Hocuspocus database extension).
### Output
Write the result up as a comment block in `apps/collab-server/README.md` (create if missing) — a one-screen "verified on $DATE against $COMMIT_SHA, here's what works" note. Future operators need to know whether this stack is trusted or risky.
### If you find a regression
Don't fix it in this task. File a follow-up task in the same epic and flag the issue clearly. This task is verification; fixes are scoped separately so the verification has a clean before/after.
## Subtasks
- [ ] Verify deploy is live on CT 107 with collab server reachable.
- [ ] Run the 7-step checklist above.
- [ ] Write the result block in `apps/collab-server/README.md`.
- [ ] File any regression follow-ups as new tasks under this epic.
### Agent-side prep (already done)
The pieces an agent can verify without a live deploy + two browsers were checked as Path A landed:
- `pnpm lint && pnpm type-check` is green across all 6 packages, including `@tasks/collab-server`. `apps/collab-server/tsconfig.json` was cleaned up in commit `1c9deea` (removed vestigial `rootDir`/`declaration`/`outDir`/etc.).
- The auth changes that landed in commit `875b1cf` (Authentik SSO, case-insensitive emails, first-signin workspace provisioning) and subsequent Path-A commits do **not** touch the Hocuspocus auth path in `apps/collab-server/src/index.ts`. The session model the collab server reads from is unchanged.
- Workspace home, AI chat, and landing-route changes are all confined to `apps/web` and don't import or affect anything under `apps/collab-server`.
So the static health is fine. What's left is the live multi-browser test against the deployed stack, which has to be driven by an operator with the homelab credentials and two browser sessions in hand.
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-02 00:52:22 -04:00
## Owner or assignee
Unassigned
## Status
ready
## Estimation
S
## Acceptance criteria
- [ ] All 7 checklist items pass, or any failures are filed as separate tasks.
- [ ] Result block exists in `apps/collab-server/README.md` with date and commit SHA.
## Links to related Epic / Plan
- Epic: `./Epic-shipping-the-shell.md`
- Plan: `../Plan-daily-driver-finish.md`