From 9d950d81cf3f7827a6253679fea8a76f35d8c82f Mon Sep 17 00:00:00 2001 From: FernandoM33 Date: Mon, 7 Sep 2026 00:54:13 -0700 Subject: [PATCH] ux: make clip finding manual-first --- .../scripts/smoke-create-clips-workspace.mjs | 9 ++++- frontend/src/features/clips/ClipFindStage.tsx | 38 ++++++++++++------- 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/frontend/scripts/smoke-create-clips-workspace.mjs b/frontend/scripts/smoke-create-clips-workspace.mjs index f63b644..c1bf743 100644 --- a/frontend/scripts/smoke-create-clips-workspace.mjs +++ b/frontend/scripts/smoke-create-clips-workspace.mjs @@ -64,8 +64,13 @@ assert.match(panelSource, /getNewManualClipDrafts\(clipDrafts, knownClipDraftIds assert.match(panelSource, /if \(mode !== 'clips' \|\| newlyAddedManualDrafts\.length === 0\) return/); assert.match(panelSource, /setClipStage\('prepare'\);\s+setActiveClipDraftId\(draft\.id\);\s+setSelectedWordIndices\(getWordIndicesForClip\(words, draft\)\)/); assert.match(findStageSource, /Find moments with AI/); -assert.match(findStageSource, />Find moments<\/h3>/); -assert.match(findStageSource, /Choose moments yourself/); +assert.match(findStageSource, />Choose moments<\/h3>/); +assert.match(findStageSource, /Start from the transcript — no AI required/); +assert.match(findStageSource, /Optional AI discovery/); +assert.ok( + findStageSource.indexOf('Start from the transcript — no AI required') < findStageSource.indexOf('Find moments with AI'), + 'manual transcript clipping must be presented before optional AI discovery', +); assert.match(reviewSource, /Preview each moment/); assert.match(reviewSource, /Prepare approved clips/); assert.match(reviewSource, /Find more moments/); diff --git a/frontend/src/features/clips/ClipFindStage.tsx b/frontend/src/features/clips/ClipFindStage.tsx index 9ec7ba0..0756205 100644 --- a/frontend/src/features/clips/ClipFindStage.tsx +++ b/frontend/src/features/clips/ClipFindStage.tsx @@ -19,21 +19,31 @@ export default function ClipFindStage({ }: ClipFindStageProps) { return (
-

Find moments

-

- Start with AI discovery, or choose moments yourself from the transcript. AI suggestions are never approved or exported automatically. -

- -
- Choose moments yourself: select transcript words, then choose Draft clip. Speaker turns are a secondary shortcut. +

Choose moments

+
+
Start from the transcript — no AI required
+

+ Select the words you want, preview the selection, then choose Draft clip. +

+ +
+
+
Optional AI discovery
+

+ Ask AI to suggest candidate moments for you to review. Nothing is approved or exported automatically. +

+
+ +
+ {speakerTurnCount > 0 && (