What is the work
Create the editor workspace for reviewing, correcting, approving, removing, and reordering extracted or manually entered source items before slide generation.
Planned areas:
app/studio/[projectId]/page.tsx
components/intake/SourceReviewPanel.tsx
components/intake/SourceItemCard.tsx
convex/sourceItems.ts
components/intake/*.test.tsx
convex/sourceItems.test.ts
Why does it matter
The product promise depends on automation with editorial control. This workspace is where agent output becomes trusted carousel-ready content instead of unreviewed generated material.
What does done mean
- Editors can inspect extracted/manual source items as cards.
- Missing fields, ambiguous values, image state, and approval state are visible.
- Editors can correct, approve, remove, and reorder items.
- Approved items can produce slide instances for the visual studio.
Acceptance criteria
Blockers
What can make this fail
- Intake output bypasses human approval.
- Review UI hides ambiguity or missing information.
- Reordering is only visual and does not persist downstream.
- Slide generation mutates source notes unexpectedly.
How should Codex verify it
- Run source item Convex tests.
- Run SourceReviewPanel and SourceItemCard component tests.
- Test correction, approval, removal, reordering, and unresolved-required-field states.
- Add an integration test from approved source items to generated slide instances.
What is the work
Create the editor workspace for reviewing, correcting, approving, removing, and reordering extracted or manually entered source items before slide generation.
Planned areas:
app/studio/[projectId]/page.tsxcomponents/intake/SourceReviewPanel.tsxcomponents/intake/SourceItemCard.tsxconvex/sourceItems.tscomponents/intake/*.test.tsxconvex/sourceItems.test.tsWhy does it matter
The product promise depends on automation with editorial control. This workspace is where agent output becomes trusted carousel-ready content instead of unreviewed generated material.
What does done mean
Acceptance criteria
Blockers
What can make this fail
How should Codex verify it