Skip to content

Commit 4a557fa

Browse files
ChanMeng666claude
andcommitted
docs: truth-sync G1 PASS + T3-harness-built/experiment-deferred across AGENTS.md, CHANGELOG, eval README, roadmap, work log
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent a28e211 commit 4a557fa

5 files changed

Lines changed: 83 additions & 5 deletions

File tree

AGENTS.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,17 @@ measured on its own ledger:
6666
below statistical resolution at n≈160/arm. All 3 unfaithful assertions were room-count/
6767
topology derivations on under-determined briefs — T4's schema docs must make the band
6868
conventions and "assert a count only when the brief enumerates it" normative.
69-
Next on the roadmap spine: T3 (L2 loop vs equal-budget resampling).
69+
- **T3: harness shipped, live experiment NOT run (2026-07-12).** The L2 tier is fully
70+
implemented and offline-tested (`eval/l2.ts` pure protocol engine — diagnostic feedback
71+
≤2 rounds, oracle-isolated to compile/lint/`fix --dry-run`/trimmed-describe only;
72+
`eval/l2-run.ts` guarded CLI with retrying author + per-brief error isolation; Olausson
73+
**equal-token-budget i.i.d. resampling control** with round-up-favors-control accounting;
74+
per-metric best-of, mean±σ over trials, `pass@n`/`pass^n`; `eval-l2.yml` workflow). The
75+
~440-call live run (est. $70–95) was **declined on cost** — so the decisive
76+
loop-vs-resampling question **remains open**: do not claim a net model-loop gain (or its
77+
absence) anywhere. To answer it later: dispatch **"Eval (L2 loop vs resampling)"** in
78+
Actions (defaults = full run; smoke: `max 2, trials 1`). L3/L4/L5 stay unbuilt (gated on
79+
an L2 net win).
7080

7181
**Latest release — v1.13.0 (2026-07-11; AI-native authoring). Six tranches
7282
(see `CHANGELOG.md` for detail):**

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,22 @@ point of the round was to **fix the ruler before measuring capability**: rebuild
1515
brief-grounded intent assertions, measure the free deterministic-tool gains on their own ledger, and
1616
write down a calibrated baseline honest enough to trust.
1717

18+
### Added — Gate G1 verdict + the L2 experiment harness (2026-07-12; still repo-internal)
19+
20+
- **Gate G1: PASS** (`eval/g1/` — generator harness, generated intents, double-blind scores,
21+
report). NL→intent-JSON per-assertion faithfulness on all 26 briefs: **154/157 (98.1%)** vs
22+
93.4% per-assertion accuracy of direct `.arch` generation (one-tailed z = 2.08, p = .019;
23+
valid-only sensitivity variant below resolution — recorded). The intent channel (roadmap T4:
24+
`src/intent.ts`, `arch validate --intent`, `intent.schema.json`) is **cleared** for a future
25+
release. The generation prompt is oracle-isolated and `test/g1.test.ts` enforces it.
26+
- **T3 harness: the L2 tier** (`eval/l2.ts` + `eval/l2-run.ts` + `.github/workflows/eval-l2.yml`,
27+
`npm run eval:l2`). Diagnostic feedback loop (≤2 rounds, fed only compile/lint diagnostics +
28+
`fix --dry-run` previews + trimmed `describe()` — oracle-isolated) against an **equal-token-budget
29+
i.i.d. resampling control** (Olausson accounting, round-up favours the control), per-metric
30+
best-of, mean±σ across trials, `pass@n`/`pass^n`, retrying author + per-brief error isolation.
31+
Offline-tested (14 tests). **The live experiment has not been run** (cost declined) — the
32+
loop-vs-resampling question remains open and no loop-gain claim is made.
33+
1834
### Added — judge v2: brief-grounded intent scoring
1935

2036
- **Intent-assertion scoring core** (`eval/assertions.ts`, `JUDGE_VERSION = "2"`). `scoreSource` no

