Commit Graph

9 Commits

Author SHA1 Message Date
Boden Fuller 0e4c600729 Merge remote-tracking branch 'origin/main' into codex/merge-context-eval 2026-05-03 15:35:04 -04:00
Boden Fuller 0572c1f2e5 Merge remote-tracking branch 'origin/codex/go-clean-room-architecture-discovery' into codex/merge-context-eval
# Conflicts:
#	.agents/findings/f-2026-04-14-002.md
#	.agents/findings/f-2026-04-29-001.md
#	.agents/findings/f-2026-04-30-002.md
#	.agents/learnings/2026-04-19-orchestrator-compression-anti-pattern.md
#	.agents/patterns/2026-05-01-state-path-resolver.md
#	.agents/rpi/execution-packet.json
#	.agents/rpi/ranked-packet.json
2026-05-03 15:26:31 -04:00
Boden Fuller b4f217b9ab fix(eval): mirror drift-only softening into eval-agentops.sh baseline-audit block
Companion to e16da42a. The agentops-eval-advisory job calls
scripts/eval-agentops.sh --fast directly, which has its own copy of the
strict baseline-audit logic — untouched by the pre-push-gate.sh / new CI
job softening in e16da42a. Result: advisory job still failed on the 54
missing_compare_baselines under the no-tracked-.agents/ policy from
3f1566fd, drowning out the 5 real eval-suite regressions in the noise.

Mirror the same drift-only logic into eval-agentops.sh:
  - stale_suite_hashes>0 → record_failure (real drift)
  - policy_mismatch_count>0 → record_warning (substrate-info)
  - both 0 → unchanged success line

The 5 real suite regressions (distribution-install-update,
hook-manifest-runtime-contracts, pre-push-gate-governance,
push-worktree-closeout, release-security-gates) remain visible as
suite-level FAIL records. They are real signal worth a separate
investigation but unrelated to the substrate inconsistency this change
addresses.

Verified locally: shellcheck pre-push-gate-style → ok; bash -n → ok.
2026-05-03 15:16:40 -04:00
Boden Fuller 8fec8ed3c9 fix(eval): land 3 critical pre-push gate fixes from validation FAIL 2026-05-03
The 2026-05-03 overnight /evolve session shipped a baseline-audit pre-push
gate (commit d5d38ceb) but post-mortem council verdict was FAIL: gate had
0% enforcement (core.hooksPath was dangling), CI ran the eval suite with
continue-on-error: true (drift undetected), and eval-agentops.sh's per-suite
loop could promote baselines for suites that had just regressed. This commit
lands all three critical fixes from .agents/learnings/2026-05-03-overnight-evolve-post-mortem.md (L2, L4) and phase-3-summary-2026-05-03-overnight-evolve.md
items 1-3.

Item 1 — wire pre-push baseline-audit gate to a real git hook:
  - scripts/check-pre-push-gate-wired.sh: asserts .githooks/pre-push exists,
    is executable, and references scripts/pre-push-gate.sh; verifies the
    baseline-audit block exists with a non-zero exit path; --dry-run-smoke
    runs `git push --dry-run` against a sandbox bare remote and asserts
    the hook actually fires.
  - install-dev-hooks.sh already sets core.hooksPath=.githooks but had not
    been run on this checkout; ran it to repair the local config.

Item 2 — promote ao eval baseline-audit to required CI:
  - .github/workflows/validate.yml: new agentops-eval-baseline-audit job
    (required, gated through summary needs/checks) builds ao, runs
    `ao eval baseline-audit --root evals/agentops-core --json`, and fails
    on stale_suite_hashes>0 OR policy_mismatch_count>0. Mirrors
    pre-push-gate.sh block 24d.
  - Also adds pre-push-gate-wired job (required) that runs
    check-pre-push-gate-wired.sh --dry-run-smoke on every PR.

Item 3 — eval-agentops.sh two-phase promotion:
  - Per-suite loop now queues promotions via queue_promotion() instead of
    executing them. After the loop, run_promote_queue() aborts if
    failures>0 OR working tree is dirty outside .agents/ and .beads/.
    Override: EVAL_AGENTOPS_ALLOW_DIRTY=1.

Verified locally:
  - check-pre-push-gate-wired.sh --dry-run-smoke --check-activation: 7/7 ok
  - jq parsing of ao baseline-audit output: stale=0 mismatch=0
  - eval-agentops.sh --fast --advisory: still runs (caught a real
    regression on agentops-core.beads-issue-tracking; with the new
    two-phase logic, --promote-baseline would now refuse to overwrite
    that suite's baseline)
  - python yaml.safe_load on validate.yml: 36 jobs, both new jobs in
    summary.needs

Refs: .agents/council/2026-05-03-validate-overnight-evolve-claude-skeptic.md
      .agents/learnings/2026-05-03-overnight-evolve-post-mortem.md (L2, L4)
      .agents/rpi/phase-3-summary-2026-05-03-overnight-evolve.md
2026-05-03 14:36:45 -04:00
Boden Fuller e5da4c06d6 feat(eval): add context packet ab canary 2026-05-03 10:15:12 -04:00
Boden Fuller 1ec75aaa21 feat(eval): classify evidence and audit baselines 2026-04-29 17:10:57 -04:00
Boden Fuller 2e31d3bb09 ci: gate eval coverage completeness 2026-04-27 16:02:00 -04:00
Boden Fuller 166c4dc571 fix(evals): stabilize security governance canary 2026-04-27 15:41:42 -04:00
Boden Fuller 1297117cd3 ci: wire agentops eval canaries 2026-04-27 15:31:03 -04:00