foley.eval.baseline#
The committed nDCG baseline — the PR gate’s SSOT + staleness stamps.
The gate blocks a PR whose ndcg@10 falls below value - tolerance (report
08 §5). The baseline is a committed number (not a frozen per-clip run, which
would be BLAS-drift-fragile across the CI matrix), stamped with the sha256 of the
golden seed + the Ring-0 manifest: if either fixture is edited, the stamp
mismatches and the harness warns “baseline stale — run foley eval
--update-baseline”, so a metric shift is attributable to the system, not a
silently-shifted corpus. Re-baselining is a deliberate, reviewable one-line diff.
Module Attributes
Package data dir (ships in the wheel); the baseline lives beside the seed. |
|
The regression tolerance from report 08 §5 (Δ nDCG@10 ≥ −0.02). |
Functions
|
True if the baseline's fixture stamps no longer match the fixtures on disk. |
|
Load the committed baseline dict from |
|
Write a fresh baseline from |
- foley.eval.baseline.DEFAULT_BASELINE_PATH = PosixPath('/home/runner/work/foley/foley/foley/data/golden/baseline.json')#
Package data dir (ships in the wheel); the baseline lives beside the seed.
- foley.eval.baseline.DEFAULT_TOLERANCE = 0.02#
The regression tolerance from report 08 §5 (Δ nDCG@10 ≥ −0.02).
- foley.eval.baseline.is_stale(baseline, *, seed_path, manifest_path)[source]#
True if the baseline’s fixture stamps no longer match the fixtures on disk.
- Return type:
- foley.eval.baseline.load_baseline(path=PosixPath('/home/runner/work/foley/foley/foley/data/golden/baseline.json'))[source]#
Load the committed baseline dict from
path.- Return type:
- foley.eval.baseline.write_baseline(report, *, path=PosixPath('/home/runner/work/foley/foley/foley/data/golden/baseline.json'), metric='ndcg@10', tolerance=0.02, seed_path, manifest_path, embedder_model_id='foley-eval/hashing-bow-v1', dim=64, rrf_k=60, updated_at, n_items, revision='gld-v1')[source]#
Write a fresh baseline from
report(the--update-baselineaction).Records the mean metric value plus sha256 stamps of the seed + manifest so a later fixture edit is detected.
updated_atis passed in (not read from the clock) so the caller controls reproducibility.revisionlabels the golden-set generation (bumped when the frozen set is regrown).- Return type:
- Returns:
The baseline dict that was written.