docs/WORK-LOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,3 +402,39 @@ as history in `eval/live-baseline.json`'s notes.
402402
decisive experiment: does an L2 diagnostic feedback loop beat equal-budget resampling? Everything
403403
downstream (the intent CLI channel, constraint syntax, the repair-trajectory dataset) stays gated on
404404
what T3's number says.
405+
406+
---
407+
408+
## 2026-07-12 — Gate G1 (PASS) + T3 harness; the live L2 experiment deferred
409+
410+
**Gate G1 — the intent channel's go/no-go: PASS** (`eval/g1/report.md`). A guarded,
411+
oracle-isolated harness (`eval/g1/generate.ts`, "Eval (G1 intent generation)" workflow) had
412+
gpt-5.5 write intent JSON (the `Expect` shape, lowered by `compileExpect`) from each of the 26
413+
briefs — 26/26 parsed, 157 assertions. Double-blind grading, with one honest process amendment:
414+
the human rater could not judge faithfulness cold, so rater A = three blind opus subagents
415+
(156/157 faithful), rater B = fable, pre-registered before reading A (154/157), agreement 98.7%
416+
(κ 0.50), and the human adjudicated the 2 disagreements (both ruled unfaithful). **Final:
417+
154/157 = 98.1%**, vs **93.4%** per-assertion accuracy of direct `.arch` generation
418+
(reconstructed reproducibly from the frozen calibrated-baseline scorecard by
419+
`eval/g1/baseline-accuracy.ts`, cross-checked row-by-row against its failure notes). Gate met:
420+
≥85% and one-tailed z = 2.08 (p = .019) above the primary control; recorded caveat — against the
421+
valid-only control variant (95.7%) the margin is below resolution at n≈160/arm. All three
422+
unfaithful assertions are room-count/topology derivations on under-determined briefs; the band
423+
conventions ("~N" → ±10% here vs the oracle's ±15%) must become normative schema documentation
424+
in T4. **T4 is cleared.**
425+
426+
**T3 — harness shipped, experiment deferred.** The full L2 tier landed
427+
(`eval/l2.ts` pure protocol + `eval/l2-run.ts` guarded CLI + `eval-l2.yml`): diagnostic feedback
428+
≤2 rounds (compile/lint diagnostics + `fix --dry-run` previews + trimmed `describe()` only —
429+
oracle-isolated, statically tested), an **equal-token-budget i.i.d. resampling control**
430+
(Olausson `k = np + np·nfr` accounting in token form; the control's crossing sample is kept, so
431+
rounding favours the control — conservative toward the loop), per-metric best-of, mean±σ across
432+
trials, `pass@n`/`pass^n`, a retrying author (429/5xx/network backoff) and per-brief error
433+
isolation so one blip cannot sink a paid run. 14 offline tests; `eval:ci`/`results.md`
434+
byte-identical through the `run.ts` export refactor. **The ~440-call live run (est. $70–95 face
435+
value) was declined by the owner — the loop-vs-resampling question therefore REMAINS OPEN.** No
436+
net-loop-gain claim may be made in any doc until "Eval (L2 loop vs resampling)" is dispatched and
437+
scored. L3/L4/L5 stay unbuilt.
438+
439+
**Gates.** 842 tests passing (93 files); typecheck + Biome + `eval:ci` green throughout; every
440+
commit ran the four-gate set.

docs/research/2026-07-roadmap-proposal.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
**Date:** 2026-07-11 · **Status:** **T1 + T2 implemented 2026-07-11** (commits
44
`60f5a87``83dc0cc`); **Gate G1 PASSED 2026-07-12** (`eval/g1/report.md` — faithfulness
55
154/157 = 98.1% vs direct-generation 93.4%, z = 2.08 p = .019; T4 cleared, with a
6-
valid-only-control sensitivity caveat recorded); T3 in flight, T4–T6 remain open ·
6+
valid-only-control sensitivity caveat recorded); **T3 harness implemented 2026-07-12,
7+
live experiment deferred** (the ~440-call spend was declined — the loop-vs-resampling
8+
question stays open; dispatch the "Eval (L2 loop vs resampling)" workflow to answer it);
9+
T4–T6 remain open ·
710
**Evidence base:** [`2026-07-ai-first-deep-dive.md`](./2026-07-ai-first-deep-dive.md) — every
811
tranche below cites its verdicts (H1–H5) and the underlying sources. Written to be executable
912
by a fresh implementation session with no other context beyond `AGENTS.md`.
@@ -117,6 +120,12 @@ honestly in AGENTS.md and skip T4.
117120

118121
## Tranche 3 — L2: the decisive experiment (PR3)
119122

123+
**Status: ⚙ harness implemented 2026-07-12** (`eval/l2.ts` + `eval/l2-run.ts` +
124+
`eval-l2.yml`, offline-tested in CI, spec below followed incl. the equal-budget control
125+
and oracle isolation); **the live run itself was deferred** — the user declined the
126+
~440-call cost, so no L2 number exists yet and the drivability question below is still
127+
unanswered. Run it any time via the "Eval (L2 loop vs resampling)" workflow_dispatch.
128+
120129
**Motivation:** H3 verdict — the one artifact that can confirm, refute, or bound the
121130
AGENTS.md drivability narrative, and that gates T4's headline status, T6's scope, and H4's
122131
reversal triggers. Designed to be able to say "the loop does not pay."

eval/README.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,16 @@ model loop (deep-dive H3).
2020
edits, ADR 0011) then `arch repair` (the geometric corrector, ADR 0006) — **no model in the loop,
2121
zero extra API calls.** ΔL0→L1 is the free tool dividend. Implemented in `l1.ts` (`l1Pipeline`),
2222
gated offline in CI by `test/fault-injection.test.ts`, and overlaid on a live run with `--l1`.
23-
- **L2 — a diagnostic feedback loop (planned, not built).** Roadmap Tranche 3: does feeding
24-
diagnostics back to the model beat equal-budget resampling? Until that is measured, `adjacent` /
25-
`reachable` stay subscore-only (the T4 hook) and no L2 code exists here.
23+
- **L2 — a diagnostic feedback loop (built, not yet measured).** Roadmap Tranche 3: does feeding
24+
diagnostics back to the model beat **equal-token-budget i.i.d. resampling** (Olausson,
25+
arXiv:2306.09896)? The harness is implemented and offline-tested — `l2.ts` (pure protocol: ≤2
26+
feedback rounds fed only compile/lint diagnostics with their `fix --dry-run` previews + a trimmed
27+
`describe()`, oracle-isolated; the control arm matches the loop's *measured* token spend,
28+
rounding its sample count up, which favours the control) and `l2-run.ts` (guarded CLI:
29+
`npm run eval:l2 -- --yes [--trials N] [--max N] [--budget …] [--concurrency N]`, or the
30+
"Eval (L2 loop vs resampling)" workflow). **The live experiment has not been run** (cost was
31+
declined 2026-07-12), so the loop-vs-resampling question is still open; until it is measured,
32+
`adjacent`/`reachable` stay subscore-only (the T4 hook) and no net-loop-gain claim may be made.
2633

2734
Calibrated L0 baseline (`gpt-5.5-2026-04-23`, seed `20260711`, 26 briefs, judge v2, 2026-07-11):
2835
**valid 25/26 (96%) · intent 13/26 (50%) · sound 4/26 (15%)**. Same run's `--l1` overlay: **intent

0 commit comments

Comments
 (0)