# Original Security class keys This mapping comes from the existing pinned6891 Security visualisation constructor, not from public database order or the order of the colour rows. No game process was read and no new decompilation was needed. Source: `artifacts/galaxy-query-research/filter-enums/decompiled/solo-3ad0bf0.c`. The constructor reads the original config `+D8` rows and compares each resource key, then inserts its explicit integer as the same hash-map key used by the Security classifier. String values are independently recorded in `filter-enums/constructor-string-evidence.json`. | Resource key | Class | Original display token | Direct branch lines | |---|---:|---|---| | Anarchy | 0 | `$GAlAXY_MAP_INFO_state_anarchy;` | 121–125 | | Lawless | 1 | `$GALAXY_MAP_INFO_state_lawless;` | 452–457 | | LowSecurity | 2 | `$GALAXY_MAP_SECURITY_low;` | 478–490 | | MediumSecurity | 3 | `$GALAXY_MAP_SECURITY_medium;` | 503–515 | | HighSecurity | 4 | `$GALAXY_MAP_SECURITY_high;` | 529–549 | The existing Basic descriptor classifier `1C40B90` emits class0 for Government None1/Anarchy2 and otherwise class2/3/4 at byte thresholds40/80. It does not produce class1. `GalaxyNativeBasicSystemFacts.SecurityKey` therefore exposes only the four actually reachable resource keys; an unknown future Government remains null under the descriptor's existing strict enum boundary. Lawless is recorded here as constructor evidence and is not invented as a Basic result. The authored config rows happen to be ordered High/Medium/Low/Anarchy. That row index is not SecurityClass. This distinction is covered by the focused `OriginalSecurityConstructorKeysFollowNumericClassRatherThanPaletteOrder` regression.