Repository navigation
Conversation
Member
|
Thanks for the thorough testing here. We require Greptile 5/5 on the latest commit and green CI before review, so please rebase on current main (the branch is far behind) and trigger a Greptile re-review on the angle-bracket fix. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cap already stores AssemblyAI word speakers, but transcription did not request them and captions/UI discarded them. This enables diarization for full recordings and editable-transcript backfills, shows Speaker A/B labels in the transcript, editor and player captions, and preserves labels through transcript edits, video cuts, copying, VTT/text downloads and agent API round-trips. Existing transcripts without labels continue to render normally.
Live chunks remain provisional and use no speaker labels: AssemblyAI identities are scoped to a transcription request. On recording completion, Cap queues a full-recording transcription instead of promoting independent chunks into a misleading final transcript. This adds a full transcription pass for recordings previously eligible for live promotion; the final labels appear when that pass completes. Queue failures propagate for workflow retry.
Validation:
pnpm typecheckandpnpm exec biome ci . --linter-enabled=falsepassed; scoped Biome checks passed.b7ffdd4a-2d21-4425-b8bd-bffa3f28159f.Also corrected the existing Slack-manifest test's stale expected brand color to match the current manifest, so the full web suite passes. No database migration or new environment variable is required; uses the existing
ASSEMBLY_API_KEY.Upstream validation on
2766dc0: CI and Recording Reliability passed. Greptile re-reviewed 24 files and added no new comments; security checks passed. Vercel preview remains blocked on Cap Software team authorization.October 5 review fixes
Legacy cues containing literal text such as
2 < 3no longer lose text. The parser strips recognized WebVTT tags and timestamps, then decodes entities; escaped VTT writes and React text rendering remain intact. Regression coverage includes caption display, copying, downloads, and the agent API.Validation on
ce473ccc: 49 focused transcript tests and 27 scheduling/live-handoff tests passed; scoped Biome passed. The actual-component transcript fixture used by #2417 also verifies complete literal text.Cost-control review: recording-wide speaker identities require one canonical full-recording pass after provisional live chunks. This deliberately adds a pass to the previous successful-live-promotion path. The pre-feature workflow already used chunk transcription plus a full pass when promotion failed (
321ae61b9,queueFullPassFallback). The canonical database claim prevents competing triggers from scheduling multiple canonical passes. Account-wide usage budgets and trusted media-duration enforcement remain broader pre-existing cost-control gaps; this change does not establish a new quota policy.The PR is not yet safe to merge because existing transcripts containing literal angle brackets can display and export truncated text.
Findings
Fix with agent prompt
Summary
The PR requests speaker diarization for full-recording transcription, keeps live chunks provisional, and carries speaker labels through captions, editing, exports, translations, and the agent API.
Reviews (1) · Last reviewed commit: "fix: validate translated transcript spea..."