# Bless recipes only: e2e replay fixtures (OME-964 dump path, OME-978 report path).
# The local dev stack is `screamingface up` (OME-1001) — never a justfile concern again.

default:
    @just --list

# Bless one board's e2e replay fixtures from the owner-held recordings (OME-964):
# capture → re-key → verified replay → slice → snapshot + manifest + golden under
# tests/e2e/fixtures/. Needs docker and prepared benchmark assets
# (`uv run screamingface prepare --all`); extra flags pass through (--limit,
# --expect-score, --expect-coverage, --max-snapshot-mb, and the judge re-key
# phases: --dump-judge-bodies / --judge-bodies / --judge-param).
# Example:
#   just e2e-bless draco-3pass openrouter/google/gemini-3-flash-preview \
#       <cache-dump.sql.gz> <eval_results.eval.jsonl>
e2e-bless board model dump answers *flags:
    uv run python tests/e2e/fixtures/slice_snapshot.py --board {{board}} --model {{model}} \
        --dump {{dump}} --answers {{answers}} {{flags}}

# Bless a FUSION board's e2e replay fixtures from the saved SDK report alone
# (OME-978) — no production dump, no answers file: the report carries every
# response text, and the capture→splice loop synthesizes the cache tape from it.
# The replay must reproduce the report's score/coverage/statuses exactly.
# Example:
#   just e2e-bless-report healthbench-worst30 <report.json>
e2e-bless-report board report *flags:
    uv run python tests/e2e/fixtures/slice_snapshot.py --board {{board}} \
        --report {{report}} {{flags}}

# Re-author one board's golden from its COMMITTED snapshot (OME-1094) — no
# recording needed: replays the board keylessly and writes the per-case failure
# codes into the golden. Refuses if the replayed expression / statuses / counters /
# score differ from the committed file (a refresh may only ADD failure codes).
# Needs docker and prepared benchmark assets. Example:
#   just e2e-refresh-golden healthbench-worst30
e2e-refresh-golden board *flags:
    uv run python tests/e2e/fixtures/slice_snapshot.py --board {{board}} \
        --refresh-golden {{flags}}
