From 0703d5291a529e69487f321d7050b485ea8f9bbf Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Tue, 25 Aug 2026 10:45:53 +0000 Subject: [PATCH] backlog+roster: 387-vs-300 solved, phase map found, three candidates refuted --- docs/re/BACKLOG.md | 25 ++++++++++++++++++++++++- docs/re/roster-to-craft-link.md | 10 ++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/docs/re/BACKLOG.md b/docs/re/BACKLOG.md index 2f011b62..2ee31ae9 100644 --- a/docs/re/BACKLOG.md +++ b/docs/re/BACKLOG.md @@ -933,7 +933,30 @@ premise was wrong.** `(tag, name, "")` with the **tags equal to the record keys**. Same convention as `Enumerate_Squadrons`. **Second sighting — treat it as the rule for the next table.** -* 🟡 **Does NOT close the 387-vs-~300 gap** in `roster-to-craft-link.md`. Σ`n` +* ✅✅ **(2026-08-25) 387-vs-~300 SOLVED — the probe double-counts.** The + squadron→phase map was on the disc all along, **in the `Route_S.tbl` record + names** (`Route__p`, 120/120 for S02); 108/111 S02 squadrons + map, the 3 misses are route-table typos and all phase 2. Phase 1 Σ`n` = **151**, + and its member multiset `{1×25, 2×1, 4×4, 9×12}` matches the measured + craft-per-record fan-in `{2×24, 4×1, 8×4, 18×12}` **bucket for bucket at + exactly 2×** ⇒ `300 = 2 × (151 − 1)`, the −1 being the known 41-vs-42 + off-by-one (probably the player). **The 2× is the instrument, not the game:** a + 2× reading needs 16 Delta Sabers for 8 named pilots, and breaks + `Σn ≤ FrameCount` in **20 of 37** phase-1 squadrons (16 on `Formation_1_only`, + one slot) where 1× has **0**. All three measured totals being even is a further + tell. ⚠️ Static argument about a dynamic measurement — it says the number cannot + mean what we thought, **not** what is being double-counted; that needs a run + against the craft-scan counting rule. See `mission-phase-membership.md`. +* 🔴 **Refuted with it:** `UnitGroup` has **no** phase/spawn/delay field + (`1019 = ΣCount·4 + 5·111`, every slot accounted, positional tags are + sequential indices); `DisableInterval` is `No` for all 111 S02 squadrons (its + 31 corpus `Yes` records are only S04 and S14, all `GNN***`); + **`stage\EnumSquadron_Test.tbl` does not exist** — that candidate is dead. +* ❔ **What ADVANCES a phase is still unknown** and is not in the data: swept the + stage record and every table it names plus the `message\` family for + `interval|time|phase|delay|wave|spawn|arrival|trigger|start|appear|event|condition` + — only `FrameCount` and `PresetMessage_Phase1/2/3` hit. It is in the executable. +* 🟡 ~~**Does NOT close the 387-vs-~300 gap**~~ in `roster-to-craft-link.md`. Σ`n` over Stage 02 is 387 vs 296–300 live craft, but that was measured mid-mission after kills and squadrons deploy across phases, so they are not comparable as they stand. The earlier rejection of `n` assumed everything deploys at once — diff --git a/docs/re/roster-to-craft-link.md b/docs/re/roster-to-craft-link.md index 8953ef4b..65a10fd8 100644 --- a/docs/re/roster-to-craft-link.md +++ b/docs/re/roster-to-craft-link.md @@ -1,5 +1,15 @@ # The 116 roster records and the ~300 live craft are not directly linked +> ✅ **SOLVED 2026-08-25 — see [mission-phase-membership](mission-phase-membership.md).** +> The premise below is wrong: **there were never ~300 craft.** The probe counts +> each craft **twice**. Phase 1 (read out of the `Route_S02.tbl` record names) +> has Σ`n` = 151, and `300 = 2 × (151 − 1)`, the −1 being the 41-vs-42 +> off-by-one already recorded here. A 2× reading is impossible statically: it +> needs 16 Delta Sabers for 8 named pilots and breaks the formation capacity +> bound in 20 of 37 phase-1 squadrons, where the 1× reading has 0 violations. +> The four refutations below all stand — they were just answering a question +> built on a bad number. + Status: 🔴 a direct pointer link is refuted in both directions; ✅ the two structures are in distinct heap regions; ❔ how a roster member expands into craft is still unknown.