Releases: adminbjkai/cap5
Releases · adminbjkai/cap5
v0.1.0 — First stable milestone
Cap5 v0.1.0 — the first stable milestone of the single-tenant video processing platform.
What's working
Core pipeline
- Upload (single-part and multipart) → FFmpeg processing → MP4 normalization
- Deepgram transcription with speaker diarization
- Groq-powered AI enrichments: title, summary, chapters, entities, action items, quotes
- Queue-based job processing with retry support for eligible transcription/AI jobs
- Soft delete with delayed artifact cleanup
Watch page
- Video playback with chapter navigation and keyboard shortcuts
- Editable transcript with speaker labels
- Speaker filtering with live-synced selected-speaker playback
- Server-backed operator notes
- AI summary, action items, and chapter panels
Auth & security
- Single-user JWT authentication
- Login throttling with auth event logging
- Inbound webhook verification (media-server callbacks)
- Signed outbound user webhooks with HMAC headers
- Idempotency-key enforcement on all mutations
Frontend
- React/Vite SPA with dark mode
- Collapsible sidebar with localStorage persistence
- Library page with filtering by status, sorting, and creation timestamps
- Video creation time displayed on library cards and watch page header
- System provider status dashboard (Deepgram + Groq health)
- In-browser screen recording
Infrastructure
- Docker Compose deployment (PostgreSQL, MinIO, web-api, worker, media-server, nginx)
- Automated CI: lint, typecheck, unit tests, web E2E, API E2E, Docker build (8 checks)
- Pnpm monorepo with shared config, db, and logger packages
Test coverage
- Web component and Playwright E2E tests
- API E2E for jobs, library, uploads, videos, webhooks
- Worker tests for queue transitions, cleanup lifecycle, webhook signing
- Provider integration tests for Deepgram and Groq
- Auth login throttling unit tests
Known gaps
- No production deployment story beyond Docker Compose
- No active HLS streaming path
- Worker throughput scaling is intentionally simple (single-claim loop)
- Full browser recording flow E2E not yet covered