Files
EscapistsReintroduced/docs/ai-feature-migration.md
T

44 KiB
Raw Blame History

Owned AI feature migration audit

Audited 20 September 2026. This is a source inventory, not a feature-parity or release certificate. Baseline successor commit: e7b4141f6975027624941a8e2b0fcb9d1683a54d.

The audit accounts for 54 original AI scripts, 45 regression scripts, 12 prefabs and 68 explicit resource references. EAI_GroupLookup.c is recorded by filename only and excluded from reuse; its contents were not read as an implementation model. Every script maps to at least one capability in the machine-readable inventory, which includes source hashes, test references and all discovered resource references.

The user explicitly owns and authorizes reuse of independently authored AI/Intel/Chat behavior. That authorization supersedes the blanket old-workspace prohibition in the living-island brief. Original Escapists, ScrtCore, ScrtSharedContent and protected-derived GroupLookup content remain excluded. An original-base override is not presumed independently authored merely because it resides in AI: replace its hook/behavior against successor or vanilla interfaces rather than copying protected bodies.

The user has also authorized RHS, WCS and BMP dependencies. Keep external assets in their installed addons; do not copy them into successor packages. The five successor addon identities remain separate. Core can remain vanilla-only; AI/full-scenario dependencies may expand explicitly.

Coverage

The rows below preserve the initial audit baseline. Subsequent convoy implementation is tracked in convoy-migration.md and the inventory's post_audit_updates: it is now a partial implementation with native driving still unproven.

Status means implementation presence against the described capability, not native or multiplayer qualification. Implemented rows can still need real gameplay validation. Partial rows must not be presented as full migration. The categories are not equally weighted, so their counts cannot support a completion percentage.

ID / capability Status Current boundary and required work
config — Configuration and admin controls partial Only reportIntervalSeconds/supportSquadLimit/responseRadiusMetres of nine original AI keys migrate; add remaining keys with explicit current/next-round semantics.
skill — Native combat skill floor missing Add configurable native skill policy on owned physical groups; do not modify perception or populate dormant units.
radio — Physical radio network and call delivery partial Short-hop delivery is implemented; audit/port local handoff, originating-call hold, broad one-time radio fitting, aircraft uplink and shared awareness. Replace original support-tree hook with own delivery API.
observations — Observed descriptions and fair reporting implemented Code implemented for current physical groups; real multiplayer and difficult exposure/vehicle cases still require validation.
ground_tactics — Infantry hunting and differentiated roles partial Successor delivers search waypoints and restores native route; distinct roles, contact coverage/priority allocation and growing search areas are incomplete. Route new tasking through force ledger.
status — Routine status and ammunition reports partial Only mortar supply status is integrated; general living/fit/missing roster and weapon/mine status remain missing.
missing_patrol — Missing patrol investigation missing Add status-derived investigation beliefs and dispatch existing ledger forces; no live missing-unit coordinates.
body_discovery — Visible bodies and confirmed losses missing Independent death hook and bounded physical LOS intake; share evidence identity across status/body/missing-patrol reports. A casualty is not a known hostile position.
belief_search — Persistent remembered searches and predictive HQ partial Current HQ contacts expire at120s and have short velocity projection; no persistent confidence/uncertainty map, searched-ground memory, route alternatives or search-outcome feedback. New T8/T9 must preserve hypotheses separately from targetable sightings.
hunter — Retaskable paired hunter UAZs missing Use shared finite forces and HQ-selected availability; no independent spawn clocks or free replacement losses.
capture — Captured-force ownership and stop reasons partial Current individual HQ/support eligibility has player guards, but hunter/convoy permanent capture latch and coordinated stop lifecycle require those capabilities.
convoys — Six-vehicle armed supply convoy patrols missing Migrate exact authorized BMP/Ural/UAZ composition through finite HQ force records and shared active-agent budget; no independent spawn clock.
recon — Operational airport reconnaissance helicopter partial Flight mechanisms have isolated short-route evidence; airport search, useful routes, HQ-selected recon launch/orbit/endurance/service operational loop are missing.
air_assault — HQ-selected air reinforcement cycle missing Build one shared HQ insertion capability with actual passenger reservations and mortar deconfliction; no new independent timer/spawn system.
parachutes — Physical staggered AI parachute drop missing Framework-dependent mechanics cannot enter vanilla-only closure; choose optional asset integration or landing insertion; do not silently claim equivalence.
aircraft_ammo — Aircraft weapon ammunition and airfield reload missing Replace original free service refill/new troops with shared depot cargo/personnel allocation and physically confirmed consumption.
air_recovery — Ground helicopter recovery operation missing Shared recovery task and finite resources; rebuilding destroyed airframe must consume an existing spare record, not mint replacement capability.
flight_safety — Flight availability and physical landing guards partial Availability/short-range landing code exists; prove useful terrain routes and integrate availability into shared planner, not timed replacement.
ammo_accounting — General weapon/mine supply accounting missing General infantry/vehicle manifests missing; extend finite mortar-only model without manufacturing compatible cargo at destination.
resupply — Truck/helicopter last-mile ammunition delivery partial Existing physical foot courier serves one mortar from finite stock; general request queue, truck/air carriers, recipient manifests, return/recycling and shared-loss replacement not implemented.
depots — Physical depot stock-porters-carrier loading missing Create authored finite depot resources and pooled ground staff; preserve staged physical ownership and bounded timeouts.
mines_issue — One-time mine issue and resupply missing Tie engineer loadouts and replenishment to finite ledger stock; do not regenerate dropped mines.
mines_task — Engineer mine placement lifecycle missing HQ task reservations and clear player warning cues; stock-owned native items only; trace/proximity work budgeted.
roadblocks — Reactive staffed roadblocks missing Use belief hypotheses/road topology and finite ledger force deployment; preserve searched/escape corridors and player placement exclusions.
mortar_deployment — Physical dispersed mortar sites partial Successor has one authored battery/4crew/27shell readiness. Four-site deployment and force-ledger reservation are missing.
mortar_fire — Ballistic prediction, safe salvos and accounting implemented Current one-battery behavior implemented; broad moving-target impact accuracy, multiplayer, more batteries and aircraft corridor reservation integration remain unqualified.
settlement_safety — Settlement/friendly protection and deconfliction partial Ground/mortar safety exists; roadblock/mine/air corridor consumers and full shared planner reservations remain missing.
performance — Work budgets, temporary detail and metrics partial Replace old NearPlayer/ConvoyLOD ownership with T2 presence budget. Shared force simulation/agent cap/metrics and equivalent-workload FPS evidence do not yet exist.
ambient_disable — Single owner of strategic responses implemented Original systems are absent by dependency isolation, so no original override needs porting. Maintain this invariant as capabilities grow.
factions — Consistent military faction ownership partial RHS dependency is authorized; add fresh explicit RHS role/faction catalogs, replacing all original composite catalog APIs.
prisons — Improvised prison starts and physical supplies partial Current successor prison/lock/supplies are implemented at authored coordinates. Random island generation, airfield exclusion and alternate geometry have not migrated. This source does NOT implement recapture.
start_choices — Configurable prison/crash start selection missing Author new independent prison/crash scenarios and own selection; never reuse original crash compositions or setup snapshots.
outfit — Persistent initial outfit choice partial Successor has own prisonerkit and optional vanilla PASGT/BDU cheat grants; original patched automatic outfit not migrated. Owned Patch content separate audit/authorization scope.
stinger — Rare anti-air launcher loadout missing WCS Armaments is now authorized: preserve exact FIM92 resource and bounded physical assignment policy; do not import Enhanced/original dependencies.
optics — Verified magnified optics on compatible AI weapons missing Good bounded next subsystem: service on newly registered physical soldiers with own native attachment verification; use verified vanilla scopes only; no global original attachment override.
compatibility — Original dependency runtime fixes partial Original-base/Enhanced overrides are unnecessary or must be newly expressed if successor-specific faults reproduce. Do not bulk-copy protected override bodies. Audit surviving vanilla-only defects separately.
simulation — Autonomous escape test mode and spectators missing Successor WORKBENCH smoke is a different development fixture and not this normal-server autonomous mode. Full native player-lifecycle/medical/intel interfaces can be reused; this is NOT distant-unit virtualization.
journal — HQ journal and private live diagnostics implemented Infrastructure implemented. New systems still need meaningful status/events; long-running multiplayer/file-failure behavior not fully qualified.
catalogs — Independent unit composition catalogs partial EAI_GroupLookup is excluded without reading its content as a model. Build richer vanilla role/crew catalogs independently; never translate copied lookup code.

Detailed source and behavior mapping

The source links below point to the read-only owned predecessor. Successor paths indicate real existing code at the audit snapshot, not planned filenames.

Configuration and admin controls (config)

Original: EAI_AIConfig.c, EAI_ConvoySettings.c, EAI_HQSettings.c.

Behavior: Unified config/defaults/backups/migration; bounded validation; runtime HQ settings; next-round frozen convoy/start/simulation choices.

Successor: ERR_Settings.c, ERR_HQAdminProvider.c.

Evidence boundary: latest packaged startup + native admin fixture. Asset scope: vanilla.

Native combat skill floor (skill)

Original: EAI_AIResponseSystem.c.

Behavior: Expert minimum80; preserve higher skill; designated gunners100; reapply after native resets.

Successor: no migrated production subsystem.

Evidence boundary: code only. Asset scope: vanilla.

Physical radio network and call delivery (radio)

Original: EAI_HQ.c, EAI_HQNetwork.c, EAI_NativeRadioCall.c.

Behavior: Real basic/manpack inventory; 500m short links/up to3 hops; 2s per leg; interrupted sender/receiver rules; 100m local observation handoff; 3s originating call; one-time basic/manpack fitting; aircraft uplink; broadcast-only awareness.

Successor: ERR_HQ.c, ERR_HQNetwork.c, ERR_HQReport.c.

Evidence boundary: native real-sighting HQ response + network regression. Asset scope: vanilla.

Observed descriptions and fair reporting (observations)

Original: EAI_HQObservation.c, EAI_HQ.c.

Behavior: Current native LOS; observed count/travel/drawn weapons; timestamped immutable snapshots; velocity from sightings; per-squad fair multi-contact reporting.

Successor: ERR_HQObservation.c, ERR_HQReport.c, ERR_HQ.c.

Evidence boundary: native HQ response; 186-assertion owned AI/Intel integration. Asset scope: vanilla.

Infantry hunting and differentiated roles (ground_tactics)

Original: EAI_GroupTactics.c, EAI_HQ.c.

Behavior: Approach/flank-left/flank-right/intercept roles; growing45–110m search; 120s freshness expiry; native combat preemption; restore original patrol; fair nearest squad allocation.

Successor: ERR_HQ.c.

Evidence boundary: native original-squad movement + patrol/HQ fixture. Asset scope: vanilla.

Routine status and ammunition reports (status)

Original: EAI_HQStatus.c, EAI_HQ.c.

Behavior: Three-minute roster/position/status check-ins; early low-ammo reports; snapshot casualties; in-flight evidence preservation; disconnected/overdue diagnostics.

Successor: ERR_HQ.c, ERR_MortarLogistics.c.

Evidence boundary: native mortar courier reports only. Asset scope: vanilla.

Missing patrol investigation (missing_patrol)

Original: EAI_HQWatch.c, EAI_HQ.c.

Behavior: Two missed180s check-ins;30s reply deadline; detached last-known-position roster; one physical investigation with arrival inspection/reply; never presume death.

Successor: no migrated production subsystem.

Evidence boundary: code only. Asset scope: vanilla.

Visible bodies and confirmed losses (body_discovery)

Original: EAI_HQBodySearch.c, EAI_HQWatch.c, EAI_HQ.c.

Behavior: Death callback registers local evidence;60m view limit/12m close range;15s per-unit scans;12-trace shared budget;16 local discoveries; radio-only deduplicated confirmations.

Successor: no migrated production subsystem.

Evidence boundary: code only. Asset scope: vanilla.

Original: EAI_HQBodySearch.c, EAI_HQ.c.

Behavior: Ten-minute ground trail; snapshot ahead guesses300–1200m; road-aware vehicle hypotheses; casualty-location fallback; two-loss wave threshold/three-minute spacing/three living search groups.

Successor: ERR_HQReport.c, ERR_HQ.c.

Evidence boundary: projection policy only; persistent belief not implemented. Asset scope: vanilla.

Retaskable paired hunter UAZs (hunter)

Original: EAI_AIResponseSystem.c.

Behavior: Two PKM UAZs; opposite1000m road approaches; full spec-ops crews+medic;300s dispatch cooldown;30s failed-placement retry; reuse existing pair.

Successor: no migrated production subsystem.

Evidence boundary: code only. Asset scope: vanilla.

Captured-force ownership and stop reasons (capture)

Original: EAI_ResponseSafety.c, EAI_SupplyConvoys.c.

Behavior: Check nested turret seats/player crew membership; immediate permanent release after capture; retain living vehicles/crews/wrecks; first stop reason; restore detail/locks.

Successor: ERR_HQ.c, ERR_AircraftService.c.

Evidence boundary: code guards; no migrated convoy runtime. Asset scope: vanilla.

Six-vehicle armed supply convoy patrols (convoys)

Original: EAI_SupplyConvoys.c.

Behavior: 0–20 startup convoys/default3; one spawn slot per5s; ammo Ural+3PKM UAZs+troop Ural+BMP; finite recoverable weapons/ammo; road-base destinations/35kmh/45–90s rests;400m contact regroup; two dismounted flank teams; ammo/troop truck retreat;60s quiet reboard/120s deadline;10min travel timeout; no replacement/refill; partial spawn retention.

Successor: no migrated production subsystem.

Evidence boundary: missing. Asset scope: BMP-1 mod; faction catalogs may transitively use RHS.

Post-audit update: the successor now has a finite six-vehicle/19-body service, shared Core budget receipts, opt-in HQ dispatch, native crew/cargo operations and owned route lifecycle. Road preparation tries up to 33 deterministic offsets on each actual road, keeping all six starts and their center within 500m of the seed. Filled native TraceBox geometry decides obstruction; broad AABB overlaps are diagnostic only. This is partial, with driving/cargo native evidence pending and original dismount/flank/reboard tactics and supply delivery still missing. See current convoy evidence.

Operational airport reconnaissance helicopter (recon)

Original: EAI_AirRecon.c.

Behavior: Incremental airport discovery; clear pads;15min initial/loss delay; one active armed Mi8; real sightings into HQ;300m orbit/150m minimum horizontal standoff; runway return/landing retry; player takeover release.

Successor: ERR_AircraftService.c, ERR_AircraftFlight.c, ERR_AircraftRouteFlight.c.

Evidence boundary: isolated20m flight only; no operational recon. Asset scope: vanilla Mi8 candidate; original recon wrapper must be rebuilt.

HQ-selected air reinforcement cycle (air_assault)

Original: EAI_AirAssault.c, EAI_AirSupportPolicy.c.

Behavior: Up to8 carried troops/two teams; wait60s for mortar response; eligible observed infantry<=3m/s;1-in3 optional decision/120s separation; frozen450m tangent drop; abort stale/moved/conflicting reports;2min cover; return/reload/reboard.

Successor: no migrated production subsystem.

Evidence boundary: missing. Asset scope: optional parachute framework; vanilla landing-and-dismount alternative changes behavior.

Physical staggered AI parachute drop (parachutes)

Original: EAI_AssaultParachute.c, EAI_AirAssault.c.

Behavior: Moving25m/s flyby at90–180m AGL;>=2s/50m stagger; native compartment exits;5m/s descent/2m/s flare; no duplicate soldiers; released canopies finish after carrier loss.

Successor: no migrated production subsystem.

Evidence boundary: missing. Asset scope: Parachute Framework65930CB4CD0237B2.

Aircraft weapon ammunition and airfield reload (aircraft_ammo)

Original: EAI_AircraftAmmo.c, EAI_AirRecon.c.

Behavior: Native mounted-magazine/rocket-barrel accounting; return at<=25% usable ammunition; landed15s service; verified physical passenger boarding/retries; fixed finite payload per departure.

Successor: no migrated production subsystem.

Evidence boundary: code only. Asset scope: vanilla.

Ground helicopter recovery operation (air_recovery)

Original: EAI_HelicopterRecovery.c.

Behavior: Repair Ural+2escorts+engineer+replacement pilot; settled road-accessible crash;5min planning/20min service deadline;60s uninterrupted repair; pilot physically boards; return convoy; captured aircraft permanently excluded; recovery holds loss timer.

Successor: no migrated production subsystem.

Evidence boundary: missing. Asset scope: vanilla repair Ural/UAZ/engineer candidates.

Flight availability and physical landing guards (flight_safety)

Original: EAI_HelicopterAvailability.c, EAI_Landing.c, EAI_LogisticsVehicle.c.

Behavior: 20s startup grace;60s prolonged grounding; separate damage/pilot/takeover states; stable landing; obstacle/friendly pad holds; temporary active crew detail and lock release.

Successor: ERR_HelicopterAvailability.c, ERR_AircraftService.c, ERR_AircraftFlightEnvelope.c.

Evidence boundary: native vertical/20m mechanisms; broader airborne operation unqualified. Asset scope: vanilla.

General weapon/mine supply accounting (ammo_accounting)

Original: EAI_AmmoSupply.c, EAI_Mines.c.

Behavior: Count loaded and spare rounds by compatible weapon; full-magazine equivalents; rifle/MG<=2/pistol-launcher<=1 threshold; desired6/4/2 magazines; mounted<=25%; mine deficits; empty-magazine recycling.

Successor: no migrated production subsystem.

Evidence boundary: code only. Asset scope: vanilla.

Truck/helicopter last-mile ammunition delivery (resupply)

Original: EAI_Resupply.c, EAI_LogisticsVehicle.c.

Behavior: One request per group; refresh destination from delivered status; one truck+one transportMi8; rotate4queue entries/30s; prefer air beyond2.5km/no road/stalled truck;15s unloading/60m living recipient range;3min expiry/retry;15min destroyed-carrier replacement; surviving carrier reuse.

Successor: ERR_MortarLogistics.c, ERR_MortarCourierTransfer.c, ERR_MortarSupplyTransfer.c.

Evidence boundary: native finite courier transfer; not vehicle logistics. Asset scope: vanilla.

Physical depot stock-porters-carrier loading (depots)

Original: EAI_DepotLoading.c.

Behavior: Actual warehouse cargo;2porters walk stock->porter->carrier; verify ownership callbacks; full mags/disarmed mines only;24-item trip;15min loading deadline;18m cleared departure area; stolen stock/dead staff failures.

Successor: no migrated production subsystem.

Evidence boundary: missing. Asset scope: new own depot composition using vanilla box.

One-time mine issue and resupply (mines_issue)

Original: EAI_Mines.c.

Behavior: Eligible military inventory holds up to2PMN4; bounded startup issue; spent mine deficits via radio; captured/player/nonenemy exclusion.

Successor: no migrated production subsystem.

Evidence boundary: missing. Asset scope: vanilla PMN4 candidate; confirm installed availability.

Engineer mine placement lifecycle (mines_task)

Original: EAI_MineTask.c.

Behavior: Road-flank waypoints;10s physical placement; withdraw20m; no friendly within20m; native pressure arming;4mines/site/32mission tasks;180s timeout; interruption/pickup/death never arms.

Successor: no migrated production subsystem.

Evidence boundary: code only. Asset scope: vanilla.

Reactive staffed roadblocks (roadblocks)

Original: EAI_HQRoadblocks.c.

Behavior: Fresh moving ground snapshot; ahead-of-track road candidate; orient against25m road probe; actual airport crew boarding/transit/dismount; optional armor after6confirmed casualties; engineer flanks; captured-force exclusion.

Successor: no migrated production subsystem.

Evidence boundary: missing. Asset scope: authorized WCS BMP-1; vanilla alternative remains a deliberate option.

Physical dispersed mortar sites (mortar_deployment)

Original: EAI_MortarSystem.c.

Behavior: Four quadrant sites;3crew+RTO;27physicalHE each; incremental16placement candidates/5s; terrain/road/spacing safety;2min quadrant fallback; no loss respawn.

Successor: ERR_MortarSystem.c, ERR_MortarReadiness.c.

Evidence boundary: native one-battery readiness and transfer. Asset scope: vanilla.

Ballistic prediction, safe salvos and accounting (mortar_fire)

Original: EAI_MortarPrediction.c, EAI_MortarEngagement.c, EAI_MortarFiring.c, EAI_MortarSalvo.c.

Behavior: HQ-delivered<=60s snapshots; native aim/charge/flight solve; road-bounded velocity projection<=90s/1800m;8shot salvo/40m spread; actual projectile accounting; refreshed reports; final-transfer revalidation;120s deadline; stale/no-ammo/capture cancellation.

Successor: ERR_MortarPrediction.c, ERR_MortarSystem.c, ERR_MortarSalvo.c, ERR_MortarFiring.c, ERR_MortarReportLedger.c.

Evidence boundary: native8actualprojectiles55assertions; stale expiry48assertions. Asset scope: vanilla.

Settlement/friendly protection and deconfliction (settlement_safety)

Original: EAI_SettlementSafety.c, EAI_MortarEngagement.c.

Behavior: 200m settlement exclusion;100m predicted friendly-path buffer; per-shell repeated checks; cached identical positions; aircraft/drop600m reservation through flight impact+10s.

Successor: ERR_SettlementSafety.c, ERR_MortarPrediction.c, ERR_MortarSystem.c.

Evidence boundary: native firing safety gates; not full combined-arms qualification. Asset scope: vanilla.

Work budgets, temporary detail and metrics (performance)

Original: EAI_Performance.c, EAI_LogisticsVehicle.c.

Behavior: Bounded radio spatial graph; staggered30s ammo scans; system timing; cargo-only sleeping beyond1.5km; drivers/gunners active; reboard/combat wakes; preserve normal detail after stop.

Successor: ERR_HQNetwork.c, compare_performance.py.

Evidence boundary: policy/runtime component bounds; no FPS improvement. Asset scope: vanilla.

Single owner of strategic responses (ambient_disable)

Original: EAI_DisableAmbientEvents.c.

Behavior: Suppress original random ambient events; no virtual mortar/rocket barrages; HQ coordinates strategic response while native tactical combat continues.

Successor: ERR_HQ.c, ERR_ScenarioComponent.c.

Evidence boundary: independent packed Core/Chat startup. Asset scope: vanilla.

Consistent military faction ownership (factions)

Original: EAI_FactionRelations.c.

Behavior: Normalize US/UK->NATO and USSR->USSR_NI aliases after every-member checks; exclude players/slaves/mixed unrelated/civilian/selectedside conflicts; late member support.

Successor: ERR_FactionCatalog.c, ERR_HQ.c.

Evidence boundary: vanilla runtime only. Asset scope: RHS/composite-original catalog dependencies not migrated.

Improvised prison starts and physical supplies (prisons)

Original: EAI_ImprovisedPrisons.c.

Behavior: Random clear10x10m concrete camp;<=0.6m terrain variation;3–5guards/16spawnpositions; native metaldoor;5pistols/8sparemagazines finite backpack;>=1500mairfield/12mroad clearance;12000boundedcandidate search/fallback.

Successor: ERR_PrisonEscapeService.c, ERR_SiteService.c, EveronSites.conf.

Evidence boundary: native base loop; ordinary full human route still pending. Asset scope: vanilla.

Configurable prison/crash start selection (start_choices)

Original: EAI_StartSelection.c.

Behavior: Modes0scenario/1generated/2existingprison/3crash/4randomexisting; preserve all other mission settings; safe fallback when requested native starts unavailable.

Successor: no migrated production subsystem.

Evidence boundary: code only. Asset scope: vanilla.

Persistent initial outfit choice (outfit)

Original: EAI_StartingOutfit.c.

Behavior: One-time delayed equipped helmet/jacket after spawn; latejoin/respawn; preserve other equipment; no ongoing re-equip.

Successor: ERR_SpawnLogic.c, ERR_AdminPlayerTools.c, Prisoner.et.

Evidence boundary: native prisoner kit + admin utilities. Asset scope: owned Escapists-Patch custom skull outfit; vanilla PASGT/BDU available.

Rare anti-air launcher loadout (stinger)

Original: EAI_StingerEquipment.c.

Behavior: One startup roll per eligible enemy;1inN/default15/0disabled; loadedFIM92 preserves existing weapons; native acceptance/ownership verification; bounded retry; no refill after drop/fire.

Successor: no migrated production subsystem.

Evidence boundary: missing. Asset scope: WCS Armaments FIM92 resource3DF204EEE0534EF2.

Verified magnified optics on compatible AI weapons (optics)

Original: EAI_SniperOptics.c.

Behavior: All eligible AI rifles/snipers/MGs; retain magnified optics; select compatible mount+optic; native blocked-pair retries;2/5/8/11s attempts/14s final check; callback acknowledgement; no repeat unknown accepted operation; preserve player loot.

Successor: no migrated production subsystem.

Evidence boundary: missing. Asset scope: some original optics/asset overrides need vanilla provenance verification.

Original dependency runtime fixes (compatibility)

Original: EAI_DependencyGuards.c, EAI_RuntimeGuards.c.

Behavior: Null-controller delayed spawn guards; stale defend-waypoint guard; tooltip lifetime guard; original civilian random bounds/head collider bounds; arsenal replication startup guard; invalid supportstation setup; enhanced default-magazine probe cleanup.

Successor: ERR_SpawnLogic.c, ERR_InitialGuardRules.c.

Evidence boundary: successor spawn/admission and teardown fixtures. Asset scope: original Escapists/Enhanced hooks intentionally absent.

Autonomous escape test mode and spectators (simulation)

Original: EAI_Simulation.c, EAI_SimulationBot.c, EAI_SimulationIntel.c, EAI_SimulationLifecycle.c, EAI_SimulationMedical.c, EAI_SimulationPrison.c, EAI_SimulationSpectators.c.

Behavior: 6AIprisoners physically scavenge5pistols; holdlock20s/retry picker; loot corpses/intel; native medical treatment; identifiedradio/tune/defend; allsurvivor boarding/physical scriptedflight; human spectator-only lifecycle; savedmode+3srestart; zero duplication/replacements.

Successor: no migrated production subsystem.

Evidence boundary: no migrated normal-server simulation. Asset scope: original spectator/editor and base mission APIs must be replaced.

HQ journal and private live diagnostics (journal)

Original: EAI_HQJournal.c, EAI_HQ.c.

Behavior: Session/message/sequence correlation;300recentlines/4096pending;5MiB rotation;30s file retry; gap notices; chat8entries/2s; menu40entries/1s; pause/latest/scroll state.

Successor: ERR_HQJournal.c, ERR_HQAdminProvider.c, ERR_AdminSession.c, ERR_AdminMenu.c.

Evidence boundary: native menu/journal fixture + packaged startup. Asset scope: vanilla.

Independent unit composition catalogs (catalogs)

Original: EAI_GroupLookup.c.

Behavior: Catalog-backed physical group composition.

Successor: ERR_FactionCatalog.c.

Evidence boundary: vanilla startup only. Asset scope: excluded protected-derived source.

Exact installed dependency closure

Addon GUID Installed version Non-vanilla dependencies
RHS: Status Quo 595F2BF2F44836FB 0.16.5208 1337C0DE5DABBEEF, BADC0DEDABBEDA5E
RHS: Status Quo - Content Pack 01 1337C0DE5DABBEEF 0.16.5208
RHS: Status Quo - Content Pack 02 BADC0DEDABBEDA5E 0.16.5208
WCS_SpaceCore 5E389BB9F58B79A6 8.2.1 629B2BA37EFFD577
WCS_Armaments 629B2BA37EFFD577 8.2.1
WCS_BMP-1 5E524E4FEECCA92B 8.2.0 5E389BB9F58B79A6, 629B2BA37EFFD577

Do not copy the old AI dependency block. 62E71B6F101EB30D is Escapists Enhanced, not WCS. It imports original Escapists (5F16D7E4A1CBE075), ScrtCore (66AAB0873717CEF0), ScrtSharedContent (66AD0B6D6E7A6A97) and DONS fixes (69794468DD5E4804). WCS Armaments should be referenced directly as 629B2BA37EFFD577; BMP needs its authorized WCS SpaceCore dependency. No authorized dependency above requires original Escapists.

Parachute Framework (65930CB4CD0237B2) and the owned Patch addon (95C1A50F63AE2A84) are not automatically included by permission for RHS/WCS/BMP. Exact airborne parachutes and skull-patched starting clothes need separate asset/dependency decisions. A vanilla landing insertion, PASGT helmet and BDU jacket are available alternatives, with different behavior/appearance. Preserve the actual authorized WCS FIM92 and BMP resources where compatible; vanilla machine-gun fire is not equivalent guided anti-air capability.

Local manifests and PAKs for all six authorized external addons are installed under the ordinary game's Steam compatdata profile. The native helper now supports a separate explicit external profile exposing only the audited closure; the ordinary Core profile remains vanilla-only. See external-addons.md for validation and invocation. Never pass the full original workshop addon tree to a successor compile. Source bundles include the external policy without assets; packed/runtime release tooling still needs expanded dependency qualification. Earlier vanilla-only playtest artifacts remain valid for their own frozen snapshot, not this future dependency closure.

Corrections to the T10 migration brief

  • HQWatch.SquadLimit adds one response slot per two confirmed losses up to eight; it does not shrink the limit. The shared finite pool may separately shrink after actual losses. Those are distinct policies.
  • Missing-patrol investigation starts after two missed 180-second check-ins, followed by the 30-second reply window; one overdue check-in is not confirmed loss.
  • ImprovisedPrisons generates starts. It does not implement unconscious-player recapture. Recapture is new scope, not a migration item hidden in that file.
  • The Simulation/ folder is an autonomous six-prisoner escape test mode with human spectators. It is not dormant enemy force simulation or virtual HQ memory.
  • Opposite hunter placement with dot <= -0.866 means directions within about 30 degrees of opposite, not at least 30 degrees away from opposite.
  • Physical boarding, loading, landing and inventory timeouts are necessary capability-local state. T10's “no private timers” should prohibit independent strategic launch/spawn schedules, not safety deadlines or native-operation observation.
  • Old independently timed systems are reference implementations, not proof of a shared budget/planner. The new force ledger, belief state and planner must arbitrate them. Ground soldier native combat remains local; only strategic responses route through HQ.

Implementation order

  1. Audited external closure: configure direct RHS/Armaments/BMP IDs, reject original dependencies transitively, record exact external resources and private runtime inputs. Preserve vanilla-only Core and earlier handoffs.
  2. Force ledger and HQ beliefs: finite role/vehicle records, actual loss accounting, shared physical-agent budget. Delivered sightings update confidence/uncertainty; stale tracks remain search hypotheses. Record searched ground and search outcomes without reading hidden target transforms.
  3. Detection and ground pursuit: routine check-ins, missing patrols and visible-body evidence; shared casualty identities; differentiated existing infantry response; one retaskable hunter convoy. Zero fresh sighting means no targeted mortar fire.
  4. Supply and occupation: finite depot stock/porters, compatible ammunition/mine manifests, existing-force transports and convoy patrol/combat/reboarding; staffed roadblocks and engineer placement. These can operate entirely on ground while air navigation is qualified.
  5. Aircraft: useful terrain-safe routes, one planner-selected reconnaissance/lift resource, deconfliction, actual cargo/boarding, finite servicing and delivered recovery crew. Parachute insertion remains an explicit separate dependency decision.
  6. Remaining owned behavior: random prison/start variants, skill/equipment policies, automatic outfits and optional autonomous escape mode. Preserve requested settings and command semantics as each subsystem becomes usable.
  7. Qualification: source checks then hidden/muted exact-input native runs; finally ordinary human escape, multiple real clients, overlapping tasks/capture/losses/restarts, and matched-workload FPS measurements. Do not call old mod compile logs or source-policy tests multiplayer proof.

Bounded next production slice: migrate SniperOptics as a small AI equipment service for newly registered physical soldiers. Preserve compatible mounted optics, validate native mount/ownership callbacks, retain its bounded startup schedule and never retry an accepted unknown operation. Use direct authorized or verified vanilla scope resources; no original global attachment-base override. This is independent of the belief/planner work and can be tested without changing force counts. An even smaller companion change is the configurable native skill floor; neither should be mistaken for completion of ground/air logistics.

Native evidence that exists today

  • Latest frozen packaged startup: Core and full five-addon scenario load; this does not qualify the new RHS/WCS/BMP closure.
  • Owned AI/Intel integration: two scripted rounds, 186 assertions.
  • Admin/menu integration: final one-round regression, 101 assertions.
  • Physical HQ response: actual observing soldier, radio route and movement by an original existing response squad, in a deliberately arranged local fixture.
  • Physical mortar salvo: eight actual projectile callbacks with delivered report refresh; separate stale-expiry evidence.
  • Aircraft tests prove short isolated mechanisms, not operational reconnaissance or air logistics. Courier tests prove finite mortar foot delivery, not the old truck/helicopter/depot network.

This audit ran no engine, changed no original file and makes no new native, multiplayer or FPS claim.