fix(sync): walk full origin/main + accept run-K-rated/ subdirs#38
Merged
Conversation
Two fixes to the docs ingest for the v1.4.15 baseline: 1. The sync-benchmarks workflow's 'Sync committed cell to working tree' step was running 'git checkout $COMMIT -- results/', which replaced the local results/ with the single commit's delta. When the publisher pushed a single new cell (run-K), the workflow then ran update-index.mjs against a tree that held ONLY that cell, so the rebuilt index listed just that one run-K (e.g. only run-2 even when run-1 + run-2 + run-3 were on disk). Fix: fetch origin/main and check out the entire branch's results/ so the local working tree holds the FULL tree (every previously- published cell) and update-index.mjs's whole-tree walk is authoritative. 2. listRuns / runCmp in lib/results.mjs now accept the new run-K-rated/ subdirs a back-to-back rated pass publishes to (companion change in probatorium mage_tier.go). The regex extension is 'run-\d+(?:-rated)?' and the sort comparator breaks ties on the optional variant suffix lexicographically so a future 'run-K-soak' would naturally land after 'run-K-rated' with no comparator change. The default_run logic still resolves to 'run-1' (DEFAULT_RUN) — a rated subdir is not picked as the default; the saturation grid at run-K is. Selftest: extended scripts/selftest.mjs with a multi-cell case that mirrors a 3-pass saturation + 3-pass rated back-to-back run (run-2, run-2-rated, run-3, run-3-rated), validates each cell against its own dispatch payload, and asserts the index enumerates all four in the right order with the rated subdirs carrying their own files pointers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Companion to goceleris/probatorium#183 — two fixes to the docs ingest for the v1.4.15 baseline.
Fix 1: index-sync walked a truncated tree
The sync-benchmarks workflow's 'Sync committed cell to working tree' step ran
git checkout $COMMIT -- results/, which REPLACED the local results/ with the single commit's delta. So when the publisher pushed a single new cell (run-K), the workflow then ran update-index.mjs against a tree that held ONLY that cell — the rebuilt index listed just that one run-K even when run-1 + run-2 + run-3 were all on disk. Symptom: the published index for v1.4.15/20260605 only listed run-2.Fix: fetch
origin/mainand check out the entire branch'sresults/so the local working tree holds the FULL tree. update-index.mjs's whole-tree walk is then authoritative.Fix 2: rate-rated subdirs aren't enumerated
The companion probatorium PR publishes the rated pass to a sibling
run-K-rated/subdir so it never clobbers the saturation grid atrun-K/. listRuns / runCmp in lib/results.mjs only matchedrun-\d+; the new subdirs were invisible to the walker.Fix:
/^run-\d+(?:-rated)?$/[k, variant]and sorts k numerically with variant as the tiebreak (""<"rated"< any future variant), so the canonical order isrun-1, run-1-rated, run-2, run-2-rated, .... A futurerun-K-soakvariant would naturally land after the rated one with no comparator change.run-1(DEFAULT_RUN) — a rated subdir is NEVER picked as the default; the saturation grid at run-K is.Tests
selftest.mjs extended with a multi-cell case that mirrors a 3-pass saturation + 3-pass rated back-to-back run (run-2, run-2-rated, run-3, run-3-rated):
All assertions pass.