Repository navigation
feat(cli): carry the motion blur summary on the @hf-result line - #7468
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Edit accuracy: accurate 267 (base branch 267), smooth 94 of thoseThe gate passes. Quarantined, measured but not gated (8)
Unstable (2)
|
There was a problem hiding this comment.
Verdict: APPROVE · 0 blocker · 0 important · 0 nits · head 31d1eb7
The content-free guarantee holds. renderMotionBlurResult builds every key from constants (MOTION_BLUR_FINGERPRINT_FIELDS through snake), never from the page object. tier passes an explicit two-value check. Every value goes through count(), and reasonCode/readEvents are never read. Docker returns { renderTimeMs }, so no line is printed, and batch rows are unchanged.
Scope
Traced the page values from readPageMotionBlur → summarize → aggregateMotionBlur → executeLocalRender → renderMachineResult. The values are integers, but the page supplies them and nothing bounds them: a composition that overrides window.__hfMotionBlur can choose any integer up to 2^53 for each field. Telemetry already carries those same values, so this PR doesn't change exposure. The motion-blur-only branch (no reference_background) can't be reached in production because referenceBackgroundResult always returns the field. CI is green; CodeQL and Windows render verification were still running when I posted.
— Genesis
…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>
…nce watermark Seventeen commits, PRs 7469-7493, issues 7473 and 7486 and twelve pin moves are recorded with their evidence in the continued ledger, DECISIONS, UPSTREAM and ROADMAP. Adopted: heygen-com#7466, heygen-com#7479, heygen-com#7482, heygen-com#7490 and the heygen-com#7441 and heygen-com#7440 docs. Deferred: heygen-com#7469, heygen-com#7471, heygen-com#7476, heygen-com#7480, heygen-com#7468, heygen-com#7487, heygen-com#7491. Not applicable: heygen-com#7470, heygen-com#7351, heygen-com#7475, heygen-com#7483. The watermark moves to 61e720b, PR heygen-com#7493, issue heygen-com#7486; thirteen new PRs are pinned. FORK.md records the subComposition test differences. The core packed-size roadmap row trigger is not met. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
What
A piped, non-quiet CLI render's
@hf-resultline now carries the render's motion blur summary, so a host that runs the CLI as a subprocess can read it. HyperFrames Desktop is that host: it sees only the exit code,@hf-progresslines and stderr, so it cannot reportmotion_blur_failed_framesfor the blur default-on rollout gate.Content-free
motion_bluris built byrenderMotionBlurResultintelemetry/renderMotionBlur.ts:tiernarrowed tocapture/filter, and non-negative integers formovers,failed_framesand the 14 fingerprint counts (snake_case, the names the telemetry payload already uses). NoreasonCode, path, selector or composition text can reach it; a test sets those on the summary and asserts the line does not contain them.Behaviour
--dockerstill prints none.motion_blurwhen the render has no blur summary, so a film without blur is byte-identical to today.@hf-resultconsumer in this repo or inhyperframes-internal. README documents the new field.Tests
renderResult.test.ts(present for a blur render, absent without a summary, no free text, existing background cases unchanged) andexecute.test.ts(the summary reaches the line from a local render): 30 tests across the three relevant files pass. Test reachability, comment ratchet, comment citations andtsc --noEmitinpackages/cliexit 0.Next
A release, then Desktop parses the line and bumps its pin (separate PR in
hyperframes-internal).🤖 Generated with Claude Code