Skip to content

Source Fix Propagation Queue

rayswaynl edited this page Jun 5, 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 now supports both the old ancestor-folder rule and normal repo checkouts: Tools/LoadoutManager/FileManagement/FileManager.cs accepts either an ancestor folder named a2waspwarfare or a root containing Missions, Missions_Vanilla and Tools/LoadoutManager/LoadoutManager.csproj. 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.

Latest Propagation Run

Checked on 2026-06-02 after the LoadoutManager root-discovery and skip-zip patch. 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 now contain all five source fixes. 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 Source and Vanilla Common/Init/Init_PublicVariables.sqf:39 include HandleParatrooperMarkerCreation. Chernarus carries it, Vanilla carries it, smoke pending.
Client skill init idempotency Source and Vanilla Client/Init/Init_Client.sqf now run one Skill_Init.sqf compile and then WFBE_SK_FNC_Apply; the duplicate post-apply compile is removed. Chernarus carries it, Vanilla carries it, 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 Source and Vanilla supplyMissionStarted.sqf:28 scan only ["Base_WarfareBUAVterminal"] for the 80m command-center check. Chernarus carries it, Vanilla carries it, smoke pending.
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, but current docs/source Chernarus and maintained Vanilla both carry the same Construction_StationaryDefense.sqf:91-93 commander-team handoff. Stable origin/master and release head 3282ff3f still lack that handoff.

Release Branch Caveat (2026-06-05 Refresh)

The propagation table above describes the docs/source branch state, not a stable-master or release-branch guarantee. The original source-status recheck used docs/source HEAD 4163faba, origin/master 2cdf5fb8, and origin/release/2026-06-feature-bundle a9219d88. A 2026-06-05 spot-check against current release head 3282ff3f found the same lane outcomes for the rows below.

Lane Stable origin/master Release 3282ff3f Practical rule
Paratrooper marker revival Handler registration absent in Chernarus/Vanilla Common/Init/Init_PublicVariables.sqf. Handler registration absent in release Chernarus (NukeIncoming at :41) and release Vanilla (NukeIncoming at :39). Do not assume this lane is in release builds until the release branch carries it in both maintained missions.
Client skill init idempotency Duplicate Skill_Init.sqf remains in Chernarus/Vanilla at Client/Init/Init_Client.sqf:561 and :585. Duplicate Skill_Init.sqf remains in release Chernarus at :565/:589 and release Vanilla at :561/:585. Treat release/master as still needing the single-init change.
Hosted server FPS loop sleep Chernarus/Vanilla still use branch-only sleeps inside the loop. Release Chernarus has the guarded publisher and removed/commented monitor path; release Vanilla still has the old loop shape. Release branch is Chernarus-only for this lane.
Supply mission scan narrowing Chernarus/Vanilla still use the broad 80m command-center scan. Release Chernarus has the heli-aware narrowed command-center scan; release Vanilla still uses the broad 80m scan. Release branch is Chernarus-only for this lane.
Commander-built artillery ownership Chernarus/Vanilla keep manned base-area artillery gunners on the base-area DefenseTeam; no commander-team handoff is present. Release Chernarus/Vanilla also keep manned base-area artillery gunners on DefenseTeam; no commander-team handoff is present. Treat release/master as still needing the commander-built ARTY ownership patch.

Current Propagated Fix Queue

Lane Source status Vanilla status Smoke status Evidence Next action
Paratrooper marker revival Chernarus registers HandleParatrooperMarkerCreation in the client PV list. Vanilla Init_PublicVariables.sqf now registers the handler too. Pending Arma smoke. Source/Vanilla Common/Init/Init_PublicVariables.sqf:39; sender Server/Support/Support_Paratroopers.sqf:117. Smoke a paratrooper support drop and confirm the client marker appears.
Client skill init idempotency Chernarus runs Skill_Init.sqf once, then calls WFBE_SK_FNC_Apply. Vanilla duplicate compile removed. Pending Arma smoke. Source/Vanilla Client/Init/Init_Client.sqf:547,571; skill cap mutation Client/Module/Skill/Skill_Init.sqf:49. Smoke Soldier/non-Soldier AI cap and respawn skill reapply.
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 Chernarus 80m command-center scan uses nearestObjects [..., ["Base_WarfareBUAVterminal"], 80]. Vanilla uses the same narrowed 80m scan. Pending truck/heli smoke. Source/Vanilla Server/Module/supplyMission/supplyMissionStarted.sqf:25-28; broad nearby-player 8m scan remains intentional. Smoke delivery near command centers and no completion near unrelated objects.
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 Chernarus routes manned artillery-class base-area defense gunners to the current commander team when one exists. Vanilla has the same commander-team handoff. Pending commander ARTY smoke. Source/Vanilla Server/Construction/Construction_StationaryDefense.sqf:91-93; tactical discovery Common/Functions/Common_GetTeamArtillery.sqf:10-30; tactical UI Client/GUI/GUI_Menu_Tactical.sqf:544,565,594. 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.

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.

