Skip to content

Feature Status Register

rayswaynl edited this page Jun 6, 2026 · 471 revisions

Feature Status Register

This register separates working systems from partial, deferred or risky systems found during indexing. For revive/remove decisions on dormant feature paths, use Abandoned feature revival.

What this page is

  • Canonical risk-and-readiness map for current gameplay feature health.
  • Evidence-first patch status for active systems, partial systems and likely regressions.
  • Canonical cross-link hub so subsystem pages and playbooks route users here for current patch risk and ownership.

Where it lives

How this page runs in the workflow

  1. Read this register first for risk ranking before opening a subsystem playbook.
  2. Use [Area] rows to pick the current highest-impact lane and then open:
    • Source index / atlas pages (e.g., SQF-Code-Atlas.md, Server-Gameplay-Runtime-Atlas.md)
    • Hardening roadmap
    • DR/cross-link pages (Deep-review findings, Public-variable channel index, feature atlases)
  3. Prefer this page for the latest patch status and known open dependencies before editing source.

What depends on this page

Risk notes

  • Keep patch-risk edits in-place and one-way: add proof to canonical pages instead of repeating deep call stacks in this register.
  • Treat entries marked "patch-ready-current-source-unpatched" as live claims requiring source+vanilla validation before changing status to published.
  • If a finding is promoted or closed, update this register and the corresponding lane record in agent-feature-status.jsonl first, then mirrors and progress pages.
  • Use Developer history and upstream lessons when a risky feature overlaps upstream supply, JIP, marker, town-AI, performance or reverted-branch history.
  • Upstream-derived risk rows should name exact refs when used for implementation claims. The current local miksuu/master head checked for current-head rows is 89ae9dad; use Community & Dev and Upstream Miksuu commit intel before turning upstream lessons into implementation claims.

Working / Active Systems

  • Core Warfare loop: towns, commanders, bases, factories, upgrades, resources and victory checks.
  • Client/server/common initialization split.
  • Generic PVF request/response system.
  • Player supply-truck missions on master.
  • Enhanced day/night cycle with server authority and client smoothing.
  • Server FPS publishing and RHUD/FPS HUD.
  • Performance audit instrumentation plus analyzer.
  • Client auto view-distance and target-FPS hotkeys; current source uses a 60 FPS default, +/-4 FPS band and map-visible guard.
  • Anti-stack module with optional mission parameter.
  • AFK kick through BattlEye publicVariable filter.
  • MASH/ambulance respawn support; MASH marker synchronization is listed below as broken.
  • ICBM/radiation module.
  • EASA aircraft loadout module.
  • Client marker blinking guarded by parameter.
  • Air Event override parameter remains live: it forces event economy/upgrade-clearance defaults and hides ICBM plus Avenger/Tunguska-style heavy AA. Canonical route: Mission parameters.
  • LoadoutManager mission copy/generation workflow.
  • Discord bot status updates from exported game data.

Partial / Deferred / Needs Review

Area Evidence Status
Client-visible indicators and state surfaces 2026-06-06 indicator scout/sharpening pass found and routed indicator families across Rsc/Titles.hpp, Client_UpdateRHUD.sqf, updateavailableactions.fsm, client_title_capture.sqf, marker loops, Tactical/Respawn markers, support marker PVFs, Buy Units/EASA/Gear/Upgrade icons, server-FPS/status publishers and Client/Images references. Exploration backlog, partially indexed. Use the exact-anchor table in Client UI systems atlas to fill the owner/audience/update/cleanup/smoke matrix before redesigning or pruning indicators.

Networking / Public-variable hardening lane (source-backed)

This lane tracks direct channels, PVF authority boundaries, and JIP semantics that are still open after the PVF dispatch trust patch lane.

  • publicVariable/publicVariableServer direct request channels are not hardened by PVF allowlisting.
  • request handlers still need explicit side/team/ownership checks even after dispatch is fixed.
  • missionNamespace/JIP handling differs by channel; some flows are request-response only and are not replay-safe.
