diff --git a/.github/workflows/aeon.yml b/.github/workflows/aeon.yml index d30fcf4983..c9f623aa2c 100644 --- a/.github/workflows/aeon.yml +++ b/.github/workflows/aeon.yml @@ -243,7 +243,7 @@ jobs: # Allowlist. Upstream had a claude/grok binary, so ANY other value was # silently rewritten to claude. These four are the ones measured end to - # end on a real runner (aaronjmars/harness-adapter, Tier 4). + # end on a real runner (Tier 4). # Deliberately NOT here, each for a measured reason: # opencode — its .result carried the agent's narration instead of the # deliverable (fixed in the adapter, but it still loops to diff --git a/harness-adapter/README.md b/harness-adapter/README.md index a228404ebb..8fdb04626f 100644 --- a/harness-adapter/README.md +++ b/harness-adapter/README.md @@ -1,14 +1,13 @@ -# harness-adapter — vendored subset +# harness-adapter **One Claude Code-shaped contract, six coding-agent harnesses.** -This is a **vendored copy** inside `aeon-openrouter`, trimmed to exactly what the -workflow runs: the `run-harness` dispatcher and the six adapters aeon can dispatch -to — **claude, grok, codex, pi, vibe, kimi**. The full project — three more -harnesses (`opencode`, `copilot`, `agy`), the live test suite, and the -harness-by-harness research — lives upstream at -[aaronjmars/harness-adapter](https://github.com/aaronjmars/harness-adapter). Fixes -land there first and are re-vendored here. +This directory is exactly what the workflow runs: the `run-harness` dispatcher and +the six adapters aeon can dispatch to — **claude, grok, codex, pi, vibe, kimi**. +It is self-contained, so fixes land here directly. Three further harnesses +(`opencode`, `copilot`, `agy`) were evaluated and deliberately left out; the +per-harness reasons are recorded in the allowlist comment in +`.github/workflows/aeon.yml`. `run-harness` wraps each CLI behind one headless interface — Claude Code's: prompt on stdin, flags mirroring `claude -p`, one JSON envelope on stdout. Swap the first @@ -174,7 +173,6 @@ docs/aeon-integration.md deployment runbook: wiring the swap into a live aeon The normalize-to-Claude's-envelope pattern, the grok permission stance, and the thought-firewall come from [aeonfun/aeon](https://github.com/aeonfun/aeon)'s -`run-grok.sh`. The full nine-harness research, sources, and live test suite are in -the upstream [aaronjmars/harness-adapter](https://github.com/aaronjmars/harness-adapter). +`run-grok.sh`. MIT — see [LICENSE](LICENSE). diff --git a/harness-adapter/docs/aeon-integration.md b/harness-adapter/docs/aeon-integration.md index 9b2b9c6018..ab57006169 100644 --- a/harness-adapter/docs/aeon-integration.md +++ b/harness-adapter/docs/aeon-integration.md @@ -3,12 +3,10 @@ A deployment runbook for putting `run-harness` into [aeonfun/aeon](https://github.com/aeonfun/aeon) so a skill can run on **codex, pi, vibe, or kimi** instead of only claude/grok. -The reference implementation is `aaronjmars/aeon-harness@harness-swap-4` — a full -aeon fork with every change below applied and verified on a real GitHub runner -(6-harness × 3-scenario matrix, verified in the upstream -[harness-adapter](https://github.com/aaronjmars/harness-adapter) test suite, Tier 4). -This document is how to reproduce it on a fresh aeon instance, and what each -change is for so you can review rather than copy blind. +Every change below was applied to a full aeon fork and verified on a real GitHub +runner (6-harness × 3-scenario matrix, Tier 4). This document is how to reproduce +it on a fresh aeon instance, and what each change is for so you can review rather +than copy blind. --- @@ -148,8 +146,7 @@ skills are overwhelmingly **research** skills. Getting this wrong is silent: three harnesses each lost the network a different way, and every failed run was **green** — valid envelope, exit 0, scorer 3–4/5 — while committing fabricated or empty output. The fixes are in the adapters -(pi/vibe/codex) and one compat clause; see the upstream -[harness-adapter](https://github.com/aaronjmars/harness-adapter) test suite for the full account. +(pi/vibe/codex) and one compat clause. The takeaway for operating an instance: **a green run is not proof the skill did its job.** Spot-check committed `output/` content, especially for research skills. @@ -254,9 +251,8 @@ output**: - `memory/token-usage.csv` — non-zero tokens, and the model that actually ran - `memory/skill-health/.json` — a real score, not an empty no-op -The reference fork's final grid (all four × three scenarios, verified by output) -is the "FINAL verified grid" in the upstream -[harness-adapter](https://github.com/aaronjmars/harness-adapter) test suite. +The reference fork's final grid covered all four harnesses × three scenarios, each +verified by committed output rather than by exit code. ---