re: all 144 chatter rule tables named; the undeclared 8 are NOT tutorial
Three more naming routes: strip _msg from a message table (137/144, superset
of route 1, zero non-rule hits), predict the name from the Sperkers roster
(6/6, control 0/4), and sweep the naming grammar (1/144). Union 144/144,
and every rule table has its _msg companion.
Refutes the reading left by 2c2af7a: the undeclared tables are two story-stage
tables and six TCAF fleet/ship tables, no tutorial content at all.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
@@ -113,35 +113,68 @@ a name that already carries `VOICE_` keeps the one it has — and applying it
|
||||
moves the count to 2 388. Recorded here because the same trap is one line of
|
||||
code away in any port.
|
||||
|
||||
## Naming, by two independent routes that agree
|
||||
## Naming — five routes, and all 144 land
|
||||
|
||||
The rule tables are pak entries keyed by `name_hash`, so they had to be named
|
||||
before any of this could be read.
|
||||
before any of this could be read. Five routes, each an independent transform:
|
||||
|
||||
1. **Harvested strings** — every `PresetMessage_*` string appearing anywhere in
|
||||
any IDXD object on the disc, hashed under the `message\` prefix: **136/144**.
|
||||
2. **Declarations** — the `PresetMessage_Phase1/2/3` values of the 22
|
||||
`message\UnitMessageSet_S<NN>.tbl` tables: **136/144**.
|
||||
| route | source | named |
|
||||
|---|---|---|
|
||||
| 1 | any `PresetMessage_*` string appearing in any IDXD object, under `message\` | 136/144 |
|
||||
| 2 | the `PresetMessage_Phase1/2/3` values of the 22 `UnitMessageSet_S<NN>.tbl` | 136/144 |
|
||||
| 3 | strip `_msg` from a **message**-table name to get its rule table's name | 137/144 |
|
||||
| 4 | predicted from the `Sperkers` roster (below) | 6/144 |
|
||||
| 5 | sweep of the naming grammar over the 86 `<who>` tokens routes 1–4 expose | 1/144 |
|
||||
| | **union** | **144/144** |
|
||||
|
||||
The two routes name **the same set** (verified as a set identity, not a matching
|
||||
count). Names are of the form
|
||||
`PresetMessage_<who>[_<NN>]_S<stage>-<phase>.tbl`, e.g.
|
||||
`PresetMessage_Ellen_03_S03-3.tbl`, `PresetMessage_ADAN_Camael.tbl` — so a set is
|
||||
Routes 1 and 2 name **the same set** (checked as a set identity, not a matching
|
||||
count). Route 3 is a strict superset of route 1 and hits **no** entry that is not
|
||||
a rule table. Every one of the 144 has its `_msg` companion present.
|
||||
|
||||
Names are of the form `PresetMessage_<who>[_<NN>][_S<stage>-<phase>].tbl`, e.g.
|
||||
`PresetMessage_Ellen_03_S03-3.tbl`, `PresetMessage_ADAN_Camael.tbl` — a set is
|
||||
scoped to a character *and* a stage-phase, which is what makes 144 of them.
|
||||
|
||||
### Residual, characterised
|
||||
### ✅ The roster predicts the name
|
||||
|
||||
* **8 rule tables stay unnamed** and — this is the point — they are unnamed by
|
||||
*both* routes: nothing on the disc declares them. Their hashes are in the
|
||||
artefact.
|
||||
* `UnitMessageSet_S<NN>.tbl` exists for **22 of the 28 shipped stages**. The six
|
||||
missing are exactly **S18–S23, the tutorials**, which is the same set that has
|
||||
no `AIParams_SNN.tbl` ([`challenge-mission-gate.md`](challenge-mission-gate.md)).
|
||||
So the 8 undeclared tables are plausibly tutorial chatter, but that is a
|
||||
reading — no tutorial `UnitMessageSet` exists to confirm it.
|
||||
* The 22 stage tables declare **137** distinct `PresetMessage` sets against 136
|
||||
rule tables resolved, so one declared set has no rule table under the
|
||||
`message\` prefix.
|
||||
Route 4 is the interesting one, because the prediction came first. Among the
|
||||
tables already named, the two-speaker ones expose a transparent rule:
|
||||
|
||||
<FACTION>_Fleet<X><Y> speaks (<FACTION>OP<Y>, <FACTION><X>)
|
||||
TCAF_..Ship<X> speaks (ADANPL<X>, TCAF<X>)
|
||||
|
||||
`TCAF_Fleet{AA,AB,BA,CA,CB}` and `TCAF_17thFleet{AA,AB,BA}` and
|
||||
`TCAF_17thFleetShipC` are named; **six gaps in those series** were predicted from
|
||||
the six unnamed tables' rosters and then hashed:
|
||||
|
||||
| roster | predicted name | result |
|
||||
|---|---|---|
|
||||
| `TCAFOPB`, `TCAFB` | `TCAF_FleetBB` | ✅ `0x59d48b31` |
|
||||
| `TCAFOPB`, `TCAFB` | `TCAF_17thFleetBB` | ✅ `0x9d29575d` |
|
||||
| `TCAFOPA`, `TCAFC` | `TCAF_17thFleetCA` | ✅ `0x9d4c5353` |
|
||||
| `TCAFOPB`, `TCAFC` | `TCAF_17thFleetCB` | ✅ `0x9e527c53` |
|
||||
| `ADANPLA`, `TCAFA` | `TCAF_17thFleetShipA` | ✅ `0xee14c77c` |
|
||||
| `ADANPLB`, `TCAFB` | `TCAF_17thFleetShipB` | ✅ `0xef1af07c` |
|
||||
|
||||
**6 of 6.** The control matters as much as the hits: four same-shaped names the
|
||||
series does *not* contain — `TCAF_FleetCC`, `TCAF_17thFleetCC`, `TCAF_ShipA_01`,
|
||||
`TCAF_17thFleetShipC_01` — score **0 of 4**, so this is not "any plausible name
|
||||
hits an unnamed slot".
|
||||
|
||||
### 🔴 Refuted: the undeclared tables are not tutorial chatter
|
||||
|
||||
The eight tables that neither route 1 nor route 2 names are undeclared because
|
||||
**nothing on the disc declares them** — no `UnitMessageSet` entry, and their own
|
||||
names appear as strings nowhere. `UnitMessageSet_S<NN>.tbl` exists for 22 of the
|
||||
28 stages and the six missing are exactly **S18–S23, the tutorials**, so
|
||||
"the undeclared eight are tutorial chatter" was the obvious reading. It is
|
||||
**wrong**: the eight are `PresetMessage_Katana_14_S16-2` and
|
||||
`PresetMessage_Margras_04_S14-1` — both **story** stages — plus the six TCAF
|
||||
fleet/ship tables above, which carry no stage tag at all. Not one is a tutorial.
|
||||
|
||||
What that leaves is a different and smaller claim: the tutorials ship **no**
|
||||
`UnitMessageSet`, and no rule table is tagged `_S18`…`_S23`, so on this evidence
|
||||
the six tutorial missions have no reactive chatter of their own.
|
||||
|
||||
## ✅ Correction to `squadron-orders.md`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user