Repository navigation
Conversation
…GENT_TRANSCRIPT_RETRIEVAL Builds a shared per-transcript index (caption passages with Qwen3 embeddings, DeepSeek chapters) in a background TranscriptIndexWorkflow, stored in the video catalog beside the transcript version. inspect_video answers from passage search, a chapter add-on, or chapter-by-chapter extraction once the index is ready, and falls back to the full transcript otherwise. Default stays full; includes the evaluation harness and question fixtures.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Independent review — adbf9b0Verdict: CHANGES NEEDED. Reviewed the current description, merge-base diff against target main 44933d2, surrounding code and checks. Default P2 — Optional query embedding can prevent full-transcript fallback
P2 — The optional chapter preload's first lookup is unbounded
P2 — Chapter-density changes reuse the wrong completed workflow
P2 — Whole-video budget reduction removes almost all citation support
Actual-function fixture: a supported 80.5-minute video, 23 chapters × 4 points and 85-character captions yields 276 caption excerpts before budgeting, one afterward, with 91 of 92 points uncitable. A 119-minute fixture similarly loses support for 135/136 points. prompt_evidence_cut is disclosed, but the remaining input cannot support the requested chapter-grounded answer. Budget points and supporting captions together, preserve alignment, and disclose which coverage was omitted instead of retaining unsupported summaries. P2 — Invalid nonempty chapter citations silently disappear
P2 — Schema-invalid completed calls bypass usage accounting
Independent verification
Boundaries verified and limitsDefault full mode avoids new index reads/builds; no default-full blocker was found. Shared derived indexes remain outside session deletion ownership; changed deletion tests passed. Ordinary failed chapter calls preserve other chapters with PARTIAL_EVIDENCE, and all-failed/all-empty extraction falls back to full. Citation aliases work when packets fit. No live Fireworks/Jev calls, paid evaluations, production outages/workflow executions, deployment or manual blind grading were performed. Fixtures use production functions with synthetic provider/catalog/workflow responses; the usage probe exercises the installed SDK error behavior. Author-reported speed/quality results were not independently reproduced and do not establish broad reliability. No code edits, push, merge or deployment by this review. |
…able Address review findings on the shadow and index paths: - Index reads, query embedding and Jev share an 8 s budget; extraction stops at 25 s; both end 12 s before the research deadline so the full transcript can still be used. Shadow mode returns the full transcript immediately. - The pre-classification chapter lookup is bounded as a whole and honors cancellation; workflow enqueue calls are bounded too. - Workflow identity includes the transcript variant, builder versions and chapter density. - Whole-video points over the finalizer budget shed context captions, then later points per chapter, keeping each point aligned with the captions it cites. - A nonempty chapter answer with only out-of-range citations is repaired once, then reported as not covered; usage of schema-invalid completed calls is recorded.
Independent re-review — 85c425fVerdict: CHANGES NEEDED. The deadline, workflow-identity, invalid-citation and error-usage fixes pass independent regression probes. The chapter-budget fix works for the original short-caption cases but still has a minimum-fit failure; a separate large-partial-result edge also needs correction. Default full mode remains unchanged. P2 — Minimum-fit overflow still leaves chapter points without citations
Production-function reproductions at the actual 60,000-character budget:
The earlier 23/34-chapter short-caption fixtures now pass. Do not fall through to generic reduction for a chapter packet when its minimum aligned form cannot fit. Select a bounded set of point-plus-caption groups and explicitly disclose omitted chapters/points, or use an appropriate fallback; preserve citation alignment for everything retained. P2 — More than 50 failed chapters reject usable partial evidence
Aggregate the warning count/ranges into a bounded representation while preserving detailed failed-chapter metadata. This issue was present in the first head and is newly tested here; it is not caused by the deadline fix. P3 — Shadow cancellation leaves an unobserved rejected promise
Fixes verified
Fresh validation for this head
No source edits, push, merge, deployment or paid/live evaluation. Kiro was asked to review this exact head in a fresh session; no substantive verdict has returned yet, so this comment does not claim its agreement. The synthetic fixture and local test limits from the prior review still apply. |
…arnings - When one point per chapter does not fit the finalizer budget, keep the largest evenly spread set of chapters with one aligned point each and name the omitted chapters. A chapter packet is never reduced to point text without its captions; if nothing fits, it is omitted and reported as cut. - Report failed chapters in one bounded PARTIAL_EVIDENCE warning, so more than 50 failures no longer exceed the packet warning limit and discard partial evidence. - Always observe optional retrieval work, so cancelling a shadow run leaves no unhandled rejection.
Re-review — 5c724bcVerdict: APPROVE with the existing default Prior findings independently verified fixed
P3, nonblocking — spread-selection size is not monotonic
Review comparisonA separate Kiro review of this exact head agrees all three prior findings are fixed and identifies no P1/P2. Its independent same-selector counterexample also confirms the P3 above. The Fresh verification
Kiro's package installation was blocked by registry access; its corroboration used standalone extracted-function probes, not a passing full suite. My independent validation used the installed project dependencies and production functions. No paid/live provider evaluation, deployment, production outage simulation, or manual blind quality grading was performed. Keep the PR's separate quality/rollout gate before enabling |
… with the count Each count selects a different evenly spread set of chapters, so a smaller count can be larger than a bigger one. Binary search could stop early and keep fewer chapters than fit. Try counts from the largest down instead.
Re-review — 9022b64Verdict: APPROVE, retaining default
Fresh independent validation: 2,052 units + 14 catalog + 86 session-catalog tests = 2,152 passed, 1 skipped. Eleven additional regression/boundary tests passed, including the oracle. Standalone shadow cleanup reports zero unhandled rejections. TypeScript, generated docs and diff checks passed; checkout clean. Verify CI 39360587515 and Vercel passed for this SHA. Kiro independently agrees on this exact head: its 40-chapter counterexample now retains the largest fitting 32 chapters instead of 29, and 400 randomized extracted-function trials passed. Its local full suite remained unavailable because of registry access; those probes are corroboration, not an additional full-suite pass. Descending enumeration does more serialization than binary search but is bounded by candidate count; no production Worker latency benchmark was performed. This supersedes the prior P3 selector follow-up. The documented source-coverage metric limitation is unchanged. No paid/live provider evaluation or rollout-quality revalidation was performed; approval does not authorize enabling indexed retrieval. No implementation, push, merge or deployment performed by this review. |
Implements the video index retrieval guideline (
.scratch/video-index-retrieval/PRD.md) behindAGENT_TRANSCRIPT_RETRIEVAL, which defaults tofull. Production behavior is unchanged until the var is switched, and the comparison below says not to switch yet.What it does
transcript_indexandtranscript_chaptersinVIDEO_CATALOG/VIDEO_ASSETS, pinned to the transcriptcontent_hash, with float16 vectors. Payloads hold no transcript text.TranscriptIndexWorkflowuses a deterministic instance ID, so a duplicate start is a no-op and a failed instance is restarted. Step 1 is saved before step 2. It is started from the coordinator after a word-level transcript is published, and by any question that finds no index. Answering never waits for it.inspect_video): the classifier gains an optionaltranscriptScopefield and sees chapter titles when an index is ready.topic: passage search with a 2,000-token budget.one_part: the same, plus the best-matching chapter for up to half the budget.whole_video: parallel per-chapter point extraction.AGENT_TRANSCRIPT_ROUTER=jevplus aJEV_API_KEYsecret.platform-internals.md,VIDEO_CATALOG.md,SESSION_EVIDENCE.md.Deviation from the PRD
Readiness is decided at the first
get_video_transcriptcall in a run, not at the start of research, because the transcript's catalog version is only known then. It still holds for the rest of the run. Whole-video extraction is not priced as a separate data operation.Evaluation
Offline (
test/transcript-retrieval.eval.test.ts, real Fireworks and Jev calls, research-repo transcripts):Agent path: a local Worker answered the same 18 questions on each path. The automatic metric is fact locations cited; manual blind grading is still to do (
scripts/eval-transcript-retrieval.ts sheet).* Today's path failed on the first attempt for both of these long-context questions and succeeded on retry. The index path had no failures.
Conclusion: the index path is faster and more reliable, but today's path still cites more fact locations, so keep
full(PRD Phase 0 gate). The largest remaining misses are Q1 (the chapter choice) and the agent skipping the transcript on one React question.Tests
docs:checkpasses; OpenAPI regenerated for the new route field.AGENT_INDEX_LIVE=1) passes.Before enabling
This needs a deploy that creates the
transcript-index-workflowWorkflow, thenAGENT_TRANSCRIPT_RETRIEVAL=shadowfirst.