-
Notifications
You must be signed in to change notification settings - Fork 0
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.
- 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.
- Wiki:
docs/wiki/Feature-Status-Register.md - Source-of-truth inputs:
agent-events.jsonl,agent-feature-status.jsonl,agent-hardening-backlog.jsonl,agent-release-readiness.json,agent-knowledge.jsonl,agent-status.json - Runtime owner: the mission source at
Missions/[55-2hc]warfarev2_073v48co.chernarus
- Read this register first for risk ranking before opening a subsystem playbook.
- 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)
- Source index / atlas pages (e.g.,
- Prefer this page for the latest patch status and known open dependencies before editing source.
- Navigation pages that route readers to risk-first playbooks:
- Home
- Progress dashboard
- Hardening roadmap
- Server authority migration map
- Feature-specific atlases and subsystem pages: Construction and CoIn systems atlas, SQF code atlas, Factory and purchase systems atlas, Economy, towns and supply
- 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.jsonlfirst, 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/masterhead checked for the 2026-06-13 P0 network refresh isb8389e74; use Community & Dev and Upstream Miksuu commit intel before turning upstream lessons into implementation claims.
- 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.
- Mobile ambulance respawn support; MASH support is branch-sensitive and listed below.
- 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.
| Area | Evidence | Status |
|---|---|---|
| B74.2 AICOM/pop-tier/capture/naval/stats branch candidate | 2026-06-23 current-head refresh classifies origin/claude/b74.2-aicom@21b62b04 as a source Chernarus-only branch candidate over current stable/B74.1 origin/master@f8a76de34; gh pr list --head claude/b74.2-aicom --state all returned []. Full payload is 29 source Chernarus files / +424 / -38; git diff --check origin/master..origin/claude/b74.2-aicom is clean; no Missions_Vanilla diff exists. The stale documented head d472da6a advanced by four source Chernarus files / +100 / -14: b9515ef57 moves GUER stipend launch out of the team-registration block at Init_Server.sqf:808-814 and seeds/rebroadcasts WFBE_GUER_VEHICLE_TIER with stipend telemetry at Server_GuerStipend.sqf:35,44-46,57-63,95; 21b62b04 adds client join/connect ACK failovers at Init_Client.sqf:654-681,693-714 and server reconnect retry budget at Server_OnPlayerConnected.sqf:22-56. Earlier branch evidence still includes tier arrays at Init_CommonConstants.sqf:171-176, WFBE_PopTier publish/use at AI_Commander_Teams.sqf:83-84,105,187-190, side/town consumers at AI_Commander_Produce.sqf:28, server_side_patrols.sqf:32,38, server_town_ai.sqf:61-64 and Server_GetTownGroupsDefender.sqf:91; camp anti-stall at Init_CommonConstants.sqf:357 and Common_RunCommanderTeam.sqf:813,870-882; AICOM feed replay at updateaicommarkers.sqf:47-55 and Init_Server.sqf:927-943; carrier air/respawn at Init_NavalHVT.sqf:305-315, Client_GetClosestAirport.sqf:27-35, Client_GetRespawnAvailable.sqf:117-124, Client_OnRespawnHandler.sqf:50-61; and source Chernarus stats fast-follow writers listed in Player stats branch audit. |
Branch-only source Chernarus candidate, not current stable, PR-routed or maintained Vanilla behavior. Route AI commander evidence through AI commander autonomy, UI/marker behavior through Client UI systems, capture/naval carrier behavior through Towns/camps, stats through Player stats branch audit and promotion through Testing workflow. Before promotion, smoke AICOM pop-tier publishing/consumers, side-AI cap/team founding, RHUD/buy cap display, marker-feed replay/JIP, camp anti-stall, tiered active towns/defenders/patrols, carrier air-shop/respawn, stat writers, vehicle tint defaults, GUER stipend launch/tier JIP rebroadcast, join/connect hang recovery and a maintained Vanilla/Takistan scope decision. |
| Trello artillery UX branch candidate | 2026-06-23 branch-intel pass classified draft PR #79 origin/claude/trello-artillery-ux@c4459d4312ef as a current-stable-based artillery UI/cleanup candidate. Merge-base is origin/master@f8a76de349da6f8b871d079c828436c10afb221c; payload is eight maintained-root files / +100 / -20 and git diff --check clean. In source Chernarus plus maintained Vanilla, branch GUI_Menu_Tactical.sqf:42-57 appends effective artillery min/max range text to the Tactical list, Client_RequestFireMission.sqf:31-38 routes barrage marker deletion through RequestSpecial ["ArtyMarkerCleanup", ...], :58-60 passes firing gun count as %3, Server_HandleSpecial.sqf adds delayed global deleteMarker cleanup at Chernarus :144-160 / Vanilla :134-150, and stringtable.xml updates STR_WF_INFO_Arty_called_message at Chernarus :9304-9311 / Vanilla :9304-9310. Current stable lists raw artillery names, deletes these markers via caller-local Client_Delete_Marker.sqf:24, uses a two-argument artillery warning at Client_RequestFireMission.sqf:53 and has no ArtyMarkerCleanup hits. |
Branch-only artillery UX/marker-cleanup candidate, not current stable behavior. Route behavior through Support specials and tactical modules and UI scope through Client UI systems. Before promotion, smoke per-type range rows, gun-count message text, marker cleanup when the caller disconnects/leaves, JIP marker cleanup visibility, maintained Vanilla parity and forged ArtyMarkerCleanup marker-name scope. This is not a fire-mission authority closure. |
| Trello map radius circles branch candidate | 2026-06-23 branch-intel pass classified draft PR #78 / Trello cards #80 and #76 origin/claude/trello-map-radius-circles@77dd71ba303fdb3712fdbfb0e9dff2feebca075f as a current-stable-based local map-marker/map-indicator candidate. It is one commit on origin/master@f8a76de34, changes six maintained-root files / +192 / -4 and git diff --check is clean. In source Chernarus plus maintained Vanilla Takistan, Client_AmbulanceRedeployCircles.sqf:1-69 creates client-local yellow AmbRange_ circles around own-side ambulance/redeploy vehicles, spawned from Init_Client.sqf:1227; Init_BaseStructure.sqf:54-68 (Vanilla :35-49) adds a side-colored HQBuildRange circle around HQ/UAV terminal structures using WFBE_C_BASE_AREA_RANGE + WFBE_C_BASE_HQ_BUILD_RANGE, with cleanup at Chernarus :151-158 / Vanilla :132-139. Current stable already has the underlying respawn/base constants and validation paths but no branch marker symbols. |
Branch-only map-marker UX candidate, not current stable behavior. Route map ownership through Client UI systems, HQ radius through Commander/HQ lifecycle and Construction/CoIn systems, mobile respawn through Respawn/death lifecycle and redeploy-truck caveats through Medic redeployment truck. Before promotion, smoke HQ build-area radius accuracy/cleanup, own-side marker audience, ambulance/redeploy range circles, upgrade-level resize, dead/null vehicle cleanup, map/GPS/JIP behavior, maintained Vanilla Takistan parity and redeploy-truck mismatch risk: the branch ring does not duplicate Medic-only, parked/engine-off, free-seat or enemy-town eligibility gates. |
| Trello upgrade icons branch candidate | 2026-06-23 branch-intel pass classified draft PR #77 / Trello #164 origin/claude/trello-upgrade-icons@baf8d9c304ad99cfd848d0a740c53b580d998933 as a small current-stable-based visual/UI candidate. It is one commit on origin/master@f8a76de34, changes two maintained-root Client/GUI/GUI_UpgradeMenu.sqf files / +8 and git diff --check is clean. In source Chernarus plus maintained Vanilla, GUI_UpgradeMenu.sqf:12 reads WFBE_C_UPGRADES_IMAGES, :27-28 paints non-empty images into listbox 504001 column 0 during initial fill, and :173-174 repaints after refresh/reordering. Labels_Upgrades.sqf:104-125 already supplies the image paths and intentional empty strings; current stable uses the selected image in the detail pane but has no upgrade-list lnbSetPicture calls. |
Branch-only upgrade-list visual candidate, not current stable behavior. Route through Client UI systems and Upgrades and research. Before promotion, smoke initial icon rendering, empty-image fallback rows, queue/level refresh repaint, selection/detail-pane behavior, missing-texture RPT cleanliness and source Chernarus plus maintained Vanilla parity. |
| Trello auto-bipod branch candidate | 2026-06-23 branch-intel pass classified draft PR #76 / Trello #210 origin/claude/trello-auto-bipod@5af02b8438e1728724ce5e9d28acc77a98608b62 as a small current-stable-based client QoL candidate. It is one commit on origin/master@f8a76de34, changes four maintained-root files / +46 / -2 and git diff --check is clean. In source Chernarus plus maintained Vanilla, Common_Bipod.sqf:74-82 adds Bipod_AddAutoDeploy, stores/removes Bipod_AutoEH, attaches local AnimChanged and calls the existing 15 call Bipod_ON path when the prone animation is amovppnemstpsraswrfldnon; Client_OnKilled.sqf:90 reattaches the helper after death/respawn if the script has loaded. Current stable lacks Bipod_AddAutoDeploy, Bipod_AutoEH, AnimChanged and 15 call Bipod_ON hits in the maintained roots. |
Branch-only client QoL candidate, not current stable behavior. Route through Deployable bipod / weapon resting. Before promotion, smoke whitelisted prone auto-deploy, non-whitelisted prone no-op, manual TAB/crouched-object fallback, death/respawn reattachment, repeated stance changes without sound spam, no server/PV state, existing str_bipod localization debt, and source Chernarus plus maintained Vanilla parity. |
| Trello upgrade/HQ cost info branch candidate | 2026-06-23 branch-intel pass classified draft PR #75 origin/claude/trello-upgrade-hqcost-info@34fd202c886513d2dfa12cdd39039f188362ff7b as one clean docs/source-friendly UI/info-text candidate on current stable merge-base origin/master@f8a76de349da6f8b871d079c828436c10afb221c. Payload is six maintained-root files / +96 and git diff --check clean. In source Chernarus plus maintained Vanilla, Client_FNC_Special.sqf:204,212-223 keeps generic upgrade-complete chat and adds value lines only for artillery reload and respawn range, GUI_TransferMenu.sqf:124-129 appends the new-HQ deploy cost from WFBE_C_STRUCTURES_HQ_COST_DEPLOY, and stringtable.xml:459-473,1055-1061 adds the new keys. Current stable has the constants/arrays and generic UI lines but no branch value-message or New HQ cost strings. |
Branch-only UI/info-text candidate, not current stable behavior. Route through Client UI systems, Upgrades and research and Commander/HQ lifecycle. Before promotion, smoke artillery-timeout and respawn-range upgrade-complete values, confirm other upgrades remain generic, verify Transfer Menu footer layout/value under HQ-cost parameter changes, and repeat source Chernarus plus maintained Vanilla. |
| Client-visible indicators and state surfaces | 2026-06-06 indicator scout/sharpening and indicator-surface-matrix-index passes 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. 2026-06-22 status-counter pass split player HUD SERVER_FPS_GUI, compatibility WFBE_VAR_SERVER_FPS, PerformanceAudit RPT/tooling and transient supply/status signals, with branch scope checked across docs a27086cd, current stable origin/master@0139a346, Miksuu b8389e74, perf 0076040f and historical a96fdda2. |
Matrix seeded; status-counter family refreshed; other families remain per-family work. Use Client UI systems atlas and status counter audience split to pick one surface family at a time for branch/root validation, owner-page integration or pruning before redesigning indicators. |
| Upstream AN-2 / mounted-player blink branch candidates | 2026-06-23 branch-intel pass found two new small upstream-mining heads. origin/claude/upstream-an2-climb-boost@63e6b4142 branches from merge-base be2bbd084, an ancestor of current stable origin/master@f8a76de34, and adds an AN-2 low-gear action at Init_Unit.sqf:87-90 plus an Air assist target _min = 100 at Func_Client_LowGear.sqf:68-75 in source Chernarus and maintained Vanilla. origin/claude/upstream-blinking-mapicons@6e31f7fd5 branches from the same base and adds mounted gunner/commander soldier-marker blinking at Client_BookkeepBlinkingIcons.sqf:96-110 in both roots. Against be2bbd084, payload diffs are small and git diff --check clean; direct diffs against current stable also include B74.1 Init_CommonConstants.sqf:914-920 player-stats drift because the branch base predates f8a76de34. |
Branch-only candidates, not current stable behavior. Route Valhalla evidence through Valhalla vehicle climbing assist and marker evidence through Client UI systems atlas. Before merge/promotion, rebase or port onto current stable without reverting WFBE_C_STATS_ENABLED = true, then smoke AN-2 low-gear takeoff/climb and mounted-player blink behavior in source Chernarus plus maintained Vanilla. |
| Upstream Barracks 4th-level branch candidate | 2026-06-23 branch-intel pass found origin/claude/upstream-barracks-4th-level@e83de9c4, one commit on merge-base be2bbd084, an ancestor of current stable origin/master@f8a76de34. Payload versus merge-base is 64 files / +700 / -688 across source Chernarus plus maintained Vanilla, and git diff --check is clean. The branch expands Barracks metadata in Core_Upgrades/Upgrades_CO_US.sqf:33,61,89,125 from three to four levels, adds [WFBE_UP_GEAR,4] to the AI order dependencies at :185, reshuffles infantry QUERYUNITUPGRADE levels in representative rows such as Core_US.sqf:21,24,27,33,48,81 and Core_RU.sqf:18,21,24,30,45,60, and adds the US_Soldier_AT_EP1 MAAWS HEAT replacement at Common_CreateUnit.sqf:101 in both roots. |
Branch-only candidate, not current stable behavior. Route upgrade metadata through Upgrades and research and purchase/create-unit evidence through Factory and purchase systems. Before promotion, port/rebase without reverting B74.1 player-stats constants, then smoke Barracks levels 0-4, buy-menu filtering, Common_CreateUnit required-level rejection and AT magazine loadout in source Chernarus plus maintained Vanilla. |
| Trello artillery UI branch candidates | 2026-06-23 branch-intel pass found two small Trello artillery UI heads with current stable origin/master@f8a76de34 as the merge base, so no older-base drift was found in the payloads. origin/claude/trello-arty-cooldown-hud@471fc0580fd6 changes four maintained-root files / +134 / -8 and adds RHUD artillery cooldown controls in both roots: Client_UpdateRHUD.sqf:27,259-288,452 and Rsc/Titles.hpp:177,478-490. origin/claude/trello-arty-to-gunner@2dc3e7403399 changes six maintained-root files / +217 / -8 and adds a Tactical Crew All Artillery button/action in both roots: GUI_Menu_Tactical.sqf:571-626, Rsc/Dialogs.hpp:2364-2371 and stringtable.xml:3192-3213. git diff --check is clean for both payloads. Current stable keeps the Tactical-menu cooldown text and fireMissionTime init, but has no RUBHUD_Arty, exact if (MenuAction == 50) action or crew-artillery string keys. |
Branch-only UI candidates, not current stable behavior. Route behavior through Support specials and tactical modules and UI ownership through Client UI systems. Before promotion, smoke RHUD available/countdown display, Tactical crew-all seating, empty/no-AI/no-artillery cases, player-group locality and maintained Vanilla parity. |
| Skin selector/class swap |
WFBE_C_SKIN_SELECTOR defaults to 0 (Common/Init/Init_CommonConstants.sqf:601), the WF-menu shortcut is hidden (Rsc/Dialogs.hpp:1258), but current source still has join-time, WF-menu and User11 openers plus the replacement-player apply chain (Client/Module/Skill/Skill_Init.sqf:75-77; Client/GUI/GUI_Menu.sqf:211-215; Client/Init/Init_Keybind.sqf:1-14; WASP/actions/SkinSelector/SkinSelector_Apply.sqf:207-257). |
Source-present, default disabled, smoke pending before live-feature wording. Use Skin selector/class swap before enabling or editing class pools, ghillie role gates, handler restoration or respawn persistence. |
This lane tracks direct channels, PVF authority boundaries, and JIP semantics that are still open after the PVF dispatch trust patch lane.
-
publicVariable/publicVariableServerdirect request channels are not hardened by PVF allowlisting. -
requesthandlers 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 |
|---|---|---|
| PVF/PVEH sender authentication (systemic) |
Deep-review findings DR-55 remains open after the dispatcher lookup change. 2026-06-23 current-B74.1 refresh: docs/source HEAD@925d56e01a1e is unchanged from a0721301d4f5 for checked PVF init/dispatcher paths and still forwards only the value tuple at Common/Init/Init_PublicVariables.sqf:46,51 while dispatching via Server_HandlePVF.sqf:14 / Client_HandlePVF.sqf:22 Call Compile; Miksuu b8389e748243 and origin/perf/quick-wins@0076040f match that old shape in checked maintained roots. Current stable origin/master@f8a76de34 equals origin/claude/b74.1-aicom@f8a76de34 and still forwards only (_this select 1) at Init_PublicVariables.sqf:56,61; its server/client dispatchers resolve missionNamespace CODE at Server_HandlePVF.sqf:14-15 / Client_HandlePVF.sqf:32-33 but still do not pass authenticated publisher context. Current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f match that generic PVF boundary; the checked B69..B74 and B74..B74.1 generic PVF init/dispatcher deltas are empty, and no allowlist/sender/requester symbol was found in checked current-stable/B69/B74 dispatcher/init files. Current B74.1 high-risk examples include RequestVehicleLock.sqf:3-8, RequestChangeScore.sqf:7-8,13, RequestNewCommander.sqf:3-14, RequestTeamUpdate.sqf:4-25, direct AttackWave.sqf:19,23-24,40-42, SupplyMissionCompleted supplyMissionCompleted.sqf:2,6,12,31,40,43,45-48,55 and Server_HandleSpecial.sqf:5-17,55-60,77-83,85-93,96-119,127-135. |
Open — P0. Current origin/master@f8a76de34 / B74.1, B69 8d465fce and B74 b23f557f remove dispatch-time Call Compile, but sender authentication and per-handler side/role/funds/object re-derivation still close the forgery surface. See agent-hardening-backlog.jsonl#pvf-handler-sender-authentication. |
| New source-confirmed economy/scoring/AI findings |
DR-49 side-supply underflow guard adds supply (Common/Server_ChangeSideSupply); DR-52 support specials no server auth; DR-53 PR#1 supply-heli forgeable amount/double-reward; DR-56 ARTY_HandleSADARM thread-leak/busy-wait. DR-57 town patrols never spawn is now historical for the old 89ae9dad path: current stable/B74.1 origin/master@f8a76de34 retires that path and adds Patrols v2 in both maintained roots; B74.2 origin/claude/b74.2-aicom@21b62b04 adds a source-Chernarus-only pop-tier cap overlay and has no maintained Vanilla Patrols payload. |
Open except DR-57 current-master route. The economy/authority/perf findings remain source-unpatched. Patrols v2 is source-present and smoke-pending; see Towns/camps/capture and Source fix propagation queue. DR-50 now has a dedicated HQ score row below. |
| HQ-kill score double-award (DR-50) |
Commander/HQ lifecycle owns the refreshed branch matrix. Current-B74.1 refresh 2026-06-23: docs/source HEAD@c2d513ecb is source-unchanged from 9b7eb4bc / 97e4cdd0 / 4d4610f1 for checked HQ-score files. Current stable origin/master@f8a76de34 equals origin/claude/b74.1-aicom@f8a76de34 and still keeps the two-award shape in both maintained roots: generic _points at Server_OnHQKilled.sqf:64/:66, non-teamkill guard at :106, _score = 900 at :109 and second award at :112; coefficient lines are Chernarus Init_CommonConstants.sqf:753 and maintained Vanilla :555, value 3. Current B69 origin/claude/b69@8d465fce and B74 origin/claude/b74-aicom-spend@b23f557f keep the same handler line shape; B74..B74.1 changes only Chernarus constants among checked HQ-score files. Current Miksuu b8389e748243, origin/perf/quick-wins@0076040f and historical a96fdda2 also keep the two-award shape. Same-day Miksuu branch-name scan: ScoreForKillingFactories@f17445c15190, Fix0ScoreBountyBug@415615c9662a and FixNukeMoneyGain@2ad3a7d38837 are old-layout one-award ancestry, AntiHQTeamkillDisabledInDebugMode@5bafe566951a is branch-only current-layout one-award evidence, and BountyModifierTo4@cc127ef40b4d predates the HQ score award rather than fixing DR-50. |
Patch-ready, current-stable/B69/B74/B74.1-unpatched scoring bug. A clean enemy HQ kill pays 1800; a friendly/teamkill HQ kill still gets the generic 900. Keep one non-teamkill award, make teamkills score zero, propagate maintained Vanilla and smoke enemy/friendly HQ kills plus DR-20 idempotency interactions. |
| Commander reassignment call-shape (DR-15) |
Commander reassignment call shape owns the refreshed branch matrix. 2026-06-23 B74.2 current-head follow-up: current stable origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f Chernarus/maintained Vanilla unpack _side = _this select 0 / _commander = _this select 1 at Server_AssignNewCommander.sqf:4-5; 0139a3468609..origin/master, current-stable..B74.2, d472da6a..21b62b04 and B69..B74 reassignment path deltas are empty. Docs/source HEAD@60c35c05 is unchanged from 337ed166 / b44aaaf8 for checked reassignment paths and still uses _side = _this at :3. Miksuu b8389e748243, origin/perf/quick-wins@0076040f, historical release a96fdda2 and historical AI-commander c20ce153 match the maintained-root helper fix. Current stable/B74-shaped Napf/Eden/Lingor full modded forks still use _side = _this at Modded_Missions/*/Server/Functions/Server_AssignNewCommander.sqf:3. |
Current-stable/B74.1/B74.2/B69/B74 maintained-root helper fix source-present; broader reassignment still open. Do not reopen helper unpacking on current stable/B74-shaped maintained roots. Choose one new-commander-assigned sender, switch commander assignment UI to row value/team identity, keep requester authority separate, and do not claim modded propagation without a modded maintenance decision. |
| 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. A 2026-06-22 ref scan found no Server_CleanupExpiredTownDefenseAssets.sqf path in docs/source HEAD@948db4ab, current stable origin/master@0139a346, current Miksuu b8389e748243, perf/quick-wins@0076040f, historical release a96fdda2, origin/feat/aicom-fleet-improvements@cc5090bed4ad or current B69 origin/claude/b69@8d465fce, so older 89ae9dad persistence-helper notes are branch-historical rather than current branch truth. |
Historical regression lesson; current helper claim retired. Keep activation/capture-state changes smoke-gated and re-audit capture persistence before treating it as current stable behavior. Current tracked town-AI vehicle deletion risk routes to Town AI vehicle despawn safety. |
| 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. 2026-06-23 branch-intel pass: origin/claude/upstream-hq-repair-price@440be3da0bda is a branch-only UI/economy candidate from merge-base be2bbd084, not current stable origin/master@f8a76de34 behavior. Its clean payload (+76/-26) changes source Chernarus plus maintained Vanilla Action_RepairMHQ.sqf, Init_Unit.sqf and stringtable.xml to show repair price labels/hints, but has no Server/, RequestMHQRepair.sqf or public-variable payload and direct current-stable diffs include unrelated B74.1 player-stats drift. |
Confirmed historical + current authority risk; branch-only UI candidate. Do not treat the branch as server-authority closure or current stable behavior. If owner wants the UI, port/rebase without reverting WFBE_C_STATS_ENABLED = true, then smoke first/second/third-attempt label/hint semantics, side-supply vs player-funds mode and maintained Vanilla parity; keep server-side MHQ repair validation/debit/mutex work separate. |
| Trello base-integrity branch: ZetaCargo #87 and Nuke #97 |
origin/claude/trello-base-integrity-fixes@66d80160 is two commits on current stable merge-base origin/master@f8a76de34, touching six maintained-root files (+70/-10) with git diff --check clean. #87 adds friendly-HQ lift filtering at branch Zeta_Hook.sqf:17-19 and ground/drop-away-from-HQ placement at Zeta_Unhook.sqf:12-29 in source Chernarus plus maintained Vanilla. Current source Chernarus already passes [_vehicle] to manual detach at stable Zeta_Hook.sqf:34-35, but maintained Vanilla stable and branch still use a no-argument detach action at Zeta_Hook.sqf:34 / branch :37 while Zeta_Unhook.sqf:3-7 expects the vehicle. #97 adds deletion of in-progress LocationLogicStart build logics with WFBE_B_Type at branch Client/Module/Nuke/damage.sqf:33-42; current stable Nuke damage excludes LocationLogicStart from normal damage at damage.sqf:17, while SmallSite/MediumSite create and complete those logics before final createVehicle. |
Branch-only integrity candidate, not current stable and not ICBM authority closure. If wanted, port/rebase against current stable, add maintained Vanilla Zeta detach-argument parity before claiming Zeta fixed, smoke own-HQ filtering, normal/C-130 drops, auto-detach, unfinished vs completed construction inside a nuke blast and maintained Vanilla parity. Keep RequestSpecial/ICBM server authority work separate. |
| Trello audio cues branch: paradrop #90 and IR-smoke ready #91 |
origin/claude/trello-audio-cues@a0e4fb458 is one commit on current stable merge-base origin/master@f8a76de34, touching four maintained-root files (+74/-2) with git diff --check clean. #90 adds a friendly-client paratrooper cue in branch HandleParatrooperMarkerCreation.sqf:42-61: WFBE_C_LastParatroopSound throttles commanderNotification, creates a local paraDZ_<time> mil_objective marker labeled Paradrop, then deletes it after 30 seconds. #91 adds branch IRS_OnIncomingMissile.sqf:51-61, sleeping WFBE_IRS_FLARE_DELAY and playing ARTY_cooldown_over only if the crewed vehicle survives, flares remain and wfbe_irs_disabled is false/default. The reused sound classes exist in both maintained roots at Sounds/description.ext:18-20 and :84-86. |
Branch-only player-feedback candidate, not current stable behavior and not support authority closure. If wanted, port/rebase against current stable, smoke friendly-side-only paratrooper cue/marker throttling and cleanup, IR-smoke ready cue after cooldown, crew leave/death/no-flare cases, level-2 continuous missile sound interaction, PR #61 IR-smoke toggle interaction and maintained Vanilla parity. Localized marker text is a separate polish decision. |
| 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 | Historical QoL commit a66d4691 is a narrow Chernarus UI branch snapshot; current origin exposes no feat/buymenu-easa-qol head on 2026-06-21. The snapshot carries 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 historical branch-review risk, low blast radius. It is UI-only, 3 Chernarus files and git diff --check clean, but not propagated to maintained Vanilla and not represented by a live origin head. 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 if revived. |
| GUER Insurgents playable resistance source | Current origin/master@0139a346 contains the merged GUER lineage (9af83596 is an ancestor) and later maintained-root parity. Both Chernarus and maintained Vanilla Takistan carry WFBE_C_GUER_PLAYERSIDE (Rsc/Parameters.hpp:587), gate/constant fallbacks (Init_CommonConstants.sqf:76-79), gated side hostility (Init_Server.sqf:11), shared player overlay loading (Root_GUE.sqf:129-130; Root_TKGUE.sqf:102-104; Root_GUE_PlayerOverlay.sqf:47,69-82), economy startup (Init_Server.sqf:584-612; Server_GuerStipend.sqf:14,30), VBIED action/handler (Action_GuerVbiedDetonate.sqf:33,46; Server_HandleSpecial.sqf:484-495) and buy/service UI hooks. |
Source-present in both maintained roots; smoke and balance still pending. Use GUER Insurgents branch audit for current source status, GUER insurgent player economy and GUER VBIED detonate action for subsystem detail, and keep the old Gameplay systems atlas intake as historical branch-review memory. Smoke gate-off, Chernarus gate-on, Takistan gate-on, VBIED auth/blast/reward, Ka-137 fire geometry and actual A2 OA HC behavior before release-complete wording. |
| PR #43 / B68 AI commander live soak branch | PR #43 is open from claude/b57-soak-proposals to master; gh pr view 43 on 2026-06-21 returned head b8a1505f8a89881f487a03262f066c8b33eca94d, updated 2026-06-21T17:26:33Z. The B68 commit b8a1505f changes four Chernarus files: it removes the W17 global Supply Convoy marker route at Server/Functions/AI_Commander_Wildcard.sqf:994 while origin/master@0139a346 still creates it at :981-984; it adds/tunes AICOM last-stand/stranded-remnant/retreat constants at Common/Init/Init_CommonConstants.sqf:277-284,319; it changes maneuver-strength and last-stand logic at AI_Commander_Strategy.sqf:41-68,99,441,571-590; and it adds retreat reissue/distance caps at AI_Commander_Produce.sqf:90-151. |
Live Chernarus branch evidence, not merged master/release wording. Use AI commander autonomy audit and marker catalog. Before merge/release, smoke friendly-only convoy visibility, enemy non-visibility, winning-side attack pressure, last-stand lifting, far lone survivor cull, near survivor return/refit and maintained Vanilla propagation. |
| B69 AI commander current branch / PR #47-#51 branch merges |
origin/claude/b69@8d465fce is branch-only B69 evidence on top of B68 b8a1505f. PR #51 merged claude/ch-truck-fix@70a1c808 into claude/b69 at 8d465fcede7fc20a7fcb97bd7d02e5211de8d1bf on 2026-06-22T14:03:51Z; b8530477..8d465fce is one current Chernarus AI commander file / +5 / -1 and gates the B66 pure-infantry troop-truck prepend when armed-transport-only mode is on. PR #50 remains the maintained Vanilla/Takistan propagation proof: 39eed5c0..b8530477 is 22 maintained Vanilla/Takistan files / +2499 / -147, and b8a1505f..8d465fce is 44 files / +3203 / -239 across B69-IMPLEMENTATION-PLAN.md, current Chernarus and maintained Vanilla/Takistan. Earlier PR #48 and PR #49 remain the B71 harvest and B72 tints-on merge evidence. |
Branch source-present in current Chernarus plus maintained Vanilla/Takistan, smoke/master pending; B73 guard Chernarus-only. Use AI commander autonomy audit, B69 roadmap, B69 sketches and PR cleanup lab. Do not call B69 release-ready or master/stable merged until Arma smoke, review and master-target routing are recorded; HC top-up remains uncompiled draft scaffolding. |
| 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 historical head | 2026-06-23 remote branch scan found no live origin/feat/supply-helicopter, origin/*supply* or origin/release/* head. Historical PR #1 evidence remains at old head 262dc431: 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). That head clears SupplyAmount/SupplyFromTown but not SupplyByHeli (supplyMissionCompleted.sqf:40-41). |
Historical PR #1 branch-review evidence. Current stable/B74.1 origin/master@f8a76de34, B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 and adjacent B74 now carry the maintained-root supply-heli/cash-run shape, including guarded killed-handler setup at supplyMissionStarted.sqf:15-17 and SupplyByHeli clear-on-completion in both maintained roots. Use Supply mission architecture for current scope. The old PR #1 gates remain useful if revived: branch drift isolation, timer UX, Air 3/4 economy semantics and runtime smoke. |
| PR #8 release-line delta | Historical a96fdda2 release-line evidence moved beyond the older 7ff18c49 delegated-AI/cleaner checkpoint; current origin exposed no live release/* head on 2026-06-22. Release-line Chernarus and maintained Vanilla keep delegated town-AI group registration/update-back (Client_DelegateTownAI.sqf:29-44; Server_HandleSpecial.sqf:86-115), static-defense HC update-back still commented (Client_DelegateAIStaticDefence.sqf:27-30), fallback-group locality guards (Common_CreateUnit.sqf:34-37; Common_CreateUnitForStaticDefence.sqf:67-70) and cleaner/restorer startup timer floors (crater_cleaner.sqf:3-7,50; droppeditems_cleaner.sqf:3-7,46; ruins_cleaner.sqf:3-7,30; buildings_restorer.sqf:3-6,31). Current stable origin/master@0139a346, B69 8d465fce and B74 b23f557f carry marker-based commander-built ARTY discovery at Construction_StationaryDefense.sqf:166-168 plus Common_GetTeamArtillery.sqf:46-78; historical release a96fdda2 / 7ff18c49 carries the older marker line shape at Construction_StationaryDefense.sqf:133-135. |
Release-branch review risk. Historical release evidence 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, commander-built ARTY discovery and long-session cleaner/restorer behavior before release-ready wording. Use PR cleanup lab, Headless delegation/failover, Marker cleanup/restoration and Testing workflow. |
| 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 / ATTACK_WAVE_DETAILS) |
Attack-wave authority playbook owns the branch/root matrix. Current-B74.1 refresh 2026-06-23: docs/source HEAD@a764d51107de is unchanged from 6d263dc, 1c1ea559 and f3e157f2 for checked Chernarus/Vanilla attack-wave request/detail/client-price paths and still keeps the direct-PV trust shape (updateclient.sqf:240, Common_AttackWaveActivate.sqf:6,8, Server_AttackWave.sqf:5-6,15,23,27,36,38, AttackWave.sqf:19,23-25,40, buy-price consumers Client_UIFillListBuyUnits.sqf:60 and GUI_Menu_BuyUnits.sqf:90,261, constants Init_CommonConstants.sqf:166,197-199). Current stable origin/master@f8a76de34 equals origin/claude/b74.1-aicom@f8a76de34 and keeps the same request/detail trust in both maintained roots; stable/B74.1 action line is updateclient.sqf:260, buy-price consumers are Client_UIFillListBuyUnits.sqf:90 and GUI_Menu_BuyUnits.sqf:99,244-245,416, Chernarus constants are Init_CommonConstants.sqf:547,591-593 and Vanilla constants are :349,393-395. Current B69 and adjacent B74 keep the same request/detail/client-price trust; B69 Chernarus constants drift to :515,559-561, B74 Chernarus constants drift to :528,572-574 and B69/B74 Vanilla constants stay :349,393-395. Scoped 0139a3468609..f8a76de34, B69..B74 and B74..B74.1 attack-wave path deltas only touch constants, not request/detail/client-price trust. Miksuu b8389e748243, origin/perf/quick-wins@0076040f, historical AI-commander c20ce153, historical release a96fdda2 and historical upstream/AttackWave 994150da keep the same shape; current origin exposes no live release/*, attack-wave or support rescue head and repo-root BattlEyeFilter/publicvariable.txt:2 still only filters kickAFK. |
P1 direct-PV authority gap, patch-ready and current stable/B74.1 unrescued. Treat ATTACK_WAVE_INIT as a request, re-derive requester/side/supply server-side, clamp modifier/duration, guard ATTACK_WAVE_DETAILS against forged direct payloads, propagate maintained Vanilla and smoke valid activation, forged _supply >= 70000, wrong-side payloads, duplicate active waves and JIP replay. |
Direct side-supply mutation (wfbe_supply_temp_*) |
B74.2 current-head follow-up 2026-06-24: docs/source HEAD@3bedb86dca88 keeps the old side-supply/resistance shape from 973d817817d9 / a908284c for checked paths, with _currentSupply - _amount negative floors plus west/east-only temp handlers. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 is branch-split: Chernarus removes dead local common-side clamp arithmetic (Common_ChangeSideSupply.sqf:20-22), floors server west/resistance/east negatives to 0 (Server_ChangeSideSupply.sqf:12,36,60) and adds wfbe_supply_temp_resistance (:25-45), while maintained Vanilla remains old-shape at Common_ChangeSideSupply.sqf:25 and Server_ChangeSideSupply.sqf:12,36. Current B74.2 origin/claude/b74.2-aicom@21b62b04 has no checked side-supply/resistance delta over previous B74.2 d472da6a or current stable; B69/B74 carry the same Chernarus-only candidate and old-shape Vanilla. Live origin/claude/faction-tint-sidefix@32acd272f92e diverges before current stable and removes the Chernarus resistance temp-channel handler, so it is regression context, not rescue. DR-44 side/channel/requester validation remains open everywhere checked; current origin exposes no live release/*, supply, economy or resistance rescue head. |
Patch-ready, Chernarus partial rescue only. Use Economy authority first cut, Resistance supply scaffold and Public variable channel index; preserve/port the arithmetic floor, propagate or explicitly scope maintained Vanilla, then validate direct-channel shape and move spend acceptance server-side flow by flow. |
Direct SEND_MESSAGE compile surface |
B74.2 current-head follow-up 2026-06-24: docs/source HEAD@c27388b4146b is unchanged from cd9ba541d583 / 3a32be92 / 40c477be / 16247fc8f for checked SEND_MESSAGE paths. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, Miksuu b8389e748243, origin/perf/quick-wins@0076040f and historical a96fdda2 all register the direct receiver at Client/FSM/updateclient.sqf: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 in both maintained roots. Targeted diffs cd9ba541d583..HEAD, 3a32be92..HEAD, 40c477be..HEAD, 16247fc8f..HEAD, 0139a3468609..origin/master, origin/master..origin/claude/b74.2-aicom, d472da6a..origin/claude/b74.2-aicom, 0a1ccb4d..8d465fce, b8530477..8d465fce and B69..B74 do not touch the checked receiver/helper paths; origin/master..origin/perf/quick-wins edits only the later AFK block in updateclient.sqf. Current origin exposes no live release/*, message, send, network, public, PVF or security rescue branch; older a96fdda2 release evidence is historical until restored. DR-46. |
P0 live + open: direct-channel RCE surface that is not covered by current stable/B74.1/B74.2/B69/B74 PVF dispatcher namespace lookup or any future PVF allowlist. Use Public variable channel index, Pending owner decisions and Hardening roadmap. |
| Side-supply reason string off-by-one | B74.2 current-head follow-up 2026-06-24: docs/source HEAD@3bedb86dca88 is source-unchanged from 973d817817d9 / a908284c for checked reason paths. Docs/source, current stable/B74.1 origin/master@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, current Miksuu b8389e748243, origin/perf/quick-wins@0076040f, B69 and adjacent B74 all keep Common_ChangeSideSupply.sqf:8-14 reading _reason only when count _this > 3. Three-argument AttackWave.sqf:40 calls publish the default error reason instead of the caller's audit string. Four-argument supply completion still preserves its reason (supplyMissionCompleted.sqf:26 on docs/Miksuu/perf, :40,43 on current stable Chernarus, :43,46 on current B74.2 Chernarus, :40 on current/B74.2 Vanilla). Checked d472da6a..21b62b04 is empty for reason/helper paths; current origin exposes no live release/*, supply, economy or resistance rescue head. |
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 | B74.2 current-head follow-up 2026-06-24: docs/source HEAD@f29b4a9b7900 is source-unchanged from c8ec223a / 3a32be92 / cd9ba541 for checked updateresources.sqf / Client_GetIncome.sqf paths and still keeps the old updateresources.sqf:31 cap guard over side-supply growth (:49), team paychecks (:63) and AI-commander funds (:67); Miksuu b8389e748243, origin/perf/quick-wins@0076040f and historical a96fdda2 match that old shape. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, previous B74.2 d472da6a and current B74.2 origin/claude/b74.2-aicom@21b62b04 match for checked income tick/display files. Current Chernarus gates side supply/team paychecks at updateresources.sqf:69,87,101, applies system-4 1.5 at :80-81, broadens AI commander cash/stipend through WFBE_C_AI_COMMANDER_HYBRID_REFILL at :105-114, keeps over-cap fallback at :126-132 and adds B74.1 AICOM taper at :57-67,:106,:130; maintained Vanilla keeps the non-hybrid/raw-supply/no-taper shape at :58,:76,:90,:94-103,:115-121 and system-4 1.5 at :69-70. B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f are identical for checked files, with Chernarus hybrid-refill/supply-multiplier behavior but no B74.1 taper. Client_GetIncome.sqf:24-28 still omits the system-4 display multiplier everywhere checked. Checked d472da6a..21b62b04 is empty for income paths and constants; origin/master..origin/claude/b74.2-aicom changes source-Chernarus pop-tier/AICOM constants (Init_CommonConstants.sqf:171-176) only among checked income-adjacent files. Current origin exposes no live release/*, resource, income or economy rescue heads on 2026-06-24. |
Economy correctness debt with branch split. Use Economy, towns and supply and resource income tick distribution; do not reopen stable/B74.1/B74.2 AI-commander funds-famine fallback, but verify side supply, actual team paychecks, B74.1 AICOM taper, Chernarus/Vanilla parity and RHUD/menu display 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 | Docs/Miksuu/perf-shaped roots: Client/Module/Skill/Skill_Officer.sqf:8,26,29, Server/Module/MASH/MASHMarker.sqf:1,9,11, Client/Module/MASH/receiverMASHmarker.sqf:1, Client/Init/Init_Client.sqf:132; current-stable/current-B69/B74 removal cue: Skill_Apply.sqf:43. See Respawn and death lifecycle. |
Branch-split. Docs/source HEAD@443055cf is unchanged from 2b5139219faa / db3015f18ea3 for checked MASH paths, and docs/source, Miksuu b8389e748243 and perf 0076040f8a5e keep source-supported local MASH respawn plus orphaned marker synchronization in both maintained roots. Current stable origin/master@0139a3468609, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and historical a96fdda2 remove the maintained-root deploy/module path while retaining config/classname residues. Older B69 refs 0a1ccb4d05c5 and 80d3267c1b2b are provenance; diffs from both to current B69 contain no MASH-related hunks, and the checked B69..B74 MASH delta is empty. Owner decision: revive with server-held marker registry/JIP resend on old-shape targets or finish removal/cleanup deliberately on the target branch. |
| Paratrooper marker registration gap |
Server/Support/Support_Paratroopers.sqf, Client/PVFunctions/HandleParatrooperMarkerCreation.sqf, Common/Init/Init_PublicVariables.sqf
|
Branch-scoped / smoke pending. 2026-06-22 source check: docs/source HEAD@7e88d609 registers HandleParatrooperMarkerCreation at Common/Init/Init_PublicVariables.sqf:39 in both maintained roots; current stable origin/master@0139a346, B69 origin/claude/b69@8d465fce and B74 origin/claude/b74-aicom-spend@b23f557f register it at :38 in both maintained roots; historical commits a96fdda2 and 7ff18c49 register it at :34 but current origin exposes no live release/* head; current Miksuu b8389e748243 keeps sender/handler files without the checked maintained-root registration; perf/quick-wins@0076040f registers Chernarus only. 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. B74.2 current-head follow-up 2026-06-24: docs/source HEAD@f9bc264f45a0 is source-unchanged from 6d4b514c12fc for checked supply-truck paths and still raw-spawns the commented worker in both maintained roots at Init_Server.sqf:36,382-383; AI_UpdateSupplyTruck.sqf:17 still references missing Server/FSM/supplytruck.fsm. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 is safety-disabled instead: Chernarus keeps UpdateSupplyTruck commented at Init_Server.sqf:44, initializes wfbe_ai_supplytrucks and log-disables legacy AI supply-truck logistics at :624-625; maintained Vanilla uses :44,618-619. Current B74.2 origin/claude/b74.2-aicom@21b62b04 keeps the same safe-disable caller shape; its d472da6a..21b62b04 Init_Server.sqf delta is GUER stipend startup, not a worker/FSM rescue. B69/B74 also remain safe-disabled. Miksuu b8389e748243 and origin/perf/quick-wins@0076040f still raw-spawn; historical a96fdda2 matches the older safe-disable line shape, and historical c20ce153 guards only Chernarus. Current origin exposes no release/* head, and a broad current-origin sweep found no Server/FSM/supplytruck.fsm. |
Current stable/B74-shaped branches are safety-disabled, not revived. Preserve the warning/disable shape when merging branches; a real autonomous logistics feature still needs a server-owned loop/FSM design and smoke. |
| AI commander automation | Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 has a real side-level supervisor route in both maintained roots: WFBE_SE_FNC_AI_Commander is compiled at Chernarus Server/Init/Init_Server.sqf:72 and maintained Vanilla :66, spawned for present non-GUER sides at Chernarus :1028 / Vanilla :1015, sets/clears wfbe_aicom_running at AI_Commander.sqf:161,339 in Chernarus and :161,338 in Vanilla, and calls the upgrade worker at :288. B74.2 keeps the same Vanilla anchors and line-drifts Chernarus supervisor spawn to Init_Server.sqf:1048. It is still partial/smoke-pending: AI commander economics, production and B69/B74 hardening remain branch-sensitive. Upgrade debit/cost lookup is current-stable fixed, but old docs/Miksuu/perf targets still carry the old worker shape. Historical c20ce153 is commit-only feat/ai-commander evidence, while PR #43 / origin/claude/b57-soak-proposals@b8a1505f remains the current open master-target soak route for B68 attack/retreat fixes. |
Source-present but not release-complete. Use AI commander autonomy audit plus the branch-only feature smoke pack; do not call PR #43/B69 work master-merged or release-ready until maintained Vanilla propagation and Arma smoke are recorded. |
| AI commander upgrade debit/cost lookup | B74.2 current-head follow-up 2026-06-24: docs/source HEAD@c70785e4be30 is unchanged from 031a253fe / ade4d356 for checked worker/menu files and still validates AI upgrade costs as [supply, funds] like the player menu (GUI_UpgradeMenu.sqf:96-97,139-140,159; Server_AI_Com_Upgrade.sqf:34,36) but reads raw AI-order cost at Server_AI_Com_Upgrade.sqf:27 and debits AI funds with _cost select 0 / side supply with _cost select 1 at :47,50. Miksuu b8389e748243 and perf/quick-wins 0076040f match that old shape. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 and adjacent B74 resolve both maintained roots: current-level cost lookup at :75, affordability gates at :89,:92,:97, AI funds debit _cost select 1 at :125, opt-in funds-fallback surcharge at :131-132 and side-supply debit _cost select 0 at :136; checked d472da6a..21b62b04, origin/master..origin/claude/b74.2-aicom and B69..B74 worker/menu deltas are empty. Historical a96fdda2/b061c905 fix debit order only; historical c20ce153 fixes Chernarus only; live side branches are mixed branch-only evidence. |
Current stable/B74-shaped refs resolved / old-target patch-ready. Use AI commander autonomy and Upgrades and research: do not reopen this on current stable/B74.1/B74.2/B69/B74, port current stable's worker to docs/source, Miksuu, perf or old-shape side-branch targets if those matter, and smoke AI upgrade affordability/debit plus funds-fallback before release wording. |
| Town AI vehicle despawn safety | B74.2 current-head follow-up 2026-06-24: docs/source HEAD@ce3cf871e1e7 Chernarus and maintained Vanilla remain source-unchanged from 2a4020586 / 3a9ba92e for checked server_town_ai.sqf paths and still delete inactive tracked town-AI vehicles at :214 with alive _x plus !(isPlayer leader group _x) and no player crew check. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f carry the crew-count guard only in source Chernarus (:325 on stable/B74.1/B69/B74, :337 on B74.2); maintained Vanilla remains leader-only at :319. Checked d472da6a..21b62b04 is empty for both maintained-root server_town_ai.sqf paths, while origin/master..origin/claude/b74.2-aicom line-drifts source Chernarus only. Miksuu b8389e748243, perf/quick-wins@0076040f, historical release a96fdda2 and live origin/feat/aicom-fleet-improvements@cc5090bed4ad are unsafe in both maintained roots. origin/claude/upstream-town-defense-diag-sync@cde1f1fc is delegated-cleanup diagnostics evidence, not DR-45 closure. |
Confirmed patch-ready bug on docs/source, maintained Vanilla and old-shaped refs; current stable/B74-shaped refs are Chernarus-only candidates, not closure. Add or port a full player-occupancy guard before deleting wfbe_active_vehicles, preserve empty AI-only cleanup, propagate maintained Vanilla and smoke driver/gunner/cargo/turret occupancy plus empty AI vehicle cleanup. If a future branch reintroduces persistent town-defense cleanup, audit that as a separate cleanup surface. |
| Task system | Current-stable refresh 2026-06-22: docs checkout 3406ffa0, Miksuu b8389e74 and origin/perf/quick-wins@0076040f still keep the old town TaskSystem compile and town task spawns commented in both maintained roots, with Client_TaskSystem.sqf still present (Client/Init/Init_Client.sqf:75,744 on docs; Miksuu :75,758; perf :75,759; TownCaptured.sqf:35,87). Current stable origin/master@0139a346 is different: it still leaves comment residue at Client/Init/Init_Client.sqf:94,819 and TownCaptured.sqf:36,88, but Client_TaskSystem.sqf is absent in both maintained roots. Current stable separately revives commander Objective Ping through GUI_Menu_Command.sqf:336,344 and registers SetTask at Common/Init/Init_PublicVariables.sqf:40; historical a96fdda2 keeps the helper file plus Objective Ping sends and registers SetTask at :36. Current origin exposes no release/* or task feature heads on 2026-06-22. |
Disabled/deferred legacy town UX. Remove/annotate stale comments or rebuild as a fresh JIP-safe task feature; do not classify current-stable Objective Ping as old town TaskSystem revival. |
| MASH marker receiver | On docs/Miksuu/perf-shaped roots, 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 (:134 on current Miksuu). Current stable/current-B69/B74-shaped maintained roots no longer carry the MASH module path. |
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 HEAD@7e88d609 Chernarus and Vanilla register that client PVF at Common/Init/Init_PublicVariables.sqf:39, current stable/B69/B74 register it at :38, historical a96fdda2/7ff18c49 register it at :34, and the handler file exists in checked maintained roots. Current Miksuu omits the registration; perf registers Chernarus only. |
docs/source, current stable, B69, B74 and historical release-line commits carry the static registration in both maintained roots; current Miksuu omits it; perf is Chernarus-only; Arma smoke pending. Use Paratrooper marker revival and Source fix propagation queue. Modded folders still drift: Napf/eden/lingor register the handler but lack the handler file. |
| PV dispatch trust boundary | Current-stable/B74.1/B69/B74 recheck 2026-06-23: origin/master@f8a76de34 equals origin/claude/b74.1-aicom@f8a76de34, and it plus origin/claude/b69@8d465fce and origin/claude/b74-aicom-spend@b23f557f Chernarus plus maintained Vanilla all resolve _code = missionNamespace getVariable _script and spawn only CODE at Server_HandlePVF.sqf:14-15 and Client_HandlePVF.sqf:32-33. Chernarus blame is 7d60b02b4; maintained Vanilla propagation blame is 9b49883cb; the checked B69..B74 and B74..B74.1 generic PVF dispatcher/init deltas are empty. Init_PublicVariables.sqf:55-61 still precompiles/registers handlers without a registered-handler allowlist or rejection log, and :56,61 still forwards only the value tuple. Docs/source HEAD@925d56e01a1e, Miksuu b8389e74, origin/perf/quick-wins 0076040f and historical a96fdda2 still use Spawn (Call Compile _script) in both maintained roots; current origin exposes no release/*, *pvf*, *network*, *auth* or *public* heads on 2026-06-23. |
Partial source-present on current stable/B74.1/B69/B74; hardening still open. Dispatch-time Call Compile removal / DR-38 is present in those current stable-shaped branches, but add registered-handler allowlists/logging before treating handler-name dispatch as fully hardened. DR-55 legitimate-handler payload validation and direct PV channels remain separate. Use PVF dispatch implementation. |
| 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 current stable's namespace lookup or a future full allowlist, 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 compact branch matrix. B74.2 current-head follow-up 2026-06-24: docs/source HEAD@373e21c1274c is unchanged from a7f383b6 for checked handler/caller/process paths and keeps the mixed parser at Server_HandleSpecial.sqf:3,67-73, caller GUI_UpgradeMenu.sqf:171 and sync lifecycle Server_ProcessUpgrade.sqf:26,29,35, with no wfbe_upgrading_end_time. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 and current B74.2 origin/claude/b74.2-aicom@21b62b04 still mix _args and _this: source Chernarus uses Server_HandleSpecial.sqf:3,77,79-83, maintained Vanilla uses :3,67,69-73, both call from GUI_UpgradeMenu.sqf:292, and both keep sync lifecycle Server_ProcessUpgrade.sqf:32,35,41 while adding server end-time publish/clear at :27,:55. d472da6a..21b62b04, origin/master..origin/claude/b74.2-aicom and origin/claude/b69..origin/claude/b74-aicom-spend are empty for the checked handler/caller/process paths. Miksuu b8389e748243 and perf/quick-wins 0076040f still call from GUI_UpgradeMenu.sqf:241; historical release a96fdda2 calls from :254; historical upgrade-queue b061c905 calls from :268; live Trello upgrade UI/info heads do not rescue the parser. |
Patch-ready consistency cleanup, not a P1 authority bug and not closed by the B74.1 end-time work. Normalize the parser to one tuple source, keep RequestUpgrade authority migration separate, propagate maintained Vanilla and smoke commander upgrade completion, non-server timer sync and malformed/short payload rejection. |
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 |
Construction and CoIn systems owns the current branch split. Docs/source HEAD@f5bcaf91 is unchanged from 4bd37b98 for checked commander ARTY paths, 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 docs/source group-based Tactical discovery at Common_GetTeamArtillery.sqf:10-30. Current stable origin/master@0139a346, B69 origin/claude/b69@8d465fce and B74 origin/claude/b74-aicom-spend@b23f557f instead keep marker-based ARTY discovery (Construction_StationaryDefense.sqf:166-168; Common_GetTeamArtillery.sqf:46-78) but still read _area getVariable "weapons" before a null guard at Construction_StationaryDefense.sqf:26; B69/B74 Tactical fire mission line drifts to GUI_Menu_Tactical.sqf:559. Historical a96fdda2 / 7ff18c49 carries the marker path at Construction_StationaryDefense.sqf:133-135. Miksuu b8389e74 and perf 0076040f have neither ARTY discovery shape nor the guard. |
Docs/source and current stable/B69/B74 have static commander ARTY discovery evidence by different designs; historical release evidence remains branch-scoped and Arma smoke pending. The base-area null-guard fix is docs/source-only among checked refs and does not close client CoIn 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 checked player-buy paths. Current-B74.1/B74.2 refresh 2026-06-23: docs/source HEAD@cacd46f09163 is source-unchanged from 4120137f / 8d611092 for checked Chernarus/Vanilla buy/build paths and still debits locally before BuildUnit; Miksuu b8389e748243, perf/quick-wins 0076040f and historical QoL commit a66d4691 keep the same dead/null factory cleanup without refund. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and B74.2 origin/claude/b74.2-aicom@d472da6a pass _currentCost into BuildUnit and refund the dead/null factory abort at Client_BuildUnit.sqf:276-280 in both maintained roots. B74.2 only shifts source Chernarus buy-menu spawn/debit anchors to GUI_Menu_BuyUnits.sqf:169-171; maintained Vanilla stays :163-165. Historical a96fdda2 has the same dead/null refund at :212-216. Current origin exposes no release/* or feat/buymenu-easa-qol heads on 2026-06-23. |
Player factory buys remain client-local even where the refund is fixed. Preserve/port the current-stable / historical a96fdda2 refund payload when targeting older roots, but decide request/acceptance/rollback semantics and server acceptance before adding expensive or exploit-sensitive factory features. See Factory and purchase systems. |
| Duplicate client skill init | 2026-06-22 refresh: docs/source HEAD@b2738971 Chernarus and maintained Vanilla have one Skill_Init.sqf call at Client/Init/Init_Client.sqf:547, followed by WFBE_SK_FNC_Apply at :571. Current stable origin/master@0139a346 carries the one-call/apply shape at :624 / :647; current B69 origin/claude/b69@8d465fce and B74 origin/claude/b74-aicom-spend@b23f557f carry it at :805 / :828; live origin/feat/client-fps@709258e7 keeps it with Chernarus :613 / :636 and Vanilla :583 / :606. Historical release-line a96fdda2 and 7ff18c49 carry the shape but no live release/* head was exposed on 2026-06-22. Current Miksuu b8389e748243, origin/perf/quick-wins@0076040f and historical origin/feat/ai-commander@c20ce153 still duplicate Skill_Init before apply in both maintained roots. |
docs/source, current stable, B69/B74 and live client-fps carry the single-init shape; Miksuu/perf/historical feat-ai still duplicate; release evidence is historical; Arma smoke pending. See Client skill init idempotency. |
| Commander vote AI/no-commander outcome mismatch |
Commander vote/reassignment owns the branch scope. Current stable origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f Chernarus/maintained Vanilla still count _aiVotes at Server_VoteForCommander.sqf:18,26-27, but the old tautological server comparison is fixed at :43: player commander assignment now requires _highest >= _aiVotes instead of _highest >= _aiVotes OR _highest <= _aiVotes. The scoped 0139a3468609..f8a76de34 diff touches no maintained-root vote/reassignment files; checked B69..B74 vote worker/preview paths are empty too. Chernarus blame points to cbc2294c4; maintained Vanilla propagation points to 91dc6a75. GUI_VoteMenu.sqf:88 still previews AI/no commander when no option has a strict majority or row 0 leads, so UI/server-policy smoke remains open. Docs/source HEAD@e0d82714, Miksuu b8389e748243, origin/perf/quick-wins@0076040f, historical release commit a96fdda2 and historical AI-commander commit c20ce153 still keep the old `>= |
|
| Commander reassignment call shape | Docs/source HEAD@60c35c05 is unchanged from 337ed166 / b44aaaf8 for checked reassignment paths and still assigns _side = _this in Server_AssignNewCommander.sqf:3 in Chernarus/maintained Vanilla, while current stable origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f maintained roots fix helper unpacking at :4-5. The scoped 0139a3468609..f8a76de34 diff touches no maintained-root RequestNewCommander.sqf, Server_AssignNewCommander.sqf or GUI_Commander_VoteMenu.sqf files. RequestNewCommander.sqf:13-14 still calls the helper and also sends new-commander-assigned; current stable/B74.1/B69/B74 helper :10 sends the same message. Current stable/B74.1/B69/B74 full modded Napf/Eden/Lingor forks still carry the old helper shape. |
Branch-split / current-stable-B74.1-B69-B74 partial source-present. Port the helper unpacking only on old-shape targets, then choose one notification owner, keep modded forks out of parity claims until maintained, and smoke one-message reassignment. |
| Commander reassignment UI identity | Every checked root still stores row team indexes with lnbSetValue at GUI_Commander_VoteMenu.sqf:13,63 but resolves the selected commander by visible leader-name text at :33,37. |
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. On current stable origin/master@f8a76de34 / B74.1, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f, RequestNewCommander.sqf:14 and Server_AssignNewCommander.sqf:10 both contain reachable new-commander-assigned sends because the helper side argument is fixed in maintained roots. |
High. Choose exactly one notification owner on current stable/B74.1/B69/B74, patch old-shape targets separately, 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 / Objective Ping branch split | Current refresh 2026-06-22: docs/source HEAD@86ab85b9d0b1 still builds task data but leaves maintained-root SetTask sends commented at GUI_Menu_Command.sqf:335,337,343 while registering SetTask at Common/Init/Init_PublicVariables.sqf:33. Current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and live objective-named origin/feat/naval-hvt-objectives@2e1c59317186 send targeted Objective Ping tasks at GUI_Menu_Command.sqf:336,344 and register SetTask at Init_PublicVariables.sqf:40 in both maintained roots. Current Miksuu b8389e748243 and origin/perf/quick-wins@0076040f keep the commented sends plus :33 registration. Historical a96fdda2 carries live sends and :36 registration, but no live release/* head is exposed. Old town TaskSystem remains separate/commented residue. |
Source-present but smoke-pending on current stable/B69/B74/naval-HVT; partial old-shape on docs/Miksuu/perf. Before promotion, smoke commander menu tab, selected-team vs all-player-led targets, receiving-client task creation/completion timer, JIP, side filtering and spam behavior; do not classify Objective Ping as old town TaskSystem revival. |
| Supply mission cooldown casing | DR-18 remains open in docs/source 15563691, Miksuu b8389e748243 and perf/quick-wins 0076040f: Init_Town.sqf:35 seeds lowercase lastSupplyMissionRun, while isSupplyMissionActiveInTown.sqf:8 reads LastSupplyMissionRun. Current stable/B74.1 origin/master@f8a76de34, B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 and adjacent B74 seed LastSupplyMissionRun at Common/Init/Init_Town.sqf:35 and read it with default 0 at isSupplyMissionActiveInTown.sqf:8 in both maintained roots. Historical release anchor a96fdda2 has the same fixed shape; current origin exposes no live release/* head. |
Branch-split correctness bug. Port or recreate the casing/default fix where targeting docs/Miksuu/perf; keep server-owned start/reward hardening separate. Use Supply mission architecture and Supply mission authority cleanup. |
| 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 | Branch check 2026-06-23: docs/source 15563691 Chernarus and maintained Vanilla use the truck-only typed terminal scan at supplyMissionStarted.sqf:25,28, with the nearby-player scan still broad at :44. Current stable/B74.1 origin/master@f8a76de34, B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 and adjacent B74 use the heli-aware typed terminal scan with _byHeli at :7, terminal guard at :55, typed 400 m heli / 80 m truck nearestObjects at :61, and the nearby-player scan still broad at :83. Historical release anchors a96fdda2 and 7ff18c49 carry the heli-aware typed shape, but current origin exposes no live release/* or supply feature head. Miksuu b8389e748243 and perf/quick-wins 0076040f still enumerate nearestObjects [..., [], 80] at :28 and post-filter Base_WarfareBUAVterminal at :25. |
Branch-split, smoke pending. Docs/source and current stable/B74-shaped refs carry typed command-center scans in both maintained roots; Miksuu/perf do not; release-line evidence is historical until a live head returns. Truck/heli command-center delivery and unrelated-object non-completion still need Arma smoke on the target branch. 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. Service/EASA refresh 2026-06-23: docs/source HEAD@b798fd66 remains old-shape for checked service/EASA paths and unchanged from e9dd7f37 / 8906ee89 / 9b3fc38e; current stable/B74.1 origin/master@f8a76de34 and current B74.2 origin/claude/b74.2-aicom@21b62b04 partially guard service rearm/refuel but leave repair/heal and action-time context open. The stale d472da6a..21b62b04 B74.2 follow-up is empty for checked service/EASA paths. Stable-shaped refs fix exact-funds EASA only in source Chernarus; maintained Vanilla remains strict. origin/claude/trello-service-ammo-count@9159f935 is branch-only ammo-percent UI, and origin/claude/trello-easa-weapon-categories@08819118 is branch-only category-helper wiring; neither closes authority. |
Medium. This is a shared non-isolated economy lane and should follow the upgrade/construction authority design rather than isolated local guards only. Use Service menu affordability guards for local service/EASA correctness evidence. |
| Victory/endgame winner inversion and double-fire | Current-B74.1 refresh 2026-06-23: docs/source HEAD@4c87efd2 is source-unchanged from d30d23466 / a0a86da2 / 2f2132f8 for checked victory/endgame paths. Docs/source, current Miksuu b8389e748243, origin/perf/quick-wins@0076040f and historical a96fdda2 keep the older opposite-side logger block in both maintained roots (server_victory_threeway.sqf:23-41), which logs all-towns wins as the loser. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 is split: Chernarus removes the _victory == 0 gate (server_victory_threeway.sqf:11-16), short-circuits later sides (:23-26) and guards the combined condition (:39-45), but still writes WF_Winner, WASPSTAT and LogGameEnd with _x (:53,:57-65); maintained Vanilla remains gated/mixed at :11,:29 and still logs [_x] at :49. Current stable/B74.1 and B69/B74 remove Client_EndGame.sqf side inversion in both roots (:5-11 on B74.1), but the GUER stats label is Chernarus-only (GUI_EndOfGameStats.sqf:8-9); Vanilla remains West/East-only at :5-8. origin/claude/b74.2-aicom@d472da6a adds no checked victory-path delta over B74.1, and current origin exposes no live release/* head. |
Patch-ready, branch-split partial rescue. Treat current stable/B74.1 Chernarus as partial rescue, not closure. Compute explicit winner/loser sides per branch, align broadcast/client payload/GUER label/WF_Winner/WASPSTAT/logger, propagate maintained Vanilla, and smoke HQ elimination, all-towns victory, same-tick mutual elimination plus AntiStack enabled/disabled tails. Route implementation through Victory/endgame atlas, Deep-review findings DR-11/DR-36, the Hardening roadmap and Source fix propagation queue. |
| Threeway victory mode | Current-B74.1 refresh 2026-06-23: docs/source HEAD@4c87efd2, current Miksuu b8389e748243, origin/perf/quick-wins@0076040f, historical a96fdda2 and current stable/B74.1 maintained Vanilla still read WFBE_C_VICTORY_THREEWAY and run default detection only when _victory == 0; line refs drift (Init_CommonConstants.sqf:401-402 docs/Miksuu/perf, current stable/B74.1 Chernarus :856-857, current stable/B74.1 Vanilla :728-729, historical release :417-418, Vanilla server gate server_victory_threeway.sqf:3,11). Current stable/B74.1 Chernarus and B69/B74 Chernarus remove the gate at server_victory_threeway.sqf:16, but comments explicitly say no new victory modes; B69/B74 maintained Vanilla still gates on _victory == 0 and uses constants at :728-729. Current origin exposes no live release/* heads. |
Broken/abandoned mode on docs/source and maintained Vanilla until end conditions are implemented for non-default victory modes, or explicitly guarded/documented as unsupported. If porting the Chernarus trap fix, name it standard-detection rescue rather than threeway-mode implementation. Keep implementation detail on Victory/endgame atlas. |
| Resistance side supply updates | Current-B74.1/B74.2 refresh 2026-06-23: docs/source HEAD@973d817817d9 is source-unchanged from a908284c / 4db90f1c for checked mission paths. Docs/Miksuu/perf/historical refs publish generic wfbe_supply_temp_<side> at Common_ChangeSideSupply.sqf:28,30, but have no checked maintained-root WFBE_L_GUE owner logic, no wfbe_supply_temp_resistance handler and resistance reads still hit REQUEST_SUPPLY_VALUE / waitUntil at Common_GetSideSupply.sqf:40-43. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 adds WFBE_L_GUE owner logic at Chernarus mission.sqm:4995,4998 / Vanilla :4198,4201 and funds-only 0 reads at Common_GetSideSupply.sqf:36-40; Chernarus also adds wfbe_supply_temp_resistance at Server_ChangeSideSupply.sqf:25-45, while maintained Vanilla remains west/east only. B74.2 has no checked resistance delta over current stable; B69/B74 carry the same Chernarus-only write candidate with older Chernarus mission anchors :4928,4931. |
Partially wired on current stable/B74.1/B74.2/B69/B74 Chernarus only; maintained Vanilla remains old-shape for writes. Use Resistance supply scaffold and Economy authority before changing code; decide funds-only 0 versus live resistance supply state, then validate west/east/resistance channels plus requester authority. |
| Hosted server FPS loops | Branch check 2026-06-22: docs HEAD d0161083 is source-unchanged from a27086cd for checked hosted-FPS paths and keeps the two-publisher guard shape in Chernarus and maintained Vanilla (serverFpsGUI.sqf:1, monitorServerFPS.sqf:1; starts at Init_Server.sqf:578,595; publishes SERVER_FPS_GUI at :6-7 and WFBE_VAR_SERVER_FPS at :5-6). Current stable origin/master@0139a346 uses one guarded serverFpsGUI.sqf:4 publisher in both maintained roots, publishes SERVER_FPS_GUI at :9-10, starts it at Init_Server.sqf:769, documents monitor removal at :815-817, and has no maintained-root Server/Module/serverFPS/monitorServerFPS.sqf file. Historical a96fdda2 matches the single-publisher shape with older init anchors :579 and :595-597. Miksuu b8389e74 and perf/quick-wins 0076040f still keep the two old unguarded publisher loops in both checked roots. No origin/dev/july-update-hosted-server-fps-loop-fix head was found on 2026-06-22. |
docs/source, current stable and historical release are guarded but use different source shapes; Miksuu/perf remain old-loop-shaped; July dev branch must be created/restored before code work. Arma smoke pending. Use Hosted server FPS loop sleep and Server gameplay runtime atlas. |
| Old map blink loop | Current-stable refresh 2026-06-22: docs checkout 3406ffa0 still has old plural blink/add-track comments at Client/Init/Init_Client.sqf:138,140,782 in both maintained roots, while live singular Client_BlinkMapIcon compiles at :139. Miksuu b8389e74 keeps the old comments with line drift at :140,142,796; origin/perf/quick-wins@0076040f keeps docs-shaped lines. Current stable origin/master@0139a346 and historical a96fdda2 no longer carry the old plural/AddUnitToTrack comments in checked maintained roots and keep only the live singular compile at stable :163 / historical :143. |
Branch-split legacy residue. Clean old comments only on old-shape targets; avoid resurrecting the full-map loop without rebuilding missing files and doing a performance review. Current work should use the guarded per-unit blink path. |
| Supply mission dead twin compile | Docs/source 15563691, Miksuu b8389e74 and perf/quick-wins 0076040f still compile WFBE_SE_FNC_SupplyMissionActive at Server/Init/Init_Server.sqf:81 while the live PVEH is registered by supplyMissionStarted.sqf. Current stable origin/master@0139a346 comments the removed compile at Init_Server.sqf:97 and has no maintained-root supplyMissionActive.sqf / checkCCProximity.sqf file. Historical release anchor a96fdda2 comments the removed compile at Init_Server.sqf:81 and also omits those files; current origin exposes no live release/* head. |
Branch-split dead-code cleanup. Do not treat the second compile as proof of an autonomous supply-mission state machine; route any remaining cleanup through Supply mission architecture and the authority/cooldown lanes. |
| Server map blinking units | Current-stable refresh 2026-06-22: docs checkout 3406ffa0 and Miksuu b8389e74 still comment the missing Server_MapBlinkingUnits.sqf exec at Server/Init/Init_Server.sqf:593 in both maintained roots; perf keeps it at Chernarus :588 and Vanilla :593. Current stable origin/master@0139a346 and historical a96fdda2 have no checked maintained-root Server_MapBlinkingUnits.sqf file and no old commented exec. |
Disabled/legacy on old-shape targets; no current-stable cleanup remains for this exact comment unless marker authority is redesigned. |
| 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 | Current-B69/B74 refresh 2026-06-22: docs/source HEAD@d830379768 and current Miksuu b8389e748243 still keep live duplicate LogGameEnd (Init_Server.sqf:64,89), PlayerObjectsList (:69,91) and AwardScorePlayer (:83,93) binds in both maintained roots. Current stable origin/master@0139a346 has one live bind per checked function at :81,:86,:99; current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f have one live bind at :83,:88,:101, with no checked B69-to-B74 init diff. origin/perf/quick-wins@0076040f fixes Chernarus only while maintained Vanilla remains old-shape. Historical a96fdda2 has one-live-bind evidence in both maintained roots, but no live release/* head is exposed on 2026-06-22. Commented AFK/server-FPS/MASH remnants are separate cleanup artifacts and vary by branch. |
Low-risk cleanup where still present. Use Server init bind cleanup; preserve current stable/B69/B74 one-live-bind shape, 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 / docs-source :128-132 writes source Chernarus and maintained Takistan/Vanilla, but the modded-terrain write call is commented (:132 on docs/source/Miksuu/perf/a96fdda2, :135 on stable-shaped refs) and ZipManager packages only Missions plus Missions_Vanilla (:16 on docs/source, :10 on stable-shaped/Miksuu/perf/a96fdda2). |
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 |
Gear template profile filter owns the branch matrix. B74.2 current-head follow-up 2026-06-24: docs/source HEAD@4b9591314c96 is source-unchanged from 72b5f0de98f9 / 43c3ba05 for checked Chernarus and maintained Vanilla template paths; docs/source anchors remain Client_UI_Gear_SaveTemplateProfile.sqf:33,52,75 undefined _u_upgrade plus Init_ProfileGear.sqf:17,25 six-field import guard/index-6 read. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f fix the save-filter comparisons in both maintained roots at Client_UI_Gear_SaveTemplateProfile.sqf:34,57,82, but keep the six-field import guard. Checked d472da6a..21b62b04, origin/master..origin/claude/b74.2-aicom and B69..B74 template deltas are empty. Current Miksuu master@b8389e748243, perf 0076040f8a5e, historical release a96fdda28087, historical EASA QoL a66d46912e2a and old upstream miksuu/Gear_template_error@5b056013 keep the old save-filter shape where the helper exists; live Trello gear/EASA branches have no checked template-path delta. |
Branch-split profile-template persistence guard. Patch docs/source or old-shape refs before trusting saved templates to enforce upgrade gates; current stable/B74-shaped refs still need the import guard/default before the profile-template lane is complete. |
| Vehicle/backpack cargo equip loop bounds |
Vehicle cargo equip loop bounds owns the branch split. B74.2 current-head follow-up 2026-06-24: docs/source HEAD@c96ee1670ddb is source-unchanged from ebfdca96542f / b2544207 for checked cargo helper paths and still carries inclusive loops at Common_EquipVehicle.sqf:27,33,39 and Common_EquipBackpack.sqf:35,41 in both maintained roots. Current Miksuu master@b8389e748243 and historical EASA QoL a66d4691 remain old-shape. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and historical release a96fdda2 fix all five loops to (count(_items) - 1) in both maintained roots; origin/perf/quick-wins@0076040f fixes Chernarus only. Checked b2544207..HEAD, ebfdca96542f..HEAD, d472da6a..origin/claude/b74.2-aicom, origin/master..origin/claude/b74.2-aicom and B69..B74 cargo deltas are empty. Current origin exposes no live release/*, cargo, equip or backpack rescue head; live Trello gear/EASA branches have no checked cargo-helper delta. |
Confirmed reliability bug where still old-shape. Do not reopen current stable/B74-shaped refs; preserve/port the fixed loop bounds for docs/current-Miksuu/EASA/perf-Vanilla targets that still carry inclusive loops, then smoke vehicle/backpack cargo without claiming economy authority hardening. |
| Gear template creation gate needs owner decision |
Gear template profile filter owns the creation/display/save gate matrix. Current docs HEAD@4b9591314c96 is source-unchanged from 72b5f0de98f9 / 43c3ba05 for checked template paths. Docs/source, current stable/B74.1 origin/master@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, Miksuu, perf and historical refs all keep the AddTemplate Barracks-or-Gear creation gate at Client_UI_Gear_AddTemplate.sqf:136 and Gear-only FillTemplates display at Client_UI_Gear_FillTemplates.sqf:17; stable/B74-shaped refs fix only the save-filter _u_upgrade comparison, not this policy split. Checked d472da6a..21b62b04 is empty for these paths. |
Owner-decision consistency debt. Decide Barracks/Gear semantics before changing AddTemplate, FillTemplates and SaveTemplateProfile policy together. |
| Gear/EASA/service purchase authority |
GUI_BuyGearMenu.sqf applies gear and deducts funds client-side. Current docs head b798fd66 is source-unchanged from e9dd7f37 / 8906ee89 / 9b3fc38e / 8b71e2a1 for checked service/EASA paths; current stable/B74.1 origin/master@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f partially guard service rearm/refuel but leave repair/heal, action-time context and EASA client-debit open; d472da6a..21b62b04 is empty for checked service/EASA paths. Current Miksuu upstream b8389e748243 keeps the old direct service debit shape. Stable-shaped refs fix exact-funds EASA only in Chernarus, maintained Vanilla remains strict >. Service menu affordability guards owns the service/EASA branch details; BuyMenu EASA QoL branch audit owns the historical UI-only QoL commit; live Trello service/EASA branches are branch-only UI/wiring evidence, not affordability or authority closure. |
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 the owner pages for patch shape and smoke scope before code work. |
| 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. Current-B74 refresh 2026-06-23: docs/source HEAD@0fdd5602 is source-unchanged from d4cfef80 for checked upgrade dialog/controller paths and keeps the stale class in both maintained roots at Rsc/Dialogs.hpp:2425,2428. Current Miksuu b8389e748243 and origin/perf/quick-wins@0076040f keep it at :2435,:2438. Current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, historical release a96fdda2 and historical upgrade-queue b061c905 have no checked maintained-root RscMenu_Upgrade / GUI_Menu_Upgrade.sqf hits and keep only live WFBE_UpgradeMenu at Rsc/Dialogs.hpp:4-7; checked origin/master..B74 and B69..B74 upgrade dialog/controller deltas are empty. |
Confirmed branch-split stale UI path. Do not revive by recreating the old missing controller or art. For docs/Miksuu/perf-style targets, preserve/port the current stable/B69/B74/release deletion or add an explicit alias to the live upgrade menu, then smoke WFBE_UpgradeMenu, upgrade list/detail and RequestUpgrade. Canonical lane: UI resource parity cleanup. |
Generated version.sqf boot dependency |
Current-B74.1/B74.2 refresh 2026-06-23: a fresh docs/source checkout HEAD@7b1187d32 has no present source Chernarus or maintained Vanilla Takistan version.sqf (Test-Path false for both and git status --ignored showed no ignored-present files), and checked refs do not track live Chernarus/Vanilla version.sqf files. Docs/source HEAD@7b1187d32, current Miksuu b8389e748243 and origin/perf/quick-wins@0076040f include it from description.ext:39 / initJIPCompatible.sqf:4; current stable/B74.1 origin/master@f8a76de34, B74.2 origin/claude/b74.2-aicom@d472da6ae, B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and historical a96fdda2 include it from description.ext:38 / initJIPCompatible.sqf:4. All checked roots consume WF_RESPAWNDELAY, WF_MISSIONNAME and WF_MAXPLAYERS in Rsc/Header.hpp:5,9,21; .gitignore ignores live generated version files (:1,:23 on docs/Miksuu/perf/a96fdda2; stable-shaped refs add Chernarus version.sqf.template tracking at :2-3 but still ignore the live file and Vanilla :25). LoadoutManager writes live version.sqf from BaseTerrain.cs:102,359,361,364 on docs/Miksuu/perf/a96fdda2 and :115,372,374,377 on stable-shaped refs; FileManager.cs:92,100 treats it as generated/special terrain content. |
Generated-output/release hazard. Current stable/B74.1/B74.2/B69/B74's tracked Chernarus template is a reference only; it does not satisfy the live generated source/Vanilla file gate. Verify the target mission root has the right generated version.sqf before pack/test claims, especially clean checkouts, generated Vanilla and modded/stub terrain folders. |
| Economy dialog missing controls | Current-B74 refresh 2026-06-23: docs/source HEAD@21f0d53b is source-unchanged from d2a3f995 / b5219d47 for checked Economy controller/resource paths and still writes 23004/23005/23006 at GUI_Menu_Economy.sqf:7-8 in both maintained roots, while RscMenu_Economy declares 23002, 23003 and 23008 at Rsc/Dialogs.hpp:3327,3339,3346 and no 23020. Current Miksuu master@b8389e748243 and perf 0076040f keep the same stale writes. Current stable origin/master@0139a346, B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and historical release a96fdda2 rewrite both maintained-root Economy controllers around dashboard 23020 at GUI_Menu_Economy.sqf:25 and declare 23020 at stable/B69/B74 Rsc/Dialogs.hpp:3070 / historical :3006; B74 changes only Chernarus dashboard label text versus stable among checked paths. |
Docs-ready UI parity cleanup for docs/Miksuu/perf targets; preserve current stable/B69/B74/release repair when merging. Use UI resource parity cleanup, then smoke Economy disabled state, income controls, sell mode and supply-truck respawn. |
| Duplicate UI resource IDDs | Branch check 2026-06-23: docs checkout edbd341e is unchanged from b5219d47 for checked Dialogs/Titles IDD paths and still keeps EASA/Economy both on dialog idd = 23000 (Rsc/Dialogs.hpp:3209-3211, :3287-3289) in both maintained roots. Current Miksuu b8389e748243 and perf 0076040f also duplicate 23000 (Dialogs.hpp:3265-3267, :3343-3345). Current stable origin/master@0139a346, B69 8d465fce, B74 b23f557f and historical a96fdda2 move EASA to 24000 and keep Economy on 23000 in both maintained roots. RscOverlay/OptionsAvailable still both use title idd = 10200 everywhere checked; no checked maintained root has a findDisplay 23000/24000/10200 caller. |
Docs/Miksuu/perf still need UI parity cleanup or a formal waiver for EASA/Economy; every checked target still needs title-IDD cleanup or a 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"]. B74.2 current-head follow-up 2026-06-23: docs/source HEAD@aeef97665 is source-unchanged from 92b52e73 / ebfdca965 for checked title-handle paths; docs/Miksuu/perf use Titles.hpp:170-171,539-540, Client_UpdateRHUD.sqf:89,92,190, updateavailableactions.fsm:225,228,230 and GUI_EndOfGameStats.sqf:13,34-44,86-93. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, B69 8d465fce and B74 b23f557f keep Titles.hpp:174-175,587-588, Client_UpdateRHUD.sqf:89,92, updateavailableactions.fsm:225,228,230 and the shared helper scripts in both maintained roots. Source Chernarus endgame stats are GUI_EndOfGameStats.sqf:15,36-46,88-95; maintained Vanilla remains :13,34-44,86-93. Checked d472da6a..21b62b04 title-handle deltas are empty; the stable-to-B74.2 diff changes only source-Chernarus RHUD AI-cap text among checked files. Historical a96fdda2 has the stable title refs and RHUD refresh at :258. All checked refs keep the shared-handle shape; current origin exposes no live release/*, RHUD, endgame, title or display rescue head. |
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 |
Towns/camps/capture owns the refreshed branch split. 2026-06-23 current-B74.1/B74.2 check: docs/source HEAD@7b635187c8a1 is unchanged from de911438 / 28a7d9c5 for checked camp flag, repair-camp and CampCaptured client-handler paths. Docs/source still writes captured camp sideID to _newSID at server_town_camp.sqf:132 but flags old _side at :135; repair-camp changes side/broadcasts at Server_HandleSpecial.sqf:165,168; and CampCaptured.sqf:22,47 only recolors markers. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, historical a96fdda2 and live origin/feat/naval-hvt-objectives@2e1c5931 fix independent capture in both maintained roots at server_town_camp.sqf:83-86; current B74.2 origin/claude/b74.2-aicom@21b62b04 keeps that fix with source-Chernarus line drift to :91 and maintained Vanilla at :84, and checked d472da6a..21b62b04 camp flag / repair / CampCaptured deltas are empty. Current Miksuu b8389e748243 remains old-owner at server_town_camp.sqf:88-91; perf/quick-wins@0076040f fixes Chernarus only at :135 while maintained Vanilla remains old-owner. repair-camp still changes side/broadcasts without a world-flag refresh everywhere checked: stable/B74.2 Chernarus Server_HandleSpecial.sqf:501,504, stable/B74.2 Vanilla :468,:471, B69/B74 Chernarus :491,:494, naval-HVT Chernarus :477,:480 / Vanilla :467,:470, and wildcard capture origin/fix/wildcard-w4w5-outer-capture@ead7e854 at :351,:354. Wildcard capture only changes client marker audience at CampCaptured.sqf:47 and handler shape; it is not a world-flag rescue. |
Branch-split visual/world-state debt. Preserve current-stable/B74.1/B74.2/B69/B74/release/naval independent-capture fixes when merging; patch old-owner targets where still relevant; add repair-side setFlagTexture refresh in all code-owner targets; smoke independent capture, camp repair and JIP marker/flag consistency. |
| Camp count helper fallback | Branch check refreshed 2026-06-23 for current B74.1/B74.2: docs/source HEAD@6b8b12df is unchanged from 91d1ccf2 / ade4d356 for checked helper/caller paths. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, B74.2 origin/claude/b74.2-aicom@21b62b04, Miksuu b8389e748243, perf/quick-wins@0076040f, historical release a96fdda2, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f all keep Common_GetTotalCamps.sqf:10 and Common_GetTotalCampsOnSide.sqf:16 returning 1 for zero-camp towns in both maintained roots. B74.1 only adds contested/naval-HVT context around checked server_town.sqf callers, and B74.2's checked source-Chernarus caller drift is unrelated pop-tier/naval/stat work; d472da6a..21b62b04 is empty for checked town/camp helper/caller paths. Affected caller families remain capture mode 2/capture-rate math, threeway respawn and depot infantry buys; exact line drift lives on Towns, camps and capture atlas. |
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. B74.2 current-head follow-up 2026-06-24: docs/source HEAD@b8180bb319ed checked buy-menu price/key paths are unchanged from 4120137f / 8d611092 / ebd86fad0 and still keep selected-detail price drift at GUI_Menu_BuyUnits.sqf:261, no level-0 UNIT_COST_MODIFIER reset and the uppercase/lowercase driver-default profile key split in both maintained roots. Current Miksuu b8389e748243 and perf/quick-wins@0076040f match that old shape. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, current B74.2 origin/claude/b74.2-aicom@21b62b04 and historical a96fdda2 fix selected-detail display and mirror driver-default keys in both maintained roots, but still do not reset UNIT_COST_MODIFIER to 1 for level 0. Current B74.2 keeps the previous B74.2 price/key line shape: source Chernarus purchase GUI_Menu_BuyUnits.sqf:105, selected detail :422 and constants Init_CommonConstants.sqf:610; maintained Vanilla stays stable-shaped; checked d472da6a..21b62b04 is empty for checked buy-menu price/key paths. Branch-only origin/claude/trello-buymenu-gear-display@db1291beba changes special AT gear/ammo preview at GUI_Menu_BuyUnits.sqf:552-565 in both roots, not price/key behavior. Historical QoL a66d4691 fixes selected-detail display in Chernarus only. |
UI/economy correctness debt, partially fixed on current stable/B74.1/B69/B74/B74.2 and historical release evidence. Do not reopen selected-detail/key mirroring on stable-shaped refs; reset/localize the modifier path first, then decide whether dual-key mirroring is the intended driver-default compatibility policy and smoke list/detail/charge, funds guard, unit-cost levels 0/1/2, crew toggles, max-out and reset. |
| Patrols v2 current-master route | Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 Chernarus and maintained Vanilla retire the old server_town_ai patrol launch (Chernarus server_town_ai.sqf:72,343, Vanilla :72,337), add the side-upgrade driver (Chernarus server_side_patrols.sqf:12,19,83,87,127,132, Vanilla :12,19,33,37,67,72), compile and dispatch Common_RunSidePatrol (Chernarus :56,86,89,95,114,125,154,253,272; Vanilla :56,84,87,93,108,119,148,247,266), maintain side slots/markers through Chernarus Server_HandleSpecial.sqf:367-393 / Vanilla :346-372 and Client/FSM/updatepatrolmarkers.sqf:3,23 / Vanilla :3,19, and use server_patrols.sqf:31 && in both roots. Current B74.2 origin/claude/b74.2-aicom@21b62b04 changes only source Chernarus Patrols/town-AI cap surfaces (Init_CommonConstants.sqf:170,173-176; server_side_patrols.sqf:32,38; server_town_ai.sqf:61,64-65; Server_GetTownGroupsDefender.sqf:89,91; Buy Units/RHUD pop-tier reads at GUI_Menu_BuyUnits.sqf:37,41 / Client_UpdateRHUD.sqf:354,358) and has no Missions_Vanilla payload; d472da6a..21b62b04 is empty for checked Patrols/town-AI/marker/UI cap paths. Docs/source HEAD@665df909, Miksuu b8389e748243, perf/quick-wins@0076040f and historical a96fdda2 have no Patrols v2 startup hits. The old 89ae9dad DR-57/AI1 evidence is historical branch evidence now. |
Source-present / smoke-pending AI lifecycle feature. Use Towns/camps/capture; smoke Patrols upgrade levels 1/2/3, level-4 convoy/camp-sweep hooks, HC delegate-sidepatrol, friendly marker audience, patrol death, side-slot/cooldown release and Buy Units/RHUD AI-cap text. On B74.2, include the pop-tier AI-cap policy and do not claim maintained Vanilla parity without propagation. |
| 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. 2026-06-23 current-B74.1/B74.2 refresh: docs/source HEAD@322ef95e is unchanged from 087152f5 / 68bd4dc5 for checked vote/help/router paths; current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, B74.2 origin/claude/b74.2-aicom@d472da6a, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, current Miksuu b8389e748243, origin/perf/quick-wins@0076040f and historical a96fdda2 all keep the inclusive vote loops (GUI_VoteMenu.sqf:29,49,61; GUI_Commander_VoteMenu.sqf:58), row-color offset (GUI_VoteMenu.sqf:80,82), help namespace mismatch and handler-only MenuAction 17/18 GPS zoom routes in both maintained roots. Current stable/B74.1/B74.2/B69/B74 move visible MenuAction = 19 to GPS enablement (Rsc/Dialogs.hpp:1244,1252; GUI_Menu.sqf:241) but do not rescue the old zoom handlers; 0139a3468609..origin/master changes only Init_Client.sqf among checked paths, and origin/master..origin/claude/b74.2-aicom is empty for those paths. WASP display-54 input-lock polling is tracked separately in the WASP marker wait route, where current stable/B74.1 origin/master@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, B69, B74, origin/feat/client-fps@709258e7 and live map branches are source-present throttled too. |
UI correctness and UX debt, branch-split. 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. Keep commander vote outcome semantics on Commander vote/reassignment; smoke WASP marker dialog through its own lane and avoid reopening the stable/B74.1/B74.2/B69/B74/client-fps/live-map one-line throttle. |
| Destroyed-factory refund branch split | Current-B74.1/B74.2 refresh 2026-06-23: docs/source HEAD@cacd46f09163 is source-unchanged from 4120137f / 8d611092 for checked buy/build paths and still has local queue increment/debit plus Client_BuildUnit.sqf:211-214 dead/null factory cleanup without refund. Miksuu b8389e748243, perf/quick-wins 0076040f and historical QoL commit a66d4691 remain old-shape. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and B74.2 origin/claude/b74.2-aicom@d472da6a pass _currentCost into BuildUnit and refund the real dead/null factory abort at Client_BuildUnit.sqf:276-280 in both maintained roots. The 0139a3468609..f8a76de34 checked-path delta touches source Chernarus Client_BuildUnit.sqf only for GUER VBIED action persistence, not refund behavior; B74.2 only line-drifts source Chernarus buy-menu anchors. Historical a96fdda2 has the same dead/null refund at :212-216; intermediate historical 7ff18c49 only refunded the empty/crewless branch and is superseded. Current origin exposes no release/* or feat/buymenu-easa-qol heads on 2026-06-23. |
Source-present on current stable/B74.1/B69/B74/B74.2 and historical a96fdda2, patch-ready for older roots if they remain targets. Preserve the dead/null refund payload when merging, keep the empty/crewless spawned-vehicle counter cleanup separate, and 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 on docs/Miksuu/perf and :38 on stable-shaped refs, Rsc/Header.hpp:5,9,21 and initJIPCompatible.sqf:4 make generated version.sqf drive header metadata; map flags are converted at initJIPCompatible.sqf:111-113. 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 | B74.2 current-head follow-up 2026-06-24: docs/source HEAD@52b7f7443bbc is unchanged from 0da6ba431 for checked parameter/cache/cleanup/AI-consumer paths; docs/source, current Miksuu master@b8389e748243, origin/perf/quick-wins@0076040f and historical release a96fdda2 still expose/default WFBE_C_AI_MAX without an active maintained-root AI_Commander_Produce.sqf reader found, and keep WFBE_C_UNITS_CLEAN_TIMEOUT comment-only in Common_TrashObject.sqf:20. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, B69 8d465fce and B74 b23f557f are source-present in both maintained roots: AI_Commander_Produce.sqf:234 reads WFBE_C_AI_MAX, and Common_TrashObject.sqf:21 reads WFBE_C_UNITS_CLEAN_TIMEOUT for non-man wreck cleanup while bodies use WFBE_C_UNITS_BODIES_TIMEOUT. Checked d472da6a..21b62b04 is empty for this path set; origin/master..origin/claude/b74.2-aicom only changes source-Chernarus tiered player-cap/AICOM constants and side-AI cap logic among checked parameter-adjacent files while keeping maintained Vanilla stable-shaped. Player follower caps still use WFBE_C_PLAYERS_AI_MAX, with B74.2 source Chernarus adding WFBE_C_PLAYERS_AI_MAX_BY_TIER as branch-only player-cap context; local d9506078 is not current Miksuu upstream. |
Branch-split. Use Mission parameters and Dead/stale code register; do not route current stable/B74.1/B74.2 as no-op/comment-only, but current Miksuu and other old-shape refs still need port/hide/label decisions plus host parameter, AI commander production, player cap UI/RHUD, body/wreck and empty-vehicle cleanup smoke. |
| Auto-wall construction toggle is global |
Construction and CoIn systems owns the refreshed branch matrix. 2026-06-24 B74.2 current-head follow-up: docs/source HEAD@de471ea5ba96 is unchanged from eca0e4a7, f3896116 and 89aadf8c for checked auto-wall paths, and docs/source, current Miksuu b8389e748243 plus origin/perf/quick-wins@0076040f keep RequestAutoWallConstructinChange.sqf:3-7 writing one global isAutoWallConstructingEnabled, initialize it false at Init_Common.sqf:201, and consume it without structure exclusions at SmallSite :110 / MediumSite :125. Current stable/B74.1 origin/master@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f still use one global, initialize it true at Init_Common.sqf:214, and consume it at SmallSite :123 plus MediumSite Chernarus :163 / maintained Vanilla :160 with AARadar plus related structure exclusions. Historical a96fdda2 and live origin/feat/oa-auto-countermeasures@2015a632 only add the AARadar guard; the live head still sends RequestAutoWallConstructinChange with one global state. Checked 89aadf8c..HEAD, f3896116..HEAD, eca0e4a7..HEAD, d472da6a..origin/claude/b74.2-aicom, origin/claude/b69..origin/claude/b74-aicom-spend, origin/claude/b74-aicom-spend..origin/master and origin/master..origin/claude/b74.2-aicom auto-wall deltas do not add side/requester scope; B74.2 only adds source-Chernarus stats attribution among construction paths. |
Workflow/authority risk. 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. 2026-06-24 B74.2 current-head follow-up: docs/source HEAD@408479a914c7 is unchanged from 795cdbbf0 for checked salvage paths. Docs/source, current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, current Miksuu master@b8389e748243, origin/perf/quick-wins@0076040f and historical a96fdda2 all keep lowercase ChangePlayerfunds in both payout paths while Init_Client.sqf compiles ChangePlayerFunds. Current stable/B74.1/B74.2 line anchors are Skill_Salvage.sqf:38, updatesalvage.sqf:51, Init_Client.sqf:97,135, source Chernarus Client_BuildUnit.sqf:388 and maintained Vanilla :343. Checked d472da6a..21b62b04 touches only source-Chernarus Init_Client.sqf (+30/-3) for vehicle-tint resource guarding, join/connect ACK failover and intro-music setup, not salvage payout, loop or authority. Live branch origin/claude/salvage-w10-manfilter@2e0242b3 is separate W10 evidence, adding only !(_wk isKindOf "Man") to inert Server/Functions/AI_Commander_Wildcard.sqf:794. Live branch origin/claude/trello-salvage-truck-interlock@9e75c736e is a current-stable-based Trello #15 UX/interlock candidate: it changes Skill_Apply.sqf, Skill_Salvage.sqf and stringtable.xml in both maintained roots to block manual engineer salvage near a friendly salvage truck, but still keeps lowercase payout calls at Skill_Salvage.sqf:45 and updatesalvage.sqf:51 and leaves the truck FSM untouched. Current origin exposes no live release/* or feat/*salvage* heads beyond the two salvage-named Claude branches. All checked roots keep the updatesalvage.sqf:10 ` |
|
| Empty supply trucks linger by design |
Marker cleanup/restoration owns the refreshed branch matrix and exact collector/handler line proof. 2026-06-24 B74.2 current-head follow-up: docs/source HEAD@248baa289ca5 is unchanged from 499c2543 / b4e10b5f for checked empty-vehicle collector/handler paths; current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, direct current Miksuu master@b8389e748243, origin/perf/quick-wins@0076040f and historical a96fdda2 all keep the 24-hour supply-truck handler shape in both maintained roots. Checked path deltas b4e10b5f..HEAD, 499c2543..HEAD, 0139a3468609..origin/master, d472da6a..origin/claude/b74.2-aicom, origin/master..origin/claude/b74.2-aicom and origin/claude/b69..origin/claude/b74-aicom-spend are empty. Current origin exposes no live release/* or cleanup/supply rescue head; historical a96fdda2 matches the same 24-hour policy, but is not current release proof. |
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. |
| Clickable-text sound config branch split |
Client UI systems owns the current branch matrix. B74.2 current-head follow-up 2026-06-24: docs/source HEAD@14d74f9d2 is unchanged from 1d4282eca8fd / 0bb0f89f / b5219d47 for checked resource/dialog/title paths and still keeps malformed RscClickableText.soundPush[] = {, 0.2, 1}; at Rsc/Ressources.hpp:556 in both maintained roots, with 17 derived RscClickableText controls. Current Miksuu master@b8389e748243, origin/perf/quick-wins@0076040f, historical a96fdda2 and UI theme branches 0767c0b5 / 87d86257 keep the malformed value in both maintained roots. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and GUER branch hits c8ef67d8 / 0f53f34d keep valid RscClickableText.soundPush[] = {"", 0.2, 1}; at Rsc/Ressources.hpp:556 in both maintained roots, matching :92; Chernarus blame points to 1a5e0b40, maintained Vanilla propagation to 9b49883c, and checked d472da6a..21b62b04, origin/master..origin/claude/b74.2-aicom plus B69..B74 resource/dialog/title deltas are empty. GUER branch hits touch adjacent Dialogs.hpp / Titles.hpp surfaces only and do not rescue old-shape refs. |
Source-present on current stable/B74.1/B74.2/B69/B74/GUER branch hits; smoke-pending for release wording. Do not reopen the base-class edit there. For older target branches that still carry {, 0.2, 1}, port the current valid value, propagate maintained Vanilla and smoke representative clickable controls in gear, WF menu/HUD toggles, construction/CoIn, artillery and economy. |
| 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 | B74.2 current-head follow-up 2026-06-24: current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 still implements paid fast travel locally in both maintained roots, reading fast-travel mode/range at GUI_Menu_Tactical.sqf:22-23, hiding unaffordable destinations and drawing marker-price text at :185,195-196,215, then recalculating/debiting locally at :403-404; constants are source Chernarus Init_CommonConstants.sqf:612,621-624 and maintained Vanilla :414,423-426. Current B74.2 origin/claude/b74.2-aicom@21b62b04 has no checked Tactical GUI delta, checked d472da6a..21b62b04 is empty for the four maintained-root fast-travel paths, and origin/master..origin/claude/b74.2-aicom only drifts source Chernarus constants to :625,634-637. B69 8d465fce and B74 b23f557f keep the same Tactical behavior and only differ in source Chernarus constant line refs. Docs/source HEAD@003d0c4c044e is unchanged from 1154f5d43 for checked fast-travel paths; docs/source, Miksuu b8389e748243, perf 0076040f and historical release a96fdda2 keep the old TODO at GUI_Menu_Tactical.sqf:147, the same fee/debit shape at :186,196-197,216,404-405, and old-shape constants. Current origin exposes no live release/* or fast-travel feature heads on 2026-06-24. |
Working/partial UX, docs-ready owner decision. Use Client UI systems; do not reopen stale-TODO removal on current stable/B74.1/B74.2. 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. |
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. B74.2 current-head follow-up 2026-06-24: docs/source HEAD@7a7d8c48021f is unchanged from d81580cfbe61 / 7562c803 / 6b8eba5e / 3406ffa0 for checked construction paths, and current stable/B74.1 origin/master@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, Miksuu b8389e748243, origin/perf/quick-wins@0076040f, historical release a96fdda2, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f all keep SmallSite add/add at Construction_SmallSite.sqf:70,99 while MediumSite removes at Construction_MediumSite.sqf:70,114 in both maintained roots. d472da6a..21b62b04 is empty for checked construction files. Auto-wall branch proof was refreshed separately against docs/source HEAD@de471ea5ba96, current stable/B74.1/B74.2/B69/B74, Miksuu, perf, live origin/feat/oa-auto-countermeasures@2015a632 and a96fdda2; every checked ref still uses one global toggle, with only branch-specific default/exclusion-list drift. Current stable/B74.2 touch source-Chernarus construction files for unrelated bank pending-reservation and structure-built stats attribution only; current origin exposes no release/* construction/CoIn rescue heads for these lanes. |
| 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 | Docs checkout 15563691, current Miksuu b8389e748243 and perf 0076040f remain truck-only; current stable/B74.1 origin/master@f8a76de34, B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 and adjacent B74 carry the supply-heli/cash-run branch shape in both maintained roots, including guarded killed-handler setup at supplyMissionStarted.sqf:15-17. Historical release commits a96fdda2 / 7ff18c49 remain release-line evidence because current origin exposes no live release/* head. |
| 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. |
AI_UpdateSupplyTruck.sqf remains the clearest abandoned logistics feature. Docs/source HEAD@f9bc264f45a0 is source-unchanged from 6d4b514c12fc; docs/source, Miksuu b8389e748243 and origin/perf/quick-wins@0076040f still raw-spawn the missing worker when truck supply plus AI commanders are enabled. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 has the safety wrapper: Chernarus Server/Init/Init_Server.sqf:44,624-625 and maintained Vanilla :44,618-619 keep the compile disabled, leave the truck-supply + AI-commander branch visible, initialize wfbe_ai_supplytrucks and log that legacy AI supply-truck logistics are disabled instead of spawning UpdateSupplyTruck. Current B74.2 origin/claude/b74.2-aicom@21b62b04 keeps that same caller shape; d472da6a..21b62b04 line-drifts source-Chernarus Init_Server.sqf for GUER stipend startup and touches client join/connect files, not the worker/FSM route. The old worker still references missing Server/FSM/supplytruck.fsm, and a broad current-origin sweep found no such FSM, so simply restoring the compile would fail later on the missing FSM. Use the AI commander matrix before merging raw-spawn branches.
Canonical routes: Economy/Towns/Supply, AI commander autonomy audit, Abandoned feature revival review, Current PR #1 supply helicopters.
Old wording that called PR #1 a confirmed unguarded handler-stacking defect is stale for current stable/B74-shaped refs and historical PR #1/release-line source checks. Current stable/B74.1 origin/master@f8a76de34, B74.2 origin/claude/b74.2-aicom@21b62b04, current B69 and adjacent B74 set wfbe_supply_killed_eh_set at supplyMissionStarted.sqf:15-16 before adding the Killed handler at :17 in both maintained roots; older PR/release evidence should stay historical until live feature/release heads return.
Still open before release-ready wording: repeated load/deliver/destroy runtime smoke, persistent guard behavior, handler-ID/removal or re-arm policy, cash-run semantics, JIP cooldown behavior and clear branch wording that docs/source remains truck-only typed, current stable carries the heli shape, current Miksuu/perf remain old-shape, and release/PR evidence is historical without live heads. Canonical routes: Current PR #1 supply helicopters, Supply mission architecture, Supply mission authority cleanup.
- 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.
Previous: External integrations | Next: Hardening roadmap
Main map: Home | Fast path: Quickstart | Agent file: agent-context.json
Home | Agent Guide | Current live state | Release 1.2.2 (B91) | Quickstart | Progress | Lifecycle wait-chain | Join/disconnect | Parameters/build | Assets/config | SQF atlas | PV index | Modules | Support/specials | Commander/HQ | Commander vote/reassign | Construction/CoIn | Construction cleanup | WDDM compositions | Factory/purchase | Upgrades/research | Towns/camps/capture | Victory/endgame | Markers/cleanup | Server runtime | AI runtime/HC | AI commander audit | HC delegation | Town AI safety | Commander reassignment | Resistance supply | Player UI workflow | UI atlas | Respawn/death | Gear template filter | Vehicle cargo loop | Service guards | UI IDD repair | UI design inspiration | WASP overlay | Feature status | Source propagation | release readiness | Tooling readiness | Integration trust | AntiStack DB | Owner decisions | Shelved registry | Abandoned feature revival | Hardening roadmap | PVF dispatch | Server authority | ICBM authority | Attack-wave authority | Telemetry families | AICOM V2 cutover | Consumer port map | Testing workflow | Server ops | Web tools | Ecosystem repos | Arma 2 OA refs | A2 traps | OA compatibility audit | Coverage ledger | Navigation inventory | Pruning ledger | Knowledge roadmap | Agent context | Collab protocol | Worklog | Audit archive 2026-07 | Briefing reference | Utes invasion concept
- Shelved AICOM concepts - revivable someday ideas (owner-shelved 2026-07-03)
Docs rule: source-backed claims only; Arma 2 OA scripting docs only; gameplay edits start in Missions/[55-2hc]warfarev2_073v48co.chernarus.
- Getting started
- Status and coordination
- Agent context
- Agent collaboration protocol
- Agent worklog
- Agent worklog archive
- Progress dashboard
- PR cleanup and integration lab
- Shelved PR #169: gear price double-count
- Shelved PR #194: Chernarus no-trees
- Coordination board
- Codebase coverage ledger
- Bottleneck removal queue
- Current source status
- Wiki mirror reconciliation
- Navigation inventory
- Registers
- Agent orchestration
- Architecture
- Architecture overview
- Mission entrypoints and lifecycle
- Lifecycle wait chain
- Player join/disconnect and AntiStack lifecycle
- Mission parameters/localization/build inputs
- Stringtable localization key-family catalog
- Source inventory
- Content structure and maps
- Assets/config/localization/parameters
- Mission start parameters index
- Code and networking
- Gameplay systems
- Core systems index
- Gameplay systems atlas
- Commander/HQ lifecycle atlas
- Economy, towns and supply
- Economy system reference
- Balance asymmetries
- Anti-stack skill-balance mechanic
- Empty-side supply income stagnation
- Towns, camps and capture atlas
- Victory and endgame atlas
- Victory conditions reference
- Territorial victory reference
- Marker cleanup and restoration
- Marker loop engine and registries
- Map marker families content catalog
- Marker subsystem function reference
- Client marker FSM updater map
- Support specials and tactical modules
- SCUD TEL tactical munitions
- Naval HVT objectives (carriers/SCUD)
- SCUD saturation strike mechanic
- Takistan airfield FPV drone design
- Construction and CoIn systems
- Structure damage reduction & friendly-fire
- Construction logic list cleanup
- Flak tower & WDDM anchor compositions
- Resistance supply scaffold
- GUER Insurgents faction overview
- GUER Insurgents branch audit
- GUER insurgent player economy
- GUER Commissar Panel
- GUER air-defense loop (Ka-137/Mi-24)
- Upgrades and research atlas
- Supply mission architecture
- Supply mission authority cleanup
- Current supply helicopters PR1
- Respawn and death-loop lifecycle
- Vehicle theft economy pitch
- GUER tunnel network pitch
- Content, reference and catalogs
- Faction unit/vehicle roster catalog
- Auxiliary/SF/civilian unit catalog
- Gear store loadout route catalog
- Upgrade research (cross-faction)
- Gear store price and upgrade catalog
- Gear store catalog (complete, per faction)
- Defense structures catalog
- Artillery reference per faction
- AI squad team templates catalog
- Town AI lifecycle reference
- Town AI group composition catalog
- Class-skill system reference
- Player skill abilities reference
- Default gear template content catalog
- Chernarus map content reference
- Takistan map content reference
- Takistan features
- Takistan parity reference
- Takistan oilfields objective reference
- IRS IR-smoke countermeasure
- Arty module special munitions
- Zeta cargo sling-load reference
- Spawn primitive function reference
- Kill and score pipeline
- Waypoint helper function reference
- Position and proximity function reference
- Side/team state function reference
- Player AI watchdog and recovery
- AICOM stuck-recovery v2
- LoadoutManager data-model contributor guide
- Discord status bot setup and reference
- GLOBALGAMESTATS extension reference
- New player quickstart (player guide)
- Optional client mods (player guide)
- Earning funds and score (player guide)
- Vehicle service and logistics (player guide)
- Commander's handbook (player guide)
- Tactical support menu
- Paradrop player experience
- Supply missions (player guide)
- In-game briefing & Diary field manual
- Playable maps catalog
- Faction root variables reference
- Faction base structures catalog
- Counter-battery radar system
- Bank, Reserve and Artillery Radar structures
- Map ruleset model and object config
- Countermeasures module reference
- Vehicle countermeasure (flares/spoofing)
- UAV terminal and spotter system
- Artillery firing function reference
- Service Point pricing model
- Medic redeployment truck (forward spawn)
- Side-patrol runtime and convoy mechanics
- Day/night cycle and weather system
- Config lookup helper reference
- CIPHER sort utilities reference
- Modded maps status and content
- BattlEye filter setup and OA taxonomy
- Player squad/group join protocol
- AutoFlip vehicle recovery
- Engine stealth fuel toggle
- Valhalla vehicle climbing-assist
- Missile and ordnance Fired-EH reference
- Vehicle equip and rearm reference
- Array and collection utilities
- Server composition spawner reference
- Upgrade queue server loop
- Map boundaries and off-map enforcement
- Namespace/profile/diagnostic utilities
- Group bool getVariable A2-OA trap
- Vehicle weapon balance init
- View distance auto-throttle
- Camp & respawn-camp getters
- Performance audit writer
- Site clearance (bulldozer)
- Factory queue cancel & refund
- AI commander tunable constants
- Experimental feature-flag constants
- Flag system quick reference
- Mission tunable constants catalog
- Gear parsing & cargo capacity
- Structure dressing function
- Paradrop delivery functions
- ICBM nuke client VFX & radiation
- Server HandleSpecial router
- LocalizeMessage chat router
- Gear buy-menu render & price functions
- Server broadcast & telemetry loops
- Per-unit client init pipeline
- Vehicle marking & texture pipeline
- Defense category & budget
- Legacy AI order primitives
- Commander-team driver
- AICOM command verbs
- AICOM behavior fix taxonomy
- AI commander wildcard deck reference
- AICOM aircraft and airfield system
- Static-defense manning
- End-of-game stats screen
- AI commander execution loop
- Deployable bipod / weapon resting
- Town-economy getters
- Server-init deadspawn & airfield probe
- GUER VBIED detonate action
- Resource income-tick engine
- AI commander treasury accessors
- PVF send-helper contracts
- AICOM logging & AICOMSTAT telemetry
- AICOMSTAT v2 event census
- WASPSCALE v2 telemetry
- WASPSCALE v2-ext coverage audit
- Telemetry families reference
- Group lifecycle & entity reaping
- Batch AI spawner orchestrator
- Client funds/income HUD readout
- Server group GC & cap warning
- Town runtime tuning constants
- Client input/hotkey handler
- WASP base-repair system
- WASP DropRPG launcher/ordnance
- CoIn construction-interface client engine
- Town-capture garrison & airfield rebuild
- Map-control & minimap templates
- Client FPS & state telemetry
- Client service-proximity getters
- Airfield-exclusive roster & unit hints
- Unit-camera spectator system
- Town-garrison patrol/defense worker
- RequestTeamUpdate squad-discipline
- Arma2Warfare GPT assistant
- LoadoutManager build configs & defines
- GLOBALGAMESTATS extension logging
- Discord bot instrumented logging
- Eden/Everon & Taviana map content
- Cruise missile strike asset
- AI / HC
- AI headless and performance
- AI mods and pathfinding reference
- Headless client scaling and topology
- AI runtime/HC loop map
- Headless client init and stat loop
- HC delegation target selection
- Player AI caps and role balance
- Old WarfareBE FPS comparison
- AI commander autonomy audit
- Upstream BE 2073 AICOM delta
- Parent 2.073 divergence audit
- AI commander capture & fun plan
- AI commander B69 improvement roadmap
- AI commander B69 implementation sketches
- AICOM V2 cutover status
- Headless delegation and failover
- Commander reassignment call shape
- GUER Director living-resistance pitch
- Quality and operations
- Foundation perf findings & Tier-3 dead-ends
- Dead/stale code register
- Commander vote/reassignment
- Attack-wave authority
- Server runtime and operations
- Server ops runbook
- JIP enrollment & client data delivery (b74.2 lessons)
- Server gameplay runtime atlas
- PerformanceAuditAnalyzer
- Performance opportunity sweep
- Documentation plan
- Knowledge platform roadmap
- Wiki quality audit
- Wiki pruning and relevance ledger
- Audit findings queue (2026-06-03)
- Deep review findings
- Client UI / server-loop perf findings
- Performance gain simulation
- Self-host testing field notes
- Cleanup and work lanes
- Hardening and authority
- UI / player workflows
- Client UI, HUD and menus
- UI HUD and dialogs
- Player UI workflow map
- Client UI systems atlas
- UI IDD collision repair
- UI control class library reference
- UI theme palette and style macros
- UI design inspiration 2026-07
- Available-actions client gate FSM
- Gear/loadout/EASA atlas
- Gear template profile filter
- Vehicle cargo equip loop bounds
- Factory and purchase systems atlas
- Service menu affordability guards
- WASP overlay
- Class-skill system reference
- Skin selector and class swap
- Earplugs audio toggle
- Mission audio catalog
- HQ radio knowledge-base catalog
- QoL trio player hints
- Player vehicle/travel actions
- Tooling / release / integrations
- Tools and build workflow
- Warfare web tools
- Ecosystem & companion repos
- Zargabad tooling parity
- July 2026 release readiness
- Operator monitor and CPU affinity tools
- Tooling release readiness audit
- Source fix propagation queue
- Agent release readiness ledger
- Release source intake map
- Testing/debugging/release workflow
- Current RPT release gate
- RPT telemetry consumer port map
- External integrations
- Integration trust boundary audit
- AntiStack database extension audit
- Community & Dev
- Community & Dev
- Miksuu upstream wiki import / archive index
- Upstream changelog feature leads
- Developer history and upstream lessons
- Upstream Miksuu commit intel
- Upstream mining ledger
- Archive script mining v2
- Upstream BE 2073 AICOM delta
- Parent 2.073 divergence audit
- PR8 and Drone upstream lesson match
- Development lessons learned
- External research reports
- Audit archive 2026-07
- Briefing reference
- Utes invasion concept
- Miksuu archive: Home
- Miksuu archive: Welcome
- Miksuu archive: Big announcements
- Miksuu archive: Changelog
- Miksuu archive: Development process
- Miksuu archive: Discord bot
- Miksuu archive: Gameplay videos
- Miksuu archive: LoadoutManager
- Miksuu archive: Chernarus script architecture
- Base-game visual catalogs
- Compatibility and references
- HC upstream history and lessons
- Player stats branch audit
- BuyMenu EASA QoL branch audit
- Perf quick wins branch audit
- Commander positions branch audit
- Zargabad branch audit
- Quad AI Commander concept
- Arma 2 OA external reference guide
- Base-game config & image reference
- Arma 2 OA compatibility audit
- Arma 2 OA agent traps reference
- Arma 2 OA command versions
- Wiki source consistency
- External Arma 2 OA reference index