Skip to content

feat: automatically fill missing video transcripts during sync - #133

Merged
swernerx merged 2 commits into
mainfrom
codex/default-transcription-enrich
Sep 21, 2026
Merged

swernerx merged 2 commits into
mainfrom
codex/default-transcription-enrich

Conversation

@swernerx

@swernerx swernerx commented Sep 21, 2026 •

Copy link
Copy Markdown
Member

I make offcourse sync <course-url> generate missing video transcripts by default, including videos downloaded by earlier runs. Repeating the same command fills in gaps and skips complete transcript files. --no-transcribe opts out, and --dry-run does not transcribe.

I check the actual Markdown and JSON files even when SQLite marks a transcription complete. Missing Markdown is restored from valid JSON without speech recognition; missing or invalid JSON triggers transcription while preserving existing nonempty Markdown. Each sync retries unfinished videos once, regardless of historical attempt counts, and continues after individual video failures. Output files are written atomically.

I also discover existing videos for cached lessons, including numbered additional Josh Comeau videos, without re-extracting those lessons just for transcription. Fully downloaded Skool courses can fill in missing transcripts without opening a browser. --force explicitly regenerates transcripts along with refreshing course content.

Validation:

  • I ran pnpm check: formatting, lint, type checking, all 679 tests, and build passed.
  • I exercised the built sync CLI with real SQLite state and local files plus a simulated Cuttledoc executable: existing-download backfill, skipping completed transcripts, and restoring deleted Markdown all passed without remote course access.
  • I did not run real speech recognition; it requires the native Cuttledoc CLI and backend assets.

@codecov-commenter

codecov-commenter commented Sep 21, 2026 •

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 89.79592% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 50.74%. Comparing base (ecec1b6) to head (2d18648).

Files with missing lines Patch % Lines
src/transcription/pipeline.ts 82.14% 5 Missing ⚠️
src/storage/fileSystem.ts 81.25% 3 Missing ⚠️
src/cli/commands/sync.ts 80.00% 2 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #133      +/-   ##
==========================================
+ Coverage   48.78%   50.74%   +1.96%     
==========================================
  Files          52       53       +1     
  Lines        5947     6010      +63     
  Branches     1777     1796      +19     
==========================================
+ Hits         2901     3050     +149     
+ Misses       3044     2958      -86     
  Partials        2        2              
Files with missing lines Coverage Δ
src/cli/commands/syncHighLevel.ts 59.90% <100.00%> (+0.48%) ⬆️
src/cli/commands/syncJoshComeau.ts 95.77% <100.00%> (+0.55%) ⬆️
src/cli/commands/syncLearningSuite.ts 35.75% <100.00%> (+0.25%) ⬆️
src/cli/commands/syncPiccalilli.ts 77.58% <100.00%> (+0.57%) ⬆️
src/cli/syncPipeline.ts 93.27% <100.00%> (+7.56%) ⬆️
src/transcription/cuttledoc.ts 90.00% <100.00%> (ø)
src/transcription/outputs.ts 100.00% <100.00%> (ø)
src/cli/commands/sync.ts 18.18% <80.00%> (+14.10%) ⬆️
src/storage/fileSystem.ts 78.21% <81.25%> (+11.15%) ⬆️
src/transcription/pipeline.ts 90.00% <82.14%> (-5.92%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@swernerx swernerx changed the title feat: transcribe by default and enrich existing downloads feat: automatically fill missing video transcripts during sync Sep 21, 2026
@swernerx
swernerx merged commit 4ca2192 into main Sep 21, 2026
7 checks passed
@swernerx
swernerx deleted the codex/default-transcription-enrich branch September 21, 2026 20:21
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.

2 participants