Repository navigation
fix(skills): await the player seek in seam-gate - #7454
Conversation
#7378 made __player.seek() asynchronous (it resolves once the preview picture is ready). seam-gate.mjs seeked and read in the same tick, so every sample measured t=0: on a correct film each seam failed with exit-visible op 0.00 and exit-moving 0 px/s, and probe found no movers. Make the page-side seek/sample/scan helpers async and evaluate them with awaitPromise, and note the false-failure signature in the reference doc. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Verdict: COMMENT · 0 blocker · 0 important · 1 nit
The fix itself is correct and ready to merge. I'm holding the approval only because CI on dfd2f84 is red, and that red isn't caused by this PR (see details).
- nit:
changelog-video/SKILL.md:158andreferences/build-spec.md:122(both mirrors) still say to spot-check "via__player.seek(t)". An agent that seeks and reads in oneRuntime.evaluatewill hit the same t=0 read. Saying "await__player.seek(t)" there would close that gap.
Scope / CI
- I read all of
seam-gate.mjs. All 4__seamGate.sample/scancall sites now passawaitPromise, and nothing else calls__seamGate.seekor__player.seek. Since #7378,__player.seekreturnsPromise<void> | void(HeldSeek,previewSeek.ts:340), and awaiting it works for both.evalJsalready sets a 60 s CDP timeout, so a seek that never resolves fails loudly instead of hanging.node --checkpasses, and the two mirrors are byte-identical. - CI: the
CI,preview-regression,Player perf,PR capturesandCommentsruns all failed with no failing job or step (every listed job is green or skipped). Since about 18:12Z every PRCIrun has failed the same way, including the unrelatedrenovate/terraform-monorepo. That points to a repo-wide problem, not this diff. Re-run once it's fixed. CodeQL was still running when I posted.
— Genesis
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Verdict: COMMENT · 1 resolved, 0 open, 0 new · dfd2f84 → b8a354e. The code is ready; I'll approve once Actions shows CI green on this head.
CI on b8a354e
The CI, regression, preview-regression, Player perf and PR captures runs all concluded failure with no failing job. The required jobs Typecheck, Build, Test and regression were never created: CI shows only 7 jobs, all green, and regression shows only Detect changes. CI on main push has also failed this way since 18:11Z, so the cause is repo-wide, not this diff. mergeStateStatus is BLOCKED.
— Genesis
There was a problem hiding this comment.
Verdict: APPROVE · 1 resolved, 0 open, 0 new · b8a354e (head unchanged). All 8 Actions runs on this head are now green, including the re-run CI (with Test, Test: skills, Format) and regression. Change detection skipped the package jobs because this is a skills-only diff.
— Genesis
…heygen-com#7456 and the heygen-com#7439 docs heygen-com#7459: Studio renders take the same one-render-slot lock as the CLI and say they are waiting; Cancel ends the wait. heygen-com#7463: deleting an animated group parses its script once instead of once per tween. heygen-com#7454: seam-gate awaits the async player seek (both skill mirrors). heygen-com#7456: the engine browser test project gets 30 s per test. heygen-com#7439: current ChatGPT and Claude setup steps in the MCP guide. Co-Authored-By: Claude Sonnet <noreply@anthropic.com>
…ve more; advance watermark Twelve commits, PRs 7453-7468, issues 7457-7465 and eleven pin moves are recorded with their evidence in the continued ledger, DECISIONS and UPSTREAM. Adopted: heygen-com#7338, heygen-com#7459, heygen-com#7463, heygen-com#7454, heygen-com#7456 and the heygen-com#7439 docs; heygen-com#6732 was already ported. Deferred: heygen-com#7455, heygen-com#7437. Not applicable: heygen-com#7453, heygen-com#7269, heygen-com#7464. The watermark moves to 9e346f9, PR heygen-com#7468, issue heygen-com#7465; four new PRs are pinned and the eleven moved pins re-pinned at their current heads. FORK.md records the fork-only differences in the heygen-com#7338 port; the roadmap tracks the standalone scripts that keep a bare mkdtemp and issue heygen-com#7458. Co-Authored-By: Claude Sonnet <noreply@anthropic.com>
Problem
#7378 made
__player.seek()asynchronous: it resolves once the preview picture is ready.seam-gate.mjsseeks and reads in the same tick, so every sample measures t=0. On a correct film, each seam fails the same way, withexit-visible op 0.00andexit-moving 0 px/s, andprobefinds no movers at all.Found while building this week's changelog video (#7453). The committed gate reported 24 FAILs across 6 seams on a film whose frames are fine.
Changes
seek/sample/scanhelpers are nowasyncand await the seek. The threeevalJscalls that use them passawaitPromise, whichevalJsalready supports.references/seam-gate.mdgets a short note on the false-failure signature, so the next person recognizes it..claude/and.agents/) are updated identically.Verification
node --checkpasses andcheck-skill-mirrorreports 24 files matching byte-for-byte.— Rames
🤖 Generated with Claude Code