Area Evidence Status
Upstream supply-run exploit/JIP regression pattern Miksuu PR #10 / merge 97dfff26 fixed remote supply-truck activation; PR #11 / 8164cc33 added a 50 m "too far" notification; PR #12 / 86ec28d6 fixed that notification firing during JIP. Confirmed historical risk. Keep supply mission start/reward hardening server-owned and test late join + remote-start behavior before merging new supply/cash-run variants.
Town-defense activation/capture-state regression pattern 4aaa814a and 6189f3c5 optimized town/camp/town-AI scans; follow-ups a20a5a0f, 84b1b684, ea0bff2e restored reliable/pre-capture activation and prevented defenders from waking enemy towns. e4be1958 adds capture-side cleanup, and current origin/master / local master / Miksuu 89ae9dad adds captured-defender persistence/cleanup helpers and diagnostics in both maintained roots. Current-master source evidence, smoke/DR-45 gated. Town-AI optimizations now have stable-master capture-state reset/persistence evidence, but runtime confidence still needs Arma smoke and the player-occupancy guard because Server_CleanupExpiredTownDefenseAssets.sqf:61-64 and server_town_ai.sqf:278 still use player-leader-style deletion guards.
Upstream marker locality/cache regression pattern 9a550b7a reverted a group-leader marker global-var experiment; 9c72a281, 951e72cb, 332874fd fixed marker tracking, disconnect staleness and side visibility leaks. Confirmed historical risk. Marker/cache changes need side-visibility and disconnect/reconnect validation.
Deep-history AntiStack/RequestJoin fragility 09131233, 841d16af, 88a2ef49, 448b1d85, b32babc7 show command typo, launch-state semantic change, RequestJoin fixes, DB type crash and an AntiStackV6 revert. Confirmed historical risk. AntiStack changes need launch/late join, teamswap, disabled-mode, DB-unavailable and monitoring-only validation.
Deep-history removed task system f61f7222 removed task system entirely; 4881e0d5 removed it from all terrains. Confirmed removed/deferred. Do not revive as a small UI toggle; rebuild as a new JIP-safe task feature if owner wants it back.
Deep-history generated map/version failure pattern 081c1dc4 added copypasted untested modded terrain files; c312b0ec added missions with copypaste method; 812e9596 removed Tasmania after clean-repo mission-load failures tied to ignored/generated version.sqf. Confirmed tooling/release risk. Generated version.sqf and clean-checkout map loads are release gates.
Deep-history branch tombstones and reverted PRs oldMasterBranch tip 3a7972a2 deletes old master contents; PR #3 HQ repair price merged then 346e3be8 reverted it; PR #9 endgame music closed unmerged; A3 test tree removed by 83298186. Confirmed negative knowledge. Do not revive old branch or PR content from name/status alone; check later reverts, branch family and OA compatibility first.
Deep-history client init/UI/marker lifecycle risk 3ff02aea moved clientInitComplete to the real end of init; c6d2539e fixed UI global action state; 95a12305 fixed UAV marker audience leakage; 9c72a281 restored marker motion after cache optimization. Confirmed historical risk. Client/UI/marker work must preserve lifecycle ordering, side audience, moving-marker position refresh and JIP behavior.
Deep-history construction/removal/runtimes 77a07bc0 reverted construction argument dedupe; 16856ae7/8b7fab95 removed guerilla barracks across FSM/HC/buy paths; 33fb2676 reverted supply performance work using wrong authority context. Confirmed historical risk. Construction/removal/performance edits need call-contract docs, full reference greps and dedicated-server/JIP smoke.
Second-wave release tooling and modded packaging risk Current ZipManager.cs packages Missions and Missions_Vanilla while Modded_Missions is commented out; 2a13ce36 requires env var 7za; 3458e714 handled locked file copies; f095e461 fixed Takistan DB map ID post-copy. Confirmed tooling/release risk. Treat release output as Chernarus + generated Vanilla/Takistan unless modded packaging is re-enabled and validated; inspect LoadoutManager logs, 7za, version.sqf, and terrain post-copy fixes.
Second-wave HQ repair and ICBM economy authority risk PR #3 / 7cd0e18d increasing HQ repair cost was reverted by 346e3be8/59a995e8; 5db438ca 75k nukes were reverted by 31d8a06d; current ICBM/HQ repair paths still have client-side action/debit authority concerns. Confirmed historical + current authority risk. Do not add HQ repair escalation or ICBM price/effect changes until server validates affordability, side/team/commander, cooldown, debit and final effect.
Second-wave marker blinking and HC routing risk Dec 2025 marker blinking chain includes 2f6ff43d, 9a550b7a, 9c1fe110 defaulting blinking off; HC upstream history adds a241ac75, 6760f1a3, 1d79ba2a, 6b90c872, f5e8fa47 and bb01ebfc for typed HC routing, side-less call hazards and generated mission-slot drift. Confirmed branch-history risk. Keep marker blinking off by default; HC changes need typed pools, server update-back, side-less HC tests, generated mission slot checks and event-handler cleanup proofs.
Second-wave score/bounty/supply-compensation coupling f17445c1, b31539b4, cc127ef4, 415615c9 changed score/bounty/teamkill handling; upstream/SkillDiffCompensation feeds side supply through ChangeSideSupply. Confirmed historical risk. Treat score awards, bounty math and skill-diff compensation as AntiStack/economy changes; harden side-supply authority before expanding compensation.
Old WarfareBE FPS comparison and AI-cap debate Old WarfareBE performance comparison compares old BennyBoy WarfareBE Takistan Lite at aeb71bb against current Wasp Chernarus and finds lower old player-AI defaults (12 player cap, fixed Soldier +6, no commander +10) but no magic old town-AI architecture: old BE still has town nearEntities, spawn/despawn, static gunners, cleanup collectors, PVF dispatch and marker loops. Confirmed docs/test lane, not a source patch. Use the old mission as an A/B baseline and run matched tests before changing gameplay: normal-role cap 8-10, Soldier/commander identity preserved deliberately, HC present/absent logged, active town/static counts split from player followers, and view distance separated from server-AI load.
Old-FPS scout easy-win harvest The returned old-warfarebe-fps-scout addendum confirmed both FPS publishers are active, SERVER_FPS_GUI is the RHUD path while WFBE_VAR_SERVER_FPS lacks an obvious source consumer, current PV/PVF surface is broader but server requests use publicVariableServer, delegated town AI avoids global per-unit init, AntiStack/PerformanceAudit are current-only A/B variables, and static-defense HC readback remains unproven. Evidence harvested into owner pages. First actions are test/config/docs: consumer-map FPS variables, pin view distance, run AntiStack/audit ON/OFF presets and avoid claiming static-defense HC as a confirmed FPS win. Source patches remain future code-owner work.
Dynamic player-AI cap and AI-source scoreboard The old-vs-current-fps-opportunity-scout and old-be-current-wasp-fps-opportunity-scout-2 reports at C:\Users\Steff\Documents\Codex\2026-06-05\wasp-old-vs-current-fps-investigation\outputs\Old-BE-vs-Current-Wasp-FPS-Opportunity-Audit.md and C:\Users\Steff\Documents\Codex\2026-06-05\wasp-old-mission-fps-opportunity-window\outputs\Old-BE-vs-Current-Wasp-FPS-Opportunity-Scout.md promote a role-aware cap design: public pilot normal roles near 10, Soldier preserved higher, commander bonus reduced from +10, and final policy driven by a server-published side AI budget. The final scout fixes the preferred test order as AI-source scoreboard, cap pilot, HC proof, low-SV town branch, static-defense HC/accounting, cleanup/object-count evidence, then PV/server-FPS/network cleanup. Owner-decision gameplay/performance lane. Not a confirmed FPS fix until the full-server FPS opportunity pack records 10/15/20/25/30-player evidence. Any implementation must keep buy menu and RHUD cap formulas aligned, enforce lower caps non-destructively for future purchases first, and treat static-defense HC accounting as a proof gate rather than a claimed FPS win.
WF menu ops-console reskin branch origin/feat/wf-menu-ops-console head 0767c0b5 is a UI-only theme branch from origin/master 2cdf5fb8: Chernarus + maintained Vanilla Rsc/GUI/HUD files, new brand_chevron.jpg, and docs/superpowers plan/spec/mockup files. Evidence: Rsc/Styles.hpp:10-40, Rsc/Ressources.hpp:117-131,274-277, Rsc/Dialogs.hpp:1057-1064,1173-1179,1240-1249, Rsc/Titles.hpp:178-179. Confirmed branch-review risk. Not gameplay logic, but not release-ready until Arma 2 OA visual smoke proves font availability, texture path/case handling, contrast, hub/menu/HUD rendering and Chernarus/Vanilla parity. Also clean branch trailing whitespace reported by git diff --check in docs/superpowers/plans/2026-06-03-wf-menu-ops-console.md:78,179. Use Client UI systems atlas and the branch-only feature smoke pack.
BuyMenu/EASA QoL branch origin/feat/buymenu-easa-qol head a66d4691 is a narrow Chernarus UI branch: unaffordable buy-unit price tint (Client_UIFillListBuyUnits.sqf:1,61-62,104), live queue counts on factory tabs (GUI_Menu_BuyUnits.sqf:201-210), selected-unit cost formula/display work (GUI_Menu_BuyUnits.sqf:280,335,388,444,487) and EASA current-loadout highlight/preselect (GUI_Menu_EASA.sqf:29-40). Full audit: BuyMenu EASA QoL branch audit. Confirmed branch-review risk, low blast radius. It is UI-only, 3 Chernarus files and git diff --check clean, but not propagated to maintained Vanilla. Needs Arma 2 OA menu smoke for affordability color versus full/crew cost, queue label refresh/no flicker, final idc 12034 price after the later write, and EASA current-loadout selection including filtered/unset cases.
Player stats branch origin/feat/player-stats head e01e47e1 adds off-by-default SQF stat emission (WFBE_C_STATS_ENABLED = false at Init_CommonConstants.sqf:443), kill-stat hooks (RequestOnUnitKilled.sqf:51-65), Server/Stats/*, DiscordBot Stats/* RPT tailing/accumulation and DiscordBot.Tests/*. Local branch validation passed: dotnet test 13/13. Full audit: Player stats branch audit. Confirmed branch-review risk. Safe by default because the feature flag is false, but enabling it is operational/integration work: decide RPT path/state-file ownership, UID/privacy policy, log volume, corrupt stats.json recovery, deployment config, Chernarus-only vs Vanilla propagation and whether stats belong in DiscordBot or the mission extension.
Perf quick-wins branch origin/perf/quick-wins head 0076040f is a Chernarus-only fix branch with 18 files, +27/-27 and clean git diff --check. It patches known docs-backed defects including side-supply clamp shape (Common_ChangeSideSupply.sqf:25, Server_ChangeSideSupply.sqf:12,36), factory queue cleanup on crewless buys (Client_BuildUnit.sqf:365-368), paratrooper marker PV registration (Init_PublicVariables.sqf:40), mine-cleaner pair removal (mines_cleaner.sqf:17), dead-object wfbe_trashed handling (server_collector_garbage.sqf:17), fixed resource interval (updateresources.sqf:74), camp-bunker nil-code EH removal (Server_HandleSpecial.sqf:235-236) and kill-assist bounty type (RequestOnUnitKilled.sqf:92). Full audit: Perf quick wins branch audit. High-value branch-review risk. Treat as a fix candidate, not proof that stable master is fixed. It is source-Chernarus only; Missions_Vanilla has no branch diff and still shows the old clamp/EH/kill-assist/resource-loop shapes. For factory queue, it fixes the crewless counter leak only; the low-entropy varQueu token remains open. Reconcile with docs/source propagated fixes, propagate maintained Vanilla deliberately, keep DR-44 side-supply authority separate from the clamp, and smoke economy debit/no-credit inversion, factory queue counters/tokens, paratrooper marker handling, cleaner/camp/resource loops and WASP touched actions before merge/release wording.
Commander positions / modular walls branch origin/feat/commander-positions head 560db61c has merge base f5985b77, 83 changed files and broad Chernarus/Vanilla deltas. The actual WDDM commander-position runtime is source-Chernarus only: anchor classes (Structures_CO_US.sqf:168-174, Structures_CO_RU.sqf:166-172), template map (Init_Defenses.sqf:93-183), compile (Init_Server.sqf:26) and Server_ConstructPosition.sqf:1-66. No Server_ConstructPosition or WFBE_POSITION_TEMPLATE_MAP hits exist under maintained Vanilla on branch grep. Full audit: Commander positions branch audit. Broad branch-review risk. Do not describe as a clean construction-only branch or Vanilla-propagated feature. Before promotion: split or audit unrelated deltas, clean branch whitespace, re-check construction request authority (DR-6), smoke position placement at the clicked map point, HQ undeploy cleanup, CoIn UI, and decide/implement maintained Vanilla propagation.
Zargabad low-pop map branch origin/feature/zargabad-map head e9294ede adds a new maintained Vanilla Zargabad mission folder and terrain/tooling support: ZARGABAD.cs:1-13, SqfFileGenerator.cs:127-130, initJIPCompatible.sqf:121-124, Init_Boundaries.sqf:4-10, Init_Zargabad.sqf:1-125 and Guides/Zargabad-Completion-Gates.md:8-20. Branch diff is huge: 832 files, +77733/-95. The refreshed head tunes low-pop defaults across constants, generated parameters and validators: AI max 6, player AI max 8, Soldier skill cap 3, team supply cap 30000, UAV 650, town mortar/patrol 420/300, chopper/plane countermeasures 12/18, starting funds 8000, starting supply 3600, ordnance ranges 1500, Air AA/flares/thermal on, ICBM off and price multipliers 0.95/1.15/1.4/1.75/2.0/1.0. Local static branch validation passed at e9294ede with Tools\Validate-ZargabadMission.ps1: 13 towns, 19 camps, 1 airport, 9 starts, 33 defense logics, no duplicate object ids, no missing sync targets and no Takistan Zargabad-module spillover. Full audit: Zargabad branch audit. Map-release branch-review risk. Static validation is strong but runtime evidence is still open. Treat as a full terrain release candidate and low-pop balance profile, not a normal generated-mission copy. Needs generated whitespace cleanup (git diff --check reports 3542 findings), hosted/dedicated/JIP/HC runtime evidence, screenshot/RPT audit packet validation, town/base/camp/economy/air-price balance checks, edge-guard/black-market smoke and class-load verification.
Supply helicopter branch current head origin/feat/supply-helicopter is checked at head 262dc431. The PR #1 page is refreshed for current head: Air-factory upgrade 3 load/action gates (Skill_Apply.sqf:62-72, supplyMissionStart.sqf:21-29), Air upgrade 4 cash-run branch (supplyMissionCompleted.sqf:24-35), lobby toggle (Rsc/Parameters.hpp:4-10), load/unload timers and central class lists (Init_CommonConstants.sqf:168-180). Current head clears SupplyAmount/SupplyFromTown but not SupplyByHeli (supplyMissionCompleted.sqf:40-41). Closed PR #1 branch-review evidence. PR #1 is closed on the board and superseded by PR #8 for release-bundle cleanup, but the branch evidence remains useful. No maintained Vanilla SupplyByHeli/heli constant hits were found; non-supply branch baggage, branch whitespace, retained SupplyByHeli state, timer UX, Air 3/4 economy semantics and runtime smoke remain gates. Use Current supply heli PR and PR cleanup lab.
PR #8 release head delta Current origin/release/2026-06-feature-bundle head 7ff18c49 changes delegated AI fallback/locality handling and cleaner/restorer startup in both maintained release roots: Client_DelegateAIStaticDefence.sqf:27, Client_DelegateTownAI.sqf:27, Common_CreateUnit.sqf:34-36, Common_CreateUnitForStaticDefence.sqf:68-69, crater_cleaner.sqf:5,7,50, droppeditems_cleaner.sqf:5,7,46, ruins_cleaner.sqf:5,7,30 and buildings_restorer.sqf:4,6,18,31. Release-branch review risk. This is not current-source proof and does not close DR-42 static-defense update-back/failover; update-back remains design work. Smoke HC/town/static delegation and long-session cleaner/restorer behavior before release-ready wording. Use PR cleanup lab, Headless delegation/failover and Marker cleanup/restoration.
Drone/recon support branch split origin/feat/drone-saturation-strike head 8ca4be90 is the latest drone tuning branch; origin/feat/recon-uav head 563418ea adds server AI-flown ReconUAV/ReconUAVRecall and removes the old UAV module, but only includes drone history through 93b47594. Drone diff from stable origin/master is 17 total files (+1133/-4), of which 15 are source-Chernarus mission files (+379/-4) and 0 are maintained Vanilla mission files. Recon diff is 25 total files (+1461/-657), of which 22 are source-Chernarus mission files (+593/-657) and 0 are maintained Vanilla mission files. Confirmed branch-review risk. Treat drone strike and recon UAV as separate support features. Before merge, resolve drone tuning drift, move paid support authority server-side, validate old-UAV replacement/recall/reveal/JIP cleanup, and either propagate generated Vanilla or keep Chernarus-only scope explicit. Use PR8 and drone upstream lesson match plus the branch-only feature smoke pack.
Direct attack-wave request trust (ATTACK_WAVE_INIT) Common/Functions/Common_AttackWaveActivate.sqf, Server/Functions/Server_AttackWave.sqf, DR-41 Live + open: client payload directly drives discount and timing
Direct side-supply mutation (wfbe_supply_temp_*) Branch check 2026-06-06: current source Chernarus, maintained Vanilla, stable origin/master 89ae9dad, current Miksuu upstream 89ae9dad and release 7ff18c49 all keep _currentSupply - _amount negative floors in Common_ChangeSideSupply.sqf:25 and Server_ChangeSideSupply.sqf:12,36, plus payload-side trust in the west/east temp-channel handlers. origin/perf/quick-wins fixes only Chernarus arithmetic to 0; Vanilla propagation and DR-44 side/channel/requester validation remain open. Patch-ready, current-source-unpatched. Use Economy authority first cut, Resistance supply scaffold and Public variable channel index; clamp arithmetic first, then validate direct-channel shape and move spend acceptance server-side flow by flow.
Direct SEND_MESSAGE compile surface Branch check 2026-06-06: current source Chernarus and maintained Vanilla, stable origin/master / local master 89ae9dad, current Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all register the direct receiver at Client/FSM/updateclient.sqf:10-12, compile payload text in Client/Functions/Client_onEventHandler_SEND_MESSAGE.sqf:27, and repeat the helper compile/broadcast path in Common/Functions/Common_SendMessage.sqf:26,37-38; DR-46. P0 live + open: direct-channel RCE surface that is not covered by PVF dispatcher allowlisting. Use Public variable channel index, Pending owner decisions and Hardening roadmap.
Side-supply reason string off-by-one Branch check 2026-06-06: current source Chernarus, maintained Vanilla, stable origin/master 89ae9dad, current Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep Common_ChangeSideSupply.sqf:8-14 reading _reason only when count _this > 3. Three-argument AttackWave.sqf calls publish the default error reason instead of the caller's audit string; four-argument supply completion preserves its reason, with release-specific line drift. Low-risk audit/logging defect. Use Economy authority; fix with the side-supply clamp pass by reading _reason when count _this > 2 and _includeStagnation when count _this > 3.
Resource income cap and payout/display drift Branch check 2026-06-06: current source/Vanilla, stable origin/master 89ae9dad, current Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep updateresources.sqf:29-70 wrapping side-supply growth, player paychecks and AI-commander funds in one _supply < WFBE_C_ECONOMY_SUPPLY_MAX_TEAM_LIMIT guard. Income system 4 also applies a server-side 1.5 multiplier at updateresources.sqf:42-43 that Client_GetIncome.sqf:21-28 omits from display math. Economy correctness debt. Use Economy, towns and supply; treat resource-loop edits as balance-sensitive and verify side supply, actual paycheck, AI commander funds and RHUD/menu display together before changing income-system behavior.
Town/camp capture reward authority TownCaptured.sqf:37-81 and CampCaptured.sqf:19-40 grant funds locally and send RequestChangeScore after server-side capture broadcasts. Live mixed-authority reward path. When moving capture rewards server-side, preserve distance/assist/commander bounty semantics but derive eligible units, side and score on the server.
Auto view-distance optimizer Client/Init/Init_Client.sqf:12-13,175-176,236-240; Client/FSM/updateclient.sqf:102-107; Common/Functions/Common_AdjustViewDistance.sqf:17-69; Common/Functions/Common_AutomaticViewDistance.sqf:6-36 Working client UX/performance feature with three moving pieces. Startup defaults target FPS to 60 and auto mode off; User18 toggles auto mode while User19/User20 adjust either view distance or target FPS; the client FSM only runs the auto loop when the map is not visible, using the profile key WFBE_TARGET_FPS and a +/-4 FPS band. Historical +/-2 changelog wording is stale.
AFK enforcement policy Rsc/Parameters.hpp:44-48; Client/FSM/updateclient.sqf:28-31,117-160; Client/Init/Init_Client.sqf:256-264; Client/Module/AFKkick/monitorAFK.sqf:19-30; BattlEyeFilter/publicvariable.txt:1-2 Working but dual-path/client-local. Current parameter default is 15 minutes. The FSM path publishes kickAFK for BattlEye; the older module still runs a 30-minute AFKthresholdExceededName/failMission path. Clean up to one owner before changing policy.
Aircraft ordnance guardrails Rsc/Parameters.hpp:284-300; Common/Init/Init_Unit.sqf:118-128,207-212; Common/Functions/Common_HandleShootBombs.sqf:15-44; Common/Functions/Common_HandleIncomingMissile.sqf:9-21; Common/Functions/Common_HandleShootMissiles.sqf:95-140; Common/Init/Init_Common.sqf:10-11 Partial. Bomb distance deletion for FAB-250/Mk82 is live; incoming missile range and terrain-masking projectile deletion are live. Bomb altitude is only parameterized/commented in the handler, so do not claim active altitude enforcement. Legacy HandleATReloadVehicle / HandleBombs common compiles are commented; Common_HandleATReloadVehicle.sqf exists but is not wired, while Common_HandleBombs.sqf is absent. Treat the legacy hooks as archive/revive work, not active ordnance logic.
MASH marker relay health Client/Module/Skill/Skill_Officer.sqf:25-27, Server/Module/MASH/MASHMarker.sqf:1-13, Client/Module/MASH/receiverMASHmarker.sqf:1-29, Client/Init/Init_Client.sqf:132; see Respawn and death lifecycle. Confirmed orphaned in source/Vanilla, stable, upstream and release: local MASH respawn is source-supported, but shared/JIP-safe marker synchronization is orphaned. Owner decision: revive with server-held marker registry, delete replay and JIP resend, or retire/archive the stale relay.
Paratrooper marker registration gap Server/Support/Support_Paratroopers.sqf, Client/PVFunctions/HandleParatrooperMarkerCreation.sqf, Common/Init/Init_PublicVariables.sqf Branch-scoped: docs/source Chernarus and Vanilla register it; current release head 7ff18c49 also registers it in both maintained release roots; stable master still omits it. Arma marker smoke remains pending.
Spawn/race behavior in PVF dispatchers Common/Functions/Common_SendToServer*.sqf, Server/Functions/Server_HandlePVF.sqf, Client/Functions/Client_HandlePVF.sqf Open: dispatch and execution ordering still non-deterministic for burst traffic
Area Evidence Status
Autonomous AI supply trucks AI commander autonomy audit owns the branch matrix. Current source/Vanilla, current stable origin/master / local master and Miksuu 89ae9dad still comment out UpdateSupplyTruck at Init_Server.sqf:36, initialize wfbe_ai_supplytrucks at :386, and raw-spawn UpdateSupplyTruck at :387; AI_UpdateSupplyTruck.sqf:17 still references missing Server/FSM/supplytruck.fsm. Historical 2cdf5fb8 raw-spawned at :382-383; perf/quick-wins 0076040f raw-spawns at Chernarus :378 and Vanilla :383. Release 7ff18c49 keeps the 7195b331 warning/disable shape at :385-386 in both maintained roots; feat/ai-commander c20ce153 guards only Chernarus at :389 while Vanilla remains raw. Config-gated latent breakage. Default supply system 1 and AI commander parameter default 0 avoid it, but truck supply plus AI commanders needs either the release safe-disable shape or a real server-owned logistics revival.
AI commander automation On stable origin/master, AI commander constants and side-logic state/funds exist; WFBE_SE_FNC_AI_Com_Upgrade is compiled and Server_AI_Com_Upgrade.sqf performs real upgrade/funds logic, but no live scheduler/loop starts full autonomous commander behavior. Branch origin/feat/ai-commander head c20ce153 adds a Chernarus-only supervisor, assign-types/assign-towns/produce workers and an explicit order executor; the latest fix series rewrites lazy condition blocks across those five branch scripts. Branch-review risk. Stable master remains partial/latent. feat/ai-commander is the current revival attempt, but it is source-Chernarus-only, changes AI commander default to on, still only guards old UpdateSupplyTruck, and needs dedicated/JIP/Vanilla smoke before being called revived. Use AI commander autonomy audit plus the branch-only feature smoke pack.
AI commander upgrade debit/cost lookup Current source/Vanilla, current stable origin/master / local master / Miksuu 89ae9dad validate AI upgrade costs as [supply, funds] like the player menu (GUI_UpgradeMenu.sqf:163-164,206-226; Server_AI_Com_Upgrade.sqf:34-36) but debit AI funds with _cost select 0 and side supply with _cost select 1 at Server_AI_Com_Upgrade.sqf:47-50. The checked 2cdf5fb8..89ae9dad diff does not touch the maintained-root upgrade worker/menu files; perf/quick-wins keeps the same shape. Release 7ff18c49 fixes debit order in both maintained roots; feat/ai-commander fixes debit plus cost-level lookup only in Chernarus. Patch-ready current-source bug. Use AI commander autonomy and Upgrades and research: port/recreate debit-order fix, decide the cost-index correction, propagate maintained Vanilla and smoke AI upgrade affordability/debit before reviving the scheduler.
Town AI vehicle despawn safety Current source/Vanilla, current origin/master / local master / Miksuu 89ae9dad delete inactive tracked town-AI vehicles at server_town_ai.sqf:265-285 with alive _x plus !(isPlayer leader group _x) at :278, but no player crew check. Current 89ae9dad also adds Server_CleanupExpiredTownDefenseAssets.sqf, whose expired-object path still checks only isPlayer _asset / isPlayer leader group _asset at :61-64. Historical stable 2cdf5fb8, perf/quick-wins 0076040f and release 7ff18c49 keep the older server_town_ai.sqf:216-221 guard. Confirmed patch-ready bug. Add a full player-occupancy guard to both current stable cleanup surfaces, preserve empty AI-only cleanup, propagate maintained Vanilla and smoke driver/gunner/cargo/turret occupancy plus empty AI vehicle cleanup.
Task system TaskSystem compile and TownAddComplete spawn are commented in Client/Init/Init_Client.sqf though Client_TaskSystem.sqf still exists. Disabled/partial. Re-enable only after checking task spam/JIP behavior.
MASH marker receiver receiverMASHmarker.sqf registers the WFBE_SE_MASH_MARKER_SENT client EH, but is referenced only by the commented compile at Client/Init/Init_Client.sqf:132. Duplicate of the row above, kept as a receiver-specific pointer for dead-code searches. Use the canonical MASH split in Respawn and death lifecycle; do not launch a fresh broad MASH discovery pass unless gameplay code changes.
Paratrooper drop markers Server/Support/Support_Paratroopers.sqf:117 sends HandleParatrooperMarkerCreation; docs/source Chernarus and Vanilla both register that client PVF in Common/Init/Init_PublicVariables.sqf:39, and the handler file exists. origin/master omits it. Current release head 7ff18c49 registers the handler in both release Chernarus and release Vanilla at Common/Init/Init_PublicVariables.sqf:34. docs/source and current release branch carry the static registration; stable master still omits it; Arma smoke pending. Use Paratrooper marker revival. Modded folders still drift: Napf/eden/lingor register the handler but lack the handler file.
PV dispatch trust boundary Branch check 2026-06-05/06: current source Chernarus and maintained Vanilla, stable origin/master / local master 89ae9dad, current Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep Server_HandlePVF.sqf:14 dispatching _parameters Spawn (Call Compile _script) from payload index 0; current/stable/upstream/perf clients do the same at Client_HandlePVF.sqf:22, while release shifts it to :32 after an HC filter. Init_PublicVariables.sqf already precompiles SRVFNC* / CLTFNC* but does not enforce an allowlist. P0 live-server hardening gap. Use PVF dispatch implementation to replace sender-chosen compile with allowlisted missionNamespace getVariable lookup. This closes DR-1/DR-38 only; legitimate-handler payload validation and direct PV channels remain separate.
PV legitimate-command forgery Hilbert's network pass confirmed high-trust handlers: RequestChangeScore.sqf overwrites score from payload, RequestVehicleLock.sqf locks payload vehicles, RequestTeamUpdate.sqf mutates team behavior, and RequestUpgrade.sqf forwards to upgrade processing without visible sender/cost validation in the handler. Live-server hardening gap (High). Even after replacing dispatcher Call Compile, validate sender, role, side, funds, ownership and object locality inside high-impact handlers.
Direct publicVariable channels outside PVF Direct PVEH/PV channels exist for attack waves, side supply, supply missions, MASH markers, HQ state, AntiStack compensation, server FPS, AFK, day/night and marker/message channels. DR-41 confirms ATTACK_WAVE_INIT is forgeable and can make side-wide unit prices free or negative from client-supplied _supply. A PVF dispatcher fix or WFBE_PVF_* whitelist does not cover these. Review each channel's sender, lifecycle and JIP semantics before calling networking hardened. See Networking and public variables, Server authority map and Attack-wave authority playbook.
BattlEye mitigation as shipped Claude DR-30 verified the repo footprint: only the AFK publicVariable rule is shipped in-tree; no broader filter/config bundle is present. Canonical evidence lives in External integrations. High live-server hardening gap. Use External integrations and backlog id battleye-hosting-hardening; do not treat BattlEye as shipped remediation until production BEpath files or a tested filter set are supplied.
ICBM/Nuke RequestSpecial authority Claude DR-27 traced the Tactical-menu ICBM path: client-side menu gates call Client/Module/Nuke/nukeincoming.sqf, which sends RequestSpecial ["ICBM", ...]; the server HandleSpecial ICBM case spawns NukeDammage from client payload without upgrade/commander/funds validation. Critical live-server hardening gap. One forged RequestSpecial PV can trigger server-applied map-wide damage. Use ICBM authority before patching or trusting this module publicly.
Non-ICBM RequestSpecial support effects GUI_Menu_Tactical.sqf:262-276,371-373,513-527 gates and debits paratroops, para-vehicle and para-ammo locally; Client/Module/UAV/uav.sqf:27-52 spawns/debits the old UAV locally; Server_HandleSpecial.sqf:43-64,147-170 trusts payload side/destination/team/object data for support spawns, supply-truck forced respawn, UAV cleanup and camp repair. High server-authority gap. Harden after or alongside the support authority pass, but keep it separate from the P0 ICBM playbook: server should re-derive requester, side, role/commander status, upgrade, funds, cooldown, target object and destination bounds before effects.
RequestSpecial upgrade-sync argument shape Support specials owns the branch matrix. Current source/Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, perf/quick-wins 0076040f and release 7ff18c49 all keep Server_HandleSpecial.sqf:67-73 reading _side from _args but upgrade id/level from _this; Server_HandleSpecial.sqf:3 sets _args = _this, so current behavior is equivalent rather than a proven runtime break. The 2cdf5fb8..89ae9dad diff does not touch the checked handler/caller/process-upgrade files. Release 7ff18c49 shifts both maintained-root caller lines to GUI_UpgradeMenu.sqf:254. Patch-ready consistency cleanup, not a P1 authority bug. Normalize the parser to one tuple source, keep RequestUpgrade authority migration separate, propagate maintained Vanilla and smoke commander upgrade completion plus non-server timer sync.
RequestSpecial track-playerobject branch Server_HandleSpecial.sqf:133-145 defines a track-playerobject case, but the 2026-06-04 RequestSpecial scout found no active Chernarus RequestSpecial caller for that tag. Likely dead/undriven bookkeeping branch. Before reviving it, validate sender identity and player-object ownership; otherwise remove or comment it during RequestSpecial hardening.
Grouped base-area cleanup and dormant group monitor Server/Init/Init_Server.sqf:565 starts Server/FSM/basearea.sqf only when WFBE_C_BASE_AREA > 0; the loop prunes invalid base-area logics and delayed orphan defenses. groupsMonitor.sqf exists but the only source start point found is commented at Init_Server.sqf:567. Base-area cleanup is live only under the parameter; groupsMonitor is dormant debug tooling. If editing basearea.sqf, add _unit to the nested private list and smoke grouped-base defense cleanup.
Construction request authority DR-6 confirms construction PVFs trust client payload authority and mostly class-existence checks. Hardening gap. Use Deep-review findings DR-6 for proof, Construction and CoIn systems atlas for flow, and Server authority migration map for migration design.
Stationary defense base-area null guard and commander artillery ownership Docs/source origin/docs/developer-wiki-index f3e157f2 guards the base-area weapons read at Construction_StationaryDefense.sqf:12-15 and assigns manned artillery-class defense gunners to the current commander team at :91-94, matching Common_GetTeamArtillery.sqf:10-30 group-based Tactical discovery. Current release 7ff18c49 uses a different commander ARTY source shape: it keeps DefenseTeam manning, marks non-repair-truck artillery defenses with WFBE_CommanderArtillery* at Construction_StationaryDefense.sqf:133-135, and lets the commander team discover same-side marked guns from Common_GetTeamArtillery.sqf:46-78. Current origin/master / local master 89ae9dad still lacks both ARTY discovery shapes. Docs/source and release both have static commander ARTY discovery evidence by different designs; Arma smoke pending. This does not close client CoIn base-area guard-order issues or broader construction authority hardening.
Player purchase authority GUI_Menu_BuyUnits.sqf calls local BuildUnit and deducts funds client-side; Init_PublicVariables.sqf has no RequestBuyUnit, and no Server/PVFunctions/RequestBuyUnit.sqf exists. Legacy/client-local buy path. Add server validation before adding exploit-sensitive purchases. See Factory and purchase systems atlas.
Legacy AI TL waypoint handler Server/AI/AI_TLWPHandler.sqs:9-31 exists, but the 2026-06-04 AI scout found no static Chernarus caller or compile reference. Legacy/orphan candidate. Keep it out of working-order claims unless a dynamic caller is proven; remove or document during AI order cleanup.
Factory queue counter leak Claude DR-33 confirmed Client_BuildUnit.sqf:365 can exit an empty-vehicle purchase before the later WFBE_C_QUEUE decrement at :469. Repeated empty-vehicle buys can locally soft-lock a factory category for that player. Every post-enqueue exit path must decrement both the building unitQueu token and the relevant WFBE_C_QUEUE_<type> counter.
Factory FIFO token churn Client_BuildUnit.sqf uses a random queue token and broadcasts the building queu array on each mutation. Perf/JIP hardening gap. Use Factory queue cleanup, unique queue tokens and reduced public broadcasts before expanding factory side effects.
Factory buy authority/refund model Micro-scout 2026-06-04 confirmed there is no RequestBuyUnit/RequestBuildUnit PVF in the source mission; branch refresh 2026-06-06 found current source/Vanilla, stable origin/master / local master 89ae9dad, upstream miksuu/master 89ae9dad and perf/quick-wins 0076040f still debit locally after spawning BuildUnit and leave the dead/null factory exit as queue cleanup only. Release 7ff18c49 keeps the _currentCost plumbing from 7195b331, but its refund lives in the later empty/crewless branch, not the dead/null factory abort. Player factory buys remain a larger locality/authority protocol redesign, not a small PVF hardening patch. Decide request/acceptance/rollback semantics, refund policy and server acceptance model before adding expensive or exploit-sensitive factory features. See Factory and purchase systems.
Duplicate client skill init docs/source Chernarus and Vanilla now have one Skill_Init.sqf call at Client/Init/Init_Client.sqf:547, followed by WFBE_SK_FNC_Apply at :571. origin/master still has duplicate calls at :561 and :585; release head 7ff18c49 has one Skill_Init.sqf call at Client/Init/Init_Client.sqf:564, followed by WFBE_SK_FNC_Apply at :587 in both maintained roots. docs/source and current release branch carry single-init shape; stable master still duplicates; Arma smoke pending. See Client skill init idempotency.
Commander vote AI/no-commander outcome mismatch Server_VoteForCommander.sqf:24-29 counts wfbe_vote == -1 as AI/no-commander votes, but :43 selects any non-tied player candidate because it checks _highest >= _aiVotes OR _highest <= _aiVotes. GUI_VoteMenu.sqf:87-89 previews AI/no commander when no option has a majority or row 0 leads. Confirmed bug/source-unpatched. Decide intended AI/no-commander and tie semantics, then patch the server condition and smoke player-majority, no-commander-majority, equal-vote and tie outcomes. Use Commander vote/reassignment.
Commander reassignment call shape Current docs/source and maintained Vanilla Server_AssignNewCommander.sqf assign _side = _this, then _commander = _this select 1; RequestNewCommander.sqf calls it with [_side, _assigned_commander]. Stable/upstream/release already use _this select 0 / _this select 1 in both maintained roots. Confirmed bug/source-unpatched on the docs branch, partial branch fix elsewhere. Manual commander reassignment still needs local source/Vanilla propagation plus smoke; upstream/release still leave duplicate notification and UI identity cleanup open. Use Commander reassignment call shape and the Commander vote/reassignment smoke matrix.
Commander reassignment UI identity GUI_Commander_VoteMenu.sqf:33-46 resolves the selected commander by visible leader-name text even though rows store the team index. UI correctness debt. Patch with the DR-15 reassignment flow by using row value/team identity, then smoke duplicate/similar names and mid-dialog team changes. Use Commander vote/reassignment.
Commander authority and requester validation RequestNewCommander currently uses PVF wrapper cooldown logic but does not prove sender authority before mutate-eligible command-side transitions. RequestNewCommander.sqf:14 and Server_AssignNewCommander.sqf:9/10 both contain new-commander-assigned sends; stable/upstream/release make the helper sender reachable by fixing the side argument. High. Fix/port assignment call-shape in current source, choose exactly one notification owner, and keep sender/side/role checks in a follow-up owner-validation pass; do not close commander-authority until both layers are patched.
Commander vote restart/request edge GUI_Menu.sqf:75,91 sends RequestCommanderVote when wfbe_votetime <= 0; RequestCommanderVote.sqf:3-22 resets votes, spawns VoteForCommander and broadcasts commander-vote-start using the payload side/name. Useful recovery path with authority-light payload shape. Include vote restart, late join, requester identity and cooldown smoke in commander-authority work.
Commander task assignment partial GUI_Menu_Command.sqf:315-344 builds task data and plays HQ speech, but the targeted and side-wide SetTask sends are commented while Client/PVFunctions/SetTask.sqf:8-14 still creates CommanderOrder if invoked. Visible partial UI. Hide it or revive with server-backed/JIP-safe task flow; do not call commander task assignment working.
Supply mission cooldown casing DR-18 confirms the town seed key and server read/write key differ by case. Correctness bug. Use Supply mission architecture for flow and Supply mission authority cleanup for patch shape.
Supply mission reward authority Client supply mission start sets truck SupplyFromTown and SupplyAmount; server completion trusts those truck variables. Hardening gap. Recompute reward/cooldown server-side from trusted town/truck state.
Town mortar scaffold Server_ManageTownDefenses.sqf:31-32 has a mortar-management hook shape, while Server_SpawnTownMortars.sqf:19-21 reads the wrong local variable shape and no live town init setter for wfbe_town_mortars was found in the maintained mission scan. Broken/dormant scaffold. Keep it out of working town-defense claims; revive only with explicit town anchor setup, variable fix and Arma smoke, or remove/archive it with other dead defense hooks.
Supply player-object list indexing Source Chernarus and maintained Vanilla initialize the WFBE_SE_PLAYERLIST update index before the player-list loop (playerObjectsList.sqf:17-29), but reconnect/supply smoke and stale disconnect-row pruning remain open. docs/source propagated; smoke pending. Use Player join/disconnect lifecycle, Source fix propagation queue and Testing workflow.
Supply mission player-facing reward copy Client/Module/supplyMission/supplyMissionStart.sqf:22-34 computes cargo as town supplyValue * WFBE_C_ECONOMY_SUPPLY_MISSION_MULTIPLIER * supplyUpgradeModifier; Client/Module/supplyMission/supplyMissionCompletedMessage.sqf:8,13-14 grants raw _supplyAmount. stringtable.xml:188-193 still says players receive 4 x the actual value, and WFBE_C_PLAYERS_SUPPLY_TRUCKS_DELIVERY_FUNDS_COEF = 4 at Init_CommonConstants.sqf:268 has no live consumer in this flow. Player-facing docs debt. Fix copy when supply reward authority is redesigned, or update stringtable immediately to match the live formula so players are not balancing around dead text.
Supply mission command-center scan Current source Chernarus and maintained Vanilla, stable origin/master 89ae9dad, Miksuu 89ae9dad and perf/quick-wins 0076040f still enumerate nearestObjects [..., [], 80] at supplyMissionStarted.sqf:28, then post-filter Base_WarfareBUAVterminal at :25; the 8-meter player/object scan remains broad by design. Release head 7ff18c49 has the heli-aware typed scan in both maintained release roots at supplyMissionStarted.sqf:52,58. Current source/stable/upstream/perf still need the typed scan if this performance cleanup is desired; current release carries it in both maintained roots; Arma truck/heli smoke pending. See Supply mission architecture and Supply mission scan narrowing.
Upgrade request authority RequestUpgrade accepts side/id/level from clients after local UI checks, then Server_ProcessUpgrade applies progress/state transitions. High. Local checks are partial; server-side side, owner, dependency and idempotency checks are still needed before trust assumptions are raised.
Support/repair/rearm reward authority GUI_Menu_Service, GUI_Menu_EASA, GUI_BuyGearMenu, bounty handlers and WASP repair actions still mutate/announce client-funds paths in places; HQ/camp/town reward emitters are mixed. Medium. This is a shared non-isolated economy lane and should follow the upgrade/construction authority design rather than isolated local guards only.
Victory/endgame winner inversion and double-fire DR-11 is the canonical winner-inversion / persisted win-tally finding; DR-36 owns the server_victory_threeway.sqf:23 mechanism and fix shape. Correctness bug. Same-tick eliminations can double-fire endgame and overwrite/log the opposite winner. Route implementation through Deep-review findings DR-11/DR-36 and the Hardening roadmap.
Threeway victory mode Earlier DR-12 found WFBE_C_VICTORY_THREEWAY selection can skip the only auto-end detection path. Broken/abandoned mode until end conditions are implemented for non-default victory modes.
Resistance side supply updates Common_ChangeSideSupply.sqf formats wfbe_supply_temp_<side> generically, but server handlers exist only for west/east. Resistance side supply not fully wired.
Hosted server FPS loops docs/source Chernarus and Vanilla serverFpsGUI.sqf:1 and monitorServerFPS.sqf:1 exit before their loops when !isDedicated; dedicated publishing remains every 8 seconds. origin/master still sleeps only inside if (isDedicated) (serverFpsGUI.sqf:4, monitorServerFPS.sqf:2). Release head 7ff18c49 guards serverFpsGUI.sqf:4 in both maintained roots, deletes the redundant Server/Module/serverFPS/monitorServerFPS.sqf, and leaves the monitor compile commented in Init_Server.sqf; the old FPS-only RHUD toggle was replaced with GPS toggle behavior in the same release line. docs/source and current release branch carry guarded/no-redundant-monitor shape; stable master keeps the old loop shape; Arma smoke pending. See Hosted server FPS loop sleep.
Old map blink loop Client/Init/Init_Client.sqf:138,140,782; missing targets Client/Functions/Client_BlinkMapIcons.sqf and Client/Functions/Client_AddUnitToTrack.sqf; newer singular Client_BlinkMapIcon and bookkeeping are active. Confirmed legacy/missing-file path. Avoid resurrecting the old full-map loop without rebuilding the missing files and doing a performance review; current work should use the guarded per-unit blink path.
Supply mission dead twin compile Server/Init/Init_Server.sqf:81; Server/Module/supplyMission/supplyMissionStarted.sqf:1-18; Server/Module/supplyMission/supplyMissionActive.sqf; release 7ff18c49 keeps the 7195b331 cleanup that comments the removed compile at Init_Server.sqf:82 and removes supplyMissionActive.sqf / checkCCProximity.sqf in both maintained release roots. supplyMissionStarted.sqf registers the live WFBE_Client_PV_SupplyMissionStarted PVEH when called/compiled; the WFBE_SE_FNC_SupplyMissionActive compile points at an existing helper wherever the helper remains, but the broader status-machine cleanup is already routed through the supply mission authority/cooldown lanes. Current docs/source and stable/upstream still keep the dead twin; current release no longer does. Do not treat the second compile as proof of an autonomous supply-mission state machine.
Server map blinking units Server_MapBlinkingUnits.sqf exec is commented in Init_Server.sqf. Disabled/legacy.
Old WASP init block initJIPCompatible.sqf contains a commented WASP init block marked as old and resource-heavy. Legacy/deferred removal. Individual WASP scripts still exist and may be called elsewhere.
Server FPS compile variable WFBE_CO_FNC_monitorServerFPS compile lines are commented, but Init_Server.sqf later execVMs Server/Module/serverFPS/monitorServerFPS.sqf. Not broken; document the direct exec path.
Static-defense HC update-back DR-42 verified Client_DelegateAIStaticDefence.sqf:28 comments out the update-delegation-static_defence send-back, unlike town-AI delegation (Client_DelegateTownAI.sqf:35) which reports vehicles back to Server_HandleSpecial.sqf. Follow-up source check: Common_CreateUnitForStaticDefence.sqf:69 returns only [_teams], and Server_HandleSpecial.sqf:86-96 has only the town-vehicle update-town-delegation receiver. HC upstream history also shows older static-defense HC routing churn in 6b90c872. Partial headless feature. HC-created static-defense units are not recorded by the server for cleanup/accounting/re-delegation. Do not merely uncomment the old call; restore tracking only with a deliberate static-defense payload and receiver, or explicitly accept/remove the one-way behavior. Use HC delegation/failover before patching.
HC registration owner-id miss Headless/Init/Init_HC.sqf:11-15 sends one connected-hc; Server_HandleSpecial.sqf:120-130 only appends the HC group when owner _hc != 0 and otherwise logs a warning with no retry. High reliability gap for public HC timing. Add retry/delayed registration or server reconciliation before relying on HC mode for runtime load.
HC registration duplicate risk Server_HandleSpecial.sqf:127-128 appends group _hc to WFBE_HEADLESSCLIENTS_ID without a visible dedupe guard; disconnect cleanup at Server_OnPlayerDisconnected.sqf:22-28 removes one stored group reference. HC idempotency debt. Add an explicit dedupe guard before retry/reconnect work, otherwise the retry fix can create duplicate delegation candidates.
Client-FPS delegation trust updateavailableactions.fsm:121-125 sends ["update-clientfps", getPlayerUID(player), avgFps]; Server_HandleSpecial.sqf:75-83 trusts the UID/FPS payload, and Server_FNC_Delegation.sqf:153-158 uses stored values to pick delegators. Mode 1 authority-light. Validate sender/UID/rate or keep this mode out of hostile public deployments.
Server init duplicate binds DR-43 re-check found live duplicate binds in Init_Server.sqf for WFBE_CO_FNC_LogGameEnd, WFBE_SE_FNC_PlayerObjectsList and WFBE_SE_FNC_AwardScorePlayer, plus commented duplicate remnants for AFK kick, server FPS and MASH marker. Release Chernarus removes the three live duplicates, but release Vanilla still keeps the old shape. Low-risk cleanup. Use Server init bind cleanup; coordinate LogGameEnd with DR-13/DR-36 and do not re-enable commented AFK/FPS/MASH remnants as part of this lane.
MASH marker duplicate compile One MASH marker compile is active and a later duplicate is commented. Cleanup artifact covered by Server init bind cleanup and the MASH owner route in Respawn and death lifecycle; do not re-enable both.
Volumetric clouds WFBE_C_ENVIRONMENT_WEATHER_VOLUMETRIC is exposed in Rsc/Parameters.hpp:210-214, but Common/Init/Init_CommonConstants.sqf:212 and Client/Init/Init_Client.sqf:218 both force it to 0. Intentional locked-off optimization. Do not describe the lobby entry as a live weather choice until forced assignments are removed and smoke-tested.
IR-smoke parameter/runtime name split Rsc/Parameters.hpp:393-397 declares WFBE_C_MODULE_WFBE_IRS, while constants/init/upgrade gates read WFBE_C_MODULE_WFBE_IRSMOKE (Init_CommonConstants.sqf:238, Init_Common.sqf:320, Upgrades_CO_US.sqf:24-25). Config drift. Decide one variable name or add an explicit alias after parameter import; smoke lobby off/on behavior and IR-smoke upgrade availability.
Hidden upgrade-clearance switch WFBE_C_GAMEPLAY_UPGRADES_CLEARANCE is commented out in Rsc/Parameters.hpp:351-356, but constants/server init and boot fallback still consume/set it (Init_CommonConstants.sqf:225, Server/Init/Init_Server.sqf:333-349, initJIPCompatible.sqf:148,152). Operator-facing drift. Treat as internal runtime state unless owner deliberately restores it as a lobby parameter.
Orphan-looking BIS High Command parameter WFBE_C_MODULE_BIS_HC exists in Rsc/Parameters.hpp:381-385, but headless delegation uses WFBE_C_AI_DELEGATION (initJIPCompatible.sqf:151-170, Init_Server.sqf:109, server_town_ai.sqf:17), and no static Chernarus consumer was found. UI/config cleanup candidate. Do not treat it as headless-client enablement; either wire a real Arma High Command feature or hide/remove the parameter.
Modded map generator path SqfFileGenerator.cs:127-135 writes source Chernarus and maintained Takistan/Vanilla, but the modded-terrain write call is commented and ZipManager.cs:15-17 packages only Missions plus Missions_Vanilla. Verify before assuming modded mission regeneration is complete; current release output is source plus generated Vanilla/Takistan unless modded generation/packaging is deliberately re-enabled and validated.
Dangerous CRV7PG loadouts LoadoutManager has WARNING_GAME_CRASH_DO_NOT_USE_IN_LOADOUTS_* weapon/ammunition classes, and WILDCAT.cs references one. High-risk data. Keep these warnings visible when changing loadouts.
Gear menu cleanup GUI_BuyGearMenu.sqf has TODOs about securing vanilla/removing unused code, refreshing targets, vehicle target content and vehicle/backpack templates. Partial UI cleanup. See Gear, loadout and EASA atlas.
Gear profile template save/import filtering Client_UI_Gear_SaveTemplateProfile.sqf:33,52,75 references undefined _u_upgrade; Init_ProfileGear.sqf:17,25 accepts six-field rows before reading index 6. Current source/Vanilla, current origin/master / local master 89ae9dad, Miksuu 89ae9dad, perf/quick-wins 0076040f and release 7ff18c49 all keep both shapes in both maintained roots; the checked gear files did not change from historical stable 2cdf5fb8 to current 89ae9dad. Confirmed broken profile-template persistence guard. Use Gear template profile filter; future code work needs both save-filter replacement and import guard/default before trusting profile templates to enforce upgrade gates.
Vehicle/backpack cargo equip loop bounds Common_EquipVehicle.sqf:27,33,39 and Common_EquipBackpack.sqf:35,41 use inclusive for '_i' from 0 to count(_items) loops in current source Chernarus plus maintained Vanilla, current origin/master / local master 89ae9dad, Miksuu 89ae9dad and release 7ff18c49; the checked cargo helper files did not change from historical stable 2cdf5fb8 to current 89ae9dad. origin/perf/quick-wins 0076040f fixes the five bounds in Chernarus only; perf Vanilla still carries the inclusive loops. Confirmed reliability bug in cargo application. Use Vehicle cargo equip loop bounds; future code work should patch current source Chernarus, propagate maintained Vanilla and smoke vehicle/backpack cargo without claiming economy authority hardening.
Gear template creation gate needs owner decision Branch check 2026-06-06: current source/Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, perf/quick-wins 0076040f and release 7ff18c49 all keep Client_UI_Gear_AddTemplate.sqf:136 accepting a new template if its max upgrade is within either WFBE_UP_BARRACKS or WFBE_UP_GEAR; Client_UI_Gear_FillTemplates.sqf:17 displays templates against WFBE_UP_GEAR only, and Client_UI_Gear_SaveTemplateProfile.sqf:33,52,75 still carries the undefined _u_upgrade save filter. The checked gear files did not change from historical stable 2cdf5fb8 to current 89ae9dad. Owner-decision consistency debt. Use Gear template profile filter; decide Barracks/Gear semantics before patching AddTemplate, FillTemplates and SaveTemplateProfile together.
Gear/EASA/service purchase authority GUI_BuyGearMenu.sqf applies gear and deducts funds client-side; current stable origin/master / local master / Miksuu 89ae9dad GUI_Menu_EASA.sqf:47-49 rejects exact-funds purchases and calls EASA_Equip / ChangePlayerFunds client-side; EASA_Equip.sqf:8-38 can silently exit on unsupported/stale vehicle context; service actions still need action-time price/funds/context guards. Branch check refreshed 2026-06-07: current stable improves service button-enable ordering but keeps client-side action debit risks; release 7ff18c49 partially guards rearm/refuel in both maintained roots, but repair/heal and exact-funds EASA remain open. Client-authoritative legacy path. DR-28 completes the economy authority class: build, buy, sell, supply, upgrade, ICBM and gear/service are all client-authoritative. Use Service menu affordability guards for the current branch matrix, Gear/loadout/EASA atlas for EASA/loadout scope and BuyMenu EASA QoL branch audit for the UI-only QoL branch.
Generated EASA/balance output LoadoutManager writes Client/Module/EASA/EASA_Init.sqf and Common/Functions/Common_BalanceInit.sqf; Common_BalanceInit.sqf exits on server while server buy code still calls BalanceInit. Generated/locality risk. Change C# data first, inspect generated diffs, and test spawn versus rearm behavior separately.
Discord sample/config hygiene DiscordBot/preferences_sample.json contains concrete sample IDs and a production-style DataSourcePath; GameData.cs:36-37 uses Preferences.Instance.DataSourcePath or C:\a2waspwarfare\Data, while DiscordBot/FileConfiguration.cs:9-42 is a secondary config helper. Preferences.cs:24-30 also reads/deserializes preferences.json without fail-fast null/parse handling before later command/status code assumes a non-null Preferences.Instance. Governance and reliability cleanup. Replace real-looking sample IDs with placeholders, document one intended config source and add explicit config preflight/fail-fast behavior. No token is committed.
DiscordBot JSON deserialization Claude DR-31 verified DiscordBot/src/ExtensionData/GameData/GameData.cs reads database.json with Newtonsoft TypeNameHandling.All on a 60-second status timer, at startup and from a command path. High local-write-gated RCE risk. Use TypeNameHandling.None for the flat GameData DTO and remove the dead .Auto deserialization helper. Secret hygiene and command auth are otherwise documented as good.
In-repo stats extension vs AntiStack DB extension a2waspwarfare_Extension only implements GLOBALGAMESTATS; AntiStack calls a separate A2WaspDatabase DLL that is absent from the repo. WFBE_C_ANTISTACK_ENABLED defaults on via the lobby/fallback constants, so the deployment choice matters before public hosting. Claude DR-29 verified GLOBALGAMESTATS is not an SQF RCE path today because output is discarded, but it has dormant deserialization and async-write risks. Deployment dependency split. Do not assume building Extension satisfies AntiStack. Either confirm/install A2WaspDatabase and harden return handling, or operate/default AntiStack disabled until the dependency is real. Add extension presence detection/circuit breaker before public deployment; remove/harden the dead TypeNameHandling.Auto load path and fix async void file writes before treating the extension as robust persistence.
WASP HQ recovery locality WASP/actions/Action_RepairMHQDepot.sqf performs funds/HQ/town-SV effects largely client-side before server repair signaling. Authority-light legacy action. Harden server-side before expanding HQ recovery, town-SV reset or commander-spend behavior.
Missing CI/reference validation Only .github/FUNDING.yml exists; no build/reference/generated-drift checks were found. Missing tooling. Add .NET builds, generated-mission drift, SQF reference scans and wiki JSON/JSONL validation when project automation is introduced.
Modded mission conflict markers `rg -l "<<<<<<< =======
Stale old upgrade dialog RscMenu_Upgrade points to missing Client/GUI/GUI_Menu_Upgrade.sqf; the live main menu opens WFBE_UpgradeMenu / GUI_UpgradeMenu.sqf instead. Branch check: docs/source, stable/upstream and release Vanilla keep the stale class; release Chernarus removed it. Confirmed stale UI path with branch-scope cleanup debt. Do not revive by recreating the old missing controller or art. Preferred code-owner action is consistent removal or explicit aliasing across maintained roots, followed by live upgrade-menu smoke. Canonical lane: UI resource parity cleanup.
Generated version.sqf boot dependency description.ext:39 and initJIPCompatible.sqf:4 both include version.sqf; this workspace has ignored generated Chernarus and Vanilla Takistan files at version.sqf:1, but .gitignore:1,23 ignores them and Git does not track them. LoadoutManager still generates terrain outputs and modded/stub roots lack complete generated inputs. Generated-output/release hazard. Verify the target mission root has the right version.sqf before pack/test claims, especially clean checkouts, generated Vanilla and modded/stub terrain folders.
Economy dialog missing controls Current source/stable/upstream GUI_Menu_Economy.sqf:7-8 writes to 23004/23005/23006; audited RscMenu_Economy controls declare 23002, 23003 and 23008+ instead. Release Chernarus no longer has the stale writes and adds dashboard 23020, but release Vanilla still carries 23004/23005/23006. Docs-ready UI parity cleanup. Use UI resource parity cleanup, then smoke Economy disabled state, income controls, sell mode and supply-truck respawn.
Duplicate UI resource IDDs Current source/stable/upstream keep EASA/Economy both on dialog idd = 23000 and RscOverlay/OptionsAvailable both on title idd = 10200; no current mission source findDisplay 23000/10200 caller was found. Release Chernarus moves EASA to 24000, but release Vanilla still duplicates 23000 and release titles still duplicate 10200. Docs-ready UI parity cleanup or formal waiver. Start at UI resource parity cleanup, then use UI IDD collision repair; smoke EASA, Economy, RHUD/FPS HUD, action icons and endgame stats after any IDD/display-handle cleanup.
RHUD/endgame shared title display handle OptionsAvailable and EndOfGameStats both use GUI_SetCurrentCutDisplay.sqf / GUI_ClearCurrentCutDisplay.sqf and therefore the same uiNamespace["currentCutDisplay"]; Client_UpdateRHUD.sqf:89-92, updateavailableactions.fsm:225-230 and GUI_EndOfGameStats.sqf:34-44,86-93 all read/write through it. Branch check 2026-06-05: current source/Vanilla, stable/upstream and release all keep the shared-handle shape. Patch-ready UI lifecycle bug. Split display variables or gate RHUD/action-icon recreation during endgame, separate from duplicate-IDD cleanup; smoke RHUD/FPS, action icons and endgame stat bars together. Canonical lane: UI IDD collision repair.
Modded missing camp helper file Napf, Eden and Lingor Common/Init/Init_Common.sqf:52-53,127-128 compile Common/Functions/Common_GetTotalCamps.sqf, but only source Chernarus and maintained Vanilla currently track that file. Additional modded-runnability blocker. Do not call those forks runnable until missing helpers, generated inputs and conflict markers are resolved or the forks are regenerated/retired.
Camp flag texture drift Current origin/master / local master / Miksuu 89ae9dad Chernarus and maintained Vanilla set captured camp sideID to _newSID at server_town_camp.sqf:132 but use str _side for the flag texture at :135, where _side is the old owner. Release head 7ff18c49 uses str _newSide in both release Chernarus and release Vanilla at server_town_camp.sqf:135. Server_HandleSpecial.sqf:243,246 can still repair/change a camp side without refreshing the flag object in all checked maintained roots. Visual/world-state correctness debt with release-branch capture fix but repair-side flag refresh still open. Patch current source Chernarus and maintained Vanilla, refresh repair-side flag texture, then smoke independent camp capture and camp repair. See Towns, camps and capture atlas.
Camp count helper fallback Branch check refreshed 2026-06-06: current origin/master / local master / Miksuu 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep Common_GetTotalCamps.sqf:10 and Common_GetTotalCampsOnSide.sqf:16 returning 1 for zero-camp towns, plus the same capture-mode, threeway-respawn and depot-buy consumers. Current stable/Miksuu/perf Buy Units callers remain at GUI_Menu_BuyUnits.sqf:111-112; release shifts both maintained-root callers to :117-118. Patch-ready caller-semantics debt. Use Towns, camps and capture atlas; split real-count from safe-denominator behavior or add caller-specific zero-camp guards, then smoke capture mode 2, threeway respawn and depot infantry buys on 0/partial/all-camp towns.
Buy-menu price/key alignment Factory and purchase systems atlas owns the refreshed branch/root matrix. Current docs/source Chernarus, maintained Vanilla, stable origin/master / local master 89ae9dad, upstream miksuu/master 89ae9dad and perf/quick-wins 0076040f keep selected-detail price drift, no level-0 UNIT_COST_MODIFIER reset and the uppercase/lowercase driver-default profile key split. Release 7ff18c49 fixes the selected-detail price formula in both maintained roots (GUI_Menu_BuyUnits.sqf:284) and mirrors both driver-default keys in init/toggle/max-out/reset writes, but still does not reset UNIT_COST_MODIFIER to 1 for level 0 and still reads the lowercase profile key in cost/cap paths. UI/economy correctness debt, patch-ready but source-unpatched. Centralize/reset price calculation, normalize one profile key, propagate Vanilla, then smoke list/detail/charge, funds guard, unit-cost levels 0/1/2, crew toggles, max-out and reset.
Resistance patrol active latch Current origin/master / local master / Miksuu 89ae9dad starts server_patrols.sqf from server_town_ai.sqf:295-298 after setting wfbe_patrol_active, but server_patrols.sqf:26 loops while the game is not over and only clears wfbe_patrol_active at :71-72. Branch check 2026-06-05/06: current stable source still carries the `
Hardcoded live UI help/status text GUI_Menu_BuyUnits.sqf:443-457 hardcodes English vehicle-help hints, and GUI_Menu_Tactical.sqf:604-605 hardcodes artillery ammo request status. Localization/UI polish debt. Move to stringtable keys when polishing Buy Units/Tactical; verify translated clients and no missing-key regressions.
Vote/help/WASP/main-menu UI edge cases Client UI systems atlas owns the branch/root matrix for the vote refresh loops (GUI_VoteMenu.sqf:29,49,61; GUI_Commander_VoteMenu.sqf:58), vote row-color offset (GUI_VoteMenu.sqf:80,82), help load/unload namespace mismatch (Rsc/Dialogs.hpp:3502-3503; release line drift noted there) and orphaned GPS zoom router (GUI_Menu.sqf:202,206). Current source/Vanilla, stable origin/master, Miksuu upstream, perf/quick-wins and release all keep those shapes. WASP display-54 input-lock polling is tracked separately in the WASP marker wait route. UI correctness and UX debt, patch-ready but source-unpatched. Fix vote loops plus row coloring, clean the help namespace/onUnload contract, decide remove-vs-revive for GPS 17/18, propagate Vanilla and smoke vote refresh/list coloring, help open/close and main-menu HUD/GPS behavior; smoke WASP marker dialog through its own lane.
Destroyed-factory purchase has no refund Branch-checked 2026-06-06: current source/Vanilla, stable origin/master / local master 89ae9dad, upstream miksuu/master 89ae9dad and perf/quick-wins 0076040f keep GUI_Menu_BuyUnits.sqf:145-156 local queue increment/debit plus Client_BuildUnit.sqf:211-214 dead/null factory cleanup without refund. Release 7ff18c49 keeps the _currentCost plumbing and empty/crewless-branch refund from 7195b331, but the dead/null factory exit at :212-215 still does not refund. Decide intended design. If it is a bug, make acceptance/debit atomic or add a single safe refund path owned by one helper; smoke factory death, buyer disconnect, empty/crewless vehicle abort and normal queue completion. See Factory and purchase systems.
Latent server buy worker is not player-buy parity Stable master compiles AIBuyUnit = Server_BuyUnit.sqf (Init_Server.sqf:10) but has no static caller. Player buys use client WFBE_C_QUEUE_* / unitQueu, while Server_BuyUnit.sqf uses team wfbe_queue and always proceeds into server crew creation (Server_BuyUnit.sqf:92-214). Factory/AI production design debt. If AIBuyUnit is revived, document the intended AI production semantics and queue model instead of treating it as a server replacement for player buying.
Generated version.sqf map/profile contract description.ext:39, Rsc/Header.hpp:5,9,21 and initJIPCompatible.sqf:4,31,111-113 make generated version.sqf drive header metadata and runtime Chernarus/non-Chernarus flags. IS_NAVAL_MAP also gates boat content through IS_naval_map. Generated-output/release hazard. Use Mission config/version include graph; verify target root flags before packaging and do not confuse Missions_Vanilla with the VANILLA macro.
Visible parameter runtime-consumer drift Branch check 2026-06-05: current source/Vanilla, origin/master, miksuu/master and release all expose/default WFBE_C_AI_MAX with no active maintained-root runtime reader found; player follower caps use WFBE_C_PLAYERS_AI_MAX. The same roots expose/default WFBE_C_UNITS_CLEAN_TIMEOUT, but live cleanup reads WFBE_C_UNITS_BODIES_TIMEOUT and only references the old clean-timeout split in a comment; empty vehicles use WFBE_C_UNITS_EMPTY_TIMEOUT. Docs-ready code-owner cleanup. Use Mission parameters and Dead/stale code register; decide wire/hide/rename/historical-label policy, then smoke host parameter display, player AI cap UI/RHUD, corpse cleanup and empty vehicle cleanup.
Auto-wall construction toggle is global Current stable refresh 2026-06-06: current source/Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep RequestAutoWallConstructinChange.sqf:3-7 writing one global isAutoWallConstructingEnabled; SmallSite/MediumSite consume that same global at :110 / :125. The 2cdf5fb8..89ae9dad diff only touches checked Init_Common.sqf roots for unrelated town-defense helper compile wiring; release only adds an AARadar exclusion to the consumer condition. Workflow/authority risk. Use Construction and CoIn; key by side/requester if it is meant as a player preference, or explicitly document/smoke global behavior.
Salvage cleanup, payout typo and authority edge Construction and CoIn systems owns the refreshed branch matrix. Current source Chernarus, maintained Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f, release 7ff18c49 and historical Miksuu salvage branches all keep lowercase ChangePlayerfunds in both payout paths while Init_Client.sqf compiles ChangePlayerFunds; all checked roots keep the updatesalvage.sqf `
Empty supply trucks linger by design Marker cleanup/restoration owns the current-head branch matrix. Current source Chernarus, maintained Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep Server_HandleEmptyVehicle.sqf:23 setting _delay = 86400 for supply-truck classes while emptyvehiclescollector.sqf:9,15,17,19 only drains the empty-vehicle queue into the handler. The 2cdf5fb8..89ae9dad diff does not touch the checked empty-vehicle cleanup files. Owner-decision logistics/cleanup behavior. Decide whether 24-hour supply-truck persistence is intended support/logistics state or should become shorter/parameterized; if patched, propagate source Chernarus plus maintained Vanilla and smoke ordinary empty vehicles, medical/repair double-timeout vehicles and supply mission/logistics use.
Malformed clickable-text sound config Client UI systems owns the branch matrix. Current source Chernarus, maintained Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, origin/perf/quick-wins, release and UI theme branches all keep RscClickableText.soundPush[] = {, 0.2, 1}; at Rsc/Ressources.hpp:556; current maintained roots derive 17 controls from that base class. The checked resource/dialog files did not change from historical stable 2cdf5fb8 to current 89ae9dad. Patch-ready UI config cleanup. Change the base-class array to a valid value in source Chernarus plus maintained Vanilla, then smoke representative clickable controls in gear, WF menu/HUD toggles, construction/CoIn, artillery and economy before reusing the base class.
Buy gear partials GUI_BuyGearMenu.sqf includes self-documented TODOs for target refresh, vehicle target content and template scope. Partial UI cleanup; avoid expanding templates until gear/vehicle/backpack behavior is mapped.
Fast travel fee Branch check 2026-06-06: current source/Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, perf/quick-wins and release all keep the same Tactical fee-mode shape: GUI_Menu_Tactical.sqf:146-147 has the policy TODO, :185-217 hides unaffordable towns and draws local fee text, and :403-406 debits locally on travel. The checked Tactical menu/constants files did not change from historical stable 2cdf5fb8 to current 89ae9dad. Working/partial UX, docs-ready owner decision. Use Client UI systems; decide hide-vs-disabled/prompt policy, add a final local funds/context recheck if desired, propagate Vanilla and smoke modes 0/1/2, insufficient/exact/sufficient funds and HQ/town/command-center starts.
Stable low-priority TODO cluster Branch check 2026-06-06: current source Chernarus, maintained Vanilla, stable origin/master, Miksuu upstream, perf/quick-wins and release all keep the same three TODO-only shapes: side-presence logic detection followed by fixed resistance defender setup (Init_Common.sqf:273-285), CoIn border recreation tied to area-size changes but not logic-position moves (coin_interface.sqf:114,419-425) and town-attack waypoint polish comments for combat/speed/radio/camp behavior (Server_AI_SetTownAttackPath.sqf:74-78). Consolidated from three vague rows. These are not confirmed broken features by themselves. Routes: Architecture overview for common init/side presence, Construction and CoIn for border relocation, and AI runtime/HC loop map for attack-path revival/polish.

Scout-Harvest Routing / Archived Findings

The 2026-06-04 mini-scout waves are now treated as harvested source-check history. Keep exact chronology in Agent worklog, Subagent discovery swarm, agent-feature-status.jsonl, agent-events.jsonl and git history; do not repeat row-by-row scout output here after canonical owner pages carry the evidence.

Finding family Current owner route Register status
Generated version.sqf, mission config and terrain output contract Mission config/version graph, Content structure and maps, Tools/build Documented; keep release-footgun rows above when they affect current packaging.
Latent AIBuyUnit, factory queue/debit/refund and purchase semantics Factory and purchase systems atlas, Factory queue cleanup, Economy authority first cut Keep one live status row for the latent server buy worker; do not re-describe it in every scout harvest.
UI/HUD/dialog issues such as help unload state, GPS zoom routes, vote rows, service affordability, EASA exact funds, gear templates and buy-menu cost display Client UI systems atlas, Player UI workflow map, Gear/loadout/EASA atlas, Service menu affordability guards Owner pages track exact controls and smoke packs; Feature Status should only keep high-risk rows.
AI commander, autonomous flag, spawned-unit order inheritance and branch-only AI commander supervisor work AI commander autonomy audit, AI runtime/HC loop map Stable master remains partial; branch-only revival evidence must stay branch-scoped.
Headless delegation, static-defence accounting and cleanup loops Headless delegation/failover, AI/headless and performance Owner pages track payload-shape and lifecycle debt.
Construction base area, CoIn null guards, auto-wall toggle and structure logic list cleanup Construction and CoIn, Construction logic list cleanup Keep as source-unpatched construction debt; avoid duplicating implementation walkthroughs here. Branch check 2026-06-05: current source/Vanilla, stable, Miksuu upstream and release all keep SmallSite add/add while MediumSite removes.
Respawn penalties, threeway defender respawn, HandleAT handler lifecycle and respawn candidate caveats Respawn/death lifecycle, Towns/camps Owner pages carry exact conditions and smoke targets.
Supply mission completion PV/state, player-object matching, truck/heli branch scope, PR #10-#12 history and side-supply reason logging Supply mission architecture, Supply mission authority cleanup, Public variable channel index, Economy/Towns/Supply Current source Chernarus is truck-only; supply-heli evidence is PR/release branch scoped until merged.
Side-supply authority, reason-drop parsing, commander assign/vote and economy hardening Economy authority first cut, Server authority migration map, Hardening roadmap Keep authority risks live; route repeated fix-shape details to owner pages.
Runtime cleanup, SideMessage, dropped-item scans, tool analyzers, LoadoutManager and integration footguns Server gameplay runtime atlas, Marker cleanup/restoration atlas, Performance opportunity sweep, Tools and build workflow, External integrations Runtime/tooling pages own exact script and C# references.

Broken Feature Candidate: AI Supply Logistics

AI_UpdateSupplyTruck.sqf remains the clearest abandoned logistics feature, but its failure mode is config-gated rather than part of normal default play. Server/Init/Init_Server.sqf still has a per-side [_side] Spawn UpdateSupplyTruck; path when supply system 0 and AI commanders are enabled, while the compile line is commented and the referenced Server/FSM/supplytruck.fsm is absent. With current default WFBE_C_ECONOMY_SUPPLY_SYSTEM = 1, normal play avoids the nil-code path; if an admin selects supply system 0 with AI commanders, the server can hit the missing worker, and simply restoring the compile would still fail later on the missing FSM.

Canonical routes: Economy/Towns/Supply, AI commander autonomy audit, Abandoned feature revival review, Current PR #1 supply helicopters.

PR #1 Supply Killed-Handler Status

Old wording that called PR #1 a confirmed unguarded handler-stacking defect is stale for current origin/feat/supply-helicopter / release-branch source checks. Current PR #1 docs and source review show supplyMissionStarted.sqf setting wfbe_supply_killed_eh_set before adding the Killed handler, so repeated reloads do not stack handlers by source shape.

Still open before merge/release wording: repeated load/deliver/destroy runtime smoke, persistent guard behavior, handler-ID/removal or re-arm policy, Vanilla propagation, and clear branch wording that public stable Chernarus remains truck-only. Canonical routes: Current PR #1 supply helicopters, Supply mission architecture, Supply mission authority cleanup.

Missing Feature Candidates

  • Autonomous AI supply trucks/helicopters.
  • Formal generated docs from LoadoutManager data classes into mission docs.
  • Automated validation that generated Takistan/modded missions match Chernarus source after docs/code changes.
  • Automated SQF syntax or reference validation in CI.

Continue Reading

Previous: External integrations | Next: Hardening roadmap

Main map: Home | Fast path: Quickstart | Agent file: agent-context.json

Sidebar

Clone this wiki locally