{ "schema": "a2waspwarfare-agent-compatibility-audit-v1", "generatedAt": "2026-06-03T14:45:00+02:00", "repository": "rayswaynl/a2waspwarfare", "engineBaseline": "Arma 2 Operation Arrowhead 1.64 / Combined Operations", "canonicalHumanPage": "Arma-2-OA-Compatibility-Audit.md", "status": "string-selection-a3-only-command-guardrails-refreshed", "latestRefresh": { "timestamp": "2026-06-03T14:45:00+02:00", "result": "Added machine-readable guardrails for A3-only string/selection command traps: selectRandom, splitString, joinString and trim. The command forms are confirmed absent from source; BIS_fnc_selectRandom remains classified as an OA-safe function and must not be collapsed into the A3-only selectRandom command.", "includesNewerPages": [ "AntiStack-Database-Extension-Audit.md", "Integration-Trust-Boundary-Audit.md", "Agent-Release-Readiness-Ledger.md", "Source-Fix-Propagation-Queue.md", "Arma-2-OA-Command-Version-Reference.md", "Deep-Review-Findings.md", "agent-context.json" ] }, "scope": [ "docs/wiki/*.md", "docs/wiki/*.json", "docs/wiki/*.jsonl", "docs/wiki/*.txt" ], "auditCommands": [ "rg -n -i \"\\bArma ?3\\b|\\bA3\\b|Arma3|remoteExec(Call)?|BIS_fnc_MP|addMissionEventHandler|isRemoteExecuted|remoteExecutedOwner|CfgFunctions|CBA|ACE|Eden Editor\" docs\\wiki --glob '*.md'", "rg -n -i \"remoteExec|remoteExecCall|BIS_fnc_MP|addMissionEventHandler|isRemoteExecuted|remoteExecutedOwner|CfgFunctions|Eden Editor|parseSimpleArray|RVExtensionArgs\" docs\\wiki --glob '*.{md,json,jsonl,txt}'", "rg -n -i \"\\bCBA\\b|\\bACE\\b|Eden\" docs\\wiki --glob '*.{md,json,jsonl,txt}'", "rg -n -i \"\\bapply\\b|isEqualTo|setGroupOwner|groupOwner|diag_tickTime|uiSleep|setVehicleInit|processInitCommands\" docs\\wiki --glob '*.{md,json,jsonl,txt}'", "rg -n \"\\bselectRandom\\b|\\bsplitString\\b|\\bjoinString\\b|\\btrim\\b\" Missions Tools DiscordBot Extension docs\\wiki --glob '!docs/wiki/Arma-2-OA-Command-Version-Reference.md'" ], "knownAllowedReferenceClasses": [ { "class": "guardrail", "meaning": "The term is present to warn agents not to use an Arma 3-era API or assumption.", "examples": [ "Use Arma 2 OA scripting docs, not Arma 3.", "Do not import remoteExec into this OA-era PV/PVEH mission." ] }, { "class": "explicit_non_option", "meaning": "The term names an Arma 3 or newer feature specifically to reject it for this repo.", "examples": [ "parseSimpleArray is not the hardening path here.", "RVExtensionArgs is not the extension ABI used here." ] }, { "class": "evidence_contrast", "meaning": "The term appears in deep-review evidence to contrast Arma 2 OA behavior with newer engine behavior.", "examples": [ "remoteExecutedOwner is mentioned only to explain that OA PVEHs do not provide that sender-identity model." ] }, { "class": "terrain_or_folder_name", "meaning": "The term is a content/folder name, not an editor workflow or engine feature recommendation.", "examples": [ "Modded_Missions/eden is a divergent terrain fork, not Eden Editor advice." ] }, { "class": "confirmed_oa_safe_despite_a3_appearance", "meaning": "The command exists in Arma 2/OA and is used intentionally even though newer-engine familiarity may make it look suspicious.", "examples": [ "diag_tickTime is A2-era and is the correct unscaled stopwatch for PerformanceAudit.", "uiSleep is OA-safe and appropriate for real-time housekeeping cadence." ] }, { "class": "oa_safe_removed_in_a3", "meaning": "The command exists and works in Arma 2 OA even though Arma 3 disabled or removed it; do not remove it solely because of Arma 3 security history.", "examples": [ "setVehicleInit is OA-safe when this repo uses hardcoded literal init strings.", "processInitCommands is the OA-era pair for queued setVehicleInit calls." ] } ], "unsafeIfAddedAsImplementationAdvice": [ "remoteExec", "remoteExecCall", "BIS_fnc_MP", "remoteExecutedOwner", "isRemoteExecuted", "remoteExecutedOwner-based authority", "CfgFunctions preInit/postInit migration without OA proof", "parseSimpleArray", "RVExtensionArgs", "CBA helper requirement", "ACE helper requirement", "Eden Editor workflow requirement", "Arma 3 BattlEye examples treated as shipped repo evidence", "params command style", "array apply map form", "isEqualTo command style", "setGroupOwner / groupOwner locality transfer", "array or string multi-index select forms", "array select filter form", "inline private assignment", "selectRandom", "splitString", "joinString", "trim" ], "unsafeIfRemovedOrModernizedWithoutOAReplacement": [ "diag_tickTime", "uiSleep", "setVehicleInit", "processInitCommands" ], "classificationSummary": [ { "pattern": "Arma 3 / Arma3", "classification": "guardrail", "action": "Keep warnings; do not treat as implementation advice." }, { "pattern": "remoteExec / remoteExecCall", "classification": "guardrail", "action": "Keep only as invalid drop-in examples for OA-era PV/PVEH flow." }, { "pattern": "BIS_fnc_MP", "classification": "guardrail", "action": "Keep only in anti-modernization checklist text." }, { "pattern": "remoteExecutedOwner", "classification": "evidence_contrast", "action": "Keep only when explaining why server authority must be reconstructed without sender identity." }, { "pattern": "parseSimpleArray", "classification": "explicit_non_option", "action": "Keep as a rejected parser-swap fix; use defensive validation for extension output." }, { "pattern": "RVExtensionArgs", "classification": "explicit_non_option", "action": "Keep as a rejected extension ABI assumption." }, { "pattern": "CfgFunctions", "classification": "guardrail", "action": "Keep as a warning that this mission uses hand-rolled wait barriers instead of CfgFunctions auto-init." }, { "pattern": "CBA / ACE", "classification": "guardrail", "action": "Keep only as dependency warnings; do not add these helpers without owner approval." }, { "pattern": "Eden / eden", "classification": "terrain_or_folder_name", "action": "Treat Modded_Missions/eden as a terrain/fork name unless text explicitly says Eden Editor." }, { "pattern": "apply / params / isEqualTo / setGroupOwner / multi-index select / inline private assignment", "classification": "explicit_non_option", "action": "Keep only as avoid-list or correction text; use A2-OA private/select/forEach patterns in snippets." }, { "pattern": "selectRandom / splitString / joinString / trim", "classification": "explicit_non_option", "action": "Keep only as A3-only avoid-list terms. Use OA-safe manual select/toArray/toString patterns, or BIS_fnc_selectRandom where the source already uses the function." }, { "pattern": "diag_tickTime / uiSleep", "classification": "confirmed_oa_safe_despite_a3_appearance", "action": "Keep when source context fits; do not replace merely because they look modern to an Arma 3-trained agent." }, { "pattern": "setVehicleInit / processInitCommands", "classification": "oa_safe_removed_in_a3", "action": "Keep hardcoded-literal OA usage unless a source-backed replacement is designed and smoked." } ], "inverseTrapCommandClasses": [ { "class": "confirmed_oa_safe_despite_a3_appearance", "commands": [ "diag_tickTime", "uiSleep" ], "evidence": [ "Arma-2-OA-Command-Version-Reference.md#confirmed-available-in-arma-2-oa", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Client/Client_UpdateRHUD.sqf:187", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Module/AntiStack/mainLoop.sqf:16", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/FSM/restorers/buildings_restorer.sqf:26" ], "agentRule": "Do not modernize these away; verify OA support through the command-version reference and preserve intended real-time/performance semantics." }, { "class": "oa_safe_removed_in_a3", "commands": [ "setVehicleInit", "processInitCommands" ], "evidence": [ "Arma-2-OA-Command-Version-Reference.md#oa-safe-but-removed-in-arma-3--the-inverse-trap", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Functions/Common_AddVehicleTexture.sqf:8", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Client/Module/UAV/uav.sqf:30", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Functions/Common_CreateVehicle.sqf:44" ], "agentRule": "Do not remove these because Arma 3 disabled them. In this OA mission, the documented uses are hardcoded literal init strings; distinguish that from DR-1's sender-chosen compile risk." } ], "a3OnlyStringSelectionCommandTraps": [ { "class": "explicit_non_option", "commands": [ "selectRandom", "splitString", "joinString", "trim" ], "evidence": [ "Arma-2-OA-Command-Version-Reference.md#commands-to-avoid-unless-proven-oa-compatible", "docs/wiki/agent-knowledge.jsonl#string-selection-command-traps-oa-2026-06-02", "Source grep on 2026-06-03 found no mission/tooling uses of the command forms outside documentation guardrails." ], "agentRule": "Do not introduce these Arma 3-only commands into SQF snippets or code patches. Preserve `_arr select floor(random count _arr)` and `_arr call BIS_fnc_selectRandom` as the OA-safe random-pick forms." } ], "scanSnapshot": [ { "pattern": "Arma 3 / Arma3", "hitCount": 64, "classification": "guardrail" }, { "pattern": "remoteExec / remoteExecCall", "hitCount": 27, "classification": "guardrail" }, { "pattern": "BIS_fnc_MP", "hitCount": 11, "classification": "guardrail" }, { "pattern": "remoteExecutedOwner / isRemoteExecuted", "hitCount": 14, "classification": "evidence_contrast" }, { "pattern": "parseSimpleArray", "hitCount": 19, "classification": "explicit_non_option" }, { "pattern": "RVExtensionArgs", "hitCount": 10, "classification": "explicit_non_option" }, { "pattern": "CfgFunctions", "hitCount": 14, "classification": "guardrail" }, { "pattern": "CBA / ACE", "hitCount": 10, "classification": "guardrail" }, { "pattern": "Eden Editor", "hitCount": 11, "classification": "terrain_or_folder_name" } ], "highRiskFutureWorkAreas": [ "AntiStack A2WaspDatabase return hardening", "PVF/server-authority migration", "mission lifecycle/init refactors", "BattlEye filter design", "UI or marker performance rewrites that might suggest newer SQF commands" ], "futureAgentRules": [ "Use Bohemia Interactive Arma 2 OA / Combined Operations support as the scripting baseline.", "Before adding docs or patches with engine-version-sensitive commands, run the auditCommands or inspect Arma-2-OA-Compatibility-Audit.md.", "If a risky term is added intentionally, classify it as guardrail, explicit_non_option, evidence_contrast or terrain_or_folder_name.", "If an inverse-trap command appears, classify it as confirmed_oa_safe_despite_a3_appearance or oa_safe_removed_in_a3 before suggesting removal.", "If a risky term is added as implementation guidance, correct it or cite an OA-compatible source proving support.", "Do not replace this mission's publicVariable/PVEH model with Arma 3 remote execution patterns." ], "wikiTargets": [ "Arma-2-OA-Compatibility-Audit", "Arma-2-OA-External-Reference-Guide", "AI-Assistant-Developer-Guide", "LLM-Agent-Entry-Pack", "llms.txt", "agent-context.json" ] }