diff --git a/CHANGELOG.md b/CHANGELOG.md index 412d99e7..6dc5443d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Versions follow [SemVer](https://semver.org). ## [Unreleased] +- `BENCHMARKS.md` shows `—` instead of "provenance unknown" in the main-commit column of a baseline row that nothing has improved on yet, as on a freshly seeded repository. - The README and the getting-started guide link to the quickstart repository. It runs two CPU benchmarks with the local forge and local compute, and needs no GitHub account or cluster (#563). The docs and the startup warning no longer say an uncontained session runs in a sandbox: it gets a scrubbed environment and its own home, but can read any file the account can. - The advisory review covers exactly the head its triggering event named (`REVIEW_HEAD_SHA`, #462). If the PR has moved off that head, nothing is reviewed or posted. Otherwise the diff is read between fixed commits, every envelope records the reviewed `head_sha`, and the review is attached to that commit. When GitHub refuses its inline comments, the fallback is a body-only review on the same commit, never an unpinned comment (#569). The summarizer skips clean when its lenses read different heads. For a fork PR (`REVIEW_CHECKOUT_BASE=1`) the brief says the tree is the base branch and the change is only in the diff. Upgrading: envelopes without `head_sha` (from an older reviewer ref) still post; callers that do not pass REVIEW_HEAD_SHA behave as before. - When check runs cannot be read on a token deployment, the warning now says the token cannot read them (fine-grained tokens have no checks permission) instead of asking for an App permission. diff --git a/src/outerloop/progress.py b/src/outerloop/progress.py index 45f2845e..c78178ef 100644 --- a/src/outerloop/progress.py +++ b/src/outerloop/progress.py @@ -327,6 +327,8 @@ def render_markdown( provenance = f"[{e.main_commit[:9]}]({commit_link})" elif e.main_commit: provenance = f"`{e.main_commit[:9]}`" + elif e.best_run == "baseline" and e.best == e.baseline: + provenance = "—" # no run has set a best, so no commit to name else: provenance = "provenance unknown" if e.main_commit and not e.measured_sha: diff --git a/tests/test_progress.py b/tests/test_progress.py index 9a39eb79..8d228277 100644 --- a/tests/test_progress.py +++ b/tests/test_progress.py @@ -114,6 +114,12 @@ def test_confirm_precision_provenance_and_seed_roundtrip(tmp_path): assert "main commit" in md and "[1](https://github.com/org/repo/commit/1)" in md imported = replace(e, main_commit="", measured_sha="") assert "provenance unknown" in render_markdown({"bench": imported}, "org/repo") + unimproved_import = replace(imported, best=imported.baseline) + assert "provenance unknown" in render_markdown({"bench": unimproved_import}, "org/repo") + # a fresh repo's baseline row has no improvement to trace + fresh = replace(imported, best=imported.baseline, best_run="baseline") + row = render_markdown({"bench": fresh}, "org/repo").splitlines()[-4] + assert row.endswith("| `baseline` | — |") def test_pending_roundtrip_and_rejection():