Skip to content

v1.7.2 — Adversarial Convergence

Choose a tag to compare

@Caldis Caldis released this 22 May 14:25
· 44 commits to master since this release

Adversarial-subagent convergence pass. Three rounds of evaluation by minimal-context subagents simulating first-time users — round 1 found 8 issues (3 critical), round 2 found 4 (3 critical), round 3 found 1 critical + 4 blocking + 5 minor. Critical-defect count: 8 → 3 → 1 per round. All fixed; the 20-case smoke gate now locks every defect class in.

Round-3 highlights

  • Git Bash silent-build trap (critical) — `idf.py` exited 0 with `MSys/Mingw is no longer supported` from Git Bash. AI agents flashed stale binaries with no warning. `build.py` now detects the message + ELF-mtime gate; fails closed with `exit_code=100`.
  • `?keys press [HOLD_MS]` (new) — synthesize physical BOOT / USER / PWR button presses from host. Synth-override window + count integration; AI agents can now exercise button-gated flows.
  • PORTING.md gains the `bsp/esp-bsp.h` convention + `bsp_display_start()` entry-point documentation that round-3's port-pretend subagent had to discover by grep.
  • 5 post-monorepo path islands swept: `sim/README.md` 3-scenes claim, `aurora-harness/README.md` `esp32-harness-showcase` refs, `tests/README.md` stale pytest path, `PR_TEMPLATE.md` double-prefixed relative links.
  • Last `1.5.0` stragglers in `docs/index.html`, repo-layout SVG, `architecture.md` → `1.7.x`.

Smoke gate

20 / 20 cases green (6 host + 14 device). New since v1.7.1:

  • `build refuses MSys/Mingw exit-0 (R3-CRIT regression)`
  • `?keys press boot synth (R3-bug regression)`

Convergence trajectory

Round Defects Critical Blocking Minor
Author E2E (v1.7.0→1) 8 5 3
Subagent 1 (1.7.1→) 8 3 2 3
Subagent 2 4 3 1
Subagent 3 10 1 4 5

20 distinct defects across 4 rounds of validation on a single codebase. The framework is at the point where further adversarial rounds find papercuts rather than blockers.

🤖 Generated with Claude Code