Skip to content

Instructions For Codex

rayswaynl edited this page Jun 3, 2026 · 60 revisions

Instructions for Codex

Claude-owned handoff (2026-06-02). A single, current, prioritized action queue for the wiki-quality + audit work that falls in Codex's lane (atlas/nav/structure/status pages). Detail and evidence for each item live in Wiki quality audit (sections A/B/C + Round 2). Claude-lane items are already done. Work top-to-bottom; check items off in place. Acceptance = the stated condition is true and the page still passes the link gate.

Already done (no action)

  • ✅ Nav: all 5 new Claude pages are wired into _Sidebar.md (Wiki-Quality-Audit, Variable-And-Naming-Conventions, Public-Variable-Channel-Index, Modules-Atlas, Pending-Owner-Decisions).
  • ✅ Dedup routing (audit section A): construction / supply-cooldown / generated-mission / lifecycle / victory / BattlEye duplications resolved.
  • ✅ Accuracy C1: Networking MASH row now cites DR-34 (was the stale "server relay live"/DR-3).
  • ✅ DR-46 handoff: SEND_MESSAGE direct-PV RCE is cross-linked from Networking, Public Variable Channel Index, SQF Code Atlas, Feature Status, Pending Owner Decisions and the Hardening Roadmap; DR-1 now explicitly says the "no second-order injection" claim applies only to the PVF path.

P0 — Accuracy (a reader is currently being misinformed)

  1. Fixed the UI-atlas finding mislabels (Client UI systems atlas and Client UI HUD and menus). DR-16/17/24/25a/25b/28 are now described as their actual findings, and gear/EASA/service authority links DR-28.
  2. De-hedged the MASH status in SQF atlas. It now cites definitive DR-34 dead/abandoned marker status and keeps MASH respawn separate.
  3. Marked the compile counts point-in-time in SQF atlas. Counts now carry a timestamp, regeneration commands and DR-5 drift warning.

P1 — Surface findings where developers actually look (orphaned cross-links)

  1. DR-44 (wfbe_supply_temp_<side> forgery) is now routed through Economy, Networking and Server runtime atlas.
  2. DR-20 (HQ-killed N-fold score exploit) is now routed through Construction atlas, Gameplay atlas and Server runtime atlas, with source anchors for redundant HQ killed detection and Server_OnHQKilled.sqf score awards.
  3. DR-45 (town-AI deletes player-occupied vehicles) is now explicitly cross-linked from Town-AI vehicle despawn safety and AI/headless, with source anchors for server_town_ai.sqf:211-216 and the separate crew-aware empty-vehicle handler.
  4. ✅ Cited DR-40 by number in WASP overlay and DR-19 in Server runtime atlas, with source anchors for the WASP display wait and hosted/listen FPS publisher guards.
  5. ✅ Added / verified the missing DR cross-links called out in audit section C2: Gameplay atlas routes DR-6/14/11/22/23/15; UI atlases route DR-16/17/24/25; AI/headless routes DR-21/42; Construction atlas routes DR-6; Mission entrypoints routes DR-37/43a.

