You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CI Investigation: benchmarks failure → reverted offending commit
Root cause (real, not flake): commit 231cef8 (fix(benchmarks): export BUILD_DIR/BUILD_SUBDIR from Makefile to script) introduced the regression. Before this PR, make benchmark.native worked on main because scripts/run_benchmarks.sh internally defaulted BUILD_SUBDIR=x86.release and found binaries at build/x86.release/bin.
The Makefile export passes BUILD_DIR=build BUILD_SUBDIR=x86, because the .release suffix is only added inside the %.release pattern recipe that recursively invokes compile.release — it does not propagate back to the outer benchmark target. The new script logic checks if [[ -d "$BUILD_DIR/$BUILD_SUBDIR" ]] → build/x86 (doesn't exist), then falls to else BUILD_DIR="${BUILD_DIR:-...}" — but BUILD_DIR is already set to build (non-empty), so it stays build, yielding BENCH_BIN_DIR=build/bin. Hence No benchmark executables found.
Log evidence (runs/25971405695):
env BUILD_DIR="build" BUILD_SUBDIR="x86" ./scripts/run_benchmarks.sh
Warning: hierarchy_benchmarks not found, skipping
Warning: message_pool_benchmarks not found, skipping
Warning: distributed_benchmarks not found, skipping
Error: No benchmark executables found
Main status:benchmarks check is green on main (confirmed via gh api repos/.../commits/main/check-runs). This is a PR-introduced regression, not a pre-existing failure.
Action taken: reverted 231cef8 via new commit fdbbf8b (signed, REST-verified verified=true reason=valid, per guardrails — no amend/rebase). Issue #551 should be reopened and addressed properly (the Makefile's recursive-make pattern means the outer benchmark rule cannot directly know the .release suffix without restructuring).
The other two bundled fixes (#524 renovate, #522 NatsTlsConfig) are untouched. Leaving for human review per policy.
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
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.
Closes: Closes #551. Closes #524. Closes #522.
Summary
Bundled easy-issue sweep round 2 for ProjectKeystone (2026-05-16). 3 low-risk fixes,
one commit per issue (bisect-friendly).
Bundled fixes
Policy
Per
ecosystem-wide-easy-sweep-2026-05-12skill v2.0.0. Squash-merge required.Review-required: do NOT auto-merge.
Stale-check closures
None.
Skipped from BUNDLE_ELIGIBLE
orchestration layer being deleted per ADR-016 / chore: delete Python orchestration layer after Agamemnon migration lands #432 / [MAJOR] §3: Python orchestration package still present despite ADR-016 and C++20 mandate #508 (C++/Mojo-only
mandate). Adding an integration test would add maintenance to deprecated
code. Left open for human triage; the test should land in Agamemnon, not
Keystone.
Quirks honored
-S); REST-verifiedverified=true reason=valid.--no-verifyto avoid cold-worktree pre-commit hook stall.