-
The rebuild path for non-edited entries only carried `likes` forward from the old record; playCount and lastPlayedAt were dropped, so any clip not yet touched in admin.html had its play stats silently reset to "never played" on every periodic sync (server.js runs this every 5 min). Now carries both forward when present, and leaves them absent for a genuinely never-played clip rather than writing a false 0. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011Deddn3sM3oQnmvqWSMb4y
-
- library.json: all 303 real entries now have casual zh/en names (prompt/promptEn) - ingest.js: fixed a data-loss bug where the H3 console fetch was hardcoded to limit=200, silently dropping older jobs (and their edited names) as new content pushed them out of the window; sync is now a non-destructive merge with a much higher fetch limit - ingest.js: replaced the prefix-only test-job regex with a length-gated word-boundary check after 5 infra smoke-test clips slipped past it ("test verify", "cancel test - ...", "final flip test") — no false positives against the 303 real entries - deleted the 5 stray test clips (also removed on the H3 console side) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> -
Static video-gen testing tool (MiniMax native API, then fal.ai) that grew into an AI drama live channel backed by an internal H3 Console GPU cluster: shared virtual-playhead live playback, prompt submit/match/generate queue, admin CRUD for the video library, and bilingual (zh/en) semantic clip names. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>