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. Current docs/source HEAD@ffdfaa24 is unchanged from the queue's 4bd37b98 / d30d23466 line-anchor proof for Tools/LoadoutManager/FileManagement/FileManager.cs and accepts either an ancestor named a2waspwarfare or a repo-shaped root containing Missions, Missions_Vanilla and Tools/LoadoutManager/LoadoutManager.csproj (FileManager.cs:153,158,166,176,186-188). Current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and historical release commit a96fdda2 use the sibling marker-root helper: ancestor name a2waspwarfare still passes, otherwise the root must contain Missions/[55-2hc]warfarev2_073v48co.chernarus, Tools/LoadoutManager and AGENTS.md (FileManager.cs:145,150,158,165,170-176). Current Miksuu master@b8389e748243, origin/perf/quick-wins 0076040f and the local feat/supply-helicopter checkout 558fba343 still require an ancestor folder named a2waspwarfare (FileManager.cs:145,150 or local :145-152). 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 only on branches that implement that environment variable; local feat/supply-helicopter has no A2WASP_SKIP_ZIP hits and calls ZipManager.DoZipOperations() unconditionally. See Tools/build workflow.

Generated input gate: version.sqf is required boot input, not tracked source. Current-B74 refresh on 2026-06-23 found no present source Chernarus or maintained Vanilla Takistan version.sqf in a fresh docs mirror checkout, and checked docs/source HEAD@ded20d3d, current stable origin/master@0139a346, B69 origin/claude/b69@8d465fce, B74 origin/claude/b74-aicom-spend@b23f557f, current Miksuu b8389e748243 and origin/perf/quick-wins@0076040f do not track live Chernarus/Vanilla version.sqf files. It is ignored by .gitignore, included by description.ext (:39 on docs/Miksuu/perf; :38 on stable/B69/B74) and initJIPCompatible.sqf:4, and consumed by Rsc/Header.hpp:5,9,21. B69/B74 add a tracked Chernarus version.sqf.template, but that is a reference template and does not satisfy the live generated version.sqf gate for either source Chernarus or maintained Vanilla Takistan. 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-23)

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 stable origin/master@f8a76de34 equals origin/claude/b74.1-aicom@f8a76de34. Current origin exposes no release/* heads on 2026-06-23, 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.

2026-06-23 current-stable/B74.1 refresh: scoped queue-path diff from previous matrix ref 0139a3468609 to origin/master@f8a76de34 touches only maintained-root Client/Init/Init_Client.sqf; the B74.1 tip commit itself changes only Chernarus Common/Init/Init_CommonConstants.sqf. Current stable/B74.1 therefore matches the B69/B74 line shape for client Skill_Init/apply (Init_Client.sqf:805,828) while keeping the same paratrooper, FPS, supply, player-list and commander ARTY queue anchors listed below.

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@f8a76de34 / B74.1 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:805,828), 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/B74.1 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-23 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-23, docs checkout 4bd37b98 (still source-unchanged at docs/developer-wiki-index@15563691 for the checked supply start file), current stable/B74.1 origin/master@f8a76de34 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/B74.1 origin/master@f8a76de34, B69 8d465fce and B74 b23f557f carry it at :38 in both maintained roots. Branch-present in docs/source, current stable/B74.1/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/B74.1 origin/master@f8a76de34 now carries the B69/B74 line shape at :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/B74.1/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 Docs/source Chernarus and Vanilla serverFpsGUI.sqf:1 and monitorServerFPS.sqf:1 exit on !isDedicated; current stable/B74.1/B69/B74 Chernarus and Vanilla keep one guarded serverFpsGUI.sqf:4 publisher and no maintained-root monitor path. Chernarus carries the target-branch guard shape, 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/B74.1 origin/master@f8a76de34 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/B74.1 origin/master@f8a76de34, 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-23.

Branch Implementation Caveat (2026-06-23 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/B74.1/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/B74.1 origin/master@f8a76de34 / 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/B74.1/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/B74.1/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/B74.1/B69/B74 have Skill_Init / apply 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/B74.1/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/B74.1 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/B74.1/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/B74.1/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/B74.1/B69/B74 register the same handler at their :38 line shape. Docs/source Vanilla, current stable/B74.1 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/B74.1/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/B74.1/B69/B74 and client-fps keep the same order with branch-specific line drift. Docs/source Vanilla, current stable/B74.1 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/B74.1/B69/B74 Chernarus/Vanilla :805,828; client-fps Chernarus :613,636 and Vanilla :583,606; skill cap mutation Client/Module/Skill/Skill_Init.sqf:49; previous current-stable 0139a346 anchors :624,647 are superseded by f8a76de34; 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 Docs/source Chernarus keeps two FPS publishers that exit immediately on !isDedicated; current stable/B74.1 keeps one guarded publisher. Vanilla matches the named branch shapes. Pending dedicated/hosted smoke. Docs/source Chernarus/Vanilla Server/GUI/serverFpsGUI.sqf:1 and Server/Module/serverFPS/monitorServerFPS.sqf:1; current stable/B74.1/B69/B74 Chernarus/Vanilla Server/GUI/serverFpsGUI.sqf:4 with SERVER_FPS_GUI publish at :9-10 and no maintained-root monitor path. Smoke dedicated FPS publish and hosted/listen no-spin behavior against the target branch's publisher shape.
Supply mission scan narrowing Docs checkout 4bd37b98 Chernarus has the typed terminal scan at supplyMissionStarted.sqf:28; current stable/B74.1 origin/master@f8a76de34 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/B74.1 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/B74.1 origin/master@f8a76de34, 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/B74.1/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/B74.1/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-23 PVF dispatcher closeout note: current stable origin/master@f8a76de34 equals origin/claude/b74.1-aicom@f8a76de34; current stable/B74.1, 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/B74.1/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. DR-55 sender authentication remains separate because all checked current-stable/B74.1/B69/B74 registrations still forward only the PVEH value tuple.

Lane Status Canonical page Why separate
PVF dispatcher lookup / allowlist hardening Branch-split. Current stable origin/master@f8a76de34 / B74.1, 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 plus B74..B74.1 generic PVF dispatcher/init deltas. 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@925d56e01a1e is unchanged from a0721301d4f5 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-23. PVF dispatch implementation On current stable/B74.1/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-B74.1 refresh 2026-06-23 shows docs/source HEAD@a764d51107de is unchanged from 6d263dc, 1c1ea559 and 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; buy-price consumers Client_UIFillListBuyUnits.sqf:60, GUI_Menu_BuyUnits.sqf:90,261). 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 buy-price consumers are Client_UIFillListBuyUnits.sqf:90 and GUI_Menu_BuyUnits.sqf:99,244-245,416, with Chernarus constants Init_CommonConstants.sqf:547,591-593 and maintained Vanilla constants :349,393-395. Current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f 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 on 2026-06-23, and repo-root BattlEyeFilter/publicvariable.txt:2 still only filters kickAFK. 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; current-B74.1 refresh 2026-06-23 shows 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), so all-towns wins log the loser. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 is split: Chernarus removes the _victory == 0 trap (server_victory_threeway.sqf:11-16), short-circuits later sides (:23-26) and guards the full condition (:39-45), but still writes WF_Winner, WASPSTAT and LogGameEnd with _x (:53,:57-65), so HQ/factory eliminations still record the losing side; maintained Vanilla remains gated/mixed at :11,:29 and logs [_x] at :49. Current stable/B74.1 and B69/B74 remove client inversion in both roots (Client_EndGame.sqf:5-11 on B74.1), but the GUER label is Chernarus-only (GUI_EndOfGameStats.sqf:8-9) and Vanilla remains West/East-only at :5-8. B74.2 adds no checked victory-path delta over B74.1; current origin exposes no live release/* head. Victory/endgame atlas Treat current stable/B74.1 Chernarus as partial rescue, not closure. 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.1 refresh 2026-06-23 shows 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 generic HQ building score plus a second HQ bounty score in both maintained roots: Server_OnHQKilled.sqf:23,64,66,106,109,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 all still keep the two-award shape. Enemy HQ kills still net 1800 and friendly/teamkill HQ kills still get 900. Miksuu branch-name scan classifies ScoreForKillingFactories@f17445c15190 / Fix0ScoreBountyBug@415615c9662a / FixNukeMoneyGain@2ad3a7d38837 as old-layout one-award ancestry, AntiHQTeamkillDisabledInDebugMode@5bafe566951a as branch-only one-award evidence, and BountyModifierTo4@cc127ef40b4d as a bounty-tune/non-score branch. 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/source HEAD@6d4b514c12fc 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/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 carries the safe-disable shape instead: Chernarus Init_Server.sqf:44 keeps UpdateSupplyTruck commented, :624-625 initializes wfbe_ai_supplytrucks and logs that legacy logistics are disabled; maintained Vanilla uses :44,618-619. B74.2 origin/claude/b74.2-aicom@d472da6a, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f also keep safe-disable caller shapes, and AI_UpdateSupplyTruck.sqf:17 still points at missing Server\FSM\supplytruck.fsm but is not spawned there. Miksuu b8389e748243 and origin/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-23. AI commander autonomy audit Current stable/B74 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; current-B74 refresh 2026-06-23 keeps the issue open. Docs/source HEAD@f3896116 is unchanged from 89aadf8c for checked auto-wall paths; docs/source, 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, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f still use one global; stable initializes it true at Init_Common.sqf:213, B69/B74 at :214, and stable/B69/B74 consume it at SmallSite :123 plus MediumSite :160 / B69-B74 Chernarus :163 with AARadar plus CBRadar or Bank/Reserve/ArtilleryRadar exclusions. Historical a96fdda2 only adds the AARadar guard. B69..B74 and 35547c47..B74 checked path deltas are empty; current origin exposes no live release/auto-wall/construction/CoIn rescue head. 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; current-B74 refresh 2026-06-23 shows docs/source HEAD@92b52e73 is unchanged from edbd341e and b5219d47 for checked title-handle paths. Docs/source, current Miksuu b8389e748243, origin/perf/quick-wins@0076040f, current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and historical a96fdda2 all still share currentCutDisplay between OptionsAvailable/RHUD/action icons and EndOfGameStats in both maintained roots. Docs/Miksuu/perf line shape is 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; stable line shape is Titles.hpp:174-175,587-588, Client_UpdateRHUD.sqf:89,92,266; B69/B74 match stable for title/RHUD/action paths, with only Chernarus GUI_EndOfGameStats.sqf line drift to :15,36-46,88-95 from unrelated GUER-label work. Checked B69..B74 title-handle deltas are empty; checked origin/master..B74 only adds unrelated Chernarus endgame GUER-label text and the vehicle-tint legend title, not a handle split. Current origin exposes no live release/* head. 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/B69/B74; current origin/master@0139a346, B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f now carry 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 stable/B69/B74 have 14 derived RscClickableText controls per maintained root and checked origin/master..B74 / B69..B74 resource/dialog deltas are empty. Docs/source HEAD@0bb0f89f is unchanged from b5219d47 and remains malformed with 17 controls; current Miksuu b8389e748243, origin/perf/quick-wins 0076040f, historical release a96fdda2 and UI theme evidence remain branch-scoped old-shape targets. Client UI systems atlas Do not reopen the base-class edit on current stable/B69/B74. 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 current-B74 refresh 2026-06-23: docs/source HEAD@c7f361f4 is source-unchanged from 72b5f0de98f9 and 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@0139a346, current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f fix the save-filter comparisons in both maintained roots at :34,57,82, but keep 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-23. Gear template profile filter Patch docs/source or old-shape refs with the save-filter replacement; on current stable/B69/B74, 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-23 branch check shows docs/source HEAD@c7f361f4, current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, 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. Stable/B69/B74 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 current-B74 refresh 2026-06-23: docs/source HEAD@bd0ec67d is source-unchanged from b2544207 for checked cargo helper paths and still carries the five inclusive cargo loops in both maintained roots. Current Miksuu master@b8389e748243 and historical EASA QoL a66d4691 remain old-shape. Current stable origin/master@0139a346, current 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 while perf Vanilla still needs propagation. Checked b2544207..HEAD, B69..B74, master..B74 and older-B69-to-B74 cargo deltas are empty. Current origin exposes no live release/*, cargo, equip, gear, EASA or QoL rescue heads. Vehicle cargo equip loop bounds Do not reopen current stable/B69/B74. Preserve/port the five-loop fix where the target branch still carries inclusive loops, including docs/source, current Miksuu and perf Vanilla, then run maintained Vanilla propagation and cargo smoke.
Buy-menu price/key alignment Branch-split after current-B74 refresh 2026-06-23: docs/source HEAD@4120137f is source-unchanged from 8d611092 / ebd86fad0 for checked Chernarus/Vanilla buy-menu controller and list-filler paths, and still carries 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 master@b8389e748243 and perf/quick-wins@0076040f match that old shape. Current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f and historical release a96fdda2 fix selected-detail display and mirror both driver keys in both maintained roots; no checked ref resets UNIT_COST_MODIFIER to 1 for level 0. Checked B69..B74 and master..B74 controller/list-filler deltas are empty; only constants line drift appears in Init_CommonConstants.sqf. Historical QoL a66d4691 fixes selected-detail display in Chernarus only. Current origin exposes no live release/*, buy, EASA, QoL or factory rescue head. Factory and purchase systems atlas Do not reopen selected-detail/key mirroring on current stable/B69/B74. Add 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-23 current-B74.1/B74.2 refresh: docs/source HEAD@0da6ba431, current Miksuu master@b8389e748243, origin/perf/quick-wins@0076040f and historical release a96fdda2 keep the old readless/comment-only shape. Current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, B69 8d465fce, B74 b23f557f and B74.2 d472da6a read WFBE_C_AI_MAX in AI_Commander_Produce.sqf:234 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/B74.1/B74.2, 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-B74.1/B74.2 refresh 2026-06-23 shows docs/source HEAD@a7f383b6 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 visible B74.2 origin/claude/b74.2-aicom@d472da6a still mix _args / _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. origin/master..origin/claude/b74.2-aicom and origin/claude/b69..origin/claude/b74-aicom-spend are empty for 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. Because _args = _this, current behavior is equivalent but still fragile. Support specials atlas, Upgrades and research Normalize the Server_HandleSpecial.sqf upgrade-sync case to one tuple source, keep RequestUpgrade authority migration separate, propagate maintained Vanilla and smoke upgrade completion/non-server timer sync plus malformed/short 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-B74 refresh 2026-06-23 shows docs/source HEAD@de911438 is unchanged from 28a7d9c5 for checked camp flag, repair-camp and CampCaptured client-handler paths and still uses the old owner at server_town_camp.sqf:132,135. Current Miksuu b8389e748243 also uses old owner at :88-91; perf/quick-wins@0076040f fixes Chernarus only at :135 while maintained Vanilla remains old-owner. Current stable origin/master@0139a346, current B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, historical a96fdda2 and origin/feat/naval-hvt-objectives@2e1c5931 already fix independent camp-capture flags in both maintained roots at server_town_camp.sqf:83-86; checked B69..B74 and 0a1ccb4d..B74 camp/repair/client-handler deltas are empty. Repair-side flag refresh remains open in every checked ref: current-stable repair-camp line drift is Server_HandleSpecial.sqf:468,471, B69/B74 drift is Chernarus :491,:494 and Vanilla :468,:471, and the client CampCaptured handler only recolors markers at current stable/B69/B74 :23,:48. Towns, camps and capture atlas Preserve current-stable/B69/B74/release/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, camp repair and JIP marker/flag consistency.
Camp count helper fallback semantics Patch-ready caller-semantics cleanup. Current-B74 refresh 2026-06-23 shows docs/source HEAD@6b8b12df, current stable origin/master@0139a346, 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 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 91d1ccf2 / ade4d356; checked B69..B74 and 0a1ccb4d..B74 helper/caller deltas are empty; no live release/*, camp or town rescue head is exposed. 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 only after verifying the target branch implements it; otherwise configure 7za or expect packaging to throw after generation/copy.
  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/B74.1 origin/master@f8a76de34, 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":"Branch-sensitive shortcut: on branches that implement A2WASP_SKIP_ZIP, set it to 1, true or yes to run generation/copy without packaging _MISSIONS.7z. Local feat/supply-helicopter@558fba343 has no A2WASP_SKIP_ZIP hits and calls ZipManager.DoZipOperations() unconditionally, so missing 7za still throws."},
  {"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-23)","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/B74.1 origin/master@f8a76de34 equals origin/claude/b74.1-aicom@f8a76de34 and carries queue PVFs, paratrooper registration at Init_PublicVariables.sqf:38, Skill_Init/apply at Init_Client.sqf:805/828, one guarded FPS publisher, heli-aware typed supply scan and marker-based commander ARTY, but does not carry the supply player-list index fix. Scoped queue-path diff from 0139a3468609 to f8a76de34 touches only maintained-root Client/Init/Init_Client.sqf. Current B69 origin/claude/b69@8d465fce and adjacent B74 origin/claude/b74-aicom-spend@b23f557f match the current-stable checked queue shape. 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 in the checkout used then; all five tracked fixes propagated, Arma smoke remains pending. Re-verify skip-zip support on the target branch before repeating the command."}
]

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