an.verify#
Verification protocol — same interface for human, lint, vision-LM, MoVer.
StyleLintVerifier is imported on first use, not here: an.verify.style is
also a script (python -m an.verify.style), and a package that imports the
module it is about to run as __main__ makes runpy warn that it is
already in sys.modules.
Classes
|
Pluggable verifier. |
|
A single verification issue. |
|
Result of running one or more verifiers. |
Cheap IR-only verifier. |
|
|
Open the mp4, prompt the user to approve. |
|
Post-render quality checks. |
|
Claude vision Verifier (skip-if-missing-deps). |
- class an.verify.Finding(severity, ir_path, description, suggested_fix=None, location=None)[source]#
Bases:
objectA single verification issue.
ir_pathlets the orchestrator route the fix to the correct layer of the IR — e.g."timeline/0/dialogue/1".locationis set when the thing to fix is not IR at all but an OPAQUE SOURCE the shot runs — a Manim scene file — as"<file>:<line>"(core study §2.10): the fix then goes to that line, andir_pathstill names the shot that runs it.>>> Finding("warning", "timeline/0/options/source", "text cut off", ... location="assets/sources/chart.py:14").location 'assets/sources/chart.py:14'
- class an.verify.HumanInTheLoopVerifier(*, prompt='Approve render? [y/N/r=reject]: ')[source]#
Bases:
objectOpen the mp4, prompt the user to approve. Implements
Verifier.
- class an.verify.LayoutLintVerifier[source]#
Bases:
objectCheap IR-only verifier. Implements
Verifier.
- class an.verify.MediaQualityVerifier(*, max_db_floor=-75.0, dialogue_silence_ratio=0.7, frozen_ssim_threshold=0.999, frame_sample_fps=4.0)[source]#
Bases:
objectPost-render quality checks. Implements
Verifier.
- class an.verify.VerificationReport(passed=True, findings=<factory>)[source]#
Bases:
objectResult of running one or more verifiers.
- class an.verify.Verifier(*args, **kwargs)[source]#
Bases:
ProtocolPluggable verifier. Same interface for human, lint, vision-LM, MoVer.
- class an.verify.VisionLMVerifier(*, model='claude-haiku-4-5-20251001', frame_count=4, max_tokens=800, api_key=None, judge=None)[source]#
Bases:
objectClaude vision Verifier (skip-if-missing-deps).
- judge#
Injected, per “no globals, no service locators” — and because injection is what makes record-vs-replay drift impossible: the recorded and replayed paths are the same call through the same object, differing only in what the store returns.
Modules
HumanInTheLoopVerifier — opens the rendered mp4 and asks for approval. |
|
LayoutLintVerifier — cheap pre-render checks on the IR. |
|
Media verification helpers — audio + frame quality checks for rendered mp4s. |
|
MediaQualityVerifier — post-render quality checks on the actual mp4. |
|
Prosody measurement: how a recorded voice delivers its words, as numbers a target can check. |
|
VisionLMVerifier — Claude vision looks at sampled frames and reports issues. |