Skip to content

WP-06: Orchestration + workspace UI - #10

Merged
gitAbid merged 3 commits into
mainfrom
wp-06-orchestration-workspace
Oct 27, 2026
Merged

gitAbid merged 3 commits into
mainfrom
wp-06-orchestration-workspace

Conversation

@gitAbid

@gitAbid gitAbid commented Oct 27, 2026

Copy link
Copy Markdown
Owner

WP-06: Orchestration + workspace UI

Built by the integrator (subagents were rate-limited). Base: main @6d96242 (all of WP-00..05, 07, 08 merged).

Acceptance criteria

  • U6 ✅ full package on the sample episode, artifacts appear as they finish: db: U6 — the full package generates and artifacts appear (deterministic fallback) — 8/8 artifacts, honest fallback banner (AI keys are owner-blocked placeholders), well under 5 min (≈1 s in e2e)
  • U7 ✅ (keyless scope) quote badge → popover with surrounding sentence + ▶ Play from mm:ss (db: MK-7 — quote popover shows the verified context and play affordance); actual audio playback needs BLOB_READ_WRITE_TOKEN (owner blocker — honest "Audio isn't available in this preview." state)
  • U9 ✅ failed artifact → card with "Try again" (no quota) — unit: failed artifacts can retry without an instruction; fallback → deterministic package (U10) unit-proven, live-proven in WP-04
  • U11 ✅ edits autosave (1.5 s) and survive reload: db: U11 — edits autosave and survive a reload
  • U12 ✅ regenerate with instruction → "Regenerated" toast → Undo restores snapshot: db: U12 — regenerate with an instruction and undo restores the snapshot; cap 20/artifact + 60 regen/h/user unit-tested
  • U13 ✅ Copy ▾ Apple Podcasts ≤4000 with chapters + free footer, shorten-to-fit + toast: db: U13 — copy for Apple Podcasts…; unit U13: Apple/Spotify over 4000 chars need shortening
  • MK-5/6/6b/7 layouts ✅ processing skeletons, 3-column workspace, per-kind editors (titles rows ★/Use-as-title, summary 3 cards, blog SEO+preview, newsletter subjects, social tabs, chapters rows + Add), quotes panel, transcript search, mobile chip row + bottom tabs: db: mobile — chip row and bottom tabs, db: transcript panel searches, db: ready flag ticks an artifact (M8)

Verification (all local, production build)

  • pnpm test: 436 passed / 2 skipped (skips = WP-04 CI-excluded live tests) — 22 new pipeline/export tests + segment-id fix
  • Keyless e2e: 30 passed (existing suites unaffected)
  • New DB-mode e2e (pnpm e2e:db, embedded Postgres): 8/8 passed — real pipeline against a real database
  • pnpm lint 0 errors · pnpm typecheck clean · pnpm build ✓ · CI extended with the DB-mode e2e step
  • Preview: https://episodekit-m4rcjjm45-pera-byte.vercel.app (keyless 200)

Real bugs found and fixed by the DB-mode e2e

  1. Segment-id collision (production-grade): segments.id is the global PK — per-episode seg_000000 ids would collide on the second episode ever; now namespaced seg_<episodeId[:8]>_<idx>
  2. Stale-closure autosave (debounce saved pre-keystroke content)
  3. Autosave "Saved" hint fired before the round-trip; now persists-then-hints
  4. Copy menu clipped by the editor's scroll container (nav intercepted clicks)

Decisions logged (DECISIONS.md, 5 entries)

PGlite e2e database behind pglite: URL scheme + seed script; pglite-scoped E2E_AUTH_USER_ID seam (can never fire against a real DB); PGlite globalThis singleton + serverExternalPackages (+ sequential fallback without neon .batch); cacheComponents/partialPrefetching disabled app-wide (PPR replay guard broke streamed per-user pages — all pages already use connection()+Suspense); segment-id namespacing.

Left for later WPs

  • FeedbackThumbs API wiring → WP-09 · audio playback end-to-end → owner Blob key · live AI generation → owner GLM/Groq keys · resumable transcribe resume-button (>2 min interrupted) → WP-10 polish

@gitAbid
gitAbid merged commit 34be5a7 into main Oct 27, 2026
2 checks passed
@gitAbid
gitAbid deleted the wp-06-orchestration-workspace branch October 27, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant