Commit Graph

2 Commits

Author SHA1 Message Date
Boden Fuller e458cfa7a8 fix(cli): remove remaining --oscillation-sweep callsites missed by soc-1q1x
Cycle 181's dead-code sweep removed the `--oscillation-sweep` flag from
`ao defrag` but only audited Go callers — it missed 7 shell/yaml/doc
callsites. CI caught it: `validate-flywheel-proof` failed on
`scripts/proof-run.sh` Phase 6 with "Error: unknown flag:
--oscillation-sweep" (the nightly dream-cycle proof shells `ao defrag
--oscillation-sweep`).

Functional fixes (these errored at runtime):
- .github/workflows/nightly.yml — knowledge-cycle defrag step
- scripts/nightly-dream-cycle.sh — dream-cycle defrag invocation

Stale-string fix:
- scripts/check-compile-oscillation.sh — error message referenced the
  removed flag (the jq check itself still works via `// []` default)

Doc references updated:
- docs/contracts/dream-run-contract.md
- skills/compile/references/phases.md
- skills-codex/compile/SKILL.md + references/phases.md (codex hashes regen)

Verified: `ao defrag --prune --dedup` exits 0. The
`skills/validation/references/*` mentions of `--oscillation-sweep` are
intentionally kept — they describe the removal as the origin story of
the new release-readiness gate.

Root cause: the cycle-181 commit message claimed "all callers" but the
audit was Go-only. The CI `validate-flywheel-proof` gate is what should
have caught this pre-merge — and would have, if the full pre-push gate's
flywheel-proof check had exercised the nightly dream path. Follow-up:
the dead-code-sweep checklist should grep scripts/, .github/, and docs/
for removed CLI surface, not just source-language callers.
2026-05-15 07:21:34 -04:00
Claude c0de539c11 fix(gates): fall back to Dream defrag preview for compile-* gates
compile-freshness and compile-no-oscillation both require .agents/defrag/
latest.json, a local-only artifact that is .gitignored. On machines that
run Dream but not a manual `ao defrag`, both gates fail with "not found"
even though Dream has just written a fresh defrag preview at
.agents/overnight/<run>/defrag/latest.json with the same JSON shape.

- check-compile-health.sh: when the canonical path is missing and
  COMPILE_OUTPUT_DIR is unset, fall back to the freshest overnight
  preview. CI paths (which set COMPILE_OUTPUT_DIR) remain strict.
- scripts/check-compile-oscillation.sh: new helper that mirrors the
  freshness gate's fallback and runs the oscillating-goals jq filter.
- GOALS.md: replace the inline compile-no-oscillation bash with a call to
  the new script so the fallback applies there too.

Fitness (post-cycle1 -> post-cycle2):
  compile-freshness       (w=4): fail -> pass
  compile-no-oscillation  (w=4): fail -> pass

Verified:
  ao goals measure --goal compile-freshness       -> pass
  ao goals measure --goal compile-no-oscillation  -> pass
  ao goals validate                                -> valid: true
  heal.sh --strict                                 -> clean

https://claude.ai/code/session_015RK27PGX79MsGU5XUhBxkr
2026-04-22 06:38:16 +00:00