From 00bb0cfe1f205210867e7d491954bab382ba799e Mon Sep 17 00:00:00 2001 From: Aaron Elijah Mars <61592645+aaronjmars@users.noreply.github.com> Date: Fri, 24 Jul 2026 16:21:57 -0400 Subject: [PATCH] docs(harness-adapter): drop pointers to repos that no longer exist harness-adapter/ told contributors that fixes land upstream at aaronjmars/harness-adapter first and are re-vendored here, and cited that repo's test suite as the source for three verification claims. It also described itself as a vendored copy inside aeon-openrouter, and named aaronjmars/aeon-harness@harness-swap-4 as the reference implementation. All three repos 404: not under aaronjmars or any org, absent from an authenticated repo listing (so not merely private), and not in global search. Every one of those pointers was dead, which left the directory claiming a contribution path that cannot be followed. Reframes harness-adapter/ as what it actually is, self-contained and the place fixes land, and keeps the substance of the verification claims (real runner, 6-harness x 3-scenario matrix, Tier 4) while dropping the dead citations. The exclusion of opencode/copilot/agy now points at the allowlist comment in aeon.yml, which already records the per-harness reason. Every remaining github.com link under harness-adapter/ was resolved live and returns 200. --- .github/workflows/aeon.yml | 2 +- harness-adapter/README.md | 18 ++++++++---------- harness-adapter/docs/aeon-integration.md | 18 +++++++----------- 3 files changed, 16 insertions(+), 22 deletions(-) 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. ---