Original effective State facts
The original State provider is not only the generic metadata's base faction
state. Complete old 3B262E0 (ED5 3B26240, 167 bytes) first reads its +B0
registered 5F5428C interface. That interface's actual +38 getter is old
2DB040, ED5 2DB010: lea rax,[rcx+288]; ret. Original full 627800
(ED5 6277A0, 116 literal-identical bytes) tests the system's complete 64-bit
address in that chained set. A member forces raw State 39 before any base
metadata lookup. The State constructor's actual Unpopulated row supplies its
settings key and RGBA.
When membership is false, the provider reads descriptor +1C; an absent
descriptor supplies raw 0, while absent compact supplies raw 14. This adapter
only accepts real address requests. Generic metadata positives and the existing
ready, structurally confirmed missing-row fallback retain their own provenance.
Pending metadata remains unknown. No other independent frontline overlay occurs
in this classifier: frontline is an actual State provider row when that raw
classification is present, not an invented BGS rule.
Crucially, 627800 returns false on count==0 before reading bucket pointer
or capacity. The reader follows that order, including the stable zero-capacity
case. It does not require the Thargoid panel response/metadata flags, which the
original predicate does not inspect. Unreadable or wrong typed owners, malformed
nonempty chains, changed bindings, and uncertain metadata are unknown.
Key and raw RGBA are copied from the loaded original State provider's matching
raw-key row (+0, name ref +10, RGBA +20..2C, stride 38). It is reached
through the already verified MainUI/controller State shared handle, category 6,
and actual State vtable ED5 552DE60. The reader never borrows the game's
selection byte row+30 or selection-animation scalar row+34. HDR colour
channels above 1 remain unchanged. If the original provider has not been
initialised, the raw State ID can be returned with unknown key/colour; it is not
replaced with an assumed public enum or a static fallback colour.
GalaxyNativeStateFact / StateRequested take precedence over the older
BasicSystem.BaseFactionState. An explicit native unknown never uses public
state or a prior public query receipt as proof. Known negatives remain negative
even with IncludeUnknown. Requested state uses the actual provider key after the
ordinary string normalisation, not a guessed numeric namespace.
Reproduction:
research/Trace-GalaxyStateFacts.pygeneratesartifacts/galaxy-query-research/state-facts/compatibility.json, pairing complete old/current ctors/classifier, typed slots and membership leaf. It accesses PE files only and retains both full image hashes.research/Run-GalaxyStateFactsProbe.pylinks the production State and Basic readers plus the own-allocation fixture. Existing hash dependencies are extracted unchanged from production into a bounded memory host. Eight runs pass all 16 checks (65535), including count-zero semantics, exact address, pseudo override with unknown metadata, raw HDR colour, absent provider, malformed sources and no memory mutation. No game functions/process/network.research/GalaxyStateFilterProberuns the four focused State DTO/filter tests without building the full Test project.
Runtime validation remains pending. This does not certify original map initialisation, successful data responses, or complete catalogue coverage.