Skip to content

Cache Arm builds and record fixed Harness paths - #1124

Merged
JacobStephens2 merged 2 commits into
issue-977from
issue-1002
Oct 23, 2026
Merged

JacobStephens2 merged 2 commits into
issue-977from
issue-1002

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Summary

Prepare both Arms before Trials, caching thirdshift by commit and recording each Harness's real path and version.

prepare-arms
  resolve each Harness once → real path + version
  baseline / candidate commit
    cached → reuse builds/<commit>/thirdshift
    missing → detached worktree → cargo build --release --locked → cache
  atomically publish both Arm records

Adds thirdshift evals prepare-arms and documents the record and cache layout. Git replacement objects cannot change the requested build. Trial execution and Experiment scheduling remain in #1001 and #1003; this change supplies their preparation inputs.

Closes #1002

Evidence

  • Before: seeded_arm_commits_are_recorded_without_building failed because the preparation command was absent. A stderr-only Harness version failed as empty; a Git replacement built the candidate twice.
    After: cargo test --test eval_arms passes all 7 tests, including those regressions, failed-build cleanup, concurrent cache reuse, distinct Harness versions and a link swapped between Arm launches.
  • cargo clippy --all-targets -- -D warnings and cargo fmt --check pass.
  • /usr/bin/time -p scripts/affected-tests origin/issue-977 passes: 43 site tests and 2,392 Rust tests passed, with 56 Rust tests skipped by the repository configuration. Total wall time was 1,595.25 s including compilation and site checks; Rust compilation took 1m 30s, and Nextest execution took 1,447.242 s (11 slow tests).
  • CI is green for 0623ff0.

Test seam: the whole binary with real Git repositories, seeded test binaries, and fake Cargo/Harness executables. Assertions inspect JSON output, the saved Arm record and the executable at its recorded path. The link-swap test invokes that path directly; production Trial integration belongs to #1001/#1003. Tests compile no Arm builds.

Review coverage

Used thirdshift-code-review with issue-977 pinned to its fetched head cea6615b2e039e1521d6b0e62e6abfb4668c3c1a. Standards: 0 findings. Spec: 0 findings.

Both reviewers read all 8 changed files. Unread changed files: none. Generated exclusions: none; generated manual changes were inspected. Final reports and each axis's files-read list are saved in .thirdshift-review-jwdqiI/standards.md and .thirdshift-review-jwdqiI/spec.md in the worktree.

Unaddressed findings

Standards

None.

Spec

None.

Merge Danger

Door: two-way

Blast Radius: Evals

Adds build-cache entries and a new Arm record.

Built with codex · gpt-6.1-sol · xhigh

@JacobStephens2
JacobStephens2 merged commit 85dd246 into issue-977 Oct 23, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-1002 branch October 23, 2026 03:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant