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

2458 lines
98 KiB
JSON

{
"schema_version": 1,
"audited_on": "2026-09-20",
"successor_commit_at_audit": "e7b4141f6975027624941a8e2b0fcb9d1683a54d",
"source_root": "/home/jakub/devel/escapists/escapists-ai",
"scope": "all predecessor AI scripts, tests, prefabs, README/config; GroupLookup excluded from contents audit",
"user_authorization": "Owned AI code/design reuse and RHS/WCS/BMP dependencies authorized. No original Escapists/ScrtCore/ScrtSharedContent/Enhanced inclusion.",
"counts": {
"features": 39,
"statuses": {
"partial": 17,
"missing": 18,
"implemented": 4
},
"scripts": 54,
"excluded_scripts": 1,
"tests": 45,
"prefabs": 12,
"resource_references": 68
},
"features": [
{
"id": "config",
"title": "Configuration and admin controls",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_AIConfig.c",
"Scripts/Game/EscapistsAI/EAI_ConvoySettings.c",
"Scripts/Game/EscapistsAI/EAI_HQSettings.c"
],
"replacement_files": [
"addons/core/Scripts/Game/ERR/ERR_Settings.c",
"addons/ai/Scripts/Game/ERR/ERR_HQAdminProvider.c"
],
"behavior": [
"Unified config/defaults/backups/migration",
"bounded validation",
"runtime HQ settings",
"next-round frozen convoy/start/simulation choices"
],
"remaining": "Only reportIntervalSeconds/supportSquadLimit/responseRadiusMetres of nine original AI keys migrate; add remaining keys with explicit current/next-round semantics.",
"evidence": "latest packaged startup + native admin fixture",
"asset_scope": "vanilla"
},
{
"id": "skill",
"title": "Native combat skill floor",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_AIResponseSystem.c"
],
"replacement_files": [],
"behavior": [
"Expert minimum80",
"preserve higher skill",
"designated gunners100",
"reapply after native resets"
],
"remaining": "Add configurable native skill policy on owned physical groups; do not modify perception or populate dormant units.",
"evidence": "code only",
"asset_scope": "vanilla"
},
{
"id": "radio",
"title": "Physical radio network and call delivery",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_HQ.c",
"Scripts/Game/EscapistsAI/EAI_HQNetwork.c",
"Scripts/Game/EscapistsAI/EAI_NativeRadioCall.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_HQ.c",
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c",
"addons/ai/Scripts/Game/ERR/ERR_HQReport.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"
],
"remaining": "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.",
"evidence": "native real-sighting HQ response + network regression",
"asset_scope": "vanilla"
},
{
"id": "observations",
"title": "Observed descriptions and fair reporting",
"status": "implemented",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_HQObservation.c",
"Scripts/Game/EscapistsAI/EAI_HQ.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_HQObservation.c",
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c",
"addons/ai/Scripts/Game/ERR/ERR_HQ.c"
],
"behavior": [
"Current native LOS",
"observed count/travel/drawn weapons",
"timestamped immutable snapshots",
"velocity from sightings",
"per-squad fair multi-contact reporting"
],
"remaining": "Code implemented for current physical groups; real multiplayer and difficult exposure/vehicle cases still require validation.",
"evidence": "native HQ response; 186-assertion owned AI/Intel integration",
"asset_scope": "vanilla"
},
{
"id": "ground_tactics",
"title": "Infantry hunting and differentiated roles",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_GroupTactics.c",
"Scripts/Game/EscapistsAI/EAI_HQ.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_HQ.c"
],
"behavior": [
"Approach/flank-left/flank-right/intercept roles",
"growing45\u2013110m search",
"120s freshness expiry",
"native combat preemption",
"restore original patrol",
"fair nearest squad allocation"
],
"remaining": "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.",
"evidence": "native original-squad movement + patrol/HQ fixture",
"asset_scope": "vanilla"
},
{
"id": "status",
"title": "Routine status and ammunition reports",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_HQStatus.c",
"Scripts/Game/EscapistsAI/EAI_HQ.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_HQ.c",
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c"
],
"behavior": [
"Three-minute roster/position/status check-ins",
"early low-ammo reports",
"snapshot casualties",
"in-flight evidence preservation",
"disconnected/overdue diagnostics"
],
"remaining": "Only mortar supply status is integrated; general living/fit/missing roster and weapon/mine status remain missing.",
"evidence": "native mortar courier reports only",
"asset_scope": "vanilla"
},
{
"id": "missing_patrol",
"title": "Missing patrol investigation",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_HQWatch.c",
"Scripts/Game/EscapistsAI/EAI_HQ.c"
],
"replacement_files": [],
"behavior": [
"Two missed180s check-ins;30s reply deadline",
"detached last-known-position roster",
"one physical investigation with arrival inspection/reply",
"never presume death"
],
"remaining": "Add status-derived investigation beliefs and dispatch existing ledger forces; no live missing-unit coordinates.",
"evidence": "code only",
"asset_scope": "vanilla"
},
{
"id": "body_discovery",
"title": "Visible bodies and confirmed losses",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_HQBodySearch.c",
"Scripts/Game/EscapistsAI/EAI_HQWatch.c",
"Scripts/Game/EscapistsAI/EAI_HQ.c"
],
"replacement_files": [],
"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"
],
"remaining": "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.",
"evidence": "code only",
"asset_scope": "vanilla"
},
{
"id": "belief_search",
"title": "Persistent remembered searches and predictive HQ",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_HQBodySearch.c",
"Scripts/Game/EscapistsAI/EAI_HQ.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c",
"addons/ai/Scripts/Game/ERR/ERR_HQ.c"
],
"behavior": [
"Ten-minute ground trail",
"snapshot ahead guesses300\u20131200m",
"road-aware vehicle hypotheses",
"casualty-location fallback",
"two-loss wave threshold/three-minute spacing/three living search groups"
],
"remaining": "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.",
"evidence": "projection policy only; persistent belief not implemented",
"asset_scope": "vanilla"
},
{
"id": "hunter",
"title": "Retaskable paired hunter UAZs",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_AIResponseSystem.c"
],
"replacement_files": [],
"behavior": [
"Two PKM UAZs",
"opposite1000m road approaches",
"full spec-ops crews+medic;300s dispatch cooldown;30s failed-placement retry",
"reuse existing pair"
],
"remaining": "Use shared finite forces and HQ-selected availability; no independent spawn clocks or free replacement losses.",
"evidence": "code only",
"asset_scope": "vanilla"
},
{
"id": "capture",
"title": "Captured-force ownership and stop reasons",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_ResponseSafety.c",
"Scripts/Game/EscapistsAI/EAI_SupplyConvoys.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_HQ.c",
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.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"
],
"remaining": "Current individual HQ/support eligibility has player guards, but hunter/convoy permanent capture latch and coordinated stop lifecycle require those capabilities.",
"evidence": "code guards; no migrated convoy runtime",
"asset_scope": "vanilla"
},
{
"id": "convoys",
"title": "Six-vehicle armed supply convoy patrols",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_SupplyConvoys.c"
],
"replacement_files": [],
"behavior": [
"0\u201320 startup convoys/default3",
"one spawn slot per5s",
"ammo Ural+3PKM UAZs+troop Ural+BMP",
"finite recoverable weapons/ammo",
"road-base destinations/35kmh/45\u201390s 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"
],
"remaining": "Migrate exact authorized BMP/Ural/UAZ composition through finite HQ force records and shared active-agent budget; no independent spawn clock.",
"evidence": "missing",
"asset_scope": "BMP-1 mod; faction catalogs may transitively use RHS"
},
{
"id": "recon",
"title": "Operational airport reconnaissance helicopter",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_AirRecon.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c",
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.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"
],
"remaining": "Flight mechanisms have isolated short-route evidence; airport search, useful routes, HQ-selected recon launch/orbit/endurance/service operational loop are missing.",
"evidence": "isolated20m flight only; no operational recon",
"asset_scope": "vanilla Mi8 candidate; original recon wrapper must be rebuilt"
},
{
"id": "air_assault",
"title": "HQ-selected air reinforcement cycle",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_AirAssault.c",
"Scripts/Game/EscapistsAI/EAI_AirSupportPolicy.c"
],
"replacement_files": [],
"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"
],
"remaining": "Build one shared HQ insertion capability with actual passenger reservations and mortar deconfliction; no new independent timer/spawn system.",
"evidence": "missing",
"asset_scope": "optional parachute framework; vanilla landing-and-dismount alternative changes behavior"
},
{
"id": "parachutes",
"title": "Physical staggered AI parachute drop",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_AssaultParachute.c",
"Scripts/Game/EscapistsAI/EAI_AirAssault.c"
],
"replacement_files": [],
"behavior": [
"Moving25m/s flyby at90\u2013180m AGL;>=2s/50m stagger",
"native compartment exits;5m/s descent/2m/s flare",
"no duplicate soldiers",
"released canopies finish after carrier loss"
],
"remaining": "Framework-dependent mechanics cannot enter vanilla-only closure; choose optional asset integration or landing insertion; do not silently claim equivalence.",
"evidence": "missing",
"asset_scope": "Parachute Framework65930CB4CD0237B2"
},
{
"id": "aircraft_ammo",
"title": "Aircraft weapon ammunition and airfield reload",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_AircraftAmmo.c",
"Scripts/Game/EscapistsAI/EAI_AirRecon.c"
],
"replacement_files": [],
"behavior": [
"Native mounted-magazine/rocket-barrel accounting",
"return at<=25% usable ammunition",
"landed15s service",
"verified physical passenger boarding/retries",
"fixed finite payload per departure"
],
"remaining": "Replace original free service refill/new troops with shared depot cargo/personnel allocation and physically confirmed consumption.",
"evidence": "code only",
"asset_scope": "vanilla"
},
{
"id": "air_recovery",
"title": "Ground helicopter recovery operation",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_HelicopterRecovery.c"
],
"replacement_files": [],
"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"
],
"remaining": "Shared recovery task and finite resources; rebuilding destroyed airframe must consume an existing spare record, not mint replacement capability.",
"evidence": "missing",
"asset_scope": "vanilla repair Ural/UAZ/engineer candidates"
},
{
"id": "flight_safety",
"title": "Flight availability and physical landing guards",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_HelicopterAvailability.c",
"Scripts/Game/EscapistsAI/EAI_Landing.c",
"Scripts/Game/EscapistsAI/EAI_LogisticsVehicle.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c",
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.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"
],
"remaining": "Availability/short-range landing code exists; prove useful terrain routes and integrate availability into shared planner, not timed replacement.",
"evidence": "native vertical/20m mechanisms; broader airborne operation unqualified",
"asset_scope": "vanilla"
},
{
"id": "ammo_accounting",
"title": "General weapon/mine supply accounting",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_AmmoSupply.c",
"Scripts/Game/EscapistsAI/EAI_Mines.c"
],
"replacement_files": [],
"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"
],
"remaining": "General infantry/vehicle manifests missing; extend finite mortar-only model without manufacturing compatible cargo at destination.",
"evidence": "code only",
"asset_scope": "vanilla"
},
{
"id": "resupply",
"title": "Truck/helicopter last-mile ammunition delivery",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_Resupply.c",
"Scripts/Game/EscapistsAI/EAI_LogisticsVehicle.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c",
"addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c",
"addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.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"
],
"remaining": "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.",
"evidence": "native finite courier transfer; not vehicle logistics",
"asset_scope": "vanilla"
},
{
"id": "depots",
"title": "Physical depot stock-porters-carrier loading",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_DepotLoading.c"
],
"replacement_files": [],
"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"
],
"remaining": "Create authored finite depot resources and pooled ground staff; preserve staged physical ownership and bounded timeouts.",
"evidence": "missing",
"asset_scope": "new own depot composition using vanilla box"
},
{
"id": "mines_issue",
"title": "One-time mine issue and resupply",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_Mines.c"
],
"replacement_files": [],
"behavior": [
"Eligible military inventory holds up to2PMN4",
"bounded startup issue",
"spent mine deficits via radio",
"captured/player/nonenemy exclusion"
],
"remaining": "Tie engineer loadouts and replenishment to finite ledger stock; do not regenerate dropped mines.",
"evidence": "missing",
"asset_scope": "vanilla PMN4 candidate; confirm installed availability"
},
{
"id": "mines_task",
"title": "Engineer mine placement lifecycle",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_MineTask.c"
],
"replacement_files": [],
"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"
],
"remaining": "HQ task reservations and clear player warning cues; stock-owned native items only; trace/proximity work budgeted.",
"evidence": "code only",
"asset_scope": "vanilla"
},
{
"id": "roadblocks",
"title": "Reactive staffed roadblocks",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_HQRoadblocks.c"
],
"replacement_files": [],
"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"
],
"remaining": "Use belief hypotheses/road topology and finite ledger force deployment; preserve searched/escape corridors and player placement exclusions.",
"evidence": "missing",
"asset_scope": "authorized WCS BMP-1; vanilla alternative remains a deliberate option"
},
{
"id": "mortar_deployment",
"title": "Physical dispersed mortar sites",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c",
"addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c"
],
"behavior": [
"Four quadrant sites;3crew+RTO;27physicalHE each",
"incremental16placement candidates/5s",
"terrain/road/spacing safety;2min quadrant fallback",
"no loss respawn"
],
"remaining": "Successor has one authored battery/4crew/27shell readiness. Four-site deployment and force-ledger reservation are missing.",
"evidence": "native one-battery readiness and transfer",
"asset_scope": "vanilla"
},
{
"id": "mortar_fire",
"title": "Ballistic prediction, safe salvos and accounting",
"status": "implemented",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_MortarPrediction.c",
"Scripts/Game/EscapistsAI/EAI_MortarEngagement.c",
"Scripts/Game/EscapistsAI/EAI_MortarFiring.c",
"Scripts/Game/EscapistsAI/EAI_MortarSalvo.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c",
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c",
"addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c",
"addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c",
"addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.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"
],
"remaining": "Current one-battery behavior implemented; broad moving-target impact accuracy, multiplayer, more batteries and aircraft corridor reservation integration remain unqualified.",
"evidence": "native8actualprojectiles55assertions; stale expiry48assertions",
"asset_scope": "vanilla"
},
{
"id": "settlement_safety",
"title": "Settlement/friendly protection and deconfliction",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_SettlementSafety.c",
"Scripts/Game/EscapistsAI/EAI_MortarEngagement.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c",
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c",
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c"
],
"behavior": [
"200m settlement exclusion;100m predicted friendly-path buffer",
"per-shell repeated checks",
"cached identical positions",
"aircraft/drop600m reservation through flight impact+10s"
],
"remaining": "Ground/mortar safety exists; roadblock/mine/air corridor consumers and full shared planner reservations remain missing.",
"evidence": "native firing safety gates; not full combined-arms qualification",
"asset_scope": "vanilla"
},
{
"id": "performance",
"title": "Work budgets, temporary detail and metrics",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_Performance.c",
"Scripts/Game/EscapistsAI/EAI_LogisticsVehicle.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c",
"tools/compare_performance.py"
],
"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"
],
"remaining": "Replace old NearPlayer/ConvoyLOD ownership with T2 presence budget. Shared force simulation/agent cap/metrics and equivalent-workload FPS evidence do not yet exist.",
"evidence": "policy/runtime component bounds; no FPS improvement",
"asset_scope": "vanilla"
},
{
"id": "ambient_disable",
"title": "Single owner of strategic responses",
"status": "implemented",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_DisableAmbientEvents.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_HQ.c",
"addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c"
],
"behavior": [
"Suppress original random ambient events",
"no virtual mortar/rocket barrages",
"HQ coordinates strategic response while native tactical combat continues"
],
"remaining": "Original systems are absent by dependency isolation, so no original override needs porting. Maintain this invariant as capabilities grow.",
"evidence": "independent packed Core/Chat startup",
"asset_scope": "vanilla"
},
{
"id": "factions",
"title": "Consistent military faction ownership",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_FactionRelations.c"
],
"replacement_files": [
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c",
"addons/ai/Scripts/Game/ERR/ERR_HQ.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"
],
"remaining": "RHS dependency is authorized; add fresh explicit RHS role/faction catalogs, replacing all original composite catalog APIs.",
"evidence": "vanilla runtime only",
"asset_scope": "RHS/composite-original catalog dependencies not migrated"
},
{
"id": "prisons",
"title": "Improvised prison starts and physical supplies",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_ImprovisedPrisons.c"
],
"replacement_files": [
"addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c",
"addons/core/Scripts/Game/ERR/ERR_SiteService.c",
"addons/core/Configs/ERR/EveronSites.conf"
],
"behavior": [
"Random clear10x10m concrete camp;<=0.6m terrain variation;3\u20135guards/16spawnpositions",
"native metaldoor;5pistols/8sparemagazines finite backpack;>=1500mairfield/12mroad clearance;12000boundedcandidate search/fallback"
],
"remaining": "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.",
"evidence": "native base loop; ordinary full human route still pending",
"asset_scope": "vanilla"
},
{
"id": "start_choices",
"title": "Configurable prison/crash start selection",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_StartSelection.c"
],
"replacement_files": [],
"behavior": [
"Modes0scenario/1generated/2existingprison/3crash/4randomexisting",
"preserve all other mission settings",
"safe fallback when requested native starts unavailable"
],
"remaining": "Author new independent prison/crash scenarios and own selection; never reuse original crash compositions or setup snapshots.",
"evidence": "code only",
"asset_scope": "vanilla"
},
{
"id": "outfit",
"title": "Persistent initial outfit choice",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_StartingOutfit.c"
],
"replacement_files": [
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c",
"addons/core/Scripts/Game/ERR/ERR_AdminPlayerTools.c",
"addons/core/Prefabs/ERR/Prisoner.et"
],
"behavior": [
"One-time delayed equipped helmet/jacket after spawn",
"latejoin/respawn",
"preserve other equipment",
"no ongoing re-equip"
],
"remaining": "Successor has own prisonerkit and optional vanilla PASGT/BDU cheat grants; original patched automatic outfit not migrated. Owned Patch content separate audit/authorization scope.",
"evidence": "native prisoner kit + admin utilities",
"asset_scope": "owned Escapists-Patch custom skull outfit; vanilla PASGT/BDU available"
},
{
"id": "stinger",
"title": "Rare anti-air launcher loadout",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_StingerEquipment.c"
],
"replacement_files": [],
"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"
],
"remaining": "WCS Armaments is now authorized: preserve exact FIM92 resource and bounded physical assignment policy; do not import Enhanced/original dependencies.",
"evidence": "missing",
"asset_scope": "WCS Armaments FIM92 resource3DF204EEE0534EF2"
},
{
"id": "optics",
"title": "Verified magnified optics on compatible AI weapons",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_SniperOptics.c"
],
"replacement_files": [],
"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"
],
"remaining": "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.",
"evidence": "missing",
"asset_scope": "some original optics/asset overrides need vanilla provenance verification"
},
{
"id": "compatibility",
"title": "Original dependency runtime fixes",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_DependencyGuards.c",
"Scripts/Game/EscapistsAI/EAI_RuntimeGuards.c"
],
"replacement_files": [
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c",
"addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.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"
],
"remaining": "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.",
"evidence": "successor spawn/admission and teardown fixtures",
"asset_scope": "original Escapists/Enhanced hooks intentionally absent"
},
{
"id": "simulation",
"title": "Autonomous escape test mode and spectators",
"status": "missing",
"original_files": [
"Scripts/Game/EscapistsAI/Simulation/EAI_Simulation.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationBot.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationIntel.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationLifecycle.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationMedical.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationPrison.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationSpectators.c"
],
"replacement_files": [],
"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"
],
"remaining": "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.",
"evidence": "no migrated normal-server simulation",
"asset_scope": "original spectator/editor and base mission APIs must be replaced"
},
{
"id": "journal",
"title": "HQ journal and private live diagnostics",
"status": "implemented",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_HQJournal.c",
"Scripts/Game/EscapistsAI/EAI_HQ.c"
],
"replacement_files": [
"addons/ai/Scripts/Game/ERR/ERR_HQJournal.c",
"addons/ai/Scripts/Game/ERR/ERR_HQAdminProvider.c",
"addons/core/Scripts/Game/ERR/ERR_AdminSession.c",
"addons/core/Scripts/Game/ERR/ERR_AdminMenu.c"
],
"behavior": [
"Session/message/sequence correlation;300recentlines/4096pending;5MiB rotation;30s file retry",
"gap notices",
"chat8entries/2s",
"menu40entries/1s",
"pause/latest/scroll state"
],
"remaining": "Infrastructure implemented. New systems still need meaningful status/events; long-running multiplayer/file-failure behavior not fully qualified.",
"evidence": "native menu/journal fixture + packaged startup",
"asset_scope": "vanilla"
},
{
"id": "catalogs",
"title": "Independent unit composition catalogs",
"status": "partial",
"original_files": [
"Scripts/Game/EscapistsAI/EAI_GroupLookup.c"
],
"replacement_files": [
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c"
],
"behavior": [
"Catalog-backed physical group composition"
],
"remaining": "EAI_GroupLookup is excluded without reading its content as a model. Build richer vanilla role/crew catalogs independently; never translate copied lookup code.",
"evidence": "vanilla startup only",
"asset_scope": "excluded protected-derived source"
}
],
"script_inventory": [
{
"path": "Scripts/Game/EscapistsAI/EAI_AIConfig.c",
"features": [
"config"
],
"sha256": "8c320d3163d443b43e50547734702484c8ad51f2cffe88cf6dfd33aaf339ec01",
"lines": 232
},
{
"path": "Scripts/Game/EscapistsAI/EAI_AIResponseSystem.c",
"features": [
"skill",
"hunter"
],
"sha256": "b3e1263e986837744a70fbaedaa6e57afae7f2981a21211d3a2066e2c63ac84d",
"lines": 660
},
{
"path": "Scripts/Game/EscapistsAI/EAI_AirAssault.c",
"features": [
"air_assault",
"parachutes"
],
"sha256": "a9c0c2bf59fb4f9b351913708cee54a302a9e447d30c2766faa91c7573af1b6d",
"lines": 423
},
{
"path": "Scripts/Game/EscapistsAI/EAI_AirRecon.c",
"features": [
"recon",
"aircraft_ammo"
],
"sha256": "7e72c9eac0fce21865f09a923cbfd638c25939c8492b3e1e5dfdda1f1394f51e",
"lines": 1335
},
{
"path": "Scripts/Game/EscapistsAI/EAI_AirSupportPolicy.c",
"features": [
"air_assault"
],
"sha256": "51605d83624073a30f672881d46c652bd03a7e040ccc4d812c9e8d0c456be87f",
"lines": 40
},
{
"path": "Scripts/Game/EscapistsAI/EAI_AircraftAmmo.c",
"features": [
"aircraft_ammo"
],
"sha256": "52bed2b0008762f221bed4f139cfe0a34e69e0ee455ef3dc47276d3dc3373c45",
"lines": 97
},
{
"path": "Scripts/Game/EscapistsAI/EAI_AmmoSupply.c",
"features": [
"ammo_accounting"
],
"sha256": "97587483227699b78e78f1223f46ebf286d458ffcf06b79f458807b6e95f969e",
"lines": 372
},
{
"path": "Scripts/Game/EscapistsAI/EAI_AssaultParachute.c",
"features": [
"parachutes"
],
"sha256": "b2d2be240d184c436a5b2fd1a03d446763a1c27b6b5c825a988b05feaec7a346",
"lines": 320
},
{
"path": "Scripts/Game/EscapistsAI/EAI_ConvoySettings.c",
"features": [
"config"
],
"sha256": "6ceb44226c2608ef09bb246af1238679030c04a6dab5351e97e3dfe955b446c7",
"lines": 19
},
{
"path": "Scripts/Game/EscapistsAI/EAI_DependencyGuards.c",
"features": [
"compatibility"
],
"sha256": "094744d77c5c99f7a46e6b3a0aba071f34b4b34cb467eea30264d5f63151a7d9",
"lines": 157
},
{
"path": "Scripts/Game/EscapistsAI/EAI_DepotLoading.c",
"features": [
"depots"
],
"sha256": "5b608f36621c9d744bdc55829b1000af70ba9d8853b8a90828d774557a204375",
"lines": 305
},
{
"path": "Scripts/Game/EscapistsAI/EAI_DisableAmbientEvents.c",
"features": [
"ambient_disable"
],
"sha256": "8e9d6b5abb4aaa3e83654abf5aeda429093b3bd6cb03f7f9b3953dc028d4023f",
"lines": 85
},
{
"path": "Scripts/Game/EscapistsAI/EAI_FactionRelations.c",
"features": [
"factions"
],
"sha256": "1595926655f3597cbe3c648cd52a0372bc24346eefd99802a3dafe853f935651",
"lines": 105
},
{
"path": "Scripts/Game/EscapistsAI/EAI_GroupLookup.c",
"features": [
"catalogs"
],
"audit": "excluded; contents not read or used as implementation model"
},
{
"path": "Scripts/Game/EscapistsAI/EAI_GroupTactics.c",
"features": [
"ground_tactics"
],
"sha256": "226eb3981765284afa0cead84411244806a84440003fe4af69f2208028cef23d",
"lines": 418
},
{
"path": "Scripts/Game/EscapistsAI/EAI_HQ.c",
"features": [
"radio",
"observations",
"ground_tactics",
"status",
"missing_patrol",
"body_discovery",
"belief_search",
"journal"
],
"sha256": "4898ac471fb16433fc5d98244a8cec89c5e8e006af2c94bbcd89113a2b7107c8",
"lines": 1552
},
{
"path": "Scripts/Game/EscapistsAI/EAI_HQBodySearch.c",
"features": [
"body_discovery",
"belief_search"
],
"sha256": "c46e318d4331bedefbefad19f735dc45752ed21d0a2c232880673c1cbe2c686c",
"lines": 264
},
{
"path": "Scripts/Game/EscapistsAI/EAI_HQJournal.c",
"features": [
"journal"
],
"sha256": "0d714bc60940898dac560ee0902997ca82e324395dc2696c6424909a0a587c81",
"lines": 101
},
{
"path": "Scripts/Game/EscapistsAI/EAI_HQNetwork.c",
"features": [
"radio"
],
"sha256": "1a7e279b050514bad86f18fdd233b7eb5728e99bab3daae3aedb31ceb571c271",
"lines": 241
},
{
"path": "Scripts/Game/EscapistsAI/EAI_HQObservation.c",
"features": [
"observations"
],
"sha256": "735611603dbfa80218a42c6722dda09a3de8c7369aa5689cb8cb711851ede6dd",
"lines": 199
},
{
"path": "Scripts/Game/EscapistsAI/EAI_HQRoadblocks.c",
"features": [
"roadblocks"
],
"sha256": "128776f0b448162ee36cfc71b2a38d2cd06d6d6e4679253f215896aa3fcabb98",
"lines": 419
},
{
"path": "Scripts/Game/EscapistsAI/EAI_HQSettings.c",
"features": [
"config"
],
"sha256": "82f2a9b7f2a60d499ce4155c3584ccf42121ebf16b944392bc5a7fe1bef25df7",
"lines": 32
},
{
"path": "Scripts/Game/EscapistsAI/EAI_HQStatus.c",
"features": [
"status"
],
"sha256": "7127dcf23be7bcbb9415d8ef6c8f1da5bec551fbf16fc1054487dcd7a877d885",
"lines": 325
},
{
"path": "Scripts/Game/EscapistsAI/EAI_HQWatch.c",
"features": [
"missing_patrol",
"body_discovery"
],
"sha256": "7807aa97c4625a82841b6992416a9d0c8836f987767a99264934c1f79320f64a",
"lines": 63
},
{
"path": "Scripts/Game/EscapistsAI/EAI_HelicopterAvailability.c",
"features": [
"flight_safety"
],
"sha256": "bb565c5c5f7d4e671a295ae7e951f9ebdde626ffdecc4ae7d92e0e776e1730e0",
"lines": 31
},
{
"path": "Scripts/Game/EscapistsAI/EAI_HelicopterRecovery.c",
"features": [
"air_recovery"
],
"sha256": "3ab340e7790ca0536b97a809daf00a155cc972b557297a03532fe622ac0db87c",
"lines": 439
},
{
"path": "Scripts/Game/EscapistsAI/EAI_ImprovisedPrisons.c",
"features": [
"prisons"
],
"sha256": "e1b7dd3b7b45bc803e61e2031030d873101947def8b6a41fe450555e90d000b9",
"lines": 493
},
{
"path": "Scripts/Game/EscapistsAI/EAI_Landing.c",
"features": [
"flight_safety"
],
"sha256": "7d335cd93e9141b779c90fd0e4962af290e2b6c0ec4c6e9501ded3e2fd165f09",
"lines": 15
},
{
"path": "Scripts/Game/EscapistsAI/EAI_LogisticsVehicle.c",
"features": [
"flight_safety",
"resupply",
"performance"
],
"sha256": "8e109e6f010f1af1a4d8ec9ad01d0f683dad014c76c9a763b091bba8a320de9b",
"lines": 337
},
{
"path": "Scripts/Game/EscapistsAI/EAI_MineTask.c",
"features": [
"mines_task"
],
"sha256": "d5a06b646b0d789832badacb75e7a10a5097c4a4ac32dffd72aca3390b5d9e60",
"lines": 146
},
{
"path": "Scripts/Game/EscapistsAI/EAI_Mines.c",
"features": [
"ammo_accounting",
"mines_issue"
],
"sha256": "108cbe8175e339db88f2c0f36ef3c22d29805cf7794b63cb4edc171e29f92ef3",
"lines": 64
},
{
"path": "Scripts/Game/EscapistsAI/EAI_MortarEngagement.c",
"features": [
"mortar_fire",
"settlement_safety"
],
"sha256": "853bea893bd39d90621a7e391e98931d7518ec07b61da921204dfd9e50c82f27",
"lines": 88
},
{
"path": "Scripts/Game/EscapistsAI/EAI_MortarFiring.c",
"features": [
"mortar_fire"
],
"sha256": "aadd057a1f3f4326bd41500be7a12051a16de9d5925fca2452a46cdfbf0d6d12",
"lines": 221
},
{
"path": "Scripts/Game/EscapistsAI/EAI_MortarPrediction.c",
"features": [
"mortar_fire"
],
"sha256": "b58d9ea6e211fc479a1674c380be4979ebacf46d14facae74257aa0937b6cd49",
"lines": 131
},
{
"path": "Scripts/Game/EscapistsAI/EAI_MortarSalvo.c",
"features": [
"mortar_fire"
],
"sha256": "f0235c4516eebd03e5721d259dabcb516a4e457e9909a1b8bb08553a0f7bc652",
"lines": 16
},
{
"path": "Scripts/Game/EscapistsAI/EAI_MortarSystem.c",
"features": [
"mortar_deployment"
],
"sha256": "b355227b2b221147d35e1dacbc07cf650838229b9a6d22cd30cc1e304112b33f",
"lines": 931
},
{
"path": "Scripts/Game/EscapistsAI/EAI_NativeRadioCall.c",
"features": [
"radio"
],
"sha256": "ed9ad2a8137395e25363f94e81d4854e159136a53a67e2be4b89fdcb08d712d6",
"lines": 32
},
{
"path": "Scripts/Game/EscapistsAI/EAI_Performance.c",
"features": [
"performance"
],
"sha256": "f9ea5747e4ca16d88dfe56d796268d7d3cf01efe037e37ba7798835f2b17813d",
"lines": 76
},
{
"path": "Scripts/Game/EscapistsAI/EAI_ResponseSafety.c",
"features": [
"capture"
],
"sha256": "b3dcbe8f3dd840791e91e9ec202cd392ebc4895714816cdcedcdc591baa62b05",
"lines": 49
},
{
"path": "Scripts/Game/EscapistsAI/EAI_Resupply.c",
"features": [
"resupply"
],
"sha256": "dfa28d0741c5515c85a6e62bc6d1a104f5474ddc22a6e58931be1583133f3586",
"lines": 624
},
{
"path": "Scripts/Game/EscapistsAI/EAI_RuntimeGuards.c",
"features": [
"compatibility"
],
"sha256": "d843e7807501eb94f31a4c7628e8357e2404c2e598c5c3c697b091b1ab266edb",
"lines": 85
},
{
"path": "Scripts/Game/EscapistsAI/EAI_SettlementSafety.c",
"features": [
"settlement_safety"
],
"sha256": "6961ad593d20f86c30b557542b4f67fd44d9579037776b07cd95616927eda83d",
"lines": 76
},
{
"path": "Scripts/Game/EscapistsAI/EAI_SniperOptics.c",
"features": [
"optics"
],
"sha256": "96a302da44fdb9207c12cc1c9c93aad38eb510cb0cf9befd800f60a2945b08e8",
"lines": 191
},
{
"path": "Scripts/Game/EscapistsAI/EAI_StartSelection.c",
"features": [
"start_choices"
],
"sha256": "5dae5de5efe59cf2b40a289becafb6ef1aed00271cc561769cdb1f570174ee7b",
"lines": 85
},
{
"path": "Scripts/Game/EscapistsAI/EAI_StartingOutfit.c",
"features": [
"outfit"
],
"sha256": "54308138b73e23b5dcc47b5111d55f843a6d7bb7f39fe8466571e54a73246db6",
"lines": 132
},
{
"path": "Scripts/Game/EscapistsAI/EAI_StingerEquipment.c",
"features": [
"stinger"
],
"sha256": "b8ce09f2d3ed61e58beadc1f158daed6eceb17b08243f7979b46d8c27e917695",
"lines": 87
},
{
"path": "Scripts/Game/EscapistsAI/EAI_SupplyConvoys.c",
"features": [
"capture",
"convoys"
],
"sha256": "a896fdacfd9c0f2db52e588642623545a3a5d6e8041fb72000a68e720fc2b7a5",
"lines": 1463
},
{
"path": "Scripts/Game/EscapistsAI/Simulation/EAI_Simulation.c",
"features": [
"simulation"
],
"sha256": "4688fd4eccb490ae416707400ae889aae6bf3794402d5e68da0d03efddf01ab1",
"lines": 669
},
{
"path": "Scripts/Game/EscapistsAI/Simulation/EAI_SimulationBot.c",
"features": [
"simulation"
],
"sha256": "9d9e809a6f39623bda49749304bbffb89c19b9e83e4f30f1ac2a9780d4526397",
"lines": 66
},
{
"path": "Scripts/Game/EscapistsAI/Simulation/EAI_SimulationIntel.c",
"features": [
"simulation"
],
"sha256": "d53fcb1933bc563aa0d72bc4093bfec68da69241abe6639f5e030422457d1cf1",
"lines": 29
},
{
"path": "Scripts/Game/EscapistsAI/Simulation/EAI_SimulationLifecycle.c",
"features": [
"simulation"
],
"sha256": "c375a4ad7c7af621f89c16150f42262ff6501fb92e2a96ab85f28f879cb0ac39",
"lines": 161
},
{
"path": "Scripts/Game/EscapistsAI/Simulation/EAI_SimulationMedical.c",
"features": [
"simulation"
],
"sha256": "a9da70fdecd20d8fd9e23f45fcb2b070916b76f0ee0418f72f18805f2d2149f0",
"lines": 128
},
{
"path": "Scripts/Game/EscapistsAI/Simulation/EAI_SimulationPrison.c",
"features": [
"simulation"
],
"sha256": "f9098c2f312e202130b3789eb2b67ca38ed3c44a859be24543816a028a552644",
"lines": 88
},
{
"path": "Scripts/Game/EscapistsAI/Simulation/EAI_SimulationSpectators.c",
"features": [
"simulation"
],
"sha256": "0e3b911914cf06e31c836323cba170782ef994338d75cd8202b5ab7c4e9285f4",
"lines": 278
}
],
"test_inventory": [
{
"path": "tests/ai_chat_config_regression.py",
"sha256": "b4b0dc6a74a4a5beda787fb676a378316bfb9c9589bd6365ded0ae3da44d91df",
"source_references": [],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/ai_config_regression.py",
"sha256": "7dec0063274ec84a861f11b4df15b75c68dc88fa132f1ce9762063ef05bdd504",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AIConfig.c",
"Scripts/Game/EscapistsAI/EAI_ImprovisedPrisons.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/air_assault_regression.py",
"sha256": "f27ea28bf4c6e52ecaf9ce45fa3bfab1bce7b6e07cd8eac377f465a7d4d6bad2",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AirAssault.c",
"Scripts/Game/EscapistsAI/EAI_AirRecon.c",
"Scripts/Game/EscapistsAI/EAI_AircraftAmmo.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/air_support_regression.py",
"sha256": "b0c0cbf9d2918b03b37297575cbd678a633296939cf6c64095769fac4ddb7074",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AirSupportPolicy.c",
"Scripts/Game/EscapistsAI/EAI_MortarFiring.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/airport_reload_regression.py",
"sha256": "9ef8ab9ab33d02899636859ae3c65919726b92c0c7a9604af704bac2c1a78b85",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AirRecon.c",
"Scripts/Game/EscapistsAI/EAI_Landing.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/convoy_stop_regression.py",
"sha256": "245dd69dcd300a49fe743875280321165d1da15c0cdbe23188631eec3e418c54",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_SupplyConvoys.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/depot_loading_regression.py",
"sha256": "2e80b3ce86b0607a5b62cdd49d7e898c17c23fd5e67597a5e8789bc71076ba41",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_DepotLoading.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/faction_alignment_regression.py",
"sha256": "37666426aae9f303f255861f89cf4cacefb38a6994fc2dd6fced11f53e1b7c7f",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_FactionRelations.c",
"Scripts/Game/EscapistsAI/EAI_HQ.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/helicopter_availability_regression.py",
"sha256": "b8f92feaf7f8057082a9c7c20cc889da3b614d74d19e206491ccecceec7e92e0",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AirRecon.c",
"Scripts/Game/EscapistsAI/EAI_HelicopterAvailability.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/helicopter_recovery_regression.py",
"sha256": "38e693a1c9f204dbab1a4ab800fa219d6aa3b7c378957434ab312a2f84832d25",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AirRecon.c",
"Scripts/Game/EscapistsAI/EAI_HelicopterRecovery.c",
"Scripts/Game/EscapistsAI/EAI_LogisticsVehicle.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/hq_body_search_regression.py",
"sha256": "975abef7f7ef378b150e2c46266574a786588a2fa0ff6ee43e708d58227222c8",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_HQ.c",
"Scripts/Game/EscapistsAI/EAI_HQBodySearch.c",
"Scripts/Game/EscapistsAI/EAI_HQStatus.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/hq_journal_regression.py",
"sha256": "426a04d4117c2e9c3d4ce5aef112cb628cb0cd6511b727d05e554b6a29ae1c8e",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_HQJournal.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/hq_menu_checks.py",
"sha256": "6f14906d08ddd67e909eae5ef37ca8395476fc84920fed77ca276012a58dd88b",
"source_references": [],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/hq_network_regression.py",
"sha256": "a09b5cbf3453e6af31d1d888b5489586efbddbdb89b6e2b2d6eed52ce67e1098",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_HQ.c",
"Scripts/Game/EscapistsAI/EAI_HQNetwork.c",
"Scripts/Game/EscapistsAI/EAI_HQStatus.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/hq_observation_regression.py",
"sha256": "76b715d46f44d560896c502d01ed89ce16b6366596b607cef111db886cb6dcf6",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_HQObservation.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/hq_regression.py",
"sha256": "4b9a0b66851f27700584e548c82cda8de7f9fda72868566e4bac227500951172",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_HQ.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/hq_settings_regression.py",
"sha256": "1e68b985cf7d0446894eeecfa16335d4581e78c386a2ed81454e62512f6c76d6",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AirRecon.c",
"Scripts/Game/EscapistsAI/EAI_ConvoySettings.c",
"Scripts/Game/EscapistsAI/EAI_HQSettings.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationLifecycle.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/hq_watch_regression.py",
"sha256": "87e9bb484e2a37bfda9a4827d1fa4cd50b0c38bde07659df171c7e9c800a2150",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_HQ.c",
"Scripts/Game/EscapistsAI/EAI_HQWatch.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/mine_task_regression.py",
"sha256": "5eca78bfa4fdc11f6f9107e83b06676f6f20cc4fb75b940768a25ffaaa6f812b",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_MineTask.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/mortar_deployment_regression.py",
"sha256": "8fdb4994d05a56409f46f074c2f41298143628d19c5644093e21eaf423eee31d",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/mortar_engagement_regression.py",
"sha256": "a39ecc1132b51e13d80f4136a1d219fb5fc08d193b9e6c0be48dd9378e1e762a",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_MortarEngagement.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/mortar_footprint_regression.py",
"sha256": "56ec6d478c036d1c7b1f65fde9170f73af77c8ed8175dc443cb079344c7a2c92",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_ImprovisedPrisons.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/mortar_logging_regression.py",
"sha256": "49d2c83c6f18ae8ffed152c5cc8480079a85731ec94fbd1f014362ec7d93f174",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_MortarFiring.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/mortar_operator_regression.py",
"sha256": "80f2a2d5e1bc8c38345b76f5e83cb3bc527fac7ad41111b3dee9327e60bbcaf5",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_HQStatus.c",
"Scripts/Game/EscapistsAI/EAI_MortarFiring.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/mortar_regression.py",
"sha256": "f4ed7027857056e158291d7a0c64072d435494c3d1dc71df4e6eee0c4a7e5c16",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_HQStatus.c",
"Scripts/Game/EscapistsAI/EAI_ImprovisedPrisons.c",
"Scripts/Game/EscapistsAI/EAI_MortarFiring.c",
"Scripts/Game/EscapistsAI/EAI_MortarPrediction.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/mortar_salvo_regression.py",
"sha256": "bba2d57c4f5ccb76819ce90a63bc157e29fd033a3430318689c84c5e4c5f6f29",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_MortarFiring.c",
"Scripts/Game/EscapistsAI/EAI_MortarSalvo.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/mortar_settlement_regression.py",
"sha256": "6672605e495c1e7a3abd1dc1311f5449397d09152d17fd41a2d1cb78ff395492",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_HQRoadblocks.c",
"Scripts/Game/EscapistsAI/EAI_MortarFiring.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c",
"Scripts/Game/EscapistsAI/EAI_SettlementSafety.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/prison_airfield_regression.py",
"sha256": "30f48b626ddccfbd0a8ca6295f00000cc89554c9491ecbb177032a48a746d15f",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AirRecon.c",
"Scripts/Game/EscapistsAI/EAI_ImprovisedPrisons.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/response_capture_regression.py",
"sha256": "b6d309fe82dc538d6c6bb48e943f72fb9fb012b4e140acd36f9095ab12cb1878",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AIResponseSystem.c",
"Scripts/Game/EscapistsAI/EAI_AirRecon.c",
"Scripts/Game/EscapistsAI/EAI_AssaultParachute.c",
"Scripts/Game/EscapistsAI/EAI_ResponseSafety.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/resupply_regression.py",
"sha256": "72828f53e6f77db41558cbece31da6ace6eeefc0674648dd16eaec659b46daab",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AmmoSupply.c",
"Scripts/Game/EscapistsAI/EAI_HQStatus.c",
"Scripts/Game/EscapistsAI/EAI_Resupply.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/roadblock_deployment_regression.py",
"sha256": "b696ec1c5fabdade9b8c4deb831d33db118f30b63e66229d8fd885d62b49c9bd",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_HQRoadblocks.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/roadblock_regression.py",
"sha256": "e0725fe89b07e8b5371102800088d7be38158bf5248b155250595efb20cd8598",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_HQ.c",
"Scripts/Game/EscapistsAI/EAI_HQRoadblocks.c",
"Scripts/Game/EscapistsAI/EAI_MineTask.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/runtime_resources_regression.py",
"sha256": "d8c0c602c60e5fea1ef35364be6163547b77d670b0d24ec5fcd76a97e1769c8d",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_ImprovisedPrisons.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c",
"Scripts/Game/EscapistsAI/EAI_Performance.c",
"Scripts/Game/EscapistsAI/EAI_RuntimeGuards.c",
"Scripts/Game/EscapistsAI/EAI_SupplyConvoys.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/scope_detection_regression.py",
"sha256": "6865b52d1cbfe44d1b1b7a40555f202298056ecd2f3a93a09b6d36f6d28b3765",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_SniperOptics.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/scope_prefabs_regression.py",
"sha256": "8959c7d1d494d1808e660411ce4c2afb538e17af3220a57fa1f14fdf2f03f506",
"source_references": [],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/session_fixes_regression.py",
"sha256": "b78419295f7b080de7068823a33ef81bef7ecfa49d739c77c9f56f99df098999",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AirRecon.c",
"Scripts/Game/EscapistsAI/EAI_AssaultParachute.c",
"Scripts/Game/EscapistsAI/EAI_DependencyGuards.c",
"Scripts/Game/EscapistsAI/EAI_Landing.c",
"Scripts/Game/EscapistsAI/EAI_LogisticsVehicle.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/simulation_chat_regression.py",
"sha256": "28f906f687a98eb1800a9f28ba7f7a550a0e40e6d4746eb134cca0094c5fd94c",
"source_references": [
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationLifecycle.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/simulation_intel_bridge_regression.py",
"sha256": "f8ec1c424ff90838b7d34616a98ed1cd80e082c68de81c6743940a5a37785bf3",
"source_references": [
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationIntel.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/simulation_prison_regression.py",
"sha256": "a901b2eb4b462d4794157e67b0818b88b2176f0beb2dfb38fd71685f86909080",
"source_references": [
"Scripts/Game/EscapistsAI/Simulation/EAI_Simulation.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationBot.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationPrison.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/simulation_regression.py",
"sha256": "0e01653cfcae35530f68cd1bf5d5636e71b05e1dd396ba2194cda649c5a39237",
"source_references": [
"Scripts/Game/EscapistsAI/Simulation/EAI_Simulation.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationBot.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationIntel.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationMedical.c",
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationSpectators.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/simulation_spectator_regression.py",
"sha256": "0fd3b920f691880be1d8c197bbec399d90361ef28586ba67ad4d5c7c93b7f2b5",
"source_references": [
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationSpectators.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/sniper_optics_regression.py",
"sha256": "5dedc2bb50455877f23209756251120a6eae83543fd5ccb5dabe0afc6739d47f",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AIResponseSystem.c",
"Scripts/Game/EscapistsAI/EAI_SniperOptics.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/sniper_weapon_lookup_regression.py",
"sha256": "fa077b2b6abb45a11216979b49c871e832a3a1573d8d823198e439475455b528",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_SniperOptics.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/spawn_selection_regression.py",
"sha256": "c9001edc39258e1f4419ae62f53ee4b0fa6535718810600d2afc14f73bc5ceae",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_ImprovisedPrisons.c",
"Scripts/Game/EscapistsAI/EAI_StartSelection.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
},
{
"path": "tests/stinger_equipment_regression.py",
"sha256": "eaa3b92e1c9339c17beb589a7fa61a2cbdec06fce65c7e91bba456cdf27f9a47",
"source_references": [
"Scripts/Game/EscapistsAI/EAI_AIResponseSystem.c",
"Scripts/Game/EscapistsAI/EAI_StingerEquipment.c"
],
"execution": "not run in this audit; predecessor evidence does not qualify successor"
}
],
"prefab_inventory": [
{
"path": "Prefabs/Logistics/EAI_DepotStock.et",
"sha256": "87f76285abe1d14206fd2eff904cb6e0d4375083d46a007244c1b13a5821af74",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
},
{
"path": "Prefabs/StartAreas/EAI_ImprovisedPrison.et",
"sha256": "0204b836cda9729ae219747cb994d438cfddf41fa625377b5c89c49d50b27686",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
},
{
"path": "Prefabs/StartAreas/EAI_PrisonBackpack.et",
"sha256": "21ec7e0ea4b7b0493d899e0fec525fbc7d302a2473aedafbd4efcab3599022a1",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
},
{
"path": "Prefabs/StartAreas/EAI_PrisonGate.et",
"sha256": "b958e2250e047c95bce5176b9c291dd3ad430d7734891e65a2d9bbdf0f924dc2",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
},
{
"path": "Prefabs/StartAreas/EAI_PrisonWall.et",
"sha256": "d3009ecd7c3b977ae34a523c1926c13c9e9cc9ff8e531f83e861467a26ff3e98",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
},
{
"path": "Prefabs/Vehicles/Helicopters/EAI_AmmoMi8.et",
"sha256": "77a0bba1123c8313619db85358bb575fc9bd5cd4be9b6cb545c2ec82cd54dc16",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
},
{
"path": "Prefabs/Vehicles/Helicopters/EAI_ReconMi8.et",
"sha256": "a37e137b48c8ca08891eb173e46181ee9fe840dd505ee42450cb901ba19431be",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
},
{
"path": "Prefabs/Vehicles/Parachutes/EAI_AssaultParachute.et",
"sha256": "e7bded543194e9de132c0b9972948141da1fcfa56c7b663cc333c9caa2e73e85",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
},
{
"path": "Prefabs/Weapons/Attachments/Optics/1p78/Optic_1P78.et",
"sha256": "95bda46853d6b8653060e4ea9fcc91bbe4efd7aa69fa039c8c42ad0a5b60873d",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
},
{
"path": "Prefabs/Weapons/Attachments/Optics/Optic_PSO1/Optic_PSO1M2.et",
"sha256": "cdc52ec5931731474cec99acc391446bce6b1b230ddf7e91ea2348f84dc58acf",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
},
{
"path": "Prefabs/Weapons/Attachments/Optics/Optic_SPP/Optic_SPP.et",
"sha256": "06e593c1677954e0f7a05b0b040ccca8f7a987961f8bfbe90e0582a07b151953",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
},
{
"path": "Prefabs/Weapons/Core/WeaponSight_Base.et",
"sha256": "0183016add1789e87f07783211168680de5caa9ecbf803d61b52e3d762013593",
"review": "re-author successor wrapper/identity; inspect inherited provenance before copying any content"
}
],
"resource_references": [
{
"guid": "0A04F02D30BA8459",
"path": "Assets/Props/Debris/Metal/FragmentMechanical_dbr_03.xob",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Logistics/EAI_DepotStock.et"
]
},
{
"guid": "D9678156553F87C7",
"path": "Assets/Props/Debris/Metal/FragmentMetal_dbr_02.xob",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Logistics/EAI_DepotStock.et"
]
},
{
"guid": "AE6DE9DEA19D68B7",
"path": "Assets/Props/Debris/Metal/FragmentMetal_dbr_03.xob",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Logistics/EAI_DepotStock.et"
]
},
{
"guid": "EB85A5589049E9D1",
"path": "Assets/Props/Military/AmmoBox/EquipmentBoxWooden_01/Data/EquipmentBoxWooden_Ammunition_01_USSR.emat",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Logistics/EAI_DepotStock.et"
]
},
{
"guid": "17332645A86C9BA6",
"path": "Assets/Props/Military/AmmoBox/EquipmentBoxWooden_01/Data/EquipmentBoxWooden_decal_USSR.emat",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Logistics/EAI_DepotStock.et"
]
},
{
"guid": "9E1DFF036BCE913E",
"path": "Assets/Props/Military/AmmoBox/EquipmentBoxWooden_01/EquipmentBoxWooden_Ammunition_01.xob",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Logistics/EAI_DepotStock.et"
]
},
{
"guid": "E3BC73BFBC7AA497",
"path": "Assets/Structures/BuildingsParts/Doors/DoorFrame_door_metal_A_RIGHT_EXT_B.xob",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/StartAreas/EAI_PrisonGate.et"
]
},
{
"guid": "0B96D139FEBCA006",
"path": "Assets/Structures/Walls/Concrete/ConcreteWall_01_3m.xob",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Prefabs/StartAreas/EAI_PrisonWall.et"
]
},
{
"guid": "690632C506AD0847",
"path": "Assets/Weapons/Attachments/Optics/1p78/1p78.xob",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Attachments/Optics/1p78/Optic_1P78.et"
]
},
{
"guid": "BAF768C371AF1703",
"path": "Assets/Weapons/Attachments/Optics/1p78/Data/1p78_mark_UI.edds",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Attachments/Optics/1p78/Optic_1P78.et"
]
},
{
"guid": "9B591D738BAB9492",
"path": "Assets/Weapons/Attachments/Optics/1p78/Data/1p78_mark_ilum_UI.edds",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Attachments/Optics/1p78/Optic_1P78.et"
]
},
{
"guid": "BBB83ADC8D3AF563",
"path": "Assets/Weapons/Attachments/Optics/1p78/Data/Optic_1P78_HDR.emat",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Attachments/Optics/1p78/Optic_1P78.et"
]
},
{
"guid": "84004153F8EC99DD",
"path": "Assets/Weapons/Attachments/Optics/pso_1m2_1/Optic_PSO1M2-1_HDR.emat",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Attachments/Optics/Optic_PSO1/Optic_PSO1M2.et"
]
},
{
"guid": "31F2591E21793003",
"path": "Assets/Weapons/Attachments/Optics/pso_1m2_1/data/Optic_PSO1M2-1.emat",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Attachments/Optics/Optic_PSO1/Optic_PSO1M2.et"
]
},
{
"guid": "D05272A9B4875D73",
"path": "Assets/Weapons/Attachments/Optics/pso_1m2_1/data/PSO1M2-1.edds",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Attachments/Optics/Optic_PSO1/Optic_PSO1M2.et"
]
},
{
"guid": "C436A8D33CE1AA4E",
"path": "Particles/Props/Dest_Prop_Wood_Small.ptc",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Logistics/EAI_DepotStock.et"
]
},
{
"guid": "F28B2B542F6C684A",
"path": "Prefabs/CharacterSpawnPoint.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/StartAreas/EAI_ImprovisedPrison.et"
]
},
{
"guid": "86E565387A634103",
"path": "Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
]
},
{
"guid": "EBFB363AC7A5FCE6",
"path": "Prefabs/Characters/Factions/OPFOR/USSR_Army/Character_USSR_Engineer.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_HelicopterRecovery.c"
]
},
{
"guid": "612F43A4D5AE765F",
"path": "Prefabs/Characters/Factions/OPFOR/USSR_Army/Character_USSR_RTO.et",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
]
},
{
"guid": "D9F79EC900BD0001",
"path": "Prefabs/Characters/HeadGear/ESCP_Helmet_PASGT_Patched.et",
"classification": "owned Patch wrapper; separate asset/provenance review, no automatic Patch dependency",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_StartingOutfit.c"
]
},
{
"guid": "D9F79EC900BD0002",
"path": "Prefabs/Characters/Uniforms/ESCP_Jacket_M65_TigerStripe_Patched.et",
"classification": "owned Patch wrapper; separate asset/provenance review, no automatic Patch dependency",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_StartingOutfit.c"
]
},
{
"guid": "9ADD554959C09197",
"path": "Prefabs/DeployedParachutes/Core/DeployedParachuteMK4.et",
"classification": "Parachute Framework; outside currently authorized RHS/WCS/BMP dependency closure",
"referenced_by": [
"Prefabs/Vehicles/Parachutes/EAI_AssaultParachute.et"
]
},
{
"guid": "41A9C55B61F375F0",
"path": "Prefabs/Items/Equipment/Backpacks/Backpack_Kolobok.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/StartAreas/EAI_PrisonBackpack.et"
]
},
{
"guid": "54C68E438DD34265",
"path": "Prefabs/Items/Equipment/Radios/Radio_R107M.et",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_HQ.c"
]
},
{
"guid": "E1A5D4B878AA8980",
"path": "Prefabs/Items/Equipment/Radios/Radio_R148.et",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_HQStatus.c",
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
]
},
{
"guid": "6D56FED1E55A8F84",
"path": "Prefabs/Items/Misc/IntelligenceFolder_E_01/IntelligenceFolder_E_01.et",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Scripts/Game/EscapistsAI/Simulation/EAI_SimulationIntel.c"
]
},
{
"guid": "D83CA092B7100100",
"path": "Prefabs/Logistics/EAI_DepotStock.et",
"classification": "old owned addon wrapper; successor identity and base-hook replacement required",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_DepotLoading.c"
]
},
{
"guid": "7E385CE1ADBF0659",
"path": "Prefabs/MP/Spawning/SpawnPoint_Prison.et",
"classification": "original-base resource; replace independently",
"referenced_by": [
"Prefabs/StartAreas/EAI_ImprovisedPrison.et"
]
},
{
"guid": "A631EB470D19C201",
"path": "Prefabs/StartAreas/EAI_ImprovisedPrison.et",
"classification": "old owned addon wrapper; successor identity and base-hook replacement required",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_ImprovisedPrisons.c"
]
},
{
"guid": "A631EB470D19C203",
"path": "Prefabs/StartAreas/EAI_PrisonBackpack.et",
"classification": "old owned addon wrapper; successor identity and base-hook replacement required",
"referenced_by": [
"Prefabs/StartAreas/EAI_ImprovisedPrison.et"
]
},
{
"guid": "A631EB470D19C202",
"path": "Prefabs/StartAreas/EAI_PrisonGate.et",
"classification": "old owned addon wrapper; successor identity and base-hook replacement required",
"referenced_by": [
"Prefabs/StartAreas/EAI_ImprovisedPrison.et"
]
},
{
"guid": "A631EB470D19C204",
"path": "Prefabs/StartAreas/EAI_PrisonWall.et",
"classification": "old owned addon wrapper; successor identity and base-hook replacement required",
"referenced_by": [
"Prefabs/StartAreas/EAI_ImprovisedPrison.et"
]
},
{
"guid": "87CADB5ADC989993",
"path": "Prefabs/Structures/BuildingParts/Doors/DoorSet_Base.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/StartAreas/EAI_PrisonGate.et"
]
},
{
"guid": "67F17696FF278AE0",
"path": "Prefabs/Structures/BuildingParts/Doors/Door_Metal_A_RIGHT_EXT_COV_B.et",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Prefabs/StartAreas/EAI_PrisonGate.et"
]
},
{
"guid": "EFA7233213E77C2F",
"path": "Prefabs/Systems/SpawnPoints/SpawnPosition_Prison.et",
"classification": "original-base resource; replace independently",
"referenced_by": [
"Prefabs/StartAreas/EAI_ImprovisedPrison.et"
]
},
{
"guid": "AB4B037AF4617292",
"path": "Prefabs/Vehicles/Helicopters/EAI_AmmoMi8.et",
"classification": "old owned addon wrapper; successor identity and base-hook replacement required",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_Resupply.c"
]
},
{
"guid": "8A9D735C042F61B2",
"path": "Prefabs/Vehicles/Helicopters/EAI_ReconMi8.et",
"classification": "old owned addon wrapper; successor identity and base-hook replacement required",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_AirRecon.c"
]
},
{
"guid": "7BD282AF716ED639",
"path": "Prefabs/Vehicles/Helicopters/Mi8MT/Mi8MT_armed.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Vehicles/Helicopters/EAI_ReconMi8.et"
]
},
{
"guid": "DF5CCB7C0FF049F4",
"path": "Prefabs/Vehicles/Helicopters/Mi8MT/Mi8MT_unarmed_transport.et",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Prefabs/Vehicles/Helicopters/EAI_AmmoMi8.et"
]
},
{
"guid": "073115E564DF6BEF",
"path": "Prefabs/Vehicles/Helicopters/Mi8MT/VehParts/WeapSystems/Mi8MT_PKMT_mount_left.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Vehicles/Helicopters/EAI_ReconMi8.et"
]
},
{
"guid": "AB264721601AED00",
"path": "Prefabs/Vehicles/Parachutes/EAI_AssaultParachute.et",
"classification": "old owned addon wrapper; successor identity and base-hook replacement required",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_AirAssault.c"
]
},
{
"guid": "1DC01AAACFFA8B63",
"path": "Prefabs/Vehicles/Tracked/BMP1/BMP1_Base.et",
"classification": "authorized WCS BMP-1; verify owning installed database",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_SupplyConvoys.c"
]
},
{
"guid": "0B4DEA8078B78A9B",
"path": "Prefabs/Vehicles/Wheeled/UAZ469/UAZ469_PKM.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_AIResponseSystem.c",
"Scripts/Game/EscapistsAI/EAI_HQRoadblocks.c",
"Scripts/Game/EscapistsAI/EAI_SupplyConvoys.c"
]
},
{
"guid": "3336BE330C4F355B",
"path": "Prefabs/Vehicles/Wheeled/Ural4320/Ural4320_ammo.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_SupplyConvoys.c"
]
},
{
"guid": "A5647958579A4149",
"path": "Prefabs/Vehicles/Wheeled/Ural4320/Ural4320_repair.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_HelicopterRecovery.c"
]
},
{
"guid": "16C1F16C9B053801",
"path": "Prefabs/Vehicles/Wheeled/Ural4320/Ural4320_transport.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_SupplyConvoys.c"
]
},
{
"guid": "98EC9C526AFBA282",
"path": "Prefabs/Weapons/Ammo/Ammo_Shell_82mm_HE_O832DU.et",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
]
},
{
"guid": "061785BDE2DB997E",
"path": "Prefabs/Weapons/Attachments/Core/Optic_Scope_Base.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Attachments/Optics/1p78/Optic_1P78.et"
]
},
{
"guid": "695AAA77F84EB238",
"path": "Prefabs/Weapons/Attachments/Optics/1p21/Optic_1P21.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_SniperOptics.c"
]
},
{
"guid": "8D4BAA235F7EDBEA",
"path": "Prefabs/Weapons/Attachments/Optics/1p78/Optic_1P78.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_SniperOptics.c"
]
},
{
"guid": "BD496EE1B40DC510",
"path": "Prefabs/Weapons/Attachments/Optics/Optic_4x20/Optic_4x20.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_SniperOptics.c"
]
},
{
"guid": "D2018EDB1BBF4C88",
"path": "Prefabs/Weapons/Attachments/Optics/Optic_ARTII/Optic_ARTII.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_SniperOptics.c"
]
},
{
"guid": "C850A33226B8F9C1",
"path": "Prefabs/Weapons/Attachments/Optics/Optic_PSO1/Optic_PSO1.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_SniperOptics.c"
]
},
{
"guid": "A1D5833FF10C6503",
"path": "Prefabs/Weapons/Attachments/Optics/Optic_PSO1/Optic_PSO1M2.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_SniperOptics.c"
]
},
{
"guid": "97B99B20B6545D34",
"path": "Prefabs/Weapons/Attachments/Optics/Optic_PSO1/Optic_PSO1M2_base.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Attachments/Optics/Optic_PSO1/Optic_PSO1M2.et"
]
},
{
"guid": "883783EF2E0658D6",
"path": "Prefabs/Weapons/Attachments/Optics/Optic_SPP/Optic_SPP_base.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Attachments/Optics/Optic_SPP/Optic_SPP.et"
]
},
{
"guid": "333A794F0B55C019",
"path": "Prefabs/Weapons/Attachments/Optics/m8541/Optic_M8541.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_SniperOptics.c"
]
},
{
"guid": "2E0E3D7D1DD0FF8F",
"path": "Prefabs/Weapons/Core/Attachment_Base.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Core/WeaponSight_Base.et"
]
},
{
"guid": "B05A816C0BF50802",
"path": "Prefabs/Weapons/Explosives/Mine_PMN4/Mine_PMN4.et",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_Mines.c"
]
},
{
"guid": "C0F7DD85A86B2900",
"path": "Prefabs/Weapons/Handguns/PM/Handgun_PM.et",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_ImprovisedPrisons.c"
]
},
{
"guid": "3DF204EEE0534EF2",
"path": "Prefabs/Weapons/Launchers/FIM92_Stinger/Launcher_FIM92_Stinger.et",
"classification": "authorized WCS Armaments FIM92; verify owning installed database",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_StingerEquipment.c"
]
},
{
"guid": "8B853CDD11BA916E",
"path": "Prefabs/Weapons/Magazines/Magazine_9x18_PM_8rnd_Ball.et",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_ImprovisedPrisons.c"
]
},
{
"guid": "D1FFE458E8AC4BDB",
"path": "Prefabs/Weapons/Mortars/2B14/Mortar_2B14.et",
"classification": "already catalogued successor vanilla resource",
"referenced_by": [
"Scripts/Game/EscapistsAI/EAI_MortarSystem.c"
]
},
{
"guid": "440E1F3747714D45",
"path": "Sounds/Lockpicking/Lockpicking_Sounds.acp",
"classification": "original-base resource; replace independently",
"referenced_by": [
"Prefabs/StartAreas/EAI_PrisonGate.et"
]
},
{
"guid": "A73D28179B395F19",
"path": "Sounds/Props/Military/AmmoBoxes/AmmoBox_Big_Wooden/Props_AmmoBox_Big_Wooden.acp",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Logistics/EAI_DepotStock.et"
]
},
{
"guid": "92CB09CB84872CB4",
"path": "Sounds/Weapons/_SharedData/PickUp/Weapons_PickUp_Attachments_LongGeneric.acp",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Weapons/Attachments/Optics/1p78/Optic_1P78.et"
]
},
{
"guid": "8EB808BFA227C080",
"path": "UI/Textures/Icons/InventoryHints/InventoryHint_SuppliesStored.edds",
"classification": "not independently verified by this audit; verify installed owning resource database before migration",
"referenced_by": [
"Prefabs/Logistics/EAI_DepotStock.et"
]
}
],
"authorized_installed_dependencies": [
{
"guid": "595F2BF2F44836FB",
"title": "RHS: Status Quo",
"dependencies": [
"58D0FB3206B6F859",
"1337C0DE5DABBEEF",
"BADC0DEDABBEDA5E"
],
"installed_version": "0.16.5208",
"local_path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-StatusQuo_595F2BF2F44836FB"
},
{
"guid": "1337C0DE5DABBEEF",
"title": "RHS: Status Quo - Content Pack 01",
"dependencies": [
"58D0FB3206B6F859"
],
"installed_version": "0.16.5208",
"local_path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack01_1337C0DE5DABBEEF"
},
{
"guid": "BADC0DEDABBEDA5E",
"title": "RHS: Status Quo - Content Pack 02",
"dependencies": [
"58D0FB3206B6F859"
],
"installed_version": "0.16.5208",
"local_path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack02_BADC0DEDABBEDA5E"
},
{
"guid": "5E389BB9F58B79A6",
"title": "WCS_SpaceCore",
"dependencies": [
"58D0FB3206B6F859",
"629B2BA37EFFD577"
],
"installed_version": "8.2.1",
"local_path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/SpaceCore_5E389BB9F58B79A6"
},
{
"guid": "629B2BA37EFFD577",
"title": "WCS_Armaments",
"dependencies": [
"58D0FB3206B6F859"
],
"installed_version": "8.2.1",
"local_path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/WCS_Armaments_629B2BA37EFFD577"
},
{
"guid": "5E524E4FEECCA92B",
"title": "WCS_BMP-1",
"dependencies": [
"58D0FB3206B6F859",
"5E389BB9F58B79A6",
"629B2BA37EFFD577"
],
"installed_version": "8.2.0",
"local_path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/BMP-1IFV_5E524E4FEECCA92B"
}
],
"post_audit_updates": [
{
"id": "convoys",
"updated_on": "2026-09-20",
"status": "partial",
"implementation": "Finite six-vehicle/19-body shared-budget service with one opt-in canonical HQ dispatch, actual native road driving, exact initial seat membership and finite eight-rifle/48-magazine truck cargo. Delivered-report HQ HOLD/RESUME preserves each original crew, route index and owned waypoint; native mounted-combat registration is enabled.",
"evidence": "native-2026-09-20-025035-convoy-driving: 181 assertions, all six original vehicles at least20m and lead over100m, duplicate dispatch rejected; zero script/runtime failures. Four external localization errors keep strict qualification failed. Current-source native-2026-09-20-041150-convoy-cover-driving repeats181 assertions after the cover integration; radio command transitions have executable-method tests, not native combat proof.",
"remaining": "Direct native HOLD/RESUME and mounted firing; automatic startup count/scheduling; dismount/flank/reboard tactics, delivery/unloading, full-route reliability, multiplayer and FPS qualification.",
"detail": "docs/convoy-migration.md"
},
{
"id": "body_discovery",
"updated_on": "2026-09-20",
"status": "partial",
"implementation": "Body and cumulative status death-slot evidence share immutable original formation identity. Delivered union deduplicates overlap, retains disjoint casualties, and can close a fully confirmed wiped formation without inventing a caller. Scalar attribution survives target deletion; known transfers permanently release old slots.",
"evidence": "native-2026-09-20-030533-body-radio-casualties: 45 assertions, actual corpse LOS and radio delivery, no loss before delivery, subsequent real status overlap counts once; zero script/runtime failures. Four external localization errors keep strict qualification failed. Deleted-target transit, full wipe and transfer-before-death cases are actual-method regressions.",
"remaining": "Ordinary patrol discovery, native deletion during radio transit, native complete wiped formations, remote ownership and multiplayer qualification.",
"detail": "docs/ai-migration-progress.md"
},
{
"id": "ammo_accounting",
"updated_on": "2026-09-20",
"status": "partial",
"implementation": "Read-only immutable-roster compatible small-arms magazine and chamber snapshots delivered through status radio; separate launcher uncertainty, conservative inherited-well handling, fresh known-empty veto for new infantry tasks without active-order cancellation. No refill or mounted/cargo inference.",
"evidence": "native-2026-09-20-040857-hq-ammunition completes49 assertions: five original surviving members,1120 magazine rounds,33 magazines,5 chambered; actual delivery to independent immutable Watch snapshot. Four external localization errors remain. Later inherited-well refinement passes executable regressions and compiles in the181-assertion convoy recheck.",
"remaining": "Native empty/depletion and modded derived-well cases; low-stock urgent reports, general resupply/cargo transfers, vehicle weapons, multiplayer and FPS qualification.",
"detail": "docs/hq-ammunition.md"
},
{
"id": "optics",
"updated_on": "2026-09-20",
"status": "partial",
"implementation": "Scoped startup optics fitting on the first eligible physical weapon roster of original military enemy actors. Verified vanilla/RHS candidates use native free-slot compatibility; existing magnified optics are preserved. Finite five-check processing, accepted-operation quarantine, no later weapon replacement or replenishment; shares existing equipment cadence independently of Stinger completion.",
"evidence": "Actual-method inspection, ownership, slot, callback and lifecycle regressions pass. native-2026-09-20-050906-convoy-seat-diagnostic compiled and executed the service: 59 terminal records, six physical optic confirmations, 53 unconfirmed deadlines. These logs cannot establish a new attachment insertion.",
"remaining": "Native before/after proof of a new compatible insertion, ordinary captured-weapon use and multiplayer replication; complete full AI migration remains separate.",
"detail": "docs/ai-equipment-migration.md"
},
{
"id": "radio",
"updated_on": "2026-09-20",
"status": "partial",
"implementation": "Three-second originating call on physical uplinks, live consciousness/ownership checks before cached inventory use, one-time bounded group radio fitting using stable HQ IDs and exact original equipment-actor tombstones. Existing authored radios are preserved; mortar allocation remains owned by readiness. No repeat grant after observed equipment loss or accepted pending insertion.",
"evidence": "native-2026-09-20-062203-radio-call-memory: 59 assertions, one completed round, zero script/runtime failures. Removing the real originating caller radio interrupts before any hop/Accept; subsequent delivered reports update memory and reject old negative revisions. All six observed groups already had radios; no new native insertion was demonstrated. Four installed external localization errors remain. Actual-method coordinator/route/node regressions pass.",
"remaining": "Native proof of new compatible radio insertion; local handoff, voiced calls, aircraft uplink/shared awareness and multiplayer loss/capture qualification.",
"detail": "docs/hq-originating-call.md"
}
]
}