motion-evidence-review
How to read beep-qa motion evidence: correlate frame strips, contact sheets, and GIFs against events.ndjson timelines, map frame timestamps to action events, and cite frame+event pairs when judging or fixing. Use when reviewing QA evidence, writing a vision-judge finding, reproducing a finding from a session's artifacts, or auditing an old round's evidence in a goal packet or PR.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-14
- Stars
- ★ 80
- Forks
- 14
01 前言 Front Matter
- name
- motion-evidence-review
- metadata
- { "status": "active", "version": "0.1.0" }
- description
- How to read beep-qa motion evidence: correlate frame strips, contact sheets, and GIFs against events.ndjson timelines, map frame timestamps to action events, and cite frame+event pairs when judging or fixing. Use when reviewing QA evidence, writing a vision-judge finding, reproducing a finding from a session's artifacts, or auditing an old round's evidence in a goal packet or PR.
02 资源文件 3
- 参考文档agents/openai.yaml587 B
- 参考文档references/evidence-anatomy.md2.2 KB
- 参考文档references/frame-event-correlation.md3.6 KB
03 SKILL.md 正文
Motion Evidence Review
Three roles consume QA evidence at different times: the vision judge (via its
prompt), the fixer reproducing a finding, and PR/packet reviewers auditing
after the fact. This skill is the shared literacy. The loop protocol and the
inventory/severity format live in browser-qa-loop — this is how to READ.
The three clocks (get this right first)
- Event clock — witness
tEpochMs=performance.timeOrigin + performance.now(), wall-clock epoch ms. Every line ofevents.ndjson. - Video time — seconds from the recording's first frame.
- The mapping —
session.json → clockSync:videoT = slope·tEpochMs + offsetMswithmethod(beacon|obs-record-state|assumed-start) andconfidence. For a beacon fit,highrequires residual RMS ≤25 ms and at least four matched pairs. RMS is not a maximum per-event error or a frame-accuracy guarantee. Inspect the method, timestamps and extraction padding before making timing claims; see the method-specific table below.
references/frame-event-correlation.md walks the arithmetic with worked
examples; references/evidence-anatomy.md decodes file naming, strip
ordering, and sheet grids.
Reading a finding (or writing one)
A well-formed claim always pairs pixels with events:
Frames 12–15 of
frames/drag-sash--strip/(t≈3.31–3.41 s) show a native selection highlight across the neighbor panel whileevents.ndjsonseq 141→158 shows an active pointer drag (pointer-downseq 141 at tEpochMs …, nopointer-upuntil seq 158) — selection-smear during sash resize.
Rules:
- Cite artifact path + frame index/range + event
seqrefs. InventoryQaEvidenceRefhas fields for exactly these — fill them. - A defect in ONE mid-gesture frame is real even when the final screenshot is clean; the converse also holds — a single odd frame at LOW clock confidence near a window edge may be a neighboring gesture. Check the event seq range before claiming.
- What a GIF proves: a human-visible summary. What it cannot prove: exact timing (GIF fps ≠ source fps, frames are sampled). Timing claims come from strips + timeline, never from GIF playback feel.
- Markers (
kind: "marker") are semantic labels — scenario boundaries and agent annotations. Use them to scope which events belong to which gesture.
Reproducing a finding
session.json→ scenario + commit (commitSha,commitDirty).- The finding's
eventIds→ grep those seqs inevents.ndjson→ exact gesture path, coordinates, timing. - Re-run just that scenario (
.beep/qa-capture.mjsscenario name) or replay the gesture manually in Lane B at the recorded coordinates. - Any extracted frame's own XMP-beepQA provenance tags (inspect with
exiftool) identify its session if files got separated from the round dir.
Auditing old evidence
inventory.json is schema-validated (beep qa judge-lint --round N re-checks
any round). judge/manifest.json lists what the judge actually saw INCLUDING
dropped — an inventory is only as complete as that manifest; treat dropped
evidence as unreviewed, not clean.
04 同仓库更多 Skills
auth-environments
Sign Claude Code in to a chosen Claude subscription on every linked T3 fleet host (grok-bot, beep-worker, dankserver, tbk-worker, tom-pc-1-wsl). Use when a Claude account hits its weekly limit, when `bun run beep accounts` shows the fleet's account used up, or on `/auth-environments`. Opens each host's OAuth page and a masked KDE code dialog together and verifies the admitted account.
shadcn
Fixture for immutable shadcn skill provenance.
qa-inventory-judge
暂无简介
practice-onboarding
Set up a lawyer's computer for their practice through the practice gateway. Use when the lawyer asks to get set up, to connect their documents, mail, calendar or practice tools, or when the practice gateway reports that setup is incomplete. Interviews the lawyer one question at a time, saves a practice profile, then checks and repairs the computer until setup is complete.
triage-nda
Screen NDAs before inventor disclosures or client pitches at Oppold IP Law. Flag disclosure, residuals, marking, term, and hidden IP rights for attorney review.
review-contract
Review IP agreements for Oppold IP Law. Use for assignments, licenses, inventor agreements, joint development, or NDAs involving inventions. Prepare cited issues and proposed revisions for attorney review.