diff --git a/docs/re/captures/ob-fourth-run-timeline.png b/docs/re/captures/ob-fourth-run-timeline.png new file mode 100644 index 0000000..289d825 Binary files /dev/null and b/docs/re/captures/ob-fourth-run-timeline.png differ diff --git a/docs/re/ob-counts-marked-attackers.md b/docs/re/ob-counts-marked-attackers.md index 886afb2..e5da21a 100644 --- a/docs/re/ob-counts-marked-attackers.md +++ b/docs/re/ob-counts-marked-attackers.md @@ -400,3 +400,59 @@ effectiveness, not instrumentation — `pilot-never-fires.md` and the because turrets are nearer and far more numerous. ❔ Options not yet tried: pick a lone attacker while the squadron is still inbound, or wait for the wingmen/ACROPOLIS guns to kill one (which counts just as well). + +--- + +# 2026-08-27 (fourth run) — why the kill test keeps failing, quantified + +520 s of `pilot.py` with `SYLPH_PREFER=e010` (198 `fire=1`), per-class counts +every 10 s, OB+TIME sampled throughout +([capture](captures/ob-fourth-run-timeline.png)). + +## ✅ Arrival timing, n=4 + +`008` first at **02:05.00** (step ∈ (111.1 s, 125.0 s] ∋ **120**); `012` first at +**03:45.47** (step ∈ (209.7 s, 225.5 s] ∋ **210**); `012` then held for a further +**3.5 minutes** to 07:07.21 — no fall, no `016`. + +## ✅ The blocker is a DAMAGE RATE, and it is now measured + +The obvious reading of four failed runs is "the pilot cannot hit attackers". That +is **wrong**. Reading `hull` at `pos+0x154` for every live `e010` at the end of +the run: + +``` +live e010: 16 +hulls: 360 365 395 405 407 410 420 445 470 475 480 490 495 495 500 500 +damaged: 14 of 16 ; lowest 360/500 = 28 % gone +``` + +**Fourteen of sixteen marked attackers are damaged.** The shots land. What they +do not do is finish: after ~8 minutes of combat the worst-hurt attacker has lost +28 % of its hull, so a kill needs roughly **3–4× longer on a single target**. + +The contrast with the control makes the mechanism plain — it is simply hit points: + +| class | HP | deaths this run | live-count change | +|---|---|---|---| +| `UN_e007_ADAN_Turret` | **100** | ~9 | 106 → 97 | +| `UN_e010_ADAN_Attacker_S` | **500** | **0** | 16 → 16 (floor never moved) | + +Turrets die because they have a fifth of the hull; attackers absorb everything +the player, the wingmen and the ACROPOLIS's guns produce in a run and survive. + +## 🟡 So the decrement remains unproven after four runs — and the test needs redesigning + +The `e010` floor has never once dropped, so the counter has never had the chance +to decrement, and its stillness continues to say nothing about the claim. But the +reason is no longer mysterious, and "fly longer" is not a fix: ~half of Stage 02 +runs end early, so a 30-minute engagement on one target is not reachable. + +❔ Options for a next attempt, none tried: +* **Concentrate on an already-damaged attacker** — one is at 360/500, and hull is + readable per entity, so the pilot could be pointed at the weakest rather than + the nearest. +* **Missiles.** The pilot logs a missile counter (`msl=73` in an earlier run) and + they were never deliberately used. +* **Accept it as a long-run experiment** and check the counter after a scripted + event kills an attacker, rather than trying to force one.