affaan-m/ECC · error · SystemExit
no pack at and no --refs given; nothing to measure
Error message
no pack at {pack_dir} and no --refs given; nothing to measure What it means
pipeline.py aborts with SystemExit during the mint stage when a remeasure is needed (--remint passed, or grade.json missing in the pack) but no reference media was supplied via --refs. With no existing pack and no inputs there is nothing to measure.
Solutions
- Supply reference media: --refs file1.mp4 file2.mov
- Verify the pack exists at the expected --root; if it does, drop --remint to reuse it
- Re-run mint.py directly to build the pack before pipeline if you want a two-step flow
- Check that stylepacks/<genre>/grade.json exists - its absence is what forces the refs requirement
Example fix
// before python pipeline.py --genre noir --out cut.mov # fresh genre, no refs // after python pipeline.py --genre noir --out cut.mov --refs ref.mp4 ref2.mov
Defensive patterns
Strategy: validation
Validate before calling
from pathlib import Path
pack = Path(root) / genre
if (not (pack / 'grade.json').exists() or remint) and not refs:
raise SystemExit("supply --refs or drop --remint to reuse existing pack") Try / catch
try:
pipeline.main()
except SystemExit as e:
if 'nothing to measure' in str(e):
rerun_with_refs(genre, ref_paths) Prevention
- Always pass --refs for a brand-new genre
- Confirm grade.json exists before relying on pack reuse
- Use consistent --root across pipeline invocations
When it happens
Trigger: First run for a genre (no stylepacks/<genre>/grade.json) without --refs; or --remint passed to force re-measurement without supplying new reference media.
Common situations: Running the pipeline on a fresh genre and forgetting --refs; assuming an old pack exists under a different --root than the one passed; deleting the pack directory manually then rerunning without refs.
Understand the failure class
Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.
Related errors
- pack ' ' has no stills under - run mint.py first
- Agents directory not found
- --all-harnesses and --harness are mutually exclusive.
- all overlays must be readable local files
- all takes must be readable local files
AI-assisted analysis of affaan-m/ECC@8321021c54 (2026-09-16).
Data as JSON: /api/errors/e2e1bfe1ab5e416f.
Report an issue: GitHub.
Appendix: source
Thrown at skills/taste-application/scripts/pipeline.py:99
print("[dry run] offline passthrough planned; no stages or files produced")
return
pack_dir = Path(a.root) / a.genre
out = a.out or f"out/FINAL_{a.genre}.mp4"
# Catch handoff collisions before optional distillation or prop spending.
from forge import validate_output
validate_output(Path(out))
if not a.takes:
for destination in (Path(out).with_suffix(".generation.json"),
Path(out).parent / f"{Path(out).stem}_takes"):
if destination.exists() or destination.is_symlink():
raise FileExistsError(f"output already exists; choose a new --out: {destination}")
dry = ["--dry-run"] if a.dry_run else []
# ---- 1. mint -------------------------------------------------------
if a.remint or not (pack_dir / "grade.json").exists():
if not a.refs:
raise SystemExit(
f"no pack at {pack_dir} and no --refs given; nothing to measure"
)
_run("mint", ["mint.py", "--genre", a.genre, "--root", a.root,
"--refs", *a.refs])
else:
print(f"[mint] reusing existing pack at {pack_dir} (--remint to re-measure)")
# ---- 2. distill ----------------------------------------------------
if not a.takes and not a.no_distill and (a.remint or not (pack_dir / "spec.json").exists()):
_run("distill", ["distill.py", "--genre", a.genre, "--root", a.root, *dry])
elif a.takes:
print("[distill] skipped (offline passthrough)")
else:
print("[distill] reusing existing spec.json or explicitly skipped")
# ---- 3. optional 3D ------------------------------------------------
if a.prop:
_run("mint3d", ["mint3d.py", "--genre", a.genre, "--root", a.root,View on GitHub (pinned to 8321021c54)