Files
EscapistsReintroduced/docs/evidence/hq-search-radius-2026-10-03/review/current-feature-coverage.json
T
jakub 6a667d8deb Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
2026-10-13 22:52:53 +02:00

304 lines
16 KiB
JSON

{
"scope": "Read-only current-source reconciliation of all39 dated feature rows; not a fresh native acceptance audit or a claim of full parity. Historical ledger unchanged. No protected GroupLookup/base-author contents read, no tests/native/source edits.",
"rows": [
{
"id": "config",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/00_Core/ERR_ProfileConfig.c"
},
{
"id": "skill",
"historical_status": "missing",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyGunnerSkill.c"
},
{
"id": "radio",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQLocalHandoff.c"
},
{
"id": "observations",
"historical_status": "implemented",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQObservation.c"
},
{
"id": "ground_tactics",
"historical_status": "partial",
"current": "Concrete remaining local search-footprint gap selected below.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c"
},
{
"id": "status",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQStatusSampler.c"
},
{
"id": "missing_patrol",
"historical_status": "missing",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQWatch.c"
},
{
"id": "body_discovery",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQBodyObserver.c"
},
{
"id": "belief_search",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMemory.c"
},
{
"id": "hunter",
"historical_status": "missing",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c"
},
{
"id": "capture",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c"
},
{
"id": "convoys",
"historical_status": "missing",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyService.c"
},
{
"id": "recon",
"historical_status": "partial",
"current": "Existing air subsystem source and later evidence present; paused flight/air replacement scope excluded from this bounded selection."
},
{
"id": "air_assault",
"historical_status": "partial",
"current": "Existing air subsystem source and later evidence present; paused flight/air replacement scope excluded from this bounded selection."
},
{
"id": "parachutes",
"historical_status": "partial",
"current": "Existing air subsystem source and later evidence present; paused flight/air replacement scope excluded from this bounded selection."
},
{
"id": "aircraft_ammo",
"historical_status": "partial",
"current": "Existing air subsystem source and later evidence present; paused flight/air replacement scope excluded from this bounded selection."
},
{
"id": "air_recovery",
"historical_status": "missing",
"current": "Existing air subsystem source and later evidence present; paused flight/air replacement scope excluded from this bounded selection."
},
{
"id": "flight_safety",
"historical_status": "partial",
"current": "Existing air subsystem source and later evidence present; paused flight/air replacement scope excluded from this bounded selection."
},
{
"id": "ammo_accounting",
"historical_status": "missing",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedAmmoSampler.c"
},
{
"id": "resupply",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryResupply.c"
},
{
"id": "depots",
"historical_status": "missing",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_GroundDepotLoading.c"
},
{
"id": "mines_issue",
"historical_status": "missing",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_InfantryMineTransfer.c"
},
{
"id": "mines_task",
"historical_status": "missing",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMinePosts.c"
},
{
"id": "roadblocks",
"historical_status": "missing",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedDispatch.c"
},
{
"id": "mortar_deployment",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSystem.c"
},
{
"id": "mortar_fire",
"historical_status": "implemented",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarFiring.c"
},
{
"id": "settlement_safety",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMineSite.c"
},
{
"id": "performance",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/00_Core/ERR_ForceSimulation.c"
},
{
"id": "ambient_disable",
"historical_status": "implemented",
"current": "Isolation is intentional policy; no original ambient-system port needed."
},
{
"id": "factions",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionSelection.c"
},
{
"id": "prisons",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/00_Core/ERR_GeneratedSites.c"
},
{
"id": "start_choices",
"historical_status": "missing",
"current": "Ordinary crash-start selection still absent from current settings/source scan; new independent scenario/admission scope is larger than selected HQ fix and not proposed now."
},
{
"id": "outfit",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_AutomaticEquipment.c"
},
{
"id": "stinger",
"historical_status": "missing",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyLoadout.c"
},
{
"id": "optics",
"historical_status": "missing",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_EnemyOptics.c"
},
{
"id": "compatibility",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/00_Core/ERR_ReaperRHSCompat.c"
},
{
"id": "simulation",
"historical_status": "missing",
"current": "Normal-server autonomous escape simulation remains distinct from WORKBENCH smoke; player/input work excluded from this increment."
},
{
"id": "journal",
"historical_status": "implemented",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQJournal.c"
},
{
"id": "catalogs",
"historical_status": "partial",
"current": "Current source exists; historical missing/partial wording is not evidence this subsystem remains absent.",
"source": "addons/core/Scripts/Game/ERR/00_Core/ERR_FactionCatalog.c"
}
],
"selected_gap": {
"id": "ground_tactics",
"title": "Delivered searches do not widen their native investigation footprint",
"evidence": [
{
"path": "/home/jakub/devel/escapists/escapists-ai/Scripts/Game/EscapistsAI/EAI_GroupTactics.c",
"lines": [
7,
383,
385,
409
],
"fact": "Owned tactics supplies 45m fresh or110m stale radius to SearchAndDestroy; freshness threshold15s."
},
{
"path": "/home/jakub/devel/escapistsrereintroduced/addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c",
"lines": [
1090,
1093,
1100
],
"fact": "Current DeliverOrder spawns vanilla SearchWaypoint and installs it without SetCompletionRadius or any other search extent configuration."
},
{
"path": "/tmp/erri-vanilla-stock/Prefabs/AI/Waypoints/AIWaypoint_SearchAndDestroy.et",
"lines": [
7
],
"fact": "Installed vanilla prefab CompletionRadius30."
},
{
"path": "/tmp/erri-vanilla-stock/scripts/Game/AI/Behavior/SCR_AISearchAndDestroyActivity.c",
"lines": [
130,
143
],
"fact": "Native GenerateInvestigationGrid derives its actionRadius from waypoint.GetCompletionRadius."
},
{
"path": "/home/jakub/devel/escapistsrereintroduced/addons/core/Scripts/Game/ERR/10_AI/ERR_HQPursuit.c",
"lines": [
94,
108,
125
],
"fact": "Current uncertainty changes objective/sector coordinates; it does not configure native grid radius."
}
],
"effect": "A stale delivered report can move the search destination into a different uncertainty sector, but the native search around that destination is still the same30m footprint as every fresh task. This is a source behavior omission, not merely an unqualified physical test.",
"bounded_proposal": "Add a finite immutable search-radius field/policy to normal memory SEARCH orders (suggest original45/110 age behavior or explicit45..110 uncertainty policy chosen by root); assign during plan using delivered snapshot evidence, validate and set on the new native waypoint before AddWaypointAt. Keep existing delivered identity/revision checks, task expiry, claim limits, patrol restoration and native combat preemption. Do not mutate already-running waypoints or refresh observation time.",
"boundaries": [
"Do not apply to road/security Defend waypoints, containment/intercept or missing-patrol requests without separate policy.",
"Keep existing physical40m/30s negative-search witness; do not widen cleared-ground claims just because native grid is larger. Existing500m coverage cells are explicitly visit exclusions rather than proof every point was visible.",
"No new force, stock, spawn system, target-position read or road survey.",
"Setting radius before activity creation is supported by current native API but still needs later native compilation/behavior qualification."
],
"focused_test_plan": "Extend actual DeliverOrder harness and pure policy test: fresh/stale finite values, pending immutable radius despite later memory mutation, malformed radius refusal without installing, unchanged fixed deadlines/Defend/missing-patrol behavior, no enlarged negative-search claim. No tests run here."
},
"not_recommended_as_missing_feature": [
"Radio awareness-only broadcast storage is absent but original EAI_HQ Awareness is used only for duplicate broadcast suppression/logging, not movement/perception; this would add radio traffic without demonstrated gameplay benefit.",
"Most original status, missing patrol, memory, convoy, mine, depot and equipment rows are obsolete as source-gap descriptions: current corresponding implementations exist. Their remaining native/manual/MP gaps are not new source features."
],
"source_sha256": {
"/home/jakub/devel/escapistsrereintroduced/docs/ai-feature-migration.json": "68dfb0b523b650fc82648953d3ed390dc68617d0ed9cc5bce86145b3e7b99eea",
"/home/jakub/devel/escapistsrereintroduced/addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c": "d873b5b689e918f8c907918d673304a184ac2e4a4cb6face527b37a67821ee9f",
"/home/jakub/devel/escapistsrereintroduced/addons/core/Scripts/Game/ERR/10_AI/ERR_HQTask.c": "1147904bae6d72e9de47ce17bdada3dab489de4ed6e781dbf15bdbb30599ff6e",
"/home/jakub/devel/escapistsrereintroduced/addons/core/Scripts/Game/ERR/10_AI/ERR_HQPursuit.c": "ab6ca0e1a7f36c104e664db06a74c80a528cbfd1de599af42e2194ef0a4f4ca3",
"/home/jakub/devel/escapistsrereintroduced/addons/core/Scripts/Game/ERR/10_AI/ERR_HQCoverage.c": "8d9668858c47b7e9fee2b12d3ebd4e7cb88146b817cf615c4b0dade26c81b2ec",
"/home/jakub/devel/escapistsrereintroduced/addons/core/Scripts/Game/ERR/00_Core/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
"/home/jakub/devel/escapists/escapists-ai/Scripts/Game/EscapistsAI/EAI_GroupTactics.c": "226eb3981765284afa0cead84411244806a84440003fe4af69f2208028cef23d",
"/tmp/erri-vanilla-stock/Prefabs/AI/Waypoints/AIWaypoint_SearchAndDestroy.et": "55e46bd62175f3f2b4c5f203bb161b339648f5c1a1b53fcc6b40193c72dcf2a2",
"/tmp/erri-vanilla-stock/scripts/Game/AI/Behavior/SCR_AISearchAndDestroyActivity.c": "51f4343ee3e8fa90edea9a9a7d73581debfccc961a2e65dc87043289a5bd6fe1"
}
}