P1 — Reconcile "current work" status pages (they're stale)

  1. Coordination board: reconciled the stale "Active Lanes" + "Roles" tables. Older sub-agent names (Faraday/Mencius/Hilbert/Cicero/Curie/Meitner) are now explicitly described as harvested/closed scout lanes, victory-endgame-runtime-atlas is marked integrated, and Claude is shown in collaboration-follow-autonomous-ready mode after DR-45+ / DR-46 handoffs.
  2. Progress dashboard: reconciled the "At A Glance" Claude row and dashboard status language. It now reflects the coverage-ledger milestone (Map/Perf/JIP-HC/Drift complete; remaining yellow Auth/PV cells are owner decisions), adds a status legend that separates docs publication from source/Vanilla patches, and fixes the stale DR-46 row from "Local / validation pending" to published/validated with the source patch still open.
  3. _Sidebar.md: Headless-Delegation-And-Failover-Playbook is listed twice (Gameplay + Ops) — de-duplicate. Kept the Gameplay entry next to AI/headless and removed the Ops duplicate.

P2 — Structure (page merges, audit section B)

  1. Hardening roadmap + Server authority map: reconciled as already resolved by Wiki quality audit MERGE-1. The current split is intentional: Roadmap owns patch order, branch discipline and validation gates; Server authority map owns authority principles, migration table, handler checklist and design-review routing.
  2. Client UI HUD and menusClient UI systems atlas: reconciled as already resolved by Wiki quality audit MERGE-2. HUD/menus is now a quick-reference gateway with source anchors; the UI systems atlas remains the canonical implementation map.
  3. Mission entrypointsLifecycle wait-chain: reconciled as already resolved by Wiki quality audit MERGE-3. Entrypoints owns include graph, role dispatch and mission-object init orientation; Lifecycle wait-chain owns boot order, JIP waits and global flag dependencies.

P3 — Thin citations (lower priority)

  1. ✅ Added representative path:line anchors to Core systems index, Architecture overview, Content structure and maps. Also corrected the related Core Systems Discord integration boundary and Architecture max-player-slots wording while those pages were open.

Do NOT change (audit false positives — verified at source)

  • Public variable channel index PVF list ranges :8-20 (server) / :23-37 (client) are correct.
  • DR-15's _side = _this at Server_AssignNewCommander.sqf:3 is correct. (An audit pass miscounted blank lines; leave both as-is.)

Not Codex's lane — informational

  • The economy/forgery owner decision (server-authority vs BattlEye, two surfaces) and the coverage-gap next-review queue (Server/AI respawn+orders, cleaners Perf, config data model, PR#1 delta) are in Pending owner decisions and Deep-review findings Round 36 — for the owner / the next review phase, not a Codex doc task.

New findings — document + cross-link (2026-06-02, Claude)

A standalone "20 improvements" review (a shareable PDF for the owner) source-surfaced one genuinely new finding and several maintainability leads:

  1. DR-46 — SEND_MESSAGE second call compile RCE (Deep-review findings). Cross-linked from Networking, Public variable channel index, SQF atlas, Feature status, Pending owner decisions and Hardening roadmap. DR-1 now states its "no second-order injection" claim applies to the PVF path only; SEND_MESSAGE is the second network-data compile surface. Fix shape: agent-hardening-backlog.jsonl#send-message-call-compile-rce.
  2. Maintainability leads — verified and routed through Variable and naming conventions and SQF atlas. Init_Common.sqf:24-63 / :94-160 now document the legacy short-name versus WFBE_CO_FNC_* overlap; GetClosestEntity{,2,3,4} is recorded as an explicit helper family at :116-119; Client_Support*, Construction_*Site and Loadout_* are routed to their owning service/construction/gear pages; hardcoded English hint examples are recorded as localization/UX cleanup guidance, not a new gameplay defect.
  3. DR-30 correction (BattlEye)External integrations now names the Arma 2 OA filter set and frames BattlEye as contingent local-server defense in depth behind server authority, using updateclient.sqf:153-162 and BattlEyeFilter/publicvariable.txt:1-2 as shipped evidence. Deep-review findings no longer lists remoteexec.txt as a missing OA filter; it now labels remoteexec.txt as Arma 3 remoteExec / remoteExecCall scope only. DR-30's "no security filters shipped in this repo" substance stands.

Batch-4 consistency findings — document / correct (2026-06-02, Claude)

Read-only wiki↔source audit of 7 playbook/index pages (~190 claims, 29 confirmed, all re-verified at source). Attack-wave authority playbook passed clean (0/8). Ordered by severity:

  1. Supply-mission authority cleanup playbook — PR-vs-master scoping corrected. The page now clearly separates current master truck flow from PR #1 / feat/supply-helicopter, and the adjacent Current supply heli PR plus Feature status pages were rechecked against origin/feat/supply-helicopter. Current PR #1 has SupplyByHeli, supply-heli class/upgrade constants (WFBE_C_SUPPLY_TRUCK_TYPES, WFBE_C_SUPPLY_HELI_TYPES, WFBE_C_SUPPLY_VEHICLE_TYPES), cash-run commander-team funds and a Killed handler guarded by wfbe_supply_killed_eh_set; the older T2/T3 constant names and "stacked handler" claim are stale. The command-center scan status remains source/Vanilla propagated, smoke pending.

    Current recheck (2026-06-03): "does not exist in current source" was imprecise because the heli pieces are real on PR #1 (feat/supply-helicopter, current checked head ffeea4c2) and unmerged, not nonexistent. Current PR #1 has SupplyByHeli, heli upgrade-3 cash-run + commander-funds routing, WFBE_C_SUPPLY_TRUCK_TYPES / WFBE_C_SUPPLY_HELI_TYPES / WFBE_C_SUPPLY_VEHICLE_TYPES, and a guarded interdiction Killed handler. The former T2/T3 constant names and "handler stacks" claim are stale. The command-center scan-narrowing exception is now source Chernarus + maintained Vanilla propagated, with Arma smoke still pending.

  2. ICBM authority playbook — corrected normative/factual wording. The current playbook says Tactical-menu checks are local affordances only, then explicitly lists the unsafe server boundary: Server_HandleSpecial.sqf:97-111 accepts _side/_base/_target/_playerTeam, only exits on a null/dead _target, waits on _target death/null and spawns NukeDammage from _base with no commander/upgrade/funds/cooldown/shape/range/side validation. The validation gate now stays future-tense/normative: RequestSpecial should remain legitimate only after the "ICBM" branch gains server-side authority checks. This matches DR-27.

  3. Function and module index — Reaktiv/family-summary drift corrected. Common/Module/Reaktiv is now marked dead/unreachable: Reaktiv_Init.sqf:5 compiles the handler, but no caller exists outside its own folder and Init_Common.sqf:319-323 initializes ICBM, IRS and CIPHER but not Reaktiv. The family summaries now keep depot lookup under the client family (Init_Client.sqf:102), describe Common_Set* as team move-position/state setters rather than waypoint setters, remove generic damage from Common_Handle*, and spell the AI commander upgrade order variable as Format ["WFBE_C_UPGRADES_%1_AI_ORDER", _side].

  4. PVF dispatch implementation playbook — client-command list and line refs corrected. Current _clientCommandPV has 15 active entries at Init_PublicVariables.sqf:25-42 because HandleParatrooperMarkerCreation is now registered too; the playbook now lists all 15 and still excludes commented DatabaseDebug. Ranges are corrected for PVF compile/wiring (:44-52), Common_SendToServer/...Optimized (:12-18), Common_SendToClient (:13-21) and Common_SendToClients (:12-19). The RequestChangeScore source point remains supplyMissionCompletedMessage.sqf:22; the call compile RCE mechanism and A2-OA-safe forEach fix snippet remain correct.

  5. Economy authority first cut — stale audit rechecked. The page already has the accepted master/PR split: current master stamps SupplyFromTown/SupplyAmount in supplyMissionStart.sqf:20-39, server completion reads those vars in supplyMissionCompleted.sqf:9-28, rewards side supply only through ChangeSideSupply:26, and keeps the player's personal cash/score path in supplyMissionCompletedMessage.sqf:13-22. SupplyByHeli is now explicitly scoped to PR #1 / feat/supply-helicopter, not described as a current-master variable. No ChangePlayerFunds or ChangeTeamFunds path exists in Server/Module/supplyMission/supplyMissionCompleted.sqf.

  6. Variable and naming conventions — prefix ownership corrected. The glossary now treats WFBE_CO_FNC_* as mostly-common shared names rather than an exclusive Init_Common.sqf family, with WFBE_CO_FNC_LogContent correctly anchored to initJIPCompatible.sqf:37 and server-compiled shared names anchored to Init_Server.sqf:63-64,89,99-100. The lowercase wfbe_* row now includes team/group state for wfbe_funds (Init_Server.sqf:474, Common_ChangeTeamFunds.sqf:8) and uses real wfbe_ examples; "queu" is called out separately as a non-prefixed legacy replicated key.

  7. Batch-2 recovery → owning pages — corrected / rechecked. Modules atlas now separates generic HandleATMissiles at Client_BuildUnit.sqf:342 from the IRS-specific handler at :356, distinguishes vanilla-gated CM module init from the OA/non-vanilla CM-removal block at Client_BuildUnit.sqf:275-283, describes Soldier skill as ceil(1.5 * WFBE_C_PLAYERS_AI_MAX) at Skill_Init.sqf:49, and treats CIPHER_Sort.sqf as an ExecVMd data-prep script rather than a compiled helper. Economy towns and supply was already current: the personal reward uses raw _supplyAmount in supplyMissionCompletedMessage.sqf:13, while WFBE_C_PLAYERS_SUPPLY_TRUCKS_DELIVERY_FUNDS_COEF remains a defined-but-unused constant at Init_CommonConstants.sqf:268.

Batch-5 consistency findings — document / correct (2026-06-02, Claude)

4 pages, 133 claims, 4 confirmed (all re-verified at source). Headless delegation and failover playbook auditor returned 0 claims (a whiff, not a clean pass) — re-audited in batch 6.

  1. Core systems index — HIGH: external component boundary corrected. The page no longer lists Discord bot status publishing as an in-mission operational system; it now says the mission exports global game stats and the separate DiscordBot/ integration consumes exported data. Source anchors distinguish mission Discord help text (briefing.sqf:17,19, Client/Init/Init_Client.sqf:958, stringtable.xml:416) from Discord publishing code (DiscordBot/src/ProgramRuntime.cs:69-70, DiscordBot/src/GameStatusUpdater.cs:14,52, DiscordBot/src/ExtensionData/GameData/GameData.cs:36,159).

  2. Factory and purchase systems atlas — HIGH + MED. Corrected the range table: updateavailableactions.fsm depotInRange uses _tcr = WFBE_C_TOWNS_CAPTURE_RANGE (:39, :194; default 40 at Init_CommonConstants.sqf:323), while WFBE_C_TOWNS_PURCHASE_RANGE (60 at :338) is the buy-menu closest-depot lookup at GUI_Menu_BuyUnits.sqf:217. Reframed DR-33b as still open with exact random-token evidence: Init_Common.sqf:164 and Client_BuildUnit.sqf:167-172,191,207.

  3. Architecture overview — LOW. Reworded the bootstrap log summary from "player count" to "max player slots" and cited initJIPCompatible.sqf:26-32, where line :31 logs WF_MAXPLAYERS as "Max players Defined".

Batch-6 consistency findings — document / correct (2026-06-02, Claude)

9 pages, 193 claims, 18 confirmed (all source-verified). Clean: Headless delegation and failover playbook (0/6, the batch-5 whiff is resolved), Current-Work-Supply-Helicopters-PR1 (0/24 — accurately documents PR #1), Resistance supply scaffold (0/6). Town-AI vehicle despawn safety returned 0 claims (a whiff) — re-queued for batch 7.

  1. CROSS-CUTTING — claimed-patched status drift rechecked and branch-scoped. The older "implemented on no branch" audit is stale after git pull fetched origin/release/2026-06-feature-bundle, but origin/master is still not patched for the DR-19/DR-39 source shapes: master keeps branch-only sleeps in serverFpsGUI.sqf:1-12 and monitorServerFPS.sqf:1-8, and keeps the broad command-center scan at supplyMissionStarted.sqf:24-28. This docs/source branch has early !isDedicated exits and the narrowed ["Base_WarfareBUAVterminal"] scan; the release branch has a guarded FPS publisher and a PR #1-compatible narrowed scan at supplyMissionStarted.sqf:46-53. Hosted server FPS loop sleep, Supply mission scan narrowing, Performance opportunity sweep, Supply mission authority cleanup and Feature status now say branch-local/release patched, not shipped on origin/master, Arma smoke pending.

  2. Hosted-server FPS loop sleep — branch status corrected. The page now separates stable origin/master from branch-local/release source: origin/master still has while {true} plus if (isDedicated) branch-only sleep 8, this docs branch has early if (!isDedicated) exitWith {}; guards in both FPS publishers, and origin/release/2026-06-feature-bundle keeps a guarded serverFpsGUI.sqf publisher while removing/commenting the redundant Chernarus monitor path. Smoke remains pending before release-complete claims.

  3. Supply-mission scan narrowing — branch scope, config path and line refs corrected. Item 30 superseded the older HIGH claim: origin/master is still broad-scan at supplyMissionStarted.sqf:24-28, but this docs branch has the narrowed ["Base_WarfareBUAVterminal"] scan at :28 and origin/release/2026-06-feature-bundle has a PR #1-compatible narrowed scan at :46-53. The page now cites the real structure config family Common/Config/Core_Structures/Structures_*.sqf (command-center _CC entries at :10) and fixes branch-local line refs: live loop :20, isKindOf check :25, narrowed scan :28, nearby-player broad scan :44.

  4. Performance opportunity sweep — branch scope and line refs corrected. Item 30/32 already fixed the DR-19/DR-39 status and scan refs; this pass corrected the remaining duplicate-skill-init wording. The page now says origin/master still runs Skill_Init.sqf twice at Init_Client.sqf:561 and :585, then applies at :586; origin/release/2026-06-feature-bundle has the same duplicate at :562 and :586 with Apply at :587; this docs branch has the intended single init at :547 and WFBE_SK_FNC_Apply at :571. Factory queue decrement refs already point at Client_BuildUnit.sqf:467-469.

  5. Supply-mission architecture — AI logistics runtime name corrected. The page now uses UpdateSupplyTruck for the broken/deferred runtime path and cites Init_Server.sqf:36,383; AI_UpdateSupplyTruck.sqf remains only the filename/log label. The missing supplytruck.fsm note remains.

  6. Client-UI HUD and menus — WF_Menu source anchor corrected. The quick-reference row now cites Rsc/Dialogs.hpp:1019-1022, covering class WF_Menu, idd = 11000 and the onLoad into Client\GUI\GUI_Menu.sqf.

Batch-7 consistency findings — document / correct (2026-06-02, Claude)

9 pages, 174 claims, 22 confirmed. Clean: UI-IDD collision repair (0/11), WASP marker wait cleanup (0/18), Arma-2-OA compatibility audit (0/21 — A2/A3 command attributions correct), Town-AI vehicle despawn safety (a redirect stub, no checkable claims — correctly clean, not a whiff).

  1. ESCALATION of item 30 — systemic patched-vs-master status drift reconciled for the named pages. Current pages now use branch-aware or patch-ready status instead of broad shipped claims: Hosted FPS, supply scan, performance sweep, supply authority, client skill init and paratrooper marker revival all name origin/master status; Commander reassignment and Factory queue cleanup are patch-ready/source-unpatched pages, not patched claims. Owner convention: never call a remediation shipped on master unless origin/master proves it.

  2. Client skill init idempotency — branch scope and line refs corrected. The page now says this docs branch and maintained Vanilla have one Skill_Init.sqf call at Init_Client.sqf:547 and (player) Call WFBE_SK_FNC_Apply at :571, while origin/master still duplicates at :561 and :585-586 and origin/release/2026-06-feature-bundle still duplicates at :562 and :586-587. It also fixes WFBE_C_PLAYERS_AI_MAX = 16 to Init_CommonConstants.sqf:243.

  3. Commander reassignment call shape — already patch-ready; PVF line ref corrected. The page already treats DR-15 as a confirmed correctness bug / patch-ready, with live _side = _this and dual new-commander-assigned evidence. This pass corrected the Server_HandlePVF.sqf spawn anchor to :14.

  4. Factory queue counter token cleanup — already patch-ready/source-unpatched. Rechecked current source: Client_BuildUnit.sqf:167-168 still uses _unique = varQueu and random token reroll, and :365 is still a bare crewless-vehicle exitWith {}. The page already says DR-33a/b remain open and must not be treated as patched.

  5. Paratrooper marker revival — branch scope corrected. The page now says this docs branch and maintained Vanilla register HandleParatrooperMarkerCreation at Init_PublicVariables.sqf:39, while origin/master still has NukeIncoming at :39 and no paratrooper-marker client PVF registration.

  6. Abandoned feature revival review — LOW (page otherwise accurate). receiverMASHmarker.sqf cited :1-28 (file ends :29); MASHMarker.sqf cited :1-11 (ends :13). The dead-feature claims themselves check out. Acceptance: minor range fixes.

Batch-8 consistency findings — document / correct (2026-06-02, Claude) — COMPLETES content coverage

10 pages, 341 claims, 8 confirmed. Scoping good-news: the canonical Deep-review findings register (71/72 clean) and the entry/guide pages (Quickstart, LLM agent entry pack, AI assistant developer guide, Content structure and maps, Arma-2-OA command version reference, Testing-Debugging stub) are reliable — the systemic status-drift is confined to the remediation playbook pages (items 30/36), not the register or the onboarding docs.

  1. DONE by Codex — Deep-review findings Fix-2 PVF allowlist snippet now uses an A2-OA forEach loop. The former remediation snippet used the Arma 3-only apply array commandWFBE_SE_PVF_ALLOWED = _serverCommandPV apply {format ["SRVFNC%1", _x]} (+ the CLTFNC twin). apply is A3 1.56+; it does not exist in A2 OA 1.64. The snippet is now WFBE_*_PVF_ALLOWED = [] plus forEach array concatenation, matching the PVF dispatch implementation playbook. apply remains listed in the command version reference as an A3-only avoid command.

  2. DONE by Codex — WASP overlay fabricated self-test content removed and WASP_procInitComm line refs corrected. The page formerly listed test/wasp_selftest.sqf as a live file wired at init.sqf:4 with a full behavior section, but source verification found no root init.sqf, no test/ directory, no *selftest* file and 0 hits for WASP-SELFTEST. The page now treats that old description as a documentation error, and WASP_procInitComm points to the commented block at initJIPCompatible.sqf:241-245, specifically :243.

  3. DONE by Codex — Source inventory now has a refreshed point-in-time tracked-file snapshot and regen command. Current git ls-files recheck on docs/developer-wiki-index found 3432 tracked files, including docs/ (110), .github (2), CLAUDE.md, mkdocs.yml, .md (104), .json (9), .jsonl (4) and .ogg still 59 in this checkout. The page now labels the snapshot with timestamp/branch and includes PowerShell commands to regenerate top-level and extension counts.

  4. RECHECKED by Codex — Home Tools count remains 199 for tracked source. git ls-files Tools returns 199; Get-ChildItem -Recurse -File Tools returns 224 because ignored build/bin artifacts are present. Keep Home/Source Inventory counts based on tracked files unless the page explicitly switches to filesystem counts.

Coverage milestone: batches 1–8 complete the wiki's content-page audit (~54 pages, ~1,500 claims, ~130 confirmed inconsistencies). Remaining pages are agent-process/coordination and external-Arma-2-reference artifacts (Agent-, Coordination-Board, Claude-, Progress-Dashboard, Pending-Owner-Decisions, Knowledge-Platform-Roadmap, External-Research-Reports, External-Arma-2-OA-Reference-*, _Sidebar/_Footer) with low mission-source-claim density — not a fruitful source-consistency target. The dominant, highest-value theme across the whole audit is the systemic "patched-but-unmerged" status drift (items 30 + 36): ≈8 DR-remediation pages mark fixes shipped that are still live in master.

Batch-9 consistency findings — document / correct (2026-06-02, Claude) — FINAL breadth pass

6 pages, 82 claims, 7 confirmed. Clean: Codebase coverage ledger (0/30 — accurate), Arma-2-OA external reference guide (0/16 — A2/A3 attributions correct), Knowledge platform roadmap + External research reports (no mission-source claims).

  1. Progress dashboard — HIGH status-drift recheck. Current source now agrees with the dashboard rows for the three named fixes, so the older audit text is a stale false-positive for this page. Source Chernarus and maintained Vanilla both have a single Skill_Init.sqf call at Init_Client.sqf:547 and WFBE_SK_FNC_Apply at :571; both supply mission loops use nearestObjects [(getPos _associatedSupplyTruck), ["Base_WarfareBUAVterminal"], 80] at supplyMissionStarted.sqf:28; both FPS publishers start with if (!isDedicated) exitWith {}; at serverFpsGUI.sqf:1 and monitorServerFPS.sqf:1. The Progress Dashboard's Published/propagated smoke pending wording is therefore correct for these three rows; Arma smoke remains the open gate.

  2. Pending owner decisions — MEDIUM + LOW. (MED) line 8 gives the PVF dispatcher path as Server/Client_HandlePVF.sqf — no such file; it conflates the two real files (Client/Functions/Client_HandlePVF.sqf + Server/Functions/Server_HandlePVF.sqf: wrong dir, missing Functions/). (LOW) line 51 names the dead WASP action GearYourUnit; the actual file is GearYouUnit.sqf (no "r"; WASP/actions/AddActions.sqf:4). Acceptance: fix the path + the typo.

AUDIT COMPLETE (9 batches, 2026-06-02). ~60 pages, ~1,580 concrete claims, ~137 confirmed inconsistencies. The wiki's content pages, the canonical Deep-review findings register, and the entry/guide docs are largely reliable; the dominant, highest-value reconciliation is the systemic "patched-but-unmerged" status drift (items 30 → 36 → 46): ≈8 remediation pages and the Progress-Dashboard mark DR fixes "patched/Published" that are still live in master (DR-2/15/19/33/39 + double-Skill_Init), while no fix branch exists for any of them. Recommended single highest-leverage fix: a Shipped (master) / Proposed (PR #N) / Proposed (no branch) status convention, reconciled against source + the accurate Codebase-Coverage-Ledger. Remaining unaudited pages are pure agent-process/coordination artifacts with no mission-source claims.

Scripting-reference pass — BIKI version cross-check vs source (2026-06-02, Claude)

Dissected BI's Arma 2 OA scripting-command category against actual source-command usage (BIKI version badges verified read-only, community.bohemia.net). Acted on item 42 directly: added apply (A3 1.56) to the A3-only table in the Arma-2-OA command version reference (page I own) — re-confirmed source has zero apply array-command uses (10 hits are the English word in comments). The remaining finding is one routing item for the pages Codex owns:

  1. DONE by Codex — inverse-trap command classes are now represented in Arma-2-OA compatibility audit and agent-compatibility-audit.json. The audit + JSON now cover both A3-into-OA import risks and the opposite trap: (a) OA-safe commands mis-assumed A3-onlydiag_tickTime (A2 1.00; the PerformanceAudit_Record stopwatch, ~62 files) and uiSleep (A2 1.05 / OA 1.50; AntiStack loops + building restorer, 7 files); (b) OA-safe commands removed in A3setVehicleInit + processInitCommands (OFP/A2 1.00, OA 1.50; disabled in A3 for security; 17/19 files, all with hardcoded literal init strings, so no injection surface beyond DR-1). Future agents should treat these as confirmed_oa_safe_despite_a3_appearance and oa_safe_removed_in_a3, not as cleanup targets.

Scripting-reference pass 2 — object-scan family + A3 trap-check (2026-06-02, Claude)

Second BIKI cross-check, theme = object-scan/spatial commands + a sweep for A3-only "looks-useful" commands. All version-verified and grounded in source. Added an "Object scans & spatial queries" section + rows to the command version reference (page I own): nearestObjects/nearEntities/nearObjects/nearestObject (all A2/ArmA/OFP, OA-safe), getPosATL/setPosATL (A2 1.03), createVehicleLocal (ArmA 1.00, client-local/not-synced), addWeaponCargoGlobal/addMagazineCargoGlobal (OA 1.55, not A3-only, Global effect). Also extended the A3-only table with two confirmed-absent traps: setUnitLoadout/getUnitLoadout (A3 1.58) and hideObjectGlobal/enableSimulationGlobal (A3 1.12) — 0 source hits each (positive assurance; LoadoutManager is config-driven, not the A3 loadout API). One routing item:

  1. DR-39 perf guardrail for the pages you own — LOW (additive; prevents a wrong "optimization"). Supply mission scan narrowing and Performance opportunity sweep describe narrowing the broad nearestObjects [pos, [], 80/8] supply command-center scan (supplyMissionStarted.sqf:45,61). Worth one explicit sentence there: the scan targets the Base_WarfareBUAVterminal structure, so the narrowing must stay a class-filtered nearestObjects/nearObjects + isKindOf — it must not be swapped to nearEntities, which returns only alive units/vehicles/logics (no buildings) and would silently match nothing. Source already uses nearEntities correctly for entity proximity (camps/depots/airfields), so the distinction is real and easy to trip on. Suggested: add the one-line guardrail; no status change implied (DR-39 remains unpatched per the current source snapshot).

Scripting-reference pass 3 — string/selection command traps (2026-06-02, Claude)

Third BIKI cross-check, theme = the string/selection commands an A3-trained agent reaches for by reflex. All A3-only ones confirmed absent from source; added to the A3-only table in the command version reference: selectRandom (A3 1.56), splitString/joinString (A3 1.50), trim (A3 2.02) + regex. The repo's OA-safe random-pick idiom is _arr select floor(random count _arr). Key distinction documented: BIS_fnc_selectRandom (the function) is OA-safe (A2 1.00) and is used 4× in Client_BuildUnit.sqf, but the selectRandom command is A3-only — don't collapse one into the other.

  1. (Optional, LOW) Reflect the new A3-only string/selection traps in agent-compatibility-audit.json. The unsafeIfAddedAsImplementationAdvice list could gain selectRandom, splitString, joinString, trim (all verified A3-only, absent from source) to match the avoid-list now on the command version reference. Purely additive guardrail; no doc currently misuses them. Acceptance: the four commands appear in the JSON avoid-list (or an explicit decision to keep the JSON scoped to remote-exec/extension risks only).

Continue Reading

Detail: Wiki quality audit | Findings: Deep-review findings | Decisions: Pending owner decisions

Sidebar

Clone this wiki locally