Lane Status Canonical page Why 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.
Commander reassignment call shape Patch-ready, current docs/source still carries the helper defect; branch matrix refreshed 2026-06-05. Commander reassignment call shape Stable/upstream/release already fix helper unpacking, but current source/Vanilla need the patch or port; duplicate notification owner and UI row-identity cleanup remain open everywhere checked.
Construction small-site logic cleanup Patch-ready; current source/Vanilla, stable/upstream and release all still carry SmallSite add/add while MediumSite removes. Construction logic list cleanup Needs the one-line SmallSite add-to-remove edit, then Vanilla propagation and construction smoke.
RHUD/endgame title display handle split Patch-ready, current code still carries the defect. 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.
Gear template profile filter Patch-ready; current source/Vanilla, stable/upstream and release all still carry undefined _u_upgrade save filtering plus the six-field profile import guard. Gear template profile filter Needs save-filter replacement in Client_UI_Gear_SaveTemplateProfile.sqf plus an Init_ProfileGear.sqf import guard/default before propagation.
Vehicle cargo equip loop bounds Patch-ready; current source/Vanilla, stable/upstream and release all still carry the same five inclusive cargo loops. Vehicle cargo equip loop bounds Needs five loop-bound edits in Common_EquipVehicle.sqf and Common_EquipBackpack.sqf, then Vanilla propagation and cargo smoke.
Buy-menu price/key alignment Patch-ready; current source/Vanilla, stable and upstream still carry selected-detail price drift, stale UNIT_COST_MODIFIER reset behavior and the driver-default profile key split. Release/QoL branch fix only Chernarus selected-detail display. Factory and purchase systems atlas Needs one shared price/reset path plus one normalized driver-default key, then Vanilla propagation and Buy Units UI/economy smoke.
Service menu affordability guards Patch-ready, current code still carries the defect; branch matrix refreshed 2026-06-05. Service menu affordability guards Current docs/source and maintained Vanilla need action-time price/funds/context guards; stable/upstream improve button-enable order but still debit client-side; release Chernarus is only a partial rearm/refuel QoL guard and release Vanilla/EASA exact-funds remain open.
WASP marker wait cleanup Opportunity, source implementation still needed. WASP marker wait cleanup Small performance cleanup, but still requires map-marker smoke.

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 server still publishes SERVER_FPS_GUI / WFBE_VAR_SERVER_FPS; hosted/listen run does not spin the 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. See the commander artillery row in Testing workflow.

Agent Index Facts

[
  {"fact":"loadoutmanager_root_discovery","source":"Tools/LoadoutManager/FileManagement/FileManager.cs","summary":"LoadoutManager now accepts either an ancestor named a2waspwarfare or a normal repo root containing Missions, Missions_Vanilla and Tools/LoadoutManager/LoadoutManager.csproj."},
  {"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":"current_propagated_fixes","source":"Init_PublicVariables.sqf:39; Init_Client.sqf:547,571; serverFpsGUI.sqf:1; monitorServerFPS.sqf:1; supplyMissionStarted.sqf:25-28; playerObjectsList.sqf:17-29; Construction_StationaryDefense.sqf:91-93","summary":"Paratrooper marker registration, duplicate Skill_Init removal, hosted FPS loop exits, supply command-center scan narrowing, supply player-object list indexing and commander-built artillery ownership are present in Chernarus source and maintained Vanilla Takistan; 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