Skip to content

Source Fix Propagation Queue

rayswaynl edited this page Jun 23, 2026 · 269 revisions

Source Fix Propagation Queue

This page tracks mission-code fixes that have reached the Chernarus source mission and the maintained generated Vanilla Takistan target, but still need Arma 2 OA smoke before they can be called release-complete. Agents can load the compact mirror in agent-release-readiness.json.

All source paths are relative to the repo root.

Rule

Missions/[55-2hc]warfarev2_073v48co.chernarus is the source mission. Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan is the maintained generated/copy target. A fix is not release-complete until:

  1. The Chernarus source patch is present.
  2. LoadoutManager propagation has run.
  3. Generated diffs are inspected.
  4. Every claimed mission root has its generated version.sqf present and terrain-correct.
  5. Relevant Arma 2 OA smoke is recorded.

LoadoutManager root discovery is branch-sensitive. Docs checkout docs/developer-wiki-index@d30d23466 is source-unchanged from the queue's 4bd37b98 line-anchor proof for this file. Current stable origin/master@0139a346 and historical release commit a96fdda2 accept either an ancestor named a2waspwarfare or a repo-shaped root containing Missions/[55-2hc]warfarev2_073v48co.chernarus, Tools/LoadoutManager and AGENTS.md (Tools/LoadoutManager/FileManagement/FileManager.cs:153,158,166,176,186-188 on docs checkout; :165,170-172,174-176 on current stable). Current Miksuu master@b8389e748243 and origin/perf/quick-wins 0076040f still require an ancestor folder named a2waspwarfare (FileManager.cs:145,150). Local d9506078 belongs to origin/claude/* branch evidence, not current Miksuu upstream, unless a future direct upstream fetch proves otherwise. Packaging can be skipped for propagation-only runs with A2WASP_SKIP_ZIP=1; see Tools/build workflow.

Generated input gate: version.sqf is required boot input, not tracked source. It is ignored by .gitignore, included by description.ext:39 and initJIPCompatible.sqf:4, and consumed by Rsc/Header.hpp:5,9,21. Before calling any propagated fix release-ready, verify source Chernarus and maintained Vanilla Takistan both have generated version.sqf files with the expected WF_MAXPLAYERS, WF_MISSIONNAME, WF_RESPAWNDELAY, map flags and release/debug defines. The compact agent-readable rule lives in agent-release-readiness.json under versionSqfGeneratedInput.

Current Branch Scope (2026-06-22)

Use this table before treating any queue row as current-branch truth. The docs checkout and current stable now carry several of the same propagated fix families, but current stable differs on FPS publisher count, queue PVFs, supply scan shape and commander-built ARTY. The supply player-list index fix remains docs/source-only in the current refs checked here. Current origin exposes no release/* heads on 2026-06-22, so a96fdda2 / 7ff18c49 release evidence below is historical until a release head is restored or rechecked.

2026-06-22 supply-source refresh: the latest checked docs-source base is docs/developer-wiki-index@15563691, and targeted diffs from both 4bd37b98 and 8a6695b8 through 15563691 are empty for the checked Chernarus and maintained Vanilla Server/Module/supplyMission/supplyMissionStarted.sqf files. Rows below keep 4bd37b98 as the line-anchor source proof for the broader propagation run; do not treat it as stale mirror state.

Ref Source-backed notes Practical route
Docs checkout docs/developer-wiki-index b2738971 Chernarus and maintained Vanilla carry paratrooper registration (Init_PublicVariables.sqf:39), single client Skill_Init plus apply (Init_Client.sqf:547,571), two guarded FPS publishers (serverFpsGUI.sqf:1, monitorServerFPS.sqf:1), typed supply command-center scan (supplyMissionStarted.sqf:25,28), player-list indexing (playerObjectsList.sqf:17) and commander-team ARTY gunner handoff (Construction_StationaryDefense.sqf:91-93). These source paths are unchanged from the older propagation-run anchors for the checked queue rows. Treat as the historical propagation-run/source-docs shape. Keep branch-drift checks in this page before promoting to stable/release language.
Current stable origin/master@0139a346 Chernarus and maintained Vanilla carry queue PVFs plus paratrooper registration (Init_PublicVariables.sqf:22-23,38), single client Skill_Init plus apply (Init_Client.sqf:624,647), one guarded FPS publisher (serverFpsGUI.sqf:4; old monitorServerFPS.sqf absent), heli-aware typed supply command-center scan (supplyMissionStarted.sqf:7,55,61,83) and marker-based commander ARTY discovery (Construction_StationaryDefense.sqf:166-168; Common_GetTeamArtillery.sqf:41-78, owner-side check at :56). They still reset the supply player-list index inside the loop (playerObjectsList.sqf:18, loop closes at :29). Treat current stable as carrying the listed propagated families, but do not claim the player-list index fix. Smoke the stable implementation shape, especially FPS single-publisher, truck/heli supply command-center completion and marker-based commander ARTY.
Historical release commit a96fdda2; no current release/* head on 2026-06-22 The last checked release commit matched the older stable shape in both maintained roots, with client skill line drift (Init_Client.sqf:563,586) and the same guarded FPS, heli-aware supply scan (supplyMissionStarted.sqf:7,53,59,81), in-loop player-list reset and marker-based commander ARTY anchors. Local release-line 7ff18c49 has the supply scan at :7,52,58,80. Use historical release smoke wording only after rechecking or restoring a release ref. Do not claim the player-list index fix on release until source changes.
Current Miksuu b8389e748243 and origin/perf/quick-wins 0076040f Direct current Miksuu and perf still omit the stable propagated supply scan/cooldown/dead-twin shape: both keep the broad supply terminal scan at supplyMissionStarted.sqf:25,28,44, both keep the lowercase/uppercase cooldown split and both compile the dead twin at Init_Server.sqf:81. Their LoadoutManager root discovery still requires an ancestor named a2waspwarfare (FileManager.cs:145,150). d9506078 is local origin/claude/* branch evidence and was not a direct current-Miksuu head. Recheck each gameplay row on these refs before claiming parity.

Latest Propagation Run

Checked on 2026-06-02 in a checkout where LoadoutManager could resolve its root, with packaging skipped through A2WASP_SKIP_ZIP=1. Codex ran:

$env:A2WASP_SKIP_ZIP = "1"
dotnet run --project Tools\LoadoutManager\LoadoutManager.csproj

Result: generation/copy completed for Chernarus and Takistan, _MISSIONS.7z packaging was intentionally skipped, and the maintained Vanilla Takistan diffs carried the source fixes checked in that lane. Current branch refresh: as of 2026-06-22, docs checkout 4bd37b98 (still source-unchanged at docs/developer-wiki-index@15563691 for the checked supply start file), current stable origin/master@0139a346 and historical release commit a96fdda2 all carry the typed supply-scan family, but current stable/release use a single FPS publisher and marker-based commander ARTY discovery while the docs checkout still carries the older two-FPS-publisher plus commander-team gunner handoff shape. The supply player-list index fix remains docs/source-only in this checked set. The run printed The specified content was not found in the file. once per terrain from BaseTerrain.ReplaceGUIMenuHelp; this is a non-fatal help-menu text replacement warning because Client/GUI/GUI_Menu_Help.sqf is skip-listed and terrain-specific.

Fix Rechecked evidence Result
Paratrooper marker revival Docs/source HEAD@7e88d609 Chernarus and Vanilla Common/Init/Init_PublicVariables.sqf:39 include HandleParatrooperMarkerCreation; current stable origin/master@0139a346, B69 8d465fce and B74 b23f557f carry it at :38 in both maintained roots. Branch-present in docs/source, current stable/B69/B74 and historical release-line commits; current Miksuu omits the checked maintained-root registration, perf is Chernarus-only, and Arma marker smoke remains pending.
Client skill init idempotency Docs/source HEAD@b2738971 Chernarus and Vanilla run one Skill_Init.sqf compile at Client/Init/Init_Client.sqf:547 and then WFBE_SK_FNC_Apply at :571. Current stable origin/master@0139a346 carries :624 / :647; B69/B74 carry :805 / :828; live origin/feat/client-fps@709258e7 keeps one-call/apply with Chernarus :613 / :636 and Vanilla :583 / :606. Branch-present in docs/source, current stable/B69/B74, live client-fps and historical release-line commits; current Miksuu/perf/historical feat-ai still duplicate; smoke pending.
Hosted server FPS loop sleep Source and Vanilla serverFpsGUI.sqf:1 and monitorServerFPS.sqf:1 exit on !isDedicated. Chernarus carries it, Vanilla carries it, smoke pending.
Supply mission scan narrowing Docs checkout 4bd37b98 Chernarus and Vanilla use the typed ["Base_WarfareBUAVterminal"] scan at supplyMissionStarted.sqf:28; current stable origin/master@0139a346 uses the heli-aware typed scan at supplyMissionStarted.sqf:61 in both maintained roots, with the terminal check at :55, heli flag at :7 and nearby-player scan at :83. Historical release a96fdda2 has the same heli-aware family at :7,53,59,81, and local release-line 7ff18c49 has it at :7,52,58,80. Treat this as branch-present but smoke-pending; truck/heli command-center smoke remains required before release-ready wording.
Supply player-object list indexing Source and Vanilla playerObjectsList.sqf:17 initialize _i = 0 before the WFBE_SE_PLAYERLIST loop. Chernarus carries it, Vanilla carries it, smoke pending.

Follow-up source check on 2026-06-05 added one later source-only fix to the queue: commander-built artillery ownership. It was not part of the 2026-06-02 LoadoutManager run above. Current docs/source HEAD@f5bcaf91 is unchanged from 4bd37b98 for checked commander ARTY paths; Chernarus and maintained Vanilla carry the commander-team gunner handoff at Construction_StationaryDefense.sqf:91-94. Current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f instead carry marker-based discovery in both maintained roots by setting WFBE_CommanderArtillery* object variables at Construction_StationaryDefense.sqf:166-168 and scanning same-side marked artillery inside HQ/base-area radius from Common_GetTeamArtillery.sqf:41-78. Historical a96fdda2 / 7ff18c49 keeps the older marker line shape at Construction_StationaryDefense.sqf:133-135. Current Miksuu b8389e748243 and perf 0076040f keep the old DefenseTeam shape only. Current origin exposed no live release/* or artillery feature head on 2026-06-22.

Branch Implementation Caveat (2026-06-22 Refresh)

The rows below are a branch-shape map, not a smoke sign-off. Keep exact refs in any claim because docs/source, current stable/B69/B74, historical release and Miksuu/perf differ on FPS publisher count, supply scan shape, supply player-list indexing and commander-built ARTY implementation.

Lane Docs/source / queue-anchor shape Current stable origin/master@0139a346 / B69 8d465fce / B74 b23f557f / historical release a96fdda2 Practical rule
Paratrooper marker revival Chernarus/Vanilla register HandleParatrooperMarkerCreation at Common/Init/Init_PublicVariables.sqf:39; sender and handler stay at Support_Paratroopers.sqf:117 and HandleParatrooperMarkerCreation.sqf:45. Current stable/B69/B74 register queue PVFs at Common/Init/Init_PublicVariables.sqf:22-23 and paratrooper markers at :38; historical a96fdda2/7ff18c49 register at :34, but no live release/* head is exposed; current Miksuu has sender/handler without the checked registration; perf is Chernarus-only at :40. Branch-present in checked docs/source, current stable/B69/B74 and historical release-line maintained roots; Arma marker smoke is still required before release-complete wording.
Client skill init idempotency One Skill_Init.sqf call at Client/Init/Init_Client.sqf:547, followed by WFBE_SK_FNC_Apply at :571. Current stable has Skill_Init / apply at :624,647; B69/B74 at :805,828; live client-fps at Chernarus :613,636 and Vanilla :583,606; historical release-line a96fdda2 / 7ff18c49 at :563,586 / :564,587 with no live release/* head. Current Miksuu/perf/historical feat-ai still duplicate before apply. Branch-present in checked docs/source, stable/B69/B74/client-fps and historical release-line maintained roots; Soldier/non-Soldier/respawn smoke is still required.
Hosted server FPS loop sleep serverFpsGUI.sqf:1 and monitorServerFPS.sqf:1 both exit on !isDedicated. Current stable serverFpsGUI.sqf:4 exits on !isDedicated; old Server/Module/serverFPS/monitorServerFPS.sqf is absent. Smoke dedicated publish and hosted/listen no-spin against the target branch's publisher shape.
Supply mission scan narrowing Typed terminal scan at supplyMissionStarted.sqf:28, plus terminal post-filter at :25 and nearby-player scan at :44. Current stable heli-aware typed terminal scan is at supplyMissionStarted.sqf:61, with heli flag at :7, terminal check at :55 and nearby-player scan at :83; historical release a96fdda2 uses :7,53,59,81 and local release-line 7ff18c49 uses :7,52,58,80. Smoke truck and heli command-center completion plus unrelated-object non-completion before release-ready wording.
Supply player-object list indexing _i = 0 before the WFBE_SE_PLAYERLIST loop at playerObjectsList.sqf:17. _i = 0 is still inside the loop at playerObjectsList.sqf:18, so this fix is not stable/release-present. Branch-present only in docs/source checked roots; reconnect/JIP lookup smoke remains pending before release-ready wording.
Commander-built artillery ownership Commander-team gunner handoff at Construction_StationaryDefense.sqf:91-94; Common_GetTeamArtillery.sqf:10-30 discovers team vehicles only. Current stable/B69/B74 non-repair-truck ARTY defenses set WFBE_CommanderArtillery* at Construction_StationaryDefense.sqf:166-168; Common_GetTeamArtillery.sqf:41-78 scans marked same-side artillery in HQ/base-area radius. B69/B74 Tactical fire mission spawn line is GUI_Menu_Tactical.sqf:559. Historical release keeps its older checked marker line shape at Construction_StationaryDefense.sqf:133-135; Miksuu/perf keep old DefenseTeam only. Treat docs/source, current stable/B69/B74 and historical release as separate source-backed implementations; smoke the exact target branch shape.

Current Propagated Fix Queue

Lane Source status Vanilla status Smoke status Evidence Next action
Paratrooper marker revival Docs/source Chernarus registers HandleParatrooperMarkerCreation in the client PV list; current stable/B69/B74 register the same handler at their :38 line shape. Docs/source Vanilla, current stable Vanilla, B69 Vanilla and B74 Vanilla register the handler too. Pending Arma smoke. Docs/source Chernarus/Vanilla Common/Init/Init_PublicVariables.sqf:39; current stable/B69/B74 Chernarus/Vanilla :38; sender Server/Support/Support_Paratroopers.sqf:117; handler audit Client/PVFunctions/HandleParatrooperMarkerCreation.sqf:45; historical a96fdda2/7ff18c49 :34; current Miksuu omit / perf Chernarus-only caveat in Paratrooper marker revival. Smoke a paratrooper support drop and confirm the client marker appears.
Client skill init idempotency Docs/source Chernarus runs Skill_Init.sqf once, then calls WFBE_SK_FNC_Apply; current stable/B69/B74 and client-fps keep the same order with branch-specific line drift. Docs/source Vanilla, current stable Vanilla, B69/B74 Vanilla and client-fps Vanilla also keep the one-call/apply order. Pending Arma smoke. Docs/source Chernarus/Vanilla Client/Init/Init_Client.sqf:547,571; current stable Chernarus/Vanilla :624,647; B69/B74 :805,828; client-fps Chernarus :613,636 and Vanilla :583,606; skill cap mutation Client/Module/Skill/Skill_Init.sqf:49; current Miksuu/perf/historical feat-ai duplicate caveat in Client skill init idempotency. Smoke Soldier/non-Soldier AI cap and respawn skill reapply on the target branch.
Hosted server FPS loop sleep Chernarus FPS publishers exit immediately on !isDedicated. Vanilla FPS publishers have the same early exit. Pending dedicated/hosted smoke. Source/Vanilla Server/GUI/serverFpsGUI.sqf:1; source/Vanilla Server/Module/serverFPS/monitorServerFPS.sqf:1. Smoke dedicated FPS publish and hosted/listen no-spin behavior.
Supply mission scan narrowing Docs checkout 4bd37b98 Chernarus has the typed terminal scan at supplyMissionStarted.sqf:28; current stable origin/master@0139a346 uses the heli-aware typed scan at :61. Maintained Vanilla matches the named branch shapes. Branch-present in checked docs/current-stable/historical-release roots; truck/heli smoke pending. Docs checkout Chernarus/Vanilla Server/Module/supplyMission/supplyMissionStarted.sqf:25,28,44; current stable Chernarus/Vanilla :7,55,61,83; historical release a96fdda2 :7,53,59,81 and local release-line 7ff18c49 :7,52,58,80; broad nearby-player 8m scan remains intentional. Smoke truck and heli delivery near command centers and no completion near unrelated nearby objects on the target branch.
Supply player-object list indexing Chernarus initializes _i = 0 before the WFBE_SE_PLAYERLIST loop so reconnecting UIDs replace their real row. Vanilla has the same counter placement. Pending reconnect/supply smoke. Source/Vanilla Server/Module/supplyMission/playerObjectsList.sqf:17-29; consumers supplyMissionStarted.sqf:57+ and supplyMissionActive.sqf:51+. Smoke reconnect/JIP player-object replacement and supply mission completion lookup.
Commander-built artillery ownership Docs/source HEAD@f5bcaf91 Chernarus routes manned artillery-class base-area defense gunners to the current commander team when one exists; current stable origin/master@0139a346, B69 origin/claude/b69@8d465fce, B74 origin/claude/b74-aicom-spend@b23f557f and historical release a96fdda2 use marker-based commander ARTY discovery instead. Maintained Vanilla matches the named branch shapes. Pending commander ARTY smoke for both implementation shapes. Docs/source Chernarus/Vanilla Server/Construction/Construction_StationaryDefense.sqf:91-94; tactical discovery Common/Functions/Common_GetTeamArtillery.sqf:10-30; current stable/B69/B74 Chernarus/Vanilla Construction_StationaryDefense.sqf:166-168 and Common_GetTeamArtillery.sqf:41-78 (WFBE_CommanderArtillerySide at :56); Tactical RequestFireMission at GUI_Menu_Tactical.sqf:547 on docs/source/current stable and :559 on B69/B74; historical release keeps Construction_StationaryDefense.sqf:133-135; Miksuu/perf have no checked marker or handoff rescue. Smoke commander-built manned ARTY inside the HQ/base circle, Tactical fire-mission listing, ammo loading, direct fire, non-artillery DefenseTeam behavior and HC static-defense fallback. On current stable/B69/B74/historical release, include the marker-based discovery path and repair-truck-built artillery exclusion.
Patrols v2 current-master route Current stable origin/master@0139a346 Chernarus keeps the Patrols side-upgrade driver, runner, marker loop and && patrol-worker loop first routed when stable was cf2a6d6a. It now anchors Patrols at WFBE_UP_PATROLS = 23, a level-aware side cap and level-4 convoy/camp-sweep hooks. Maintained Vanilla Takistan has the same Patrols v2 source shape. Pending Arma patrol/HC/marker smoke. Source/Vanilla Init_CommonConstants.sqf:60,63,486,683; Init_Common.sqf:107; Init_Client.sqf:405; Init_Server.sqf:40,690; server_town_ai.sqf:72,327; server_side_patrols.sqf:12,19,48,67,72; Common_RunSidePatrol.sqf:54,82,87,91,108,119,148,245,264; Server_HandleSpecial.sqf:345-380; Client/FSM/updatepatrolmarkers.sqf:3,19; Server/FSM/server_patrols.sqf:31. Smoke Patrols upgrade levels 1/2/3, level-4 convoy/camp-sweep hooks, HC delegate-sidepatrol, friendly-only markers, patrol death, side-slot/cooldown release and Buy Units/RHUD AI-cap text.
Commander vote server comparison Current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f Chernarus remove the old DR-47 `>= <=vote comparison; player assignment now requires_highest >= _aiVotesatServer_VoteForCommander.sqf:43`. Maintained Vanilla has the same current-stable/B69/B74 comparison at Server_VoteForCommander.sqf:43. Pending vote outcome smoke and UI preview alignment.

Patch-Ready But Not In Current Code

These have source-backed playbooks but are not current code fixes yet. Do not mix them into a propagation run unless the code owner explicitly claims the patch.

Branch-head note: rows below preserve their last lane-specific matrix until the linked owner page is refreshed. If a row still cites 89ae9dad or 7ff18c49, treat that as historical checked-ref evidence, not as a 2026-06-14 current-head claim.

2026-06-22 PVF dispatcher closeout note: current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f now have registered PVF namespace+CODE lookup in both maintained roots, so the old cf2a6d6a dispatcher-compile evidence is no longer current stable-shaped truth. The remaining current-stable/B69/B74 queue item is explicit registered allowlisting/logging plus smoke; docs checkout, Miksuu and origin/perf/quick-wins still need the full dispatcher port.

Lane Status Canonical page Why separate
PVF dispatcher lookup / allowlist hardening Branch-split. Current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f remove dispatcher Call Compile in both maintained roots by using missionNamespace getVariable _script plus typeName _code == "CODE" at Server_HandlePVF.sqf:14-15 and Client_HandlePVF.sqf:32-33, with stable Chernarus blame 7d60b02b4, maintained Vanilla propagation blame 9b49883cb and empty checked B69..B74 generic PVF dispatcher/init delta. Init_PublicVariables.sqf:55-61 still has no registered-handler allowlist, rejection log or sender context; B69's 0a1ccb4d..8d465fce checked PVF-path delta changes only Client/PVFunctions/HandleSpecial.sqf, adding default-off aicom-team-merge at :57,59. Docs/source HEAD@a0721301d4f5 is unchanged from ade4d356 for checked PVF paths and still has Spawn (Call Compile _script) at server :14 and client :22; Miksuu b8389e748243 and origin/perf/quick-wins 0076040f keep the same old server :14 / client :22 shape; historical release commit a96fdda2 still has server :14 and HC-filtered client :32. Current origin exposes no release/*, feat/*pvf*, feat/*network*, feat/*auth* or feat/*public* heads on 2026-06-22. PVF dispatch implementation On current stable/B69/B74-shaped targets, add explicit registered SRVFNC*/CLTFNC* allowlists plus warning logs, then smoke RequestJoin/RequestVehicleLock/client messages and forged unregistered handler rejection. On old-shape targets, backport namespace lookup and allowlist together. Keep DR-55 legitimate-handler payload validation and direct PV channels separate.
Factory queue counter/token cleanup Patch-ready, current code still carries both the queue-counter leak and low-entropy token; branch matrix refreshed 2026-06-05. Factory queue cleanup perf/quick-wins and release Chernarus patch only the crewless queue-counter leak; the FIFO token and maintained Vanilla propagation remain open.
SEND_MESSAGE direct compile removal P0 patch-ready direct-PV RCE; current-B74 refresh 2026-06-23 shows docs/source HEAD@3a32be92 is unchanged from 40c477be / 16247fc8f for checked SEND_MESSAGE paths. Current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, Miksuu b8389e748243 and origin/perf/quick-wins@0076040f all keep the direct event handler plus receiver/helper call compile route in both maintained roots (updateclient.sqf:12, Client_onEventHandler_SEND_MESSAGE.sqf:27, Common_SendMessage.sqf:26,38). Targeted diffs 16247fc8f..HEAD, 40c477be..HEAD, cf2a6d6a..0139a346, 0a1ccb4d..8d465fce, b8530477..8d465fce, B69..B74 and master..B74 do not touch the checked paths. Current origin exposes no live release/*, message, send, network, public, PVF or security rescue branch, so older release a96fdda2 evidence is historical until restored. Public variable channel index Current stable/B69/B74 PVF dispatcher lookup changes, and any future dispatcher allowlist, do not close this direct channel. Patch receiver/helper/callers to structured localization keys/args, propagate maintained Vanilla, then smoke localized artillery/ICBM/side messages and a forged payload treated as data.
Attack-wave direct-PV authority (ATTACK_WAVE_INIT / ATTACK_WAVE_DETAILS) P1 patch-ready direct-PV authority gap; current-B69 refresh 2026-06-22 shows docs/source HEAD@1c1ea559 is unchanged from f3e157f2 for checked Chernarus/Vanilla attack-wave request/detail/client-price paths and still trusts client _supply / _side plus detail payloads (updateclient.sqf:240; Common_AttackWaveActivate.sqf:6,8; Server_AttackWave.sqf:5-6,15,23,27,36,38; AttackWave.sqf:19,23-25,40). Current stable origin/master@0139a346 and current B69 origin/claude/b69@8d465fce keep the same request/detail trust in both maintained roots; B69 path deltas 0a1ccb4d..8d465fce and b8530477..8d465fce are empty for the checked attack-wave request/detail/client-price paths. Adjacent B74 origin/claude/b74-aicom-spend@b23f557fc912 changes only Chernarus constants among checked attack-wave paths (Init_CommonConstants.sqf:528,572-574) while maintained Vanilla constants remain :349,393-395; request/detail trust is unchanged. 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 release/*, feat/ai-commander or attack-wave feature heads on 2026-06-22. Attack-wave authority playbook Keep separate from generic PVF dispatcher lookup, SEND_MESSAGE and side-supply clamp work. Treat ATTACK_WAVE_INIT as a request, re-derive side/supply server-side, guard forged detail payloads, propagate maintained Vanilla and smoke valid activation, forged _supply >= 70000, wrong-side payloads, duplicate active waves and JIP replay.
Victory/endgame winner semantics and double-fire Patch-ready correctness bug; 2026-06-21 refresh shows docs head d30d23466 is source-unchanged from a0a86da2 / 2f2132f8 for checked victory/endgame paths. Docs, Miksuu b8389e74, origin/perf/quick-wins 0076040f and historical release commit a96fdda2 keep the older opposite-side logger block in both maintained roots (server_victory_threeway.sqf:23-41), so all-towns wins log the loser. Current stable origin/master@0139a346 has a different but still unclosed shape in both maintained roots: HQ nil/null skip :18-22, mixed condition :29, WF_Winner :37, WFBE_GameOver :39, WASPSTAT _x :41-46, and LogGameEnd [_x] :49, so HQ/factory eliminations log the loser and the same-tick guard/side-loop exit is still missing. Current stable still has client payload inversion at Client_EndGame.sqf:5-13 and no GUER label in GUI_EndOfGameStats.sqf:6-8. origin/claude/b57-soak-proposals@b8a1505f carries Chernarus-only guard/client-label edits, not maintained Vanilla propagation or explicit winner/loser computation. Current origin exposes no release/* heads. Victory/endgame atlas Compute explicit winner/loser sides per branch, guard the full condition with !WFBE_GameOver, exit after one accepted endgame path, align client payload semantics plus GUER label, write WASPSTAT/logger with the winner, propagate maintained Vanilla and smoke HQ elimination, all-towns victory, same-tick mutual elimination and AntiStack enabled/disabled tails. Keep stale PVF logger retirement and server-init duplicate-bind cleanup separate.
HQ-kill score double-award Patch-ready scoring integrity bug; current-B74 refresh 2026-06-23 shows docs/source HEAD@9b7eb4bc is source-unchanged from 97e4cdd0 / 4d4610f1 for checked HQ-score files. Current stable origin/master@0139a346, current Miksuu b8389e748243, origin/perf/quick-wins@0076040f and historical a96fdda2 all still keep generic HQ building score plus a second HQ bounty score in both maintained roots. Current stable uses Server_OnHQKilled.sqf:23,52,54,80,83,86; current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f have no Server_OnHQKilled.sqf delta and both use :23,64,66,106,109,112, with base-fall smoke/sting around the handler at :57/:103, not a DR-50 scoring fix. WFBE_C_BUILDINGS_SCORE_COEF remains 3 in every checked root; B74 only drifts the Chernarus coefficient line to Init_CommonConstants.sqf:734. Enemy HQ kills still net 1800 and friendly/teamkill HQ kills still get 900. Commander/HQ lifecycle Keep one non-teamkill HQ score award and make friendly/teamkill HQ kills score zero. Propagate maintained Vanilla and smoke enemy HQ kill, friendly HQ teamkill and DR-20 idempotency/replayed-HQ-kill interactions.
Factory destroyed-purchase refund contract Branch-split after 2026-06-21 owner refresh: docs checkout ebd86fad0 is source-unchanged from 8d611092 for checked buy/build paths; docs, Miksuu b8389e74, origin/perf/quick-wins 0076040f and historical QoL commit a66d4691 still leave the dead/null factory abort as queue cleanup without refund. Current stable origin/master@0139a346 passes _currentCost into BuildUnit (GUI_Menu_BuyUnits.sqf:163-165) and refunds the dead/null abort (Client_BuildUnit.sqf:276-280) in both maintained roots. Historical release commit a96fdda2 carries the same refund at Client_BuildUnit.sqf:212-216; intermediate 7ff18c49 only refunded the empty/crewless branch and is superseded. Current origin exposes no release/* or feat/buymenu-easa-qol heads on 2026-06-21. Factory and purchase systems Keep separate from DR-33 queue-token cleanup: preserve/port the current-stable/historical-release refund payload as needed, do not port 7ff18c49's empty/crewless refund without an explicit policy decision, and smoke factory death, buyer disconnect, empty/crewless abort and normal completion. Player purchase authority remains client-local.
Side-supply clamp and temp-channel validation Patch-ready; current-B74 refresh 2026-06-23 shows docs/source HEAD@a908284c is source-unchanged from 4db90f1c / 7047da5d9 / f52ccee8 for checked side-supply paths. Docs checkout, current stable origin/master@0139a346 and current Miksuu b8389e748243 still carry the overspend-as-credit floor plus payload-side trust in both maintained roots. Current origin exposes no release/* or side-supply/economy rescue heads; historical release commit a96fdda2 kept the same old shape. perf/quick-wins@0076040f fixes only the Chernarus arithmetic floor. Current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f have no checked side-supply path delta; both fix only Chernarus server arithmetic and add a Chernarus resistance temp-channel handler, while maintained Vanilla stays old-shape and DR-44 side/channel/requester validation remains open. The resistance owner/read/write split is now branch-scoped on Resistance supply scaffold. Economy authority first cut, Resistance supply scaffold Port or recreate the arithmetic floor-to-zero fix in current source, add west/east/resistance side/channel/amount validation if resistance stays enabled, propagate maintained Vanilla or explicitly scope Chernarus-only work, and keep broader DR-44 spend authority/server-ledger work separate.
Side-supply reason string off-by-one Patch-ready low-risk diagnostics cleanup; current-B74 refresh 2026-06-23 shows docs/source HEAD@a908284c is source-unchanged from 4db90f1c / 7047da5d9 / f52ccee8 for checked reason paths. Docs checkout, current stable origin/master@0139a346, current Miksuu b8389e748243, perf/quick-wins@0076040f, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f all still carry the helper guard that drops 3-argument AttackWave.sqf:40 caller reasons while preserving 4-argument supply-completion reasons (:26 on docs/Miksuu/perf, :40 on current stable); checked B69..B74 side-supply path delta is empty. Current origin exposes no release/* heads; historical release a96fdda2 kept the current-stable :40 line shape. Economy authority first cut Fix _reason parsing with the side-supply clamp pass because the same helper is being edited, but keep it scoped as logging/audit cleanup rather than authority closure.
Resource income payout/display drift Patch-ready economy correctness review with branch split. Docs/source HEAD@c8ec223a, Miksuu b8389e748243, perf/quick-wins@0076040f and historical release a96fdda2 keep the old resource-loop cap guard over side supply, team paychecks and AI commander funds (updateresources.sqf:31,49,63,67). Current stable origin/master@0139a346 still guards side supply and team paychecks (:45,63,77), but AI commander over-cap income/stipend fallback is source-present outside the gate (:102-109). Current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f are identical for checked income files: both gate side supply/team paychecks at :58,:76,:90, add AI commander fallback at :115-121, and Chernarus additionally uses hybrid-refill AI commander cash (:94-103,:115) plus WFBE_C_ECONOMY_SUPPLY_INCOME_MULT on side supply at :76 while maintained Vanilla does not. Income system 4 server/client multiplier mismatch remains (:42-43 old refs, :56-57 stable, :69-70 B69/B74, Client_GetIncome.sqf:24-28 display). Perf Chernarus changes only resource-loop wait cadence, and current origin exposes no release/* heads on 2026-06-22. Economy, towns and supply On current stable, decide cap-guard intent for side supply/team paychecks and align Client_GetIncome/RHUD/menu display math without redoing the AI-commander funds-famine fallback. On B69/B74, review Chernarus-only supply multiplier and hybrid-refill commander-cash behavior before port/release wording. On old-shape refs, include AI commander over-cap income/stipend behavior in the review. Smoke capped and uncapped income ticks before changing balance wording.
AI commander upgrade debit/cost lookup Branch-split old-target AI/economy cleanup; 2026-06-22 recheck shows docs branch docs/developer-wiki-index@ade4d356, Miksuu b8389e74 and perf/quick-wins 0076040f still validate [supply, funds] but read raw AI-order cost at Server_AI_Com_Upgrade.sqf:27 and debit funds/supply swapped at :47,50. Current stable origin/master@0139a346 resolves both maintained roots with current-level cost lookup at :75, affordability gates at :89,92,97, AI funds debit _cost select 1 at :125, side supply debit _cost select 0 at :136, and opt-in funds-fallback surcharge at :131-132. Historical a96fdda2 and b061c905 fix debit order only; historical c20ce153 fixes cost/debit only in Chernarus. Current origin exposes no release/*, feat/upgrade-queue-stacking or feat/ai-commander heads. AI commander autonomy audit, Upgrades and research Do not reopen this on current stable. Port current stable's worker, or recreate current-level cost lookup plus corrected debit, on docs/Miksuu/perf targets that still matter; then smoke AI upgrade affordability/debit and funds-fallback before enabling or release-labeling AI commander upgrade scheduling.
AI supply-truck safe-disable Docs branch docs/developer-wiki-index@ea0e0f1b still raw-spawns the commented/missing worker in both maintained roots (Init_Server.sqf:36,382-383; AI_UpdateSupplyTruck.sqf:17; no Server\FSM\supplytruck.fsm). Current stable origin/master@0139a346 carries the safe-disable shape in both maintained roots instead: Init_Server.sqf:43 keeps UpdateSupplyTruck commented, :462-463 initializes wfbe_ai_supplytrucks and logs that legacy logistics are disabled, and AI_UpdateSupplyTruck.sqf:17 still points at missing Server\FSM\supplytruck.fsm but is not spawned by current stable. Miksuu b8389e74 and perf/quick-wins@0076040f still raw-spawn; historical release commit a96fdda2 matches the older safe-disable line shape, and historical c20ce153 guards only Chernarus while Vanilla remains raw. Current origin exposes no release/* or feat/ai-commander heads on 2026-06-22. AI commander autonomy audit Current stable safety cleanup is source-present, while docs/Miksuu/perf still need the caveat or a port. Keep the warning/disable during branch merges/rebases, optionally port it to raw-spawn branches, or intentionally revive logistics with a real server-owned loop/FSM. Keep separate from broader AI commander supervisor work and player-run supply helicopters.
Town AI vehicle despawn safety Patch-ready player-safety cleanup; current-B74 refresh 2026-06-23 shows docs/source HEAD@3a9ba92e Chernarus/Vanilla deletes inactive tracked town-AI vehicles with alive _x plus !(isPlayer leader group _x) at server_town_ai.sqf:214, current stable origin/master@0139a346 at :309, Miksuu b8389e748243 at :195, perf/quick-wins@0076040f at :219, historical release a96fdda2 at :200 and origin/feat/aicom-fleet-improvements@cc5090bed4ad at :207, all without a player crew check in both maintained roots. Current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f are identical for checked server_town_ai.sqf paths: Chernarus has the candidate crew guard at :325, but maintained Vanilla remains unsafe at :319; B69..B74, 0a1ccb4d..B74 and b8530477..B74 checked deltas are empty. No checked current ref contains Server_CleanupExpiredTownDefenseAssets.sqf; older 89ae9dad helper evidence is historical. Town AI vehicle despawn safety Add a full player-occupancy guard before deleting wfbe_active_vehicles, preserve empty AI-only cleanup, propagate maintained Vanilla and smoke occupied driver/gunner/cargo/turret cases plus empty AI vehicle cleanup. Treat B69/B74 as Chernarus-only candidate branch evidence until Vanilla propagation and smoke close it; treat any future persistent town-defense cleanup helper as a separate re-audit surface.
Commander reassignment call shape Branch-split/current-stable/B69/B74 partial source-present. 2026-06-23 current-B74 refresh shows current stable origin/master@0139a346, 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; checked reassignment path deltas origin/claude/b69..origin/claude/b74-aicom-spend, 0a1ccb4d..origin/claude/b74-aicom-spend and b8530477..origin/claude/b74-aicom-spend 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/B69/B74 full modded Napf/Eden/Lingor forks also still use _side = _this at Modded_Missions/*/Server/Functions/Server_AssignNewCommander.sqf:3. All checked maintained roots still keep duplicate new-commander-assigned senders and visible-name UI selection. Current origin exposes no live release/*, feat/*commander*, feat/*vote*, feat/*reassign*, feature/*commander*, feature/*vote* or feature/*reassign* heads. Commander reassignment call shape, Commander vote/reassignment Do not reopen helper unpacking on current stable/current B69/B74 maintained roots. Patch old-shape targets separately, choose one notification owner, switch UI selection to row value/team identity, keep modded forks out of parity claims until maintained, and smoke one-message reassignment plus duplicate/similar leader names.
Construction small-site logic cleanup Patch-ready; 2026-06-23 current-B74 refresh shows docs/source HEAD@7562c803 is unchanged from 6b8eba5e / 3406ffa0 for checked construction paths, and current stable origin/master@0139a346, Miksuu b8389e748243, origin/perf/quick-wins@0076040f, historical release commit a96fdda2, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f all still carry SmallSite add/add at Construction_SmallSite.sqf:70,99 while MediumSite removes at Construction_MediumSite.sqf:70,114 in both maintained roots. Checked B69..B74, 0a1ccb4d..B74 and b8530477..B74 construction deltas are empty. Current origin exposes no release/*, feat/*construction*, feat/*coin* or feat/*small* heads on 2026-06-23. Construction logic list cleanup, Construction and CoIn systems atlas Needs the one-line SmallSite add-to-remove edit, then Vanilla propagation and construction smoke.
Auto-wall toggle scope cleanup Docs-ready workflow/authority cleanup; 2026-06-22 correction keeps the issue open. Docs branch origin/docs/developer-wiki-index@89aadf8c, current Miksuu master@b8389e748243 and origin/perf/quick-wins@0076040f route User14 through global isAutoWallConstructingEnabled, default it false at Init_Common.sqf:201, and consume it without exclusions at SmallSite :110 / MediumSite :125. Current stable origin/master@0139a346 defaults it true and consumes it at :123 / :160 with AARadar plus related structure exclusions; historical a96fdda2 only adds the AARadar guard. B69 origin/claude/b69@35547c47 matches current-stable global scope with line drift. No checked ref scopes it by side/requester. Construction and CoIn systems atlas Decide global-vs-side/requester policy, then either label the match-wide behavior or key/validate the state and smoke two players/sides toggling before small and medium construction.
RHUD/endgame title display handle split Patch-ready; 2026-06-14 branch check shows current docs checkout b5219d47 keeps the 2fef1e3d title-handle line shape, and docs/source, stable origin/master cf2a6d6a, Miksuu b8389e74, perf 0076040f and release a96fdda2 all still share currentCutDisplay between OptionsAvailable/RHUD/action icons and EndOfGameStats in both maintained roots. Stable/release fix the EASA dialog IDD split, but not title-handle ownership. UI IDD collision repair Needs a title display-variable split or RHUD/action-icon endgame gate before propagation; keep separate from broader UI IDD cleanup and smoke RHUD/action icons/endgame stat bars together.
Clickable text soundPush config Source-present on current stable; current origin/master@0139a346 now carries valid RscClickableText.soundPush[] = {"", 0.2, 1}; at Rsc/Ressources.hpp:556 in both maintained roots, matching the valid :92 precedent. Chernarus blame points to 1a5e0b40; maintained Vanilla propagation points to 9b49883c; current master has 14 derived RscClickableText controls per maintained root. Older docs/source b5219d47, Miksuu b8389e74, origin/perf/quick-wins 0076040f, release a96fdda2 and UI theme evidence remains branch-scoped for the former malformed value until rechecked or merged. Client UI systems atlas Do not reopen the base-class edit on current master. For older target branches that still carry {, 0.2, 1}, port the current valid value, propagate maintained Vanilla, then run Arma 2 OA dialog smoke across representative RscClickableText inheritors before release wording.
Empty supply-truck cleanup timeout Docs-ready logistics/cleanup owner decision. 2026-06-23 current-B74 refresh: docs/source HEAD@7e7aebec is unchanged from b4e10b5f for checked empty-vehicle collector/handler paths; current stable origin/master@0139a346, 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 still route empty supply-truck classes through _delay = 86400 in both maintained roots. Stable/B69/B74 line drift is Server_HandleEmptyVehicle.sqf:29-31,37-38,41; docs/Miksuu/perf/historical line shape is :21-23,29-30,33. Checked path deltas origin/claude/b69..origin/claude/b74-aicom-spend, 0094647d..origin/claude/b74-aicom-spend and 80d3267c..origin/claude/b74-aicom-spend are empty. Current origin exposes no live release/* or cleanup/supply feature heads, so a96fdda2 remains historical source evidence rather than current release proof. Marker cleanup/restoration atlas Decide keep-and-label versus shorter/parameterized timeout, then patch source Chernarus plus maintained Vanilla if changing behavior. Smoke ordinary empty vehicles, ambulance/repair double-timeout vehicles, supply trucks used for supply/logistics and long-match object counts.
Gear template profile filter Branch-split after 2026-06-22 refresh: docs checkout 72b5f0de98f9 is source-unchanged from the 2026-06-21 43c3ba05 proof for checked template paths and still carries undefined _u_upgrade save filtering at Client_UI_Gear_SaveTemplateProfile.sqf:33,52,75 plus the six-field Init_ProfileGear.sqf:17,25 import guard in both maintained roots. Current stable origin/master@0139a3468609 fixes the save-filter comparisons in both maintained roots at :34,57,82, but keeps the import guard. Current Miksuu b8389e748243, perf/quick-wins@0076040f8a5e, historical release a96fdda28087 and historical EASA QoL a66d46912e2a keep the old save-filter shape; no live release/gear/template origin heads were found on 2026-06-22. Gear template profile filter Patch docs/source or old-shape refs with the save-filter replacement; on current stable, do not reopen that edit, but add an Init_ProfileGear.sqf import guard/default before calling profile-template persistence complete.
Gear template creation/display/save gate alignment Owner-decision consistency work; 2026-06-22 branch check shows docs checkout 72b5f0de98f9, current stable origin/master@0139a3468609, current Miksuu b8389e748243, perf/quick-wins@0076040f8a5e, historical release a96fdda28087 and historical EASA QoL a66d46912e2a all keep the AddTemplate Barracks-or-Gear creation gate and Gear-only FillTemplates display gate. Current stable fixed only the save-filter _u_upgrade comparison; old-shape refs still need that save-filter patch too. Gear template profile filter Decide whether templates are intentionally unlocked by either Barracks/Gear lane or should be Gear-only across creation, display and profile save. Keep separate from gear authority hardening; patch source Chernarus plus maintained Vanilla only after the owner decision.
Vehicle cargo equip loop bounds Branch-split after 2026-06-22 correction: docs branch docs/developer-wiki-index@b2544207, current Miksuu master@b8389e748243 and historical EASA QoL a66d4691 still carry the five inclusive cargo loops in both maintained roots. Current stable origin/master@0139a346 and historical release a96fdda2 fix all five loops in both maintained roots; origin/perf/quick-wins@0076040f fixes Chernarus only while perf Vanilla still needs propagation. Current origin exposes no live release/* or feat/buymenu-easa-qol heads. Vehicle cargo equip loop bounds Do not reopen current stable. Preserve/port the five-loop fix where the target branch still carries inclusive loops, including current Miksuu, then run maintained Vanilla propagation and cargo smoke.
Buy-menu price/key alignment Partially fixed on current stable / historical release after owner refresh: docs checkout 8d611092, Miksuu b8389e74 and perf/quick-wins 0076040f still carry selected-detail price drift, stale UNIT_COST_MODIFIER reset behavior and the driver-default profile key split. Current stable origin/master@0139a346 and historical release commit a96fdda2 fix selected-detail display and mirror both driver keys in both maintained roots; historical QoL commit a66d4691 fixes selected-detail display in Chernarus only. Current origin exposes no release/* or feat/buymenu-easa-qol heads on 2026-06-21. No checked ref resets UNIT_COST_MODIFIER to 1 for level 0. Factory and purchase systems atlas Needs one shared price/reset path for unit-cost level 0/1/2; then decide whether dual-key mirroring is the intended driver-default compatibility policy and smoke Buy Units UI/economy paths.
Visible parameter runtime-consumer cleanup Branch-split after the 2026-06-22 correction: docs branch origin/docs/developer-wiki-index@ac932fbe, current Miksuu master@b8389e748243, origin/perf/quick-wins@0076040f and historical release a96fdda2 keep the old readless/comment-only shape. Current stable origin/master@0139a346 reads WFBE_C_AI_MAX in AI_Commander_Produce.sqf:89 and WFBE_C_UNITS_CLEAN_TIMEOUT in Common_TrashObject.sqf:21 in both maintained roots. Mission parameters For current Miksuu and other old-shape refs, port the current AI commander reader/body-wreck split or hide/label the stale parameters. For current stable, smoke host parameter display, AI commander production sizing, player AI cap UI/RHUD, body cleanup, wreck cleanup and empty-vehicle cleanup before release-complete wording.
Salvage payout casing and loop/authority cleanup Patch-ready; 2026-06-22 recheck shows docs branch docs/developer-wiki-index@98eb9607 is source-unchanged from fb8d4ebc for checked salvage paths, and current stable origin/master@0139a346, 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 release commit a96fdda2 all still carry lowercase ChangePlayerfunds, the salvage-truck updatesalvage.sqf:10 ` loop and client-local deletion/reward shape in both maintained roots. Current stable line drift isSkill_Salvage.sqf:38, updatesalvage.sqf:51, Init_Client.sqf:72,110andClient_BuildUnit.sqf:343; current B69/B74 use Init_Client.sqf:97,135and ChernarusClient_BuildUnit.sqf:388while maintained Vanilla stays:343; docs/Miksuu/perf use updatesalvage.sqf:50, Init_Client.sqf:53,91andClient_BuildUnit.sqf:267, while historical a96fdda2drifts the salvage-truck launch toClient_BuildUnit.sqf:270. Live origin/claude/salvage-w10-manfilter@2e0242b3is branch-only W10 evidence based on merge-base8fac20df: it adds !(_wk isKindOf "Man")to inertAI_Commander_Wildcard.sqf:794in both maintained roots but still keeps the manual/truck payout mismatch. Current origin exposes norelease/*orfeat/salvageheads on 2026-06-22; Miksuu still exposes historicalEngineerSalvageAbility@99bfaeb8andSalvageRuTranslationFix@291c6cb4`.
Service menu affordability guards Patch-ready/branch-split; 2026-06-22 current-B74 refresh shows docs/source HEAD@e9dd7f37 is source-unchanged from 8906ee89, 9b3fc38e and 8b71e2a1 for checked service/EASA paths, while current Miksuu upstream b8389e748243 keeps the old cached-price plus unguarded rearm/refuel action debits (GUI_Menu_Service.sqf:198,219 on docs; :326,:347 on Miksuu). Current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and historical release a96fdda2 partially guard rearm/refuel in both maintained roots, but repair/heal stay positive-price-only. B69/B74 are unchanged for checked service/EASA paths: exact-funds EASA is allowed only in Chernarus; maintained Vanilla still rejects exact funds. Perf 0076040f and EASA QoL a66d4691 keep unguarded rearm/refuel action debits, and current origin exposes no live release/*, service, EASA, gear, buy or QoL feature heads on 2026-06-22. Service menu affordability guards Current docs/source, current Miksuu and any old-shape target need action-time price/funds/context guards. On stable/release/B69/B74 service branches, repair/heal action-time affordability/context and EASA client-debit behavior remain open; do not call partial rearm/refuel or Chernarus-only EASA exact-funds changes full authority hardening.
RequestSpecial upgrade-sync tuple cleanup Patch-ready consistency cleanup; current-B69 refresh 2026-06-22 shows docs/source HEAD@bc21f520 is unchanged from line-anchor checkpoint ff8dd884 for checked handler/caller/process-upgrade paths, while current stable origin/master@0139a346 and current B69 origin/claude/b69@8d465fce still keep the mixed _args / _this parser at Server_HandleSpecial.sqf:3,67-73 in both maintained roots. Stable/B69 caller line is GUI_UpgradeMenu.sqf:292; sync variable lifecycle is Server_ProcessUpgrade.sqf:32,35,41; checked B69 path delta 0a1ccb4d..8d465fce is empty. Miksuu b8389e74 and perf/quick-wins 0076040f still call from GUI_UpgradeMenu.sqf:241; historical release a96fdda2 calls from :254; historical upgrade-queue commit b061c905 calls from :268. Current origin exposes no release/*, feat/*upgrade*, feat/*special* or feat/*queue* heads on 2026-06-22. Because _args = _this, current behavior is equivalent but still fragile. Support specials atlas, Upgrades and research Normalize Server_HandleSpecial.sqf:67-73 to one tuple source, keep RequestUpgrade authority migration separate, propagate maintained Vanilla and smoke upgrade completion/non-server timer sync plus malformed payload rejection.
Vote/help/main-menu UI cleanup Patch-ready; 2026-06-22 current-B69/B74 refresh shows docs/source HEAD@087152f5 is unchanged from 68bd4dc5 for checked vote/help/router paths, and current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce, adjacent B74 b23f557f, Miksuu b8389e748243, perf/quick-wins@0076040f and historical a96fdda2 all keep inclusive vote refresh loops, vote row-color offset, mismatched help load/unload namespace state and handler-only GPS zoom MenuAction 17/18 router cases in both maintained roots. Stable/B69/B74 use visible action 19 for GPS enablement, not for the old zoom routes; B69/B74 checked path delta is empty. Client UI systems atlas Fix vote loops and row coloring, clean the help onLoad/onUnload namespace contract, decide remove-vs-revive for GPS 17/18, propagate maintained Vanilla and smoke vote refresh, help open/close and main-menu HUD/GPS behavior. Keep commander vote outcome policy on its dedicated playbook.
Fast travel fee UX Docs-ready owner-decision cleanup; current-stable refresh 2026-06-22 shows origin/master@0139a346 keeps the paid-mode local Tactical behavior in both maintained roots but no longer carries the stale completed TODO. Current stable hides unaffordable destinations and draws $fee marker text at GUI_Menu_Tactical.sqf:185,195-196,215, locally recalculates/debits at :403-404, and defines fast-travel mode/range/price/time defaults at Init_CommonConstants.sqf:388,398-400. Docs branch docs/developer-wiki-index@a489e6ff, Miksuu b8389e74, 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 constants line drift at docs/Miksuu/perf Init_CommonConstants.sqf:218,228-230 versus release :231,241-243. Current origin exposes no live release/* or fast-travel feature heads on 2026-06-22. Client UI systems atlas Do not reopen stale-TODO removal on current stable. Decide hide-vs-disabled/prompt policy, add a final local funds/context recheck if paid mode stays, propagate maintained Vanilla and smoke modes 0/1/2, insufficient/exact/sufficient funds, HQ/town/command-center starts and group/vehicle travel.
Camp flag texture drift Branch-split. Current-stable refresh 2026-06-22 shows docs branch docs/developer-wiki-index@28a7d9c5 still uses the old owner at server_town_camp.sqf:132,135; Miksuu b8389e74 also uses old owner at :88-89; perf/quick-wins@0076040f fixes Chernarus only at :135; current stable origin/master@0139a346, historical a96fdda2, current B69 origin/claude/b69@8d465fce and origin/feat/naval-hvt-objectives@2e1c5931 already fix independent camp-capture flags in both maintained roots at server_town_camp.sqf:83-86. B69 camp flag/repair paths are unchanged from 0a1ccb4d. Repair-side flag refresh remains open in every checked ref; current-stable repair-camp line drift is Server_HandleSpecial.sqf:468,471. Towns, camps and capture atlas Preserve current-stable/release/B69/naval server_town_camp.sqf:83-86; patch old-owner lines where still targeted; add setFlagTexture to repair-camp where it changes sideID and broadcasts CampCaptured. Branch-line drift is documented on the owner page; smoke independent capture and camp repair.
Camp count helper fallback semantics Patch-ready caller-semantics cleanup. Current-B69 refresh 2026-06-22 shows docs branch docs/developer-wiki-index@91d1ccf2, current stable origin/master@0139a346, Miksuu b8389e74, perf/quick-wins@0076040f, historical release a96fdda2 and current B69 origin/claude/b69@8d465fce all keep zero-camp helpers returning 1 at Common_GetTotalCamps.sqf:10 and Common_GetTotalCampsOnSide.sqf:16, feeding capture mode 2, threeway respawn and depot-buy gates. Checked docs paths are unchanged from ade4d356, and checked B69 helper/caller paths are unchanged from 0a1ccb4d. Towns, camps and capture atlas Decide real-count versus safe-denominator semantics, then split helpers or add caller-specific zero-camp guards. Branch-line drift is documented on the owner page; smoke capture mode 2, threeway defender respawn and depot infantry buys on zero, partial and all-camp towns.
WASP marker wait cleanup Branch-split after 2026-06-22 refresh. Docs/source HEAD@46840f048bd4 still has the unslept display-54 input-lock loop in Chernarus and maintained Vanilla (Init_Client.sqf:267; global_marking_monitor.sqf:57,62,64,68-69,80). Current stable origin/master@0139a3468609, B69 origin/claude/b69@8d465fcede7f, B74 origin/claude/b74-aicom-spend@b23f557fc912 and origin/feat/client-fps@709258e7e6f8 already carry sleep 0.1 at global_marking_monitor.sqf:64 in both maintained roots; stable launch is Init_Client.sqf:309, B69/B74 launch is :397, client-fps Chernarus launch is :308 and client-fps Vanilla launch is :287. Chernarus fix commit 4805c778876d; Vanilla propagation commit 9b49883cb936. Current Miksuu b8389e748243 and perf 0076040f8a5e keep the old unslept shape; current origin exposes no release/* heads as of 2026-06-22. WASP marker wait cleanup On old-shape targets, add sleep 0.1 before findDisplay 54 or refactor to throttled waitUntil, preserve key handler wiring and final input unlock, propagate maintained roots, then smoke map-marker double-click naming, Enter prefixing, Escape cleanup and timeout/no-dialog input re-enable. Do not reopen the one-line sleep on stable/B69/B74/client-fps; smoke or style-refactor only.

Propagation Procedure

  1. Start from a clean or intentionally understood worktree.
  2. For propagation-only runs, set A2WASP_SKIP_ZIP=1.
  3. Run dotnet run --project Tools\LoadoutManager\LoadoutManager.csproj from the repo root, or dotnet run from Tools/LoadoutManager.
  4. Inspect Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan diffs for the intended source fixes.
  5. Treat The specified content was not found in the file. from ReplaceGUIMenuHelp as a non-fatal warning unless a future diff shows help-menu title replacement was expected for that terrain.
  6. Verify generated version.sqf exists and matches the intended target root before pack/test/release claims; use agent-release-readiness.json versionSqfGeneratedInput as the machine checklist.
  7. Do not claim Modded_Missions/* propagation; current tooling does not actively maintain those folders. A 2026-06-03 scout confirmed all tracked modded folders lack generated version.sqf, several lack core bootstrap files, and 18 Napf/Eden/Lingor files contain unresolved conflict markers.
  8. Run or record the relevant smoke from Testing workflow, especially the propagated fix smoke pack.
  9. Update this page, Progress dashboard, agent-release-readiness.json, agent-feature-status.jsonl, agent-hardening-backlog.jsonl and agent-knowledge.jsonl.

Validation Matrix

Fix Minimum smoke
Paratrooper marker revival Trigger paratrooper support; marker is created on the requesting client and no unregistered-client-PVF error appears. See the dedicated smoke row in Testing workflow.
Client skill init idempotency Soldier class receives one AI-cap boost, non-Soldier keeps configured cap, and respawn still reapplies skill effects. See the hosted/respawn row in Testing workflow.
Hosted server FPS loop sleep Dedicated publishing matches the target branch shape: current-stable-shaped targets publish SERVER_FPS_GUI only and keep monitorServerFPS.sqf absent; docs/source-shaped targets publish SERVER_FPS_GUI plus WFBE_VAR_SERVER_FPS. Hosted/listen runs do not spin the active FPS publisher loops. See the dedicated/hosted row in Testing workflow.
Supply mission scan narrowing Supply truck/heli completes at a real command center; unrelated nearby objects do not complete the mission; JIP cooldown behavior remains unchanged. See the supply scan row in Testing workflow.
Supply player-object list indexing A reconnecting/JIP player with an existing UID updates the matching WFBE_SE_PLAYERLIST row, not row 0, and supply completion still finds the correct nearby player object. See the reconnect row in Testing workflow.
Commander-built artillery ownership Commander-built manned artillery inside the HQ/base circle appears in the commander's Tactical fire-mission path, ammo loading still targets the gun, direct fire still works, non-artillery statics remain on the base-area DefenseTeam, and HC static-defense delegation does not break commander-team discoverability. On current stable origin/master@0139a346, current B69 8d465fce, adjacent B74 b23f557f and historical release a96fdda2 / 7ff18c49, the expected source shape is marker-based discovery through WFBE_CommanderArtillery* rather than the docs/source gunner handoff, so smoke the marker path and repair-truck exclusion explicitly. See the commander artillery row in Testing workflow.

Agent Index Facts

[
  {"fact":"loadoutmanager_root_discovery","source":"Tools/LoadoutManager/FileManagement/FileManager.cs","summary":"Branch-sensitive: docs checkout 4bd37b98 / checked docs base d30d23466, current stable origin/master@0139a346 and historical release a96fdda2 accept either an ancestor named a2waspwarfare or a repo-shaped root containing Missions/[55-2hc]warfarev2_073v48co.chernarus, Tools/LoadoutManager and AGENTS.md; Miksuu b8389e74 and perf/quick-wins 0076040f still require an ancestor named a2waspwarfare."},
  {"fact":"loadoutmanager_skip_zip","source":"Tools/LoadoutManager/ZipManager.cs","summary":"Set A2WASP_SKIP_ZIP to 1, true or yes to run generation/copy without packaging _MISSIONS.7z."},
  {"fact":"version_sqf_generated_input_gate","source":"agent-release-readiness.json#versionSqfGeneratedInput","summary":"version.sqf is ignored/generated but required by description.ext, initJIPCompatible.sqf and Rsc/Header.hpp; verify per-target generated files before pack, smoke or release claims."},
  {"fact":"docs_source_propagated_fixes","source":"Current Branch Scope (2026-06-22)","summary":"Docs/source HEAD@7e88d609 carries paratrooper marker registration at Init_PublicVariables.sqf:39 in Chernarus source and maintained Vanilla Takistan; HEAD@f5bcaf91 is unchanged from 4bd37b98 for checked commander ARTY paths, and 4bd37b98 remains the older queue anchor for duplicate Skill_Init removal, two hosted-FPS loop exits, typed supply command-center scan, supply player-object indexing and commander-team ARTY gunner handoff. Current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f carry queue PVFs, paratrooper registration at Init_PublicVariables.sqf:38, Skill_Init/apply, one guarded FPS publisher, heli-aware typed supply scan and marker-based commander ARTY, but do not carry the supply player-list index fix. Historical release a96fdda2/7ff18c49 remains checked branch evidence until a release head is restored or rechecked. Current Miksuu b8389e748243 omits the checked maintained-root paratrooper registration while perf/quick-wins@0076040f is Chernarus-only. Arma smoke remains pending."},
  {"fact":"latest_propagation_run","source":"Source-Fix-Propagation-Queue.md#latest-propagation-run","summary":"2026-06-02 LoadoutManager run completed generation/copy for Chernarus and Takistan with A2WASP_SKIP_ZIP=1; all five tracked fixes propagated, Arma smoke remains pending."}
]

Continue Reading

Previous: Testing workflow | Next: Tools/build workflow

Main map: Home | Progress: Progress dashboard | Machine release ledger: agent-release-readiness.json | Machine backlog: agent-hardening-backlog.jsonl

Sidebar

Clone this wiki locally