Releases: mriechers/cardigan
v3.5.0: Foundation Complete
Foundation Complete
The culmination of v3.x development — all core infrastructure is in place for the editorial workflow.
Highlights
This release represents the complete v3.5 foundation: a production-ready system for processing PBS Wisconsin video transcripts into SEO-optimized metadata. The system combines automated LLM processing with a human-in-the-loop editing workflow powered by Cardigan, our Mister Rogers-inspired AI copy editor.
Everything in v3.5.0
- 4-phase processing pipeline (Analyst → Formatter → SEO → Manager) with multi-model routing
- React web dashboard with 8 pages, real-time WebSocket updates, WCAG 2.1 AA accessibility
- Remote ingest watcher — automated transcript/screengrab discovery from PBS media server
- Embedded chat — talk to Cardigan from the job detail view
- MCP server for Claude Desktop (9 tools, 6 prompts)
- Per-phase retry tracking with UI visibility
- GitHub Actions CI pipeline with code formatting enforcement
Infrastructure
- 9 API routers, 15 services
- SQLite database with 7 migrations
- APScheduler for ingest scheduling
- OpenRouter multi-model LLM routing
- Airtable SST integration (read-only)
What's next
See the roadmap for v3.6.0 (Stability & Identity) through v4.0.0 (Deployment).
v3.3.0: UX Refinement
UX Refinement
Sprint 13.x: Workflow improvements that make transcript discovery and screengrab management less overwhelming.
What shipped
- Promoted "Ready for Work" — moved from Settings sub-tab to second item in main navigation
- Smart filtering — debounced search, configurable date range, auto-hide files with existing jobs
- Contextual screengrab panel — screengrabs appear on JobDetail only when matching Media ID exists (replaced global panel)
- Simplified Settings — removed redundant ingest panels, added direct links to relevant pages
- Bundle optimization — reduced frontend bundle by 13KB through refactoring
Technical details
- Extended /api/ingest/available with search, days, and exclude_with_jobs parameters
- Added /api/ingest/screengrabs/for-media-id/{media_id} endpoint
- New components: ReadyForWork page, ScreengrabSlideout
- Frontend build: 472KB (down from 485KB)
- Ingest tests: 52/52 passing
v3.2.0: Chat Prototype
Chat Prototype
Sprint 12.1: Embedded chat with Cardigan directly from the job detail view.
What shipped
- Chat endpoint — POST /api/chat/message with full project context injection
- Slide-out chat panel — accessible from JobDetail page, chat while viewing job results
- Context builder — automatically loads transcript, brainstorming, and revision history into chat context
- Editor personality — Cardigan's Mister Rogers-inspired voice in chat responses
- Cost tracking — per-message token and cost tracking via chat_cost service
- DB persistence — chat history stored in SQLite for session continuity
Technical details
- New router: chat_prototype
- New services: chat_context, chat_cost
- REST-based (intentional — validates UX pattern before WebSocket investment)
- Context size: ~60K chars (transcript truncated at 10K)
v3.1.0: Remote Ingest Watcher
Remote Ingest Watcher
Sprint 11.1: Automated discovery of transcripts and screengrabs from PBS Wisconsin's media ingest server.
What shipped
- Ingest scanner service — scheduled scanning of remote media server for SRT transcripts and JPG screengrabs
- Smart matching — correlates files to Airtable SST records that have passed QC
- "Ready for Work" page — top-level dashboard page for transcript discovery with search and date filtering
- Screengrab auto-attachment — automatically links screengrabs to Airtable records (additive-only, with audit logging)
- Ingest configuration UI — Settings page controls for scan schedule and server URL
- APScheduler integration — configurable scan scheduling (default: daily)
Technical details
- New router: ingest (8 endpoints for scan, config, available files, screengrab management)
- New services: ingest_scanner, ingest_config, ingest_scheduler, screengrab_attacher
- 61 new tests (40 unit + 12 API + 9 attacher safety tests)
- Database migrations for ingest tables and available_files tracking
v3.0.0: Core Architecture
Core Architecture
The foundational rewrite from v2.0's CLI-based system to a modern API-first architecture.
What shipped
- FastAPI backend with SQLite database as single source of truth
- React web dashboard with real-time WebSocket job monitoring
- 4-phase processing pipeline (Analyst → Formatter → SEO → Manager)
- Multi-model LLM routing via OpenRouter with cost optimization
- Bulk transcript upload with drag-and-drop
- WebSocket live updates for job status changes
- WCAG 2.1 Level AA accessibility features (keyboard nav, screen reader support, reduced motion, high contrast)
- MCP server for Claude Desktop integration ("Cardigan" copy-editor persona)
- Airtable SST integration (read-only) for metadata lookup
Technical details
- 5 API routers: queue, jobs, config, upload, websocket
- 8 services: database, llm, worker, airtable, logging, utils, completeness
- 8 dashboard pages: Home, Queue, JobDetail, Projects, Settings, System, Help
- Model routing: Gemini 2.0 Flash (analysis/SEO), GPT-4o-mini (formatting)