v1.7.3 — Round-4 Falsification Convergence
Round-4 falsified the v1.7.2 release. A convergence-verification subagent given an explicit falsification mandate (vs verify-mode for rounds 1-3) caught six concrete defects on the v1.7.2 tag — including the original R3-CRIT 'silent flash from Git Bash' reborn in `run` and `flash` because R3's patch only touched `build`.
Critical fixes
| Defect | Status pre-round-4 | Fixed in v1.7.3 |
|---|---|---|
| `esp-harness run` silent flash from Git Bash | R3-CRIT regression on v1.7.2 tag | ✓ MSys trap in run.py |
| `esp-harness flash` silent zero-byte success | R3-CRIT regression on v1.7.2 tag | ✓ MSys trap in flash.py |
| `esp-harness init` unbuildable scaffold (dead path) | Broken since v1.5 (3 releases) | ✓ Forwards to `new --link` |
Blocking fixes
- `?keys press pwr` never auto-released — wired pwr into keys_task override + PMIC handler.
- `v1.7.2` tag actually reported as `1.7.1` — pyproject.toml bumped to `1.7.3`.
- `install.ps1` missed `[test]` extras — fresh-clone smoke jumped from 19/20 → 21/21.
- `esp32-harness-showcase` reference sweep — round-3 fix was narrow (1 file); round-4 grep returned 24 hits in 18 files. All non-historical references now point at the esp-harness monorepo.
Smoke gate
21/21 cases green (6 host + 15 device). Material new cases:
- Triple-trap MSys/Mingw refusal (build + flash + run).
- All-3-buttons keys-press synth (boot/user/pwr).
- `--wait-evt` no-match returns timed-out evt_wait_ms (preempted round-4 edge task).
Convergence trajectory
| Round | Critical | Found by | Released as |
|---|---|---|---|
| Author E2E | 5 | — | v1.7.1 |
| Subagent 1 (verify) | 3 | new + scaffold blockers | v1.7.1.x |
| Subagent 2 (verify) | 3 | R2 bugs (manifest/EVT/scaffold) | v1.7.1.x |
| Subagent 3 (verify) | 1 | Git Bash trap | v1.7.2 |
| Subagent 4 (falsify) | 2 | R3-regression + scaffold-rot | v1.7.3 |
The falsification round was the most valuable round — it caught the R3-regression that the previous verify rounds had missed because they didn't test the back-door codepath. A falsify-then-verify pattern is the convergence model going forward.
🤖 Generated with Claude Code