From dde23cac3c46012e77a4300f86fb668709e4f47b Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Sun, 23 Aug 2026 22:09:51 +0000 Subject: [PATCH] docs: record the dead-pad root cause and what it does not fix Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE --- docs/re/BACKLOG.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/re/BACKLOG.md b/docs/re/BACKLOG.md index f841328..87e4d58 100644 --- a/docs/re/BACKLOG.md +++ b/docs/re/BACKLOG.md @@ -274,12 +274,19 @@ is what the autopilot needs in order to CHOOSE a target. One run in: * 🔴 **The counter is not "hostiles left" either.** It held at `012` for fifteen minutes of **live** flight while the ADAN population fell 132 → 93. That is also why there is still no verification: no transition to filter on. -* 🔴 **`pilot.py` never fires** — `fire=1` in 0 of 13 521 samples. **Proximal - cause found** (2026-08-23): the committed target is *astern* in 100 % of - samples (`|aim yaw|` exactly 90.0°, the `ez < 0` branch) and the range to it - grows 22 km → 49 km — the craft flies away and the turn never completes. Which - of stale attitude matrix / wrong axis / inverted stick sign is behind that is - **still open**; one probe attempted it and was invalidated by a freeze. +* ✅ **`pilot.py` never fires — ROOT CAUSE FIXED** (2026-08-23): + `flight_probe.Pad` was writing to the **vgamepad FIFO**, dead since the uinput + pad was replaced by `--hid=file`, so every axis, trigger and button from every + flight tool went into a file nothing reads while `/tmp/xenia_pad.txt` stayed + empty. The craft was never being flown. Verified: full stick went from `0.00°` + of heading change to `12.72°`, and the attitude matrix from `d 0.0000` to + `d 0.4438` — which also **refutes** the "stale attitude matrix" suspicion. + 🟡 **Still open:** the pilot *still* fires 0 times in 150 s with the input + working, `|aim yaw|` still exactly 90.0° and the target 36–43 km off. Left to + test — now that it is testable — the yaw stick's **sign** against the pilot's + error convention, and target selection committing to something too far to + close. ⚠️ `findrot_global.py`, `findself.py`, `findspeed.py`, `selfstate.py` + still write to the dead FIFO; flagged in place, not repaired. See [`pilot-never-fires.md`](pilot-never-fires.md). * 🔴 **An in-mission freeze — the item in front of everything else.** Reproduced with the Kernel channel on. 🔴 The resume-spin lead is **refuted by its own