ejzhu2026/video-agent-hero
Added project architecture diagram and full pipeline breakdown
feat: auto-generate changelog from git log, fallback to static json
chore: update changelog for creative_pipeline_v2
feat: timing logs + estimated wait hints for long pipeline stages
feat: user isolation — projects scoped by user_id, ownership enforced on all endpoints
fix: add jitter to 429 retry to prevent thundering herd from parallel shots
fix: robust 429 retry in replicate_t2v (check str, not only exc.status)
fix: guard against out-of-range shot indices in partial_executor
fix: cap feedback credit award at 10 per submission, 20 daily; update UI text
fix: UTC timestamps for SSE timer; auto changelog from changelog.json; Wan 2.2 num_frames>=81
revert: remove Replicate concurrency cap (account now has >, full rate limits apply)
fix: retry on Replicate 429 with backoff, cap concurrency to 2 for Replicate
fix: always return credits_added amount in fulfill response (webhook may have run first)
fix: replace in-memory OAuth state set with HMAC-signed tokens (survives restarts)
fix: add _TursoRow/_TursoCursor wrappers — libsql lacks row_factory support
fix: remove all whitespace from Turso credentials (embedded newlines in JWT)
feat: Turso cloud SQLite — credits/users persist across restarts
fix: move BaseModel import to top of auth/router.py
feat: switch to Replicate + Wan 2.2 for video generation
feat: guest access code gate — only users with valid code can use without login
fix: remove HTML comment from topup-plans div causing hasChildNodes() to skip plan fetch
feat: skip credit checks for unauthenticated (guest) users
refactor: split server.py + 7 improvements (billing, UI, tests)
feat: add Google OAuth login + Stripe credits billing
feat: add update banner to top of UI
fix: skip outro product shot in relevance_rerender
fix: remove type=text special-case in FAL executor path
fix: outro product display + fal.ai timeout protection
feat: add relevance re-render feedback loop (Strategy 2)
feat: add VLM relevance check to quality gate + Critic shot_type auto-fix
fix: prevent T2V-ungeneratable VFX descriptions in storyboard
feat: upgrade PromptCompiler with structured T2V prompts + negative prompt split
fix: flexible scene count + clarification on ambiguous feedback
test: update test to reflect outro is now optional
fix: outro is optional; shot_list must strictly match storyboard 1-to-1
fix: allow user feedback to change the outro scene position
fix: planner must edit scenes in-place when user says 'add X to scene N'
chore: add docker-compose for local HF Spaces parity testing
fix: only use I2V for 'product' shots, not macro/lifestyle
chore: trim Docker image — remove build-essential, numpy, langchain-openai
fix: skip subtitle burn to prevent text overlay appearing in video
fix: remove chromadb from requirements to prevent OOM on HF Spaces
fix: persist API keys to /data volume to survive HF Spaces rebuilds
feat: product image + FLUX Kontext outro + I2V animation pipeline
with_music
docs: rewrite README to reflect agent_mvp architecture
fix: Dockerfile use libgl1 + build-essential for chromadb
fix: merge HF Space initial commit
chore: add HuggingFace Spaces deployment (Docker)
initial commit
