{ "schema": "a2waspwarfare-agent-release-readiness-v1", "generatedAt": "2026-07-02T09:50:00+02:00", "lastVerifiedAt": "2026-07-02T09:50:00+02:00", "purpose": "Machine-readable release-readiness ledger for docs/source branch fixes, generated mission propagation, branch-specific caveats and Arma 2 OA smoke gates.", "humanCanonicalPage": "Source-Fix-Propagation-Queue.md", "sourceMission": "Missions/[55-2hc]warfarev2_073v48co.chernarus", "releaseCandidates": [ { "id": "release-command-center-2026-06-30", "branch": "codex/release-command-center-20260630", "commit": "177ef1385f", "state": "release-branch-local-static-verified-package-handoff-ready-git-tracked-payload-gate-runtime-rpt-packet-builder-runtime-rpt-packet-matrix-runtime-run-ledger-archive-sha-gate-handoff-contract-selftest-runtime-ledger-identity-gate-runtime-source-map-identity-gate-windowed-rpt-gate-startup-banner-rpt-gate-stronger-aicom-rpt-gate-per-terrain-runtime-evidence-gate-aicom-infantry-fallback-takistan-west-fallback-rpt-gate-per-terrain-token-summary-runtime-packet-manifest-gate-proof-runtime-summary-rpt-root-binding-summary-release-identity-proof-windows-powershell-final-check-a2-oa-command-dialect-clean-role-identity-rpt-gate-per-role-proof-rpt-gate-duplicate-rpt-content-gate-publishable-path-sanitized-self-contained-handoff-upgrade-request-authority-aicom-group-default-guard-aicom-hc-audit-telemetry-aicom-jip-feed-request-status-aicom-feed-request-pv-guard-aicom-lifecycle-shape-guards-aicom-heartbeat-v2-aicom-low-risk-cleanup-hc-drop-scorer-fail-group-cap-scorer-fail-hc-client-pv-guard-sqf-count-guard-runtime-pending-auto-resume-active-not-deployed-aicom-movement-root-waypoint-current-aicom-arrival-radius-aicom-handlespecial-shape-guards-scud-requestspecial-authority-guer-mortar-requestspecial-authority-paradrop-requestspecial-authority-supply-truck-respawn-authority-local-camp-repair-authority-local-guer-vbied-action-authority-local-guer-fob-structure-authority-local-hc-delegated-ai-local-groups-both-terrains-local", "labels": [ "release-branch-local", "static-verified", "package-provenance-verified-local", "git-tracked-payload-gate-local", "handoff-packet-ready-local", "runtime-rpt-packet-builder-local", "runtime-rpt-packet-matrix-local", "runtime-run-ledger-local", "archive-sha-runtime-gate-local", "handoff-contract-selftest-local", "runtime-ledger-identity-gate-local", "runtime-source-map-identity-gate-local", "windowed-rpt-scorer-local", "startup-banner-rpt-gate-local", "hc-registry-rpt-gate-local", "stronger-aicom-rpt-gate-local", "per-terrain-runtime-evidence-gate-local", "aicom-infantry-fallback-local", "takistan-west-fallback-rpt-gate-local", "per-terrain-token-summary-local", "runtime-packet-manifest-gate-proof-local", "runtime-summary-rpt-root-binding-local", "summary-release-identity-proof-local", "windows-powershell-final-check-local", "a2-oa-command-dialect-clean-local", "role-identity-rpt-gate-local", "per-role-proof-rpt-gate-local", "duplicate-rpt-content-gate-local", "publishable-rpt-path-sanitized-local", "self-contained-handoff-local", "upgrade-request-authority-local", "aicom-group-default-guard-local", "aicom-hc-audit-telemetry-local", "aicom-jip-feed-request-status-local", "aicom-feed-request-pv-guard-local", "aicom-lifecycle-shape-guards-local", "aicom-heartbeat-v2-local", "aicom-low-risk-cleanup-local", "hc-drop-scorer-fail-local", "group-cap-scorer-fail-local", "hc-client-pv-guard-local", "sqf-count-guard-local", "runtime-pending", "source-propagated Chernarus+Takistan", "auto-resume-active", "not-deployed", "modded-conflict-markers-cleared-local", "aicom-group-value-helper-local", "command-menu-group-default-guard-local", "group-funds-default-guard-local", "aicom-artillery-config-guard-local", "aicom-capture-stall-guardrails-local", "rpt-marker-sweep-helper-local", "aicom-movement-root-waypoint-current-local", "aicom-arrival-radius-local", "aicom-handlespecial-shape-guards-local", "fps-report-pv-guard-local", "aicom-marker-feed-consumer-shape-guards-local", "factory-queue-empty-head-guard-local", "attack-wave-pv-guard-local", "icbm-requestspecial-authority-local", "supply-mission-pv-guard-local", "scud-requestspecial-authority-local", "guer-mortar-requestspecial-authority-local", "paradrop-requestspecial-authority-local", "player-support-requestspecial-authority-local", "uav-requestspecial-authority-local", "rpt-marker-request-monitor-tokens-local", "supply-truck-respawn-authority-local", "camp-repair-authority-local", "guer-vbied-action-authority-local", "guer-fob-structure-authority-local", "hc-delegated-ai-local-groups-both-terrains-local" ], "markerPrefix": "WASPRELEASE|v1|candidate=release-command-center-20260630", "expectedMarkers": [ "WASPRELEASE|v1|candidate=release-command-center-20260630|git=177ef1385f|terrain=chernarus", "WASPRELEASE|v1|candidate=release-command-center-20260630|git=177ef1385f|terrain=takistan" ], "staticEvidence": [ "LoadoutManager RELEASE packaging with 7za configured", "git diff --check", "Package provenance and release handoff generation passed at 177ef1385f; latest final check passed static smoke clean including the AICOM artillery config, order-sequence and capture-stall guardrails plus the arrival-radius and waypoint-current assertions, AICOM feed request PV guard, AICOM lifecycle shape guards and active marker-list and HandleSpecial shape guards, HC AICOM/side-patrol delegate allowlist, factory queue empty-head guard, Attack Wave PV/activation authority guard, ICBM RequestSpecial authority guard, supply mission PV guards, SCUD RequestSpecial authority guard, GUER mortar RequestSpecial authority guard plus client result receiver unwrap, Player support/UAV RequestSpecial authority guard, Chernarus/Takistan A2/OA lint FAIL 0 / REVIEW 0 each, and BugHunt HIGH is clean; marker sweep helper self-test passed; fresh runtime RPT proof is still pending", "BugHunt HIGH clean", "origin/feat/qol-polish-pack@722f5d057 HC civilian registry guard, PR #122 head 6176c70aa scanner -RequireHcRegistry gate, origin/release/pr122-static-fixes@94c6ab30 HC PVF parameter-count guard, PR #122 head 3694c068 HC/client PV handler guard, PR #122 head f5c414615 SQF count guard parenthesization, current PR #122 head 4c66c3b scanner/tooling guard and command-center AICOM fallback head 8de3c4a60 reviewed on 2026-07-01; release branch adapted the HC evidence, startup-banner, both-terrain, stronger AICOM and per-terrain runtime evidence gates into Tools/PrTestHarness instead of raw-cherry-picking the older Tools/Monitor scanner shape, adapted/cherry-picked small RPT-noise-reducing guards into both maintained terrains and cherry-picked 8de3c4a60 as local b4df22ede for the starved-infantry fallback; reconciled PR #122 wiki drift preserved the 21/21 checked AICOM/HC Chernarus/generated-Takistan parity note plus the unresolved livehost template caveat for WASP_Experital_TEST.Chernarus and [61-2hc]warfarev2_073v48co.takistan", "Client_FNC_Special upgrade completion guards nil and objNull WFBE_Client_Logic in Chernarus and maintained Vanilla Takistan", "Client_HandlePVF.sqf, HandleSpecial.sqf and LocalizeMessage.sqf guard HC/client-only PV dispatch surfaces from non-array parameter count, missing WFBE_CL_FNC_EndGame and missing GroupChatMessage errors in Chernarus and maintained Vanilla Takistan", "Thirty maintained mission files parenthesize SQF count guard comparisons in Chernarus and maintained Vanilla Takistan", "Both maintained AI_Commander_Teams.sqf files include the 8de3c4a60/b4df22ede starved-infantry fallback: if eligibility stripping leaves no stored-type-0 infantry template, admit the cheapest infantry template and log AICOMGATE||infFallback|...", "Both maintained AI_Commander_Wildcard.sqf files remove the A3-only allMissionObjects salvage sweep from the retired W10 wildcard branch and use allDead; the help-menu wording no longer false-positives the A3-only apply token in the static smoke dialect scan.", "Both maintained AI_Commander_Strategy.sqf files reuse the fresh wfbe_aicom2_snap town-object census when present, falling back to live towns scans only for direct/manual calls; spearhead scoring, front debug telemetry and optional commander-artillery support-town checks now share the same strategy tick snapshot.", "New-WaspRuntimeRptPacket.ps1 builds the exact ten-file runtime packet from private runtime-rpt-source-map.json, writes release-run-ledger.json, emits redaction-safe runtime-rpt-packet-manifest.json, validates the packet immediately, and rejects source-map release.candidate/git/archiveSha256 drift from supplied ExpectedCandidate/ExpectedGit/ExpectedArchiveSha256 before writing a green packet", "Test-WaspRuntimeRptPacket.ps1 requires exact chernarus/takistan server, HC1, HC2, start-client and late-JIP RPT files; rejects missing or extra RPT files, duplicate copied paths, duplicate copied/source RPT content hashes, wrong terrain markers/world names, wrong role identity, HC/player-client per-role proof mismatches, stale copied files, stale source RPT LastWriteTime values and source/copy SHA256 mismatches; validates release-run-ledger.json source/copy path, source LastWriteTime/SHA256, copied SHA256, command-line, PID, launch-time metadata, exact roleProof, client joinPhase, non-empty matching release.candidate and release.git when expected, and approved archive SHA while emitting RPT-root-relative copied labels plus path/content hashes and hashing original source RPT paths and duplicate command lines in public output", "Test-WaspRuntimeRptPacket.SelfTest.ps1 proves the runtime packet builder/checker happy path and expected failures for stale source-map candidate drift, duplicate content, wrong role proof and missing run-ledger candidate/git/archive SHA", "Test-WaspReleaseRptEvidence.ps1 scores current-mission RPT windows and gates generic stop-condition errors without emitting raw RPT lines; startup-banner windowing keeps the WASPRELEASE marker inside the scored current window and all scored files must retain the startup Mission Name banner", "Test-WaspReleaseRptEvidence.ps1 hc-registry-civilian gate requires at least two non-zero-owner CIV HCSIDE connect rows and fails on connect-skip or non-CIV HC connect rows", "Test-WaspReleaseRptEvidence.ps1 no-human AICOM gate requires AICOMSTAT event proof, TEAM_FOUNDED, CMDRSTAT and at least one autonomous action/progress token such as ASSAULT_DISPATCH, COMBATSTAT, FRONT, POSTURE or SNAP; human-driven AICOM ORDER alone does not satisfy it", "Test-WaspReleaseRptEvidence.ps1 per-terrain-runtime-evidence gate requires Chernarus and Takistan to each satisfy the core AICOM, JIP, HC registry/delegation, town cleanup, WDDM/static/artillery and supply evidence families; each scored RPT must resolve to exactly one runtime terrain", "New-WaspReleaseRptSummary.ps1 writes redaction-safe JSON and Markdown RPT summary packets without raw RPT lines or absolute RPT paths; release handoff uses -RuntimePacketManifestPath, -ExpectedCandidate, -ExpectedGit, -ExpectedArchiveSha256 and -RequireRuntimePacketManifest, and requires runtime-rpt-packet-manifest.json to match the expected release tuple, schema a2waspwarfare-runtime-rpt-packet-builder-v1, validation.requested=true, validation.overall=pass, all required packet-validator gates passing, matching `rptRootHash`, matching copied file `copiedPathHash`/`copiedRptSha256` values and the exact ten copied RPT files before summary overall can pass; Markdown includes aggregate plus per-terrain selected token counts and runtime packet proof", "Test-WaspReleasePackage.ps1 validates _MISSIONS.7z roots, required files, generated markers, per-required-file hashes and the complete git-tracked Chernarus/Takistan mission payload against HEAD, allowing only the two generated ignored version.sqf files outside git", "Test-WaspReleasePackage.SelfTest.ps1 proves the git-tracked package payload gate rejects copied archives with stray untracked mission files or stale tracked file content.", "Tools/Monitor/Get-WaspRptMarkerSweep.ps1 provides redaction-safe runtime marker triage; its self-test covers current-window MISSINIT backing, literal expected release markers under -Regex, stale-window rejection and -IncludeLineText opt-in behavior.", "New-WaspReleaseHandoff.ps1 writes redaction-safe JSON and Markdown release handoff packets plus runtime-rpt-source-map.template.json and runtime-run-ledger.template.json, copies release-package-manifest.json and release-package-manifest.md into the handoff folder, re-hashes the local archive before handoff readiness, records runtime-approval/runtime-evidence/deployment-approval pending gates, and writes the ExpectedArchiveSha256 runtime packet builder, validator and release-identity-bound summary commands", "Test-WaspReleaseHandoff.SelfTest.ps1 covers the release handoff contract: pending approval gates, copied package manifest artifacts, runtime packet builder/checker commands, runtime summary candidate/git/archive binding and ten-record source-map/run-ledger templates without touching live runtime data", "Test-WaspReleaseRptEvidence.ps1 takistan-west-aicom-infantry-fallback gate requires Takistan per-terrain AICOMGATE|WEST|infFallback evidence; self-test proves no marker, Chernarus-only marker and Takistan EAST marker do not satisfy the gate, while Takistan WEST marker passes.", "Test-WaspReleaseRptEvidence.PerTerrainSelfTest.ps1 proves per-terrain runtime evidence, Takistan WEST fallback, summary release-identity proof, packet-validator gate proof, mismatched rptRootHash rejection and stale copiedRptSha256 rejection for runtime packet manifests.", "Round59 release scorer fix: wddm-static-artillery and supply-truck-heli native release gates no longer require pr8-stress-only WDDM_ARTILLERY_AUDIT, WDDM_ARTILLERY_SIDE or SERVICE_SUPPLY_AUDIT tokens; per-terrain self-test fixture now proves native-token happy path.", "Direct player upgrade request/payment contract is server-owned in both maintained terrains: GUI_UpgradeMenu sends side/id/current/player flag/requester/team, RequestUpgrade binds requester to the player-led commander team, revalidates current level, dependencies, costs, funds and side supply before setting wfbe_upgrading and debiting, and Client_FNC_Special starts upgrade-sync timing from accepted upgrade-started notification; Test-WaspStaticSmoke Upgrade request authority guard covers the six-field payload, requester/team binding, server-owned payment and accepted-state path.", "AICOM group variable reads are guarded in both maintained terrains: AI_Commander_Execute.sqf and Common_RunCommanderTeam.sqf use the group helper for default commander mode, goto position, execution signature and capture-pass counters; AI_Commander_Strategy.sqf and AI_Commander_PlayerArty.sqf carry artillery interval/range-array guards; Test-WaspStaticSmoke AICOM group variable default guards passed.", "Group-funds reads in common/server/support surfaces now route through guarded helpers where the release-loop scout found unset-default risk; the current package also includes AICOM artillery config guards for interval, upgrade-level and max-range array reads in strategy/player artillery paths.", "AICOM HC reconnect/drop diagnostics are present in both maintained terrains: connected HC reseat handling stamps wfbe_aicom_last_heading_t and emits HCRECON_AICOM_AUDIT; disconnect handling emits immediate and delayed HCDROP_AICOM_AUDIT samples with old-owner/live/heading freshness counts.", "AICOM late-JIP feed recovery is tightened in both maintained terrains: WFBE_ReqAicomFeed now rebroadcasts side-keyed WFBE_AICOM_INTENT/OBJ/ACTIVE/FOCUS/TEAMS/FUNDS variables to the requester in addition to WFBE_ACTIVE_AICOM_TEAMS and WFBE_ACTIVE_PATROLS; Test-WaspStaticSmoke release runtime-proof token emitters cover aiStatus, HCRECON_AICOM_AUDIT and HCDROP_AICOM_AUDIT.", "AICOM feed replay requests are guarded in both maintained terrains: WFBE_ReqAicomFeed rejects malformed payloads, null/non-player/dead player objects and invalid owner IDs, then throttles valid players with WFBE_C_AICOM_FEED_REQ_MIN_INTERVAL before targeted publicVariableClient feed replay.", "AICOM lifecycle shape guards are present in both maintained terrains: HC transport refunds require scalar price metadata, pending-token cleanup fails closed if the token store is not an array, corrupted active marker-list state is reset to an empty array before lifecycle iteration, and active-team cleanup/heading paths validate object/group/scalar slots before isNull, group comparison or angle arithmetic.", "AICOM donation double-debit is fixed on current target origin/claude/build84-cmdcon36 in both maintained terrains: GUI_TransferMenu no longer performs an optimistic client-side debit on the AI commander donation path, and RequestAIComDonate performs the server debit via ChangeTeamFunds plus AI commander wallet credit via ChangeAICommanderFunds after positive amount, AI-commander/human-commander and team-wallet checks. Stronger live-player donor, donor/team binding and payload-shape guards are separate PR #202/lane 140 evidence until merged or rechecked on the target.", "AICOM heartbeat proof is aligned to the live AICOMHB|v2| contract in both maintained AI_Commander.sqf files and in the static/RPT harness.", "The uncompiled AI_Commander_HCTopUp.DRAFT.sqf worker and its inert supervisor/constants/client aicom-team-merge surface are excluded from both maintained mission outputs; Test-WaspStaticSmoke AICOM HC top-up draft excluded passed with forbidden-token coverage for HCTopUp, HC_TOPUP, HC_MERGE, aicom-team-topup and aicom-team-merge.", "Server/client PVF dispatchers reject nil, non-array, short or non-string handler payloads before handler selection; Server_HandleSpecial rejects malformed command payloads before its main switch.", "Low-risk AICOM cleanup from the release-readiness source lane is folded into both maintained terrains: private[] scope covers the disband/beacon and retreat issue locals, group-cap founding uses WFBE_C_AICOM_GROUP_CAP, low-pop fallback defaults align to 12, the duplicate cmdcon31 infantry fallback block is removed, and base-GC low-pop cap fallback aligns to 12.", "Test-WaspReleaseRptEvidence.ps1 now counts HCSIDE disconnect rows and fails HC locality proof on delayed HCDROP_AICOM_AUDIT samples with oldOwnerLive, stale heading or unknown heading hits; the per-terrain self-test covers those negative cases.", "Test-WaspReleaseRptEvidence.ps1 now fails town cleanup proof on group-cap ceiling evidence from GRPBUDGET/GCSTAT, createGroup returned grpNull, group-cap ceiling reached or AT CAP lines; the per-terrain self-test covers those negative cases.", "Current origin/master@b4a6350ca0f90c9b0316570473c05a5e790aea96 is Build83/cmdcon35; PR #125 head 177ef1385f is reconciled with it while preserving stale-comment cleanup, HCTopUp draft exclusion, PVF/AICOM guard hardening and generated Takistan parity.", "Codex heartbeat automation wasp-release-readiness-auto-resume is ACTIVE every 30 minutes for this release loop, with collision checks and explicit no-runtime/no-SSH/no-deploy approval boundaries.", "Package provenance and release handoff generation passed at 177ef1385f with SHA256 5910819DF9840B06146A5C237691AD159B507162399AF596050822EB86F2E5F2, 1,885 entries, 7,167,459 bytes, 1,723 tracked mission files and 1,725 archive mission files; handoff status ready_for_runtime_collection.", "Static smoke now covers FPS report PV payload guards, marker-feed consumer shape guards for WFBE_ACTIVE_PATROLS and WFBE_ACTIVE_AICOM_TEAMS, factory queue empty-head guards, Attack Wave PV/activation authority guards, ICBM RequestSpecial authority guards, supply mission PV guards, SCUD RequestSpecial authority guards, GUER mortar RequestSpecial authority guards plus client result receiver unwrap and Player support and UAV RequestSpecial authority guards across Chernarus and generated Takistan; marker sweep defaults include B74.2 REQ-MARK and aiStatus=.", "PR #125 177ef1385f adds commander-support follow-up hardening: RespawnST requester tuples are aligned, aicom-focus side-player nudges are accepted only while the AI is actually commanding, side-supply logging is safe when no commander team exists, upgrade artillery ownership prefers wfbe_side before legacy side, and missing AI commander funds default to zero. It retains supply-truck respawn requester/team/commander validation, server-owned camp-repair requester/team/actor/camp/bunker/funds validation, GUER VBIED live resistance player/vehicle one-shot validation, GUER FOB player/truck/range/class validation and both-terrain HC delegated-AI locality smoke coverage; Run-WaspFinalCheck.ps1 and package self-test passed against the 5910819D package tuple." ], "packageEvidence": { "status": "local-package-provenance-passed-full-git-payload", "tool": "Tools/PrTestHarness/Package/Test-WaspReleasePackage.ps1", "archiveName": "_MISSIONS.7z", "entryCount": 1885, "lengthBytes": 7167459, "sha256": "5910819DF9840B06146A5C237691AD159B507162399AF596050822EB86F2E5F2", "roots": [ "[55-2hc]warfarev2_073v48co.chernarus", "[61-2hc]warfarev2_073v48co.takistan" ], "markerGit": "177ef1385f", "expectedTrackedFileCount": 1723, "archiveMissionFileCount": 1725, "generatedAllowances": [ "[55-2hc]warfarev2_073v48co.chernarus/version.sqf", "[61-2hc]warfarev2_073v48co.takistan/version.sqf" ], "missingTrackedFiles": 0, "unexpectedMissionFiles": 0, "hashMismatches": 0, "privacy": "No raw mission contents emitted except generated WF_RELEASE_MARKER strings; public handoff paths are artifact labels or hashes." }, "handoffEvidence": { "status": "ready_for_runtime_collection", "tool": "Tools/PrTestHarness/Release/New-WaspReleaseHandoff.ps1", "packetSchema": "a2waspwarfare-release-handoff-v1", "runtimeApprovalGate": "pending", "runtimeEvidenceGate": "pending", "runtimePacketBuilderTool": "Tools/PrTestHarness/Rpt/New-WaspRuntimeRptPacket.ps1", "runtimePacketTool": "Tools/PrTestHarness/Rpt/Test-WaspRuntimeRptPacket.ps1", "runtimeSourceMapTemplate": "runtime-rpt-source-map.template.json", "runtimeRunLedgerTemplate": "runtime-run-ledger.template.json", "runtimePacketManifest": "runtime-rpt-packet-manifest.json", "runtimeSummaryRequiresPacketManifest": true, "runtimeSummaryRequiresReleaseIdentity": true, "runtimeSummaryRequiresRptRootHashBinding": true, "runtimeSummaryRequiresCopiedPathHashBinding": true, "runtimeSummaryRequiresCopiedRptSha256Binding": true, "includedPackageManifestArtifacts": [ "release-package-manifest.json", "release-package-manifest.md" ], "expectedArchiveSha256": "5910819DF9840B06146A5C237691AD159B507162399AF596050822EB86F2E5F2", "deploymentApprovalGate": "pending", "privacy": "No raw RPT lines, UIDs, IPs, player names, local profile paths, server paths, SSH/server usernames, hostnames, credentials, environment variables or private deploy commands.", "handoffSelfTest": "Tools/PrTestHarness/Release/Test-WaspReleaseHandoff.SelfTest.ps1 passed locally without live runtime data" }, "runtimeGate": "First get explicit local runtime approval, fill runtime-rpt-source-map.template.json privately, then run Tools/PrTestHarness/Rpt/New-WaspRuntimeRptPacket.ps1 to build the exact ten-file packet: chernarus/takistan server, HC1, HC2, start-client and late-JIP RPT files, with ExpectedGit 177ef1385f, ExpectedArchiveSha256 5910819DF9840B06146A5C237691AD159B507162399AF596050822EB86F2E5F2, -Validate and -RequireSourceRptExists. The private source map release tuple must match the expected candidate/git/archive SHA command when present, and the generated run ledger must record non-empty matching release.candidate, release.git and release.archiveSha256 matching the approved archive, original source RPT paths, source LastWriteTime/SHA256, copied paths/SHA256, command lines, PIDs, per-terrain launch start times, exact roleProof and client joinPhase for start-client/late-JIP files; source LastWriteTime must be after the terrain launch start, source/copy SHA256 values must match the actual files, copied/source content hashes must be unique across roles, server role identity must be isServer=true/isDedicated=true while HC/client role files must not, HC files must contain HC-local startup proof, player-client files must contain client-local startup proof, original source paths are hashed in public output and duplicate-process fail hits emit command-line hashes only. Then run Tools/PrTestHarness/Rpt/Test-WaspReleaseRptEvidence.ps1 or Tools/PrTestHarness/Rpt/New-WaspReleaseRptSummary.ps1 with -RuntimePacketManifestPath \"\\runtime-rpt-packet-manifest.json\", -ExpectedCandidate release-command-center-20260630, -ExpectedGit 177ef1385f, -ExpectedArchiveSha256 5910819DF9840B06146A5C237691AD159B507162399AF596050822EB86F2E5F2, -RequireRuntimePacketManifest and both exact expectedMarkers values. The summary cannot pass unless the manifest release tuple matches the package handoff, schema is a2waspwarfare-runtime-rpt-packet-builder-v1, validation.requested=true, validation.overall=pass, all required packet-validator gates are present with status=pass, the manifest rptRootHash matches exactly one scored RPT directory, copiedPathHash/copiedRptSha256 values match the scored files, and exactly ten copied RPT files are recorded. Runtime scoring still requires startup Mission Name banners retained in every scored file, each scored RPT resolved to exactly one runtime terrain, both terrains represented, Chernarus and Takistan each passing per-terrain-runtime-evidence for AICOM/JIP/HC/town/WDDM/supply semantic families, at least two non-zero-owner CIV HCSIDE connect rows, zero connect-skip/non-CIV HC connect rows, AICOMSTAT event proof, TEAM_FOUNDED, CMDRSTAT and at least one autonomous action/progress token, the dedicated takistan-west-aicom-infantry-fallback scorer gate with Takistan WEST AICOMGATE|WEST|infFallback evidence for the current source candidate, no current-window generic stop-condition errors, no guarded HC/client PV handler errors and no count-expression runtime errors before release wording.", "deploymentGate": "Package provenance is local artifact proof only. Do not call runtime-proven or deployed until runtime launch approval, deployment approval, server placement, rollback path and stamped runtime evidence are recorded.", "privacyGate": "Public summaries must not include raw RPT lines, UIDs, IPs, absolute RPT paths, local paths, server profile paths, SSH/server usernames or private ops commands.", "canonicalDocs": [ "Current-Source-Status-Snapshot.md#2026-06-30-release-command-center-static-intake", "Testing-Debugging-And-Release-Workflow.md#2026-06-30-release-command-center-rpt-gate", "Agent-Release-Readiness-Ledger.md#2026-06-30-release-command-center-static-gate", "Progress-Dashboard.md", "Release-Source-Intake-Map.md" ], "updated": "2026-07-02T09:50:00+02:00", "package": { "archive": "_MISSIONS.7z", "sha256": "5910819DF9840B06146A5C237691AD159B507162399AF596050822EB86F2E5F2", "lengthBytes": 7167459, "entryCount": 1885, "trackedMissionFiles": 1723, "archiveMissionFiles": 1725, "handoffStatus": "ready_for_runtime_collection" } } ], "julyUpdateCandidates": [ { "id": "july-hosted-server-fps-loop-fix", "branch": "planned dev/july-update-hosted-server-fps-loop-fix; no current origin/dev head found on 2026-06-22", "state": "queued-branch-missing-no-runtime-evidence-yet", "canonicalDocs": [ "Progress-Dashboard.md#july-update-to-do", "Hosted-Server-FPS-Loop-Sleep.md", "Hardening-Implementation-Roadmap.md#july-update-candidate-route", "Testing-Debugging-And-Release-Workflow.md#july-update-candidate-smoke-route" ], "releaseGate": "Create or restore the branch first. On a current-stable-shaped target, dedicated still publishes SERVER_FPS_GUI and monitorServerFPS remains absent; on a docs/source-shaped target, dedicated still publishes SERVER_FPS_GUI plus WFBE_VAR_SERVER_FPS. Hosted/listen exits before active publisher loops; Chernarus and maintained Vanilla parity are named before release wording.", "smokeStatus": "planned-not-run" }, { "id": "july-takistan-airfield-fpv-drone", "branch": "origin/dev/july-2026-update@e3f530ed via closed draft PR #21; no current origin/dev/july-takistan-airfield-fpv-drone head found on 2026-06-22", "state": "queued-design-captured-current-route-is-roadmap-scaffold-no-runtime-evidence-yet", "canonicalDocs": [ "Progress-Dashboard.md#july-update-to-do", "Takistan-Airfield-FPV-Drone-Design.md", "Hardening-Implementation-Roadmap.md#july-update-candidate-route", "Testing-Debugging-And-Release-Workflow.md#july-update-candidate-smoke-route" ], "releaseGate": "Create or restore a Takistan implementation branch before code work. Then record Takistan boot/capture/JIP, server-side ownership/funds/upgrade/cap/range/base-protection rejection tests, economy debit/reward smoke and AA/radar counterplay before release wording.", "smokeStatus": "planned-not-run" } ], "generatedTargets": [ { "path": "Missions/[55-2hc]warfarev2_073v48co.chernarus", "tier": "authoritative-source", "status": "edit-source-mission", "releaseGate": "Edit here first, then prove maintained generated targets carry intended fixes before release wording." }, { "path": "Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan", "tier": "maintained-generated", "status": "maintained-generated-target", "maintenanceModel": "LoadoutManager writes/copied outputs for Vanilla Takistan while preserving documented terrain skips and SET_MAP differences.", "releaseGate": "Run or inspect LoadoutManager propagation, verify generated version.sqf, inspect generated diffs and smoke Arma 2 OA before release wording." }, { "path": "origin/feature/zargabad-map:Missions_Vanilla/[31-2hc]warfarev2_073v48co.zargabad", "tier": "branch-only-candidate-generated", "status": "not-in-stable-master-candidate-target", "releaseGate": "Use the Zargabad branch audit; static validation passed on e9294ede, but runtime, screenshot, RPT, HC/JIP and whitespace gates remain open." }, { "path": "Modded_Missions/[55-2hc]warfarev2_073v48co.eden", "tier": "divergent-boot-incomplete-fork", "status": "not-release-target", "fileCount": 502, "conflictMarkerHits": 27, "missingBootstrap": [ "version.sqf", "loadScreen.jpg" ], "blockers": [ "modded generation call remains commented in Tools/LoadoutManager/SqfFileGenerators/SqfFileGenerator.cs:132", "ZipManager packages Missions and Missions_Vanilla only at Tools/LoadoutManager/ZipManager.cs:16", "tracked version.sqf, stringtable.xml, loadScreen.jpg, Sounds/description.ext and Music/description.ext are absent", "unresolved conflict markers exist in Client/Action/Action_RepairMHQ.sqf, Client/Module/Skill/* and Common/Config/Core_Structures/Structures_CO_RU.sqf", "Common/Init/Init_Common.sqf compiles Common/Functions/Common_GetTotalCamps.sqf, but that helper is absent in the tracked fork" ], "releaseGate": "Regenerate or repair bootstrap, generated inputs, missing helpers and conflict markers before treating as runnable." }, { "path": "Modded_Missions/[55-2hc]warfarev2_073v48co.lingor", "tier": "hard-boot-blocked-fork", "status": "not-release-target", "fileCount": 438, "conflictMarkerHits": 48, "missingBootstrap": [ "mission.sqm", "description.ext", "initJIPCompatible.sqf", "version.sqf", "loadScreen.jpg" ], "blockers": [ "tracked description.ext and mission.sqm are absent", "tracked initJIPCompatible.sqf, version.sqf, stringtable.xml, loadScreen.jpg, Sounds/description.ext and Music/description.ext are absent", "unresolved conflict markers exist in Client/Client_UpdateRHUD.sqf, Client/Module/Nuke/nukeincoming.sqf and several Common/Config roots", "Common/Init/Init_Common.sqf compiles Common/Functions/Common_GetTotalCamps.sqf, but that helper is absent in the tracked fork" ], "releaseGate": "Treat as archival or regenerate from a known-good terrain profile before any pack/test claim." }, { "path": "Modded_Missions/[55-2hc]warfarev2_073v48co.Napf", "tier": "divergent-boot-incomplete-fork", "status": "not-release-target", "fileCount": 507, "conflictMarkerHits": 15, "missingBootstrap": [ "mission.sqm", "version.sqf", "loadScreen.jpg" ], "blockers": [ "description.ext includes version.sqf, Sounds and Music, but tracked version.sqf, stringtable.xml, loadScreen.jpg, mission.sqm, Sounds/description.ext and Music/description.ext are absent", "description.ext and multiple SQF/config files contain unresolved conflict markers", "Common/Init/Init_Common.sqf compiles Common/Functions/Common_GetTotalCamps.sqf, but that helper is absent in the tracked fork" ], "releaseGate": "Resolve conflict markers, restore bootstrap/generated inputs and repair missing common helpers before any runnable claim." }, { "path": "Modded_Missions/[55-2hc]warfarev2_073v48co.smd_sahrani_a2", "tier": "skeletal-stub", "status": "not-release-target", "fileCount": 4, "conflictMarkerHits": 0, "missingBootstrap": [ "mission.sqm", "description.ext", "initJIPCompatible.sqf", "version.sqf", "loadScreen.jpg" ], "blockers": [ "tracked folder is an overlay/stub, not a complete mission root", "core mission bootstrap and generated inputs are absent from the tracked folder" ], "releaseGate": "Either regenerate into a complete mission root or document as retired/archive-only." }, { "path": "Modded_Missions/[55-2hc]warfarev2_073v48co.tavi", "tier": "skeletal-stub", "status": "not-release-target", "fileCount": 3, "conflictMarkerHits": 0, "missingBootstrap": [ "description.ext", "initJIPCompatible.sqf", "version.sqf", "loadScreen.jpg" ], "blockers": [ "tracked folder is an overlay/stub, not a complete mission root", "core mission bootstrap and generated inputs are absent from the tracked folder" ], "releaseGate": "Either regenerate into a complete mission root or document as retired/archive-only." }, { "path": "Modded_Missions/[61-2hc]warfarev2_073v48co.dingor", "tier": "overlay-stub", "status": "not-release-target", "fileCount": 20, "conflictMarkerHits": 0, "missingBootstrap": [ "mission.sqm", "initJIPCompatible.sqf", "version.sqf", "briefing.sqf", "loadScreen.jpg" ], "blockers": [ "description.ext includes version.sqf, but tracked version.sqf is absent", "mission.sqm, initJIPCompatible.sqf, server init and Sounds are absent from the tracked folder" ], "releaseGate": "Restore complete bootstrap and generated inputs before calling Dingor runnable." }, { "path": "Modded_Missions/[61-2hc]warfarev2_073v48co.isladuala", "tier": "skeletal-stub", "status": "not-release-target", "fileCount": 1, "conflictMarkerHits": 0, "missingBootstrap": [ "mission.sqm", "description.ext", "initJIPCompatible.sqf", "version.sqf", "briefing.sqf", "loadScreen.jpg" ], "blockers": [ "tracked folder is an overlay/stub, not a complete mission root", "core mission bootstrap and generated inputs are absent from the tracked folder" ], "releaseGate": "Either regenerate into a complete mission root or document as retired/archive-only." } ], "generatedTargetPolicy": { "defaultReleaseScope": "Stable release claims cover source Chernarus plus maintained generated Vanilla Takistan unless a branch-specific audit says otherwise.", "moddedReleaseGate": "Do not claim Modded_Missions support while modded generation is commented, packaging omits Modded_Missions, generated version.sqf files are absent and conflict/bootstrap blockers remain.", "freshCheckoutGate": "Because version.sqf is git-ignored but included by mission boot files, every target mission root needs generated version.sqf verification before pack/test claims.", "packagingScope": "While docs/source Tools/LoadoutManager/ZipManager.cs:16 and stable-shaped/Miksuu/perf/a96fdda2 ZipManager.cs:10 remain unchanged, _MISSIONS.7z packaging is expected to include Missions and Missions_Vanilla, not Modded_Missions." }, "versionSqfGeneratedInput": { "status": "required-generated-ignored-input", "trackedByGit": false, "currentCheckoutEvidence": "Current workspace check for loadoutmanager-b742-current-head-followup-2026-06-23 found no present Missions/[55-2hc]warfarev2_073v48co.chernarus/version.sqf or Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan/version.sqf in docs/source checkout HEAD@101930f47; git status --ignored for those paths returned no ignored-present files.", "currentBranchEvidence": "Checked docs/source HEAD@101930f47, current stable/B74.1 origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, B69 origin/claude/b69@8d465fce, adjacent B74 origin/claude/b74-aicom-spend@b23f557f, current Miksuu b8389e748243, origin/perf/quick-wins@0076040f and historical a96fdda2 do not track live Chernarus/Vanilla version.sqf files. The scoped 101930f47..HEAD, d472da6a..21b62b04 and origin/master..origin/claude/b74.2-aicom diffs are empty for checked tooling/generated-input paths. 2026-06-24 branch-name check: origin/codex/version-sqf-current-b74@499c2543 is a docs/wiki tip whose tree keeps the docs/source tooling shape, not a current stable/B74.2 generated-input rescue.", "templateCaveat": "Current stable/B74.1/B74.2/B69/B74 track the same Missions/[55-2hc]warfarev2_073v48co.chernarus/version.sqf.template lines 1-14 as a Chernarus reference, but that template is not the live generated version.sqf input and does not cover maintained Vanilla Takistan.", "whyItMatters": "description.ext and initJIPCompatible.sqf include version.sqf before mission boot continues; a fresh checkout, clean pack or generated target without that file can fail before later SQF systems initialize.", "releaseGate": "Before pack, smoke-test or release wording, verify every claimed mission target root has a generated version.sqf matching its terrain profile and player count.", "sourceRefs": [ ".gitignore:1,23 on docs/source, current Miksuu, perf and historical a96fdda2", ".gitignore:1-5,25 on current stable/B74.1/B74.2/B69/B74; :2-3 unignore the Chernarus template only", "Missions/[55-2hc]warfarev2_073v48co.chernarus/description.ext:39 on docs/source, Miksuu and perf; :38 on current stable/B74.1/B74.2/B69/B74 and historical a96fdda2", "Missions/[55-2hc]warfarev2_073v48co.chernarus/initJIPCompatible.sqf:4", "Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan/description.ext:39 on docs/source, Miksuu and perf; :38 on current stable/B74.1/B74.2/B69/B74 and historical a96fdda2", "Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan/initJIPCompatible.sqf:4", "Tools/LoadoutManager/Data/Terrains/BaseTerrain.cs:102,359,361,364 on docs/source, Miksuu, perf and historical a96fdda2", "Tools/LoadoutManager/Data/Terrains/BaseTerrain.cs:115,372,374,377 on current stable/B74.1/B74.2/B69/B74", "Tools/LoadoutManager/FileManagement/FileManager.cs:92,100", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Rsc/Header.hpp:5,9,21", "Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan/Rsc/Header.hpp:5,9,21" ], "targetRoots": [ { "path": "Missions/[55-2hc]warfarev2_073v48co.chernarus", "role": "authoritative-source", "expectedGeneratedFile": "version.sqf", "currentLocalStatus": "fresh-checkout-absent; generated file is ignored when present", "requiredDefines": [ "WF_MAXPLAYERS 55", "WF_MISSIONNAME \"[55] Warfare V48 Chernarus\"" ] }, { "path": "Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan", "role": "maintained-generated-target", "expectedGeneratedFile": "version.sqf", "currentLocalStatus": "fresh-checkout-absent; generated file is ignored when present", "requiredDefines": [ "WF_MAXPLAYERS 61", "WF_MISSIONNAME \"[61] Warfare V48 Takistan\"" ] }, { "path": "Modded_Missions/*", "role": "non-release-target-until-regenerated-or-repaired", "expectedGeneratedFile": "version.sqf", "currentLocalStatus": "not-claimed", "requiredDefines": [ "terrain-specific WF_MAXPLAYERS", "terrain-specific WF_MISSIONNAME" ] } ], "validatorSeed": [ "git status --ignored --short -- \"Missions/[55-2hc]warfarev2_073v48co.chernarus/version.sqf\" \"Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan/version.sqf\"", "Test-Path -LiteralPath \"Missions/[55-2hc]warfarev2_073v48co.chernarus/version.sqf\"", "Test-Path -LiteralPath \"Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan/version.sqf\"" ] }, "toolingAuditGates": [ { "id": "loadoutmanager-packaging-exit-code", "component": "Tools/LoadoutManager", "severity": "P2", "status": "open-release-validator-needed", "evidenceRefs": [ "Tools/LoadoutManager/ZipManager.cs:26-33", "Tools/LoadoutManager/ZipManager.cs:77-92" ], "releaseGate": "For release archives, require non-zero 7za exit-code handling, rollback-safe archive replacement and proof that _MISSIONS.7z contains the expected mission roots." }, { "id": "loadoutmanager-soft-copy-and-delete-risk", "component": "Tools/LoadoutManager", "severity": "P2", "status": "operator-footgun-documented", "evidenceRefs": [ "Tools/LoadoutManager/FileManagement/FileManager.cs:72-83", "Tools/LoadoutManager/FileManagement/FileManager.cs:116-119", "Tools/LoadoutManager/FileManagement/FileManager.cs:123-136" ], "releaseGate": "Inspect console output and generated diffs after propagation; treat generated targets as disposable unless the source/generator owns the files." }, { "id": "performance-audit-analyzer-headless-memory-gate", "component": "Tools/PerformanceAuditAnalyzer", "severity": "P3", "status": "documented-headless-wrapper-needed", "evidenceRefs": [ "Tools/PerformanceAuditAnalyzer/Analyze-PerformanceAudit.ps1:1224-1248", "Tools/PerformanceAuditAnalyzer/Start-PerformanceAuditAnalyzer.ps1:11-12", "Tools/PerformanceAuditAnalyzer/Start-PerformanceAuditAnalyzer.ps1:119-120" ], "releaseGate": "Use Analyze-PerformanceAudit.ps1 directly for automation; add streaming/large-log tests and a headless wrapper before calling the analyzer production-hardened." }, { "id": "discordbot-extension-contract-drift", "component": "DiscordBot/Extension", "severity": "P1", "status": "open-contract-tests-needed", "evidenceRefs": [ "DiscordBot/src/ProgramRuntime.cs:14-25", "DiscordBot/Preferences.cs:24-30", "DiscordBot/src/ExtensionData/GameData/GameData.cs:32-56", "Extension/src/GameData.cs:29", "DiscordBot/src/ExtensionData/GameData/GameData.cs:30,80-83,112-114", "Extension/src/SerializationManager.cs:20", "Extension/src/ExtensionMethods.cs:18-21" ], "releaseGate": "Before production bot/extension claims, pin one GameData schema, add fixture tests, switch DiscordBot JSON intake away from TypeNameHandling.All and validate preferences/data-path loading before Discord startup." }, { "id": "battleye-filter-bundle-incomplete", "component": "BattlEyeFilter", "severity": "P2", "status": "public-server-hardening-not-shipped", "evidenceRefs": [ "BattlEyeFilter/publicvariable.txt:2", "Client/FSM/updateclient.sqf:153-160" ], "releaseGate": "Do not claim comprehensive BattlEye hardening from the repo; production needs owner-supplied BEpath/config inventory and OA-era filters beyond publicvariable.txt." } ], "toolingGate": { "tool": "Tools/LoadoutManager", "requirement": "Run from a checkout with either an ancestor folder named a2waspwarfare or the marker-root shape for the target branch. Docs/source HEAD@101930f47 accepts Missions + Missions_Vanilla + Tools/LoadoutManager/LoadoutManager.csproj; current stable/B74.1 origin/master@f8a76de34, current B74.2 origin/claude/b74.2-aicom@21b62b04, B69/B74 and historical a96fdda2 accept Missions/[55-2hc]warfarev2_073v48co.chernarus + Tools/LoadoutManager + AGENTS.md; current Miksuu/perf still require the named ancestor. The checked d472da6a..21b62b04 delta is empty for this path.", "skipZipForPropagationOnly": { "environmentVariable": "A2WASP_SKIP_ZIP", "acceptedValues": [ "1", "true", "yes" ], "effect": "Skips _MISSIONS.7z packaging after generation/copy.", "branchScope": "Implemented on docs/source HEAD@101930f47; absent in checked current stable/B74.1/B74.2/B69/B74, historical a96fdda2, current Miksuu, origin/perf/quick-wins and local feat/supply-helicopter refs." }, "evidenceRefs": [ "Tools/LoadoutManager/FileManagement/FileManager.cs", "Tools/LoadoutManager/ZipManager.cs", "Source-Fix-Propagation-Queue.md#rule" ], "currentLocalCheckoutStatus": "branch-sensitive-root-discovery-docs-source-and-stable-shaped-refs-support-marker-roots-miksuu-perf-named-root-only; docs-source-skip-zip-only-in-checked-refs; generated-version-sqf-absent-in-clean-docs-source-checkout" }, "latestLoadoutManagerPropagationRun": { "checkedAt": "2026-06-02T16:18:32+02:00", "checkedBy": "Codex", "command": "$env:A2WASP_SKIP_ZIP = \"1\"; dotnet run --project Tools\\LoadoutManager\\LoadoutManager.csproj", "scope": "Generated/copied Chernarus and maintained Vanilla Takistan on the docs/source branch after source fixes.", "result": "All five tracked fixes are present in docs/source Chernarus and propagated to docs/source maintained Vanilla Takistan; this is not a stable-master or release-branch guarantee, and Arma 2 OA smoke remains pending.", "packagingStatus": "skipped-by-A2WASP_SKIP_ZIP", "nonFatalWarnings": [ { "message": "The specified content was not found in the file.", "likelySource": "Tools/LoadoutManager/Data/Terrains/BaseTerrain.cs ReplaceGUIMenuHelp -> ReplaceContentOnASpecificFile", "impact": "Did not stop Chernarus/Takistan generation or the tracked fix propagation; treat as help-menu title replacement drift unless future evidence says otherwise." } ], "canonicalDoc": "Source-Fix-Propagation-Queue.md#latest-propagation-run" }, "globalReleaseRule": "A fix or branch feature is not release-complete until the target branch is named, Chernarus source carries the intended change, maintained Vanilla carries the same intended change when propagation matters, generated diffs are inspected and the relevant Arma 2 OA smoke is recorded.", "branchOnlyFeaturePromotionGates": [ { "id": "b742-aicom-branch", "branch": "origin/claude/b74.2-aicom", "head": "21b62b04", "base": "origin/master@f8a76de34", "state": "branch-review-needed-source-chernarus-only-no-pr-smoke-open", "sourceScope": "source-chernarus-only-no-missions-vanilla-payload", "canonicalDocs": [ "AI-Commander-Autonomy-Audit.md#b69-roadmap-and-sketch-route", "AI-Commander-Capture-And-Fun-Improvement-Plan.md", "Client-UI-Systems-Atlas.md#current-branch-scope", "Towns-Camps-And-Capture-Atlas.md#current-branch-scope", "Player-Stats-Branch-Audit.md#current-status", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/b74.2-aicom@21b62b04; merge-base/current stable origin/master@f8a76de34", "gh pr list --head claude/b74.2-aicom --state all returned [] on 2026-06-24", "origin/master..origin/claude/b74.2-aicom: 29 source Chernarus files +424/-38; git diff --check clean; no Missions_Vanilla payload", "d472da6a..21b62b04: 4 source Chernarus files +100/-14 for GUER stipend/tier startup/rebroadcast plus JIP join/connect recovery", "Init_CommonConstants.sqf:171-176 defines tier arrays; AI_Commander_Teams.sqf:83-84 publishes WFBE_PopTier and :105,187-190 consumes tiered team caps; AI_Commander_Produce.sqf:28 consumes tiered side-AI cap", "server_side_patrols.sqf:32,38, server_town_ai.sqf:61-64 and Server_GetTownGroupsDefender.sqf:91 consume tiered patrol/active-town/defender caps", "Init_CommonConstants.sqf:357 defines WFBE_C_AICOM_CAMP_STALL_PASSES = 3; Common_RunCommanderTeam.sqf:813,871-883 exits camp-first no-progress loops; WFBE_C_CAMPS_RANGE is 11.5 at Init_CommonConstants.sqf:487", "updateaicommarkers.sqf:47-55 requests WFBE_ReqAicomFeed; Init_Server.sqf:927-943 targeted-replays AICOM feeds", "Client_UpdateRHUD.sqf:354-360 and GUI_Menu_BuyUnits.sqf:37-43 display player AI caps from WFBE_C_PLAYERS_AI_MAX_BY_TIER through WFBE_PopTier", "Init_NavalHVT.sqf:301-315 creates deck hangar/airfield state; Client_GetClosestAirport.sqf:27-35, Client_GetRespawnAvailable.sqf:117-124 and Client_OnRespawnHandler.sqf:50-61 add carrier air-shop/respawn behavior", "Player stats fast-follow writers are source Chernarus only: Construction_MediumSite.sqf:200, Construction_SmallSite.sqf:161, RequestDefense.sqf:283,294,305, server_town.sqf:240, server_town_camp.sqf:90, supplyMissionCompleted.sqf:27, Server_BuildingKilled.sqf:65, Server_OnHQKilled.sqf:89 and RequestOnUnitKilled.sqf:135", "Squad_RU.sqf:204 and Squad_USMC.sqf:200 trim one AA slot each; Init_CommonConstants.sqf:840 sets WFBE_C_VEHICLE_TINTS default to 0", "Init_Server.sqf:808-814 decouples GUER stipend launch; Server_GuerStipend.sqf:35,44-46,57-63,95 seeds, rebroadcasts and logs WFBE_GUER_VEHICLE_TIER", "Init_Client.sqf:654-681,693-714 adds join/connect ACK failovers; Server_OnPlayerConnected.sqf:22-56 widens lookup and caps retry-budget recovery" ], "ownerDecision": "Decide whether to route/merge B74.2 as source Chernarus only or propagate maintained Vanilla/Takistan; decide stats/public enablement and carrier/naval scope before release wording.", "promotionGate": "Smoke AICOM pop-tier publishing/consumers, side AI cap/team founding, client cap display, AICOM feed replay/JIP, camp anti-stall, tiered active towns/defenders/patrols, carrier HVT air-shop/respawn, stat writers, vehicle tint defaults, GUER stipend/tier JIP rebroadcast, join/connect hang recovery and no Vanilla/stable claims before promotion.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "dedicated-smoke", "ai-commander-smoke", "client-ui-smoke", "map-marker-smoke", "town-capture-smoke", "naval-hvt-smoke", "stats-smoke", "guer-economy-smoke", "jip-connect-smoke", "vanilla-scope-decision" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "trello-salvage-truck-interlock-branch", "branch": "origin/claude/trello-salvage-truck-interlock", "head": "9e75c736e", "base": "origin/master@f8a76de34", "state": "branch-only-manual-salvage-ux-interlock-candidate-smoke-pending", "sourceScope": "source-chernarus-plus-maintained-vanilla-takistan-manual-engineer-salvage-friendly-truck-interlock", "canonicalDocs": [ "Construction-And-CoIn-Systems-Atlas.md#salvage-branch-matrix", "Feature-Status-Register.md", "Source-Fix-Propagation-Queue.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/trello-salvage-truck-interlock@9e75c736e; merge-base/current stable origin/master@f8a76de34", "f8a76de34..9e75c736e: 6 maintained-root files +46/-16 across Skill_Apply.sqf, Skill_Salvage.sqf and stringtable.xml in source Chernarus plus maintained Vanilla Takistan; git diff --check clean", "Branch Chernarus/Vanilla Skill_Apply.sqf:35 adds an addAction condition that suppresses manual Salvage while a friendly salvage truck is inside WFBE_C_UNITS_SALVAGER_SCAVENGE_RANGE", "Branch Chernarus/Vanilla Skill_Salvage.sqf:5,11-12 exits manual salvage with STR_WF_CHAT_Salvage_Truck_InRange when a friendly salvage truck is in range", "Branch Chernarus/Vanilla stringtable.xml:379 adds STR_WF_CHAT_Salvage_Truck_InRange", "Branch does not touch updatesalvage.sqf or Client_BuildUnit.sqf and still keeps lowercase ChangePlayerfunds at Skill_Salvage.sqf:45 and updatesalvage.sqf:51 in both maintained roots", "Current stable/B74.1 and B74.2 still keep lowercase ChangePlayerfunds at Skill_Salvage.sqf:38 and updatesalvage.sqf:51 plus the updatesalvage.sqf:10 OR loop and client-local delete/reward shape" ], "ownerDecision": "Decide whether to promote the Trello #15 interlock as a UX guard that avoids duplicate manual/truck salvage attempts. It is not a payout-casing, salvage-truck loop or server-owned reward/deletion authority fix.", "promotionGate": "Smoke action visibility and manual-salvage early exit near friendly, enemy, absent, dead and out-of-range salvage trucks in source Chernarus plus maintained Vanilla; run one salvage-truck auto-salvage control and keep payout-casing/authority debt open.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-action-smoke", "salvage-smoke", "economy-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "trello-map-radius-circles-branch", "branch": "origin/claude/trello-map-radius-circles", "head": "77dd71ba", "base": "origin/master@f8a76de34", "state": "branch-only-local-map-marker-ux-candidate-smoke-pending", "sourceScope": "source-chernarus-plus-maintained-vanilla-takistan-hq-build-area-and-mobile-respawn-range-map-circles", "canonicalDocs": [ "Client-UI-Systems-Atlas.md#current-branch-scope", "Commander-HQ-Lifecycle-Atlas.md#current-branch-scope", "Construction-And-CoIn-Systems-Atlas.md#current-branch-scope", "Respawn-And-Death-Lifecycle-Atlas.md#branch-intel---mobile-respawn-map-circles", "Medic-Redeployment-Truck-Forward-Spawn.md#branch-intel---map-radius-circle-candidate", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/trello-map-radius-circles@77dd71ba303fdb3712fdbfb0e9dff2feebca075f / draft PR #78; merge-base with origin/master is current stable f8a76de34", "f8a76de34..77dd71ba: 6 maintained-root files +192/-4 across source Chernarus plus maintained Vanilla Takistan; git diff --check clean", "Branch Chernarus Client_AmbulanceRedeployCircles.sqf:1-69 and Vanilla same file :1-69 create own-side local yellow AmbRange_ Ellipse/Border rings for ambulance and redeploy-truck classnames", "Branch Chernarus/Vanilla Init_Client.sqf:1227 spawns Client_AmbulanceRedeployCircles.sqf after Client_FpsReport.sqf", "Branch Chernarus Init_BaseStructure.sqf:54-68 and Vanilla :35-49 create side-colored HQBuildRange Ellipse/Border rings with radius WFBE_C_BASE_AREA_RANGE + WFBE_C_BASE_HQ_BUILD_RANGE", "Branch Chernarus Init_BaseStructure.sqf:151-158 and Vanilla :132-139 remove the HQ build-area ring with the CC marker on structure death", "Current stable has the constants/lists and validation paths but no maintained-root Client_AmbulanceRedeployCircles, AmbRange_ or HQBuildRange symbols", "Current stable build radius refs: Common_GetClosestEntity2.sqf:14, Construction_HQSite.sqf:49, basearea.sqf:3-13; constants Chernarus Init_CommonConstants.sqf:455-456 and Vanilla :277-278", "Current stable respawn availability refs: Client_GetRespawnAvailable.sqf:33-45 for ambulances and :54-81 for redeploy trucks; constants Chernarus Init_CommonConstants.sqf:44,674,678 and Vanilla :44,476,480" ], "ownerDecision": "Decide whether to promote the PR #78 local map-marker UX branch. It is player feedback only; it does not change construction authority, placement validation, respawn eligibility, redeploy-truck activation rules, cargo checks, default-gear rules, AI respawn, economy or server/PV state.", "promotionGate": "Smoke HQ build-area circle radius/side/cleanup, ambulance and redeploy-truck range rings, respawn-range upgrade resize, dead/null vehicle cleanup, map/GPS reopen behavior, own-side/enemy-side audience, JIP after HQ and mobile vehicles exist, maintained Vanilla Takistan parity, and redeploy-truck eligibility mismatch cases before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-map-smoke", "map-marker-smoke", "construction-smoke", "respawn-smoke", "jip-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "trello-auto-bipod-branch", "branch": "origin/claude/trello-auto-bipod", "head": "5af02b8438e1", "base": "origin/master@f8a76de34", "state": "branch-only-client-qol-candidate-smoke-pending", "sourceScope": "source-chernarus-plus-maintained-vanilla-common-bipod-and-client-onkilled-auto-prone-handler", "canonicalDocs": [ "Deployable-Bipod-Weapon-Resting.md#branch-intel---trello-auto-bipod-candidate", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/trello-auto-bipod@5af02b8438e1728724ce5e9d28acc77a98608b62; merge-base with origin/master is current stable f8a76de34", "f8a76de34..5af02b8438e1: 4 maintained-root files +46/-2 across Common_Bipod.sqf and Client_OnKilled.sqf; git diff --check clean", "Branch Chernarus/Vanilla Common_Bipod.sqf:74-82 adds Bipod_AddAutoDeploy, local Bipod_AutoEH cleanup, AnimChanged handler and 15 call Bipod_ON on prone animation amovppnemstpsraswrfldnon", "Branch Chernarus/Vanilla Client_OnKilled.sqf:90 reattaches Bipod_AddAutoDeploy if the helper exists after the local unit handler is flushed", "Current stable maintained roots have no Bipod_AddAutoDeploy, Bipod_AutoEH, AnimChanged or 15 call Bipod_ON hits", "Branch reuses the existing TAB path, whitelist, prone/crouch gates, HintSilent, Bipod_ON sound and recoil reset behavior; str_bipod remains commented in stringtable.xml" ], "ownerDecision": "Decide whether to promote the auto-prone bipod QoL branch. It is client-local convenience work only; it does not change server authority, public variables, weapon whitelist, sound media, localization or recoil semantics.", "promotionGate": "Smoke whitelisted prone auto-deploy, non-whitelisted prone no-op, manual TAB fallback, crouched-object rest, repeated stance changes without sound spam, death/respawn reattachment, no server/PV state and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-input-smoke", "animation-smoke", "respawn-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "trello-upgrade-icons-branch", "branch": "origin/claude/trello-upgrade-icons", "head": "baf8d9c304ad", "base": "origin/master@f8a76de34", "state": "branch-only-upgrade-list-visual-candidate-smoke-pending", "sourceScope": "source-chernarus-plus-maintained-vanilla-upgrade-menu-listbox-icons", "canonicalDocs": [ "Client-UI-Systems-Atlas.md#current-branch-scope", "Upgrades-And-Research-Atlas.md#current-branch-scope", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/trello-upgrade-icons@baf8d9c304ad99cfd848d0a740c53b580d998933; merge-base with origin/master is current stable f8a76de34", "f8a76de34..baf8d9c304ad: 2 maintained-root Client/GUI/GUI_UpgradeMenu.sqf files +8; git diff --check clean", "Branch Chernarus/Vanilla GUI_UpgradeMenu.sqf:12 reads WFBE_C_UPGRADES_IMAGES", "Branch Chernarus/Vanilla GUI_UpgradeMenu.sqf:27-28 paints non-empty upgrade images into listbox 504001 column 0 during initial fill", "Branch Chernarus/Vanilla GUI_UpgradeMenu.sqf:173-174 repaints row icons after refresh/reordering", "Chernarus/Vanilla Labels_Upgrades.sqf:104-125 already defines the image array and intentional empty strings", "Current stable Chernarus/Vanilla GUI_UpgradeMenu.sqf has no maintained-root lnbSetPicture calls in the upgrade menu" ], "ownerDecision": "Decide whether to promote the PR #77 upgrade-list icon branch. It is visual/UI work only; it does not add image assets, change upgrade config semantics, fix stale RscMenu_Upgrade, alter upgrade authority or affect server-side validation.", "promotionGate": "Smoke initial upgrade-list icons, empty-image fallback rows, queue/level refresh repaint, row selection/detail-pane behavior, missing-texture RPT cleanliness and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-ui-smoke", "upgrade-smoke", "resource-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "trello-upgrade-hqcost-info-branch", "branch": "origin/claude/trello-upgrade-hqcost-info", "head": "34fd202c8865", "base": "f8a76de34; current stable origin/master", "state": "branch-review-needed-upgrade-values-transfer-menu-hq-cost-smoke-pending", "sourceScope": "source-chernarus-plus-maintained-vanilla-upgrade-complete-chat-and-transfer-menu-info-text", "canonicalDocs": [ "Client-UI-Systems-Atlas.md#current-branch-scope", "Upgrades-And-Research-Atlas.md#current-branch-scope", "Commander-HQ-Lifecycle-Atlas.md#current-branch-scope", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/trello-upgrade-hqcost-info@34fd202c886513d2dfa12cdd39039f188562ff7b; merge-base with origin/master is f8a76de349da6f8b871d079c828436c10afb221c", "f8a76de34..34fd202c8865: 6 maintained-root files +96 across Client_FNC_Special.sqf, GUI_TransferMenu.sqf and stringtable.xml; git diff --check clean", "Branch Chernarus/Vanilla Client_FNC_Special.sqf:204 keeps generic upgrade complete chat; :212-223 adds value lines only for WFBE_UP_ARTYTIMEOUT and WFBE_UP_RESPAWNRANGE", "Branch Chernarus/Vanilla GUI_TransferMenu.sqf:124-129 appends STR_WF_INFO_NewHQCost from WFBE_C_STRUCTURES_HQ_COST_DEPLOY", "Branch Chernarus/Vanilla stringtable.xml:459-473 and :1055-1061 add upgrade-value and New HQ cost keys", "Current stable Chernarus/Vanilla Client_FNC_Special.sqf:204 and GUI_TransferMenu.sqf:124-125 have generic lines only and no new string keys", "Current stable Chernarus Init_CommonConstants.sqf:44,47,435,438,678,684 and maintained Vanilla :44,47,257,260,480,486 define the relevant upgrade IDs, arrays and HQ deploy-cost variable" ], "ownerDecision": "Decide whether to promote the PR #75 info-text branch. It is UI/helpfulness work only; it does not change upgrade authority, transfer authority, HQ deploy cost semantics or server-side validation.", "promotionGate": "Smoke Artillery Timeout and Respawn Range upgrade completion values, at least one unrelated upgrade type, Transfer Menu layout/value under HQ deploy-cost settings, normal transfer behavior and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-ui-smoke", "upgrade-smoke", "economy-ui-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "trello-base-integrity-fixes-branch", "branch": "origin/claude/trello-base-integrity-fixes", "head": "66d80160", "base": "f8a76de34; current stable origin/master", "state": "branch-review-needed-zeta-vanilla-detach-gap-and-nuke-integrity-not-authority-closure", "sourceScope": "source-chernarus-plus-maintained-vanilla-zeta-cargo-and-nuke-damage-integrity", "canonicalDocs": [ "Zeta-Cargo-Sling-Load-Reference.md#branch-intel---trello-base-integrity-candidate", "Support-Specials-And-Tactical-Modules-Atlas.md", "ICBM-Authority-Playbook.md#branch-intel---trello-97-in-progress-construction", "Construction-And-CoIn-Systems-Atlas.md#current-branch-scope", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/trello-base-integrity-fixes@66d80160; merge-base with origin/master is f8a76de349da6f8b871d079c828436c10afb221c", "f8a76de34..66d80160: 6 files +70/-10 across source Chernarus plus maintained Vanilla ZetaCargo hook/unhook and Nuke damage files; git diff --check clean", "0ae5edb2d #87 ZetaCargo: drop airlifted vehicles on ground, never lift own HQ", "66d80160c #97 Nuke: destroy in-progress construction inside the blast", "Current stable source Chernarus Zeta_Hook.sqf:34-35 passes [_vehicle] to Zeta_Unhook.sqf; maintained Vanilla stable Zeta_Hook.sqf:34 does not", "Branch Chernarus/Vanilla Zeta_Hook.sqf:17-19 filters friendly HQ from lift candidates", "Branch Chernarus/Vanilla Zeta_Unhook.sqf:12-29 drops at ground level behind the lifter and offsets further from a friendly HQ", "Branch maintained Vanilla Zeta_Hook.sqf:37 still omits the detach action argument", "Branch Chernarus/Vanilla Client/Module/Nuke/damage.sqf:33-42 deletes LocationLogicStart build logics with WFBE_B_Type inside the blast", "Current stable damage.sqf:17 excludes LocationLogicStart from normal damage; Construction_SmallSite.sqf and Construction_MediumSite.sqf create those logics, set WFBE_B_Type and later create the real structure" ], "ownerDecision": "Decide whether to port #87 ZetaCargo and #97 Nuke integrity work. If promoting Zeta, add maintained Vanilla detach-argument parity before claiming manual detach fixed there. Keep ICBM RequestSpecial authority work separate.", "promotionGate": "Smoke own-HQ filtering, valid nearby cargo selection, manual detach, normal-heli and C-130 ground drop, auto-detach, unfinished SmallSite/MediumSite destruction by nuke, completed-structure blast damage and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-vehicle-smoke", "construction-smoke", "icbm-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "trello-audio-cues-branch", "branch": "origin/claude/trello-audio-cues", "head": "a0e4fb458", "base": "origin/master@f8a76de34", "state": "branch-only-player-feedback-candidate-smoke-pending", "sourceScope": "source-chernarus-plus-maintained-vanilla-paratrooper-marker-and-irsmoke-audio-cues", "canonicalDocs": [ "Support-Specials-And-Tactical-Modules-Atlas.md#trello-audio-cue-branch-intel", "Modules-Atlas.md#irs--ir-smoke-missile-countermeasure-commonmoduleirs", "Assets-Config-Localization-And-Parameters-Atlas.md#current-branch-scope", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/trello-audio-cues@a0e4fb458bd3; merge-base with origin/master is current stable f8a76de34", "f8a76de34..a0e4fb458: 4 maintained-root files +74/-2; git diff --check clean", "Branch Chernarus/Vanilla HandleParatrooperMarkerCreation.sqf:17-18 still exits on non-matching side; :42-61 adds WFBE_C_LastParatroopSound throttle, commanderNotification, local paraDZ marker, hardcoded Paradrop text and 30-second local marker delete", "Branch Chernarus/Vanilla IRS_OnIncomingMissile.sqf:51-61 adds delayed ARTY_cooldown_over after WFBE_IRS_FLARE_DELAY when vehicle/player/flares/toggle state still allow it", "Current stable lacks WFBE_C_LastParatroopSound, paraDZ_ and the IR-smoke ready-again cue in checked maintained-root handlers", "Current stable Chernarus/Vanilla Sounds/description.ext:18-20 defines ARTY_cooldown_over and :84-86 defines commanderNotification" ], "ownerDecision": "Decide whether these client-local audio/marker cues are desired player feedback. Keep support authority, paratrooper reward logic and IR-smoke toggle behavior separate unless intentionally promoting together.", "promotionGate": "Smoke friendly-side-only paratrooper sound/marker, multi-unit throttle, local marker cleanup after 30 seconds, no enemy/JIP leakage, IR-smoke ready cue after cooldown, crew-leave/death/no-flare/toggle-off cases, level-2 missile warning overlap and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-audio-smoke", "paratrooper-smoke", "irsmoke-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "trello-arty-cooldown-hud-branch", "branch": "origin/claude/trello-arty-cooldown-hud", "head": "471fc0580fd6", "base": "origin/master@f8a76de34", "state": "branch-only-ui-candidate-smoke-pending", "sourceScope": "source-chernarus-plus-maintained-vanilla-rhud-artillery-cooldown-row", "canonicalDocs": [ "Support-Specials-And-Tactical-Modules-Atlas.md#trello-artillery-ui-branch-intel", "Client-UI-Systems-Atlas.md#current-branch-scope", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/trello-arty-cooldown-hud@471fc0580fd6; merge-base with origin/master is current stable f8a76de34", "f8a76de34..471fc0580fd6: 4 files +134/-8; git diff --check clean", "Branch Chernarus/Vanilla Client_UpdateRHUD.sqf:27 extends _rhudIDC with 1372/1373", "Branch Chernarus/Vanilla Client_UpdateRHUD.sqf:259-288 adds _RHUDUpdateArty; :452 calls it during RHUD refresh", "Branch Chernarus/Vanilla Rsc/Titles.hpp:177 adds RUBHUD_Arty and RUBHUD_Arty_Value to OptionsAvailable; :478-490 defines controls idc 1372/1373", "origin/master@f8a76de34 keeps Tactical cooldown text at GUI_Menu_Tactical.sqf:546-558 and fireMissionTime init at Init_Client.sqf:422, but has no RUBHUD_Arty hits" ], "ownerDecision": "Decide whether to promote the RHUD artillery cooldown row as a player-facing UI convenience; this branch does not change fire-mission authority.", "promotionGate": "Smoke RHUD row layout, available/countdown agreement with Tactical, disabled-artillery hiding, title-display ownership and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-ui-smoke", "hud-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "trello-arty-to-gunner-branch", "branch": "origin/claude/trello-arty-to-gunner", "head": "2dc3e7403399", "base": "origin/master@f8a76de34", "state": "branch-only-tactical-ui-candidate-smoke-pending", "sourceScope": "source-chernarus-plus-maintained-vanilla-tactical-crew-all-artillery-button", "canonicalDocs": [ "Support-Specials-And-Tactical-Modules-Atlas.md#trello-artillery-ui-branch-intel", "Client-UI-Systems-Atlas.md#current-branch-scope", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/trello-arty-to-gunner@2dc3e7403399; merge-base with origin/master is current stable f8a76de34", "f8a76de34..2dc3e7403399: 6 files +217/-8; git diff --check clean", "Branch Chernarus/Vanilla GUI_Menu_Tactical.sqf:571-626 adds MenuAction == 50 and seats existing dismounted group AI into empty artillery driver/gunner seats", "Branch Chernarus/Vanilla Rsc/Dialogs.hpp:2364-2371 adds CA_CrewArtillery_Button idc 17040", "Branch Chernarus/Vanilla stringtable.xml:3192-3213 adds STR_WF_TACTICAL_CrewArtillery, tooltip, done and no-AI hints", "origin/master@f8a76de34 has WFBE_%1_ARTILLERY_CLASSNAMES data and existing player-buy moveInGunner paths, but no exact if (MenuAction == 50) tactical action or crew-artillery string keys" ], "ownerDecision": "Decide whether the Tactical menu should include one-click seating of existing player-group AI into owned artillery. Keep any broader AI artillery staffing or server-authority changes separate.", "promotionGate": "Smoke player-owned artillery with empty/full seats, available/no available group AI, no-artillery cases, locality, fire-mission usability and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-ui-smoke", "artillery-smoke", "locality-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "trello-artillery-ux-branch", "branch": "origin/claude/trello-artillery-ux", "head": "c4459d4312ef", "base": "origin/master@f8a76de34", "state": "branch-only-artillery-ux-marker-cleanup-candidate-smoke-pending", "sourceScope": "source-chernarus-plus-maintained-vanilla-artillery-range-guncount-marker-cleanup", "canonicalDocs": [ "Support-Specials-And-Tactical-Modules-Atlas.md#trello-artillery-ui-branch-intel", "Client-UI-Systems-Atlas.md#current-branch-scope", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/trello-artillery-ux@c4459d4312ef; merge-base with origin/master is current stable f8a76de34", "f8a76de34..c4459d4312ef: 8 maintained-root files +100/-20; git diff --check clean", "Branch Chernarus/Vanilla GUI_Menu_Tactical.sqf:42-57 appends effective min/max meter range text to each artillery list row", "Branch Chernarus/Vanilla Client_RequestFireMission.sqf:31-38 replaces caller-local barrage marker deletion with RequestSpecial ArtyMarkerCleanup", "Branch Chernarus/Vanilla Client_RequestFireMission.sqf:58-60 passes _gunCount as %3 in STR_WF_INFO_Arty_called_message", "Branch Server_HandleSpecial.sqf Chernarus :144-160 / Vanilla :134-150 adds delayed server deleteMarker cleanup", "Branch stringtable.xml Chernarus :9304-9311 / Vanilla :9304-9310 updates the artillery called message with the gun-count placeholder", "origin/master@f8a76de34 lists raw artillery display names at GUI_Menu_Tactical.sqf:42, deletes barrage markers through Client_Delete_Marker.sqf:24 from caller-local Client_RequestFireMission.sqf:32-33, formats the team warning with two args at Client_RequestFireMission.sqf:53 and has no ArtyMarkerCleanup hits" ], "ownerDecision": "Decide whether to promote PR #79 artillery UX and marker cleanup. Keep fire-mission authority and wider RequestSpecial hardening separate; review the new cleanup tag's marker-name/forged-payload scope before merge.", "promotionGate": "Smoke Tactical per-type range text, one-gun and multi-gun artillery messages, caller disconnect/leave marker cleanup, JIP marker visibility, malformed/forged ArtyMarkerCleanup rejection or acceptable scoping, existing artillery cooldown/ammo loading and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-ui-smoke", "artillery-smoke", "dedicated-smoke", "jip-smoke", "request-special-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "upstream-hq-repair-price-branch", "branch": "origin/claude/upstream-hq-repair-price", "head": "440be3da0bda", "base": "be2bbd084; ancestor of origin/master@f8a76de34", "state": "branch-review-needed-port-preserve-b741-stats-not-authority-closure", "sourceScope": "source-chernarus-plus-maintained-vanilla-mhq-repair-ui-price-labels", "canonicalDocs": [ "Commander-HQ-Lifecycle-Atlas.md#branch-intel---upstream-hq-repair-price-candidate", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/upstream-hq-repair-price@440be3da0bda; merge-base with origin/master is be2bbd084", "origin/master@f8a76de34 is current stable and contains later B74.1 player-stats constants at Init_CommonConstants.sqf:914-920", "be2bbd084..440be3da0bda: 6 files +76/-26; git diff --check clean", "Chernarus/Vanilla Init_Unit.sqf:71-78 formats the repair-truck action label with a spawn-time repair price", "Chernarus/Vanilla Action_RepairMHQ.sqf:43-55 formats the post-repair hint with a live next price or '-'", "Chernarus/Vanilla stringtable.xml:940-945 plus Chernarus :4592-4597 / Vanilla :4591-4596 add the %1 placeholder to repair hint/action text", "No payload exists under Server/, RequestMHQRepair.sqf or Init_PublicVariables.sqf" ], "ownerDecision": "Decide whether to port the MHQ repair price UI while keeping server-side MHQ repair authority work separate.", "promotionGate": "Smoke repair-truck action labels, post-repair next-price hints, insufficient-funds formatting, repair-count cap semantics, side-supply/player-funds modes and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-ui-smoke", "economy-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "upstream-an2-climb-boost-branch", "branch": "origin/claude/upstream-an2-climb-boost", "head": "63e6b4142", "base": "be2bbd084; ancestor of origin/master@f8a76de34", "state": "branch-review-needed-port-preserve-b741-stats", "sourceScope": "source-chernarus-plus-maintained-vanilla-valhalla-an2-fast-lift", "canonicalDocs": [ "Valhalla-Vehicle-Climbing-Assist.md#branch-intel---an-2-fast-lift-candidate", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/upstream-an2-climb-boost@63e6b4142; merge-base with origin/master is be2bbd084", "origin/master@f8a76de34 is current stable and contains later B74.1 player-stats constants at Init_CommonConstants.sqf:914-920", "be2bbd084..63e6b4142: 4 files +32/-2; git diff --check clean", "Chernarus/Vanilla Func_Client_LowGear.sqf:68-75 adds Air _min = 100", "Chernarus/Vanilla Init_Unit.sqf:87-90 adds An2_TK_EP1 LowGear actions" ], "ownerDecision": "Decide whether to port AN-2 fast-lift onto current stable while preserving B74.1 stats enablement.", "promotionGate": "Smoke AN-2 takeoff/climb, normal cruise, action visibility and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-vehicle-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "upstream-blinking-mapicons-branch", "branch": "origin/claude/upstream-blinking-mapicons", "head": "6e31f7fd5", "base": "be2bbd084; ancestor of origin/master@f8a76de34", "state": "branch-review-needed-port-preserve-b741-stats", "sourceScope": "source-chernarus-plus-maintained-vanilla-mounted-player-marker-blink", "canonicalDocs": [ "Client-UI-Systems-Atlas.md#map-and-marker-ui", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/upstream-blinking-mapicons@6e31f7fd5; merge-base with origin/master is be2bbd084", "origin/master@f8a76de34 is current stable and contains later B74.1 player-stats constants at Init_CommonConstants.sqf:914-920", "be2bbd084..6e31f7fd5: 2 files +32; git diff --check clean", "Current stable Client_BookkeepBlinkingIcons.sqf:82-94 pushes active vehicle markers only", "Branch Chernarus/Vanilla Client_BookkeepBlinkingIcons.sqf:96-110 pushes mounted gunner/commander player markers into BLINKING_UNITS_*" ], "ownerDecision": "Decide whether mounted gunner/commander player markers should blink beside active vehicle markers and port only onto current stable if accepted.", "promotionGate": "Smoke blinking enabled/disabled, mounted gunner/commander visibility, dismount cleanup, player-in-active-vehicle behavior and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-ui-smoke", "map-marker-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "upstream-barracks-4th-level-branch", "branch": "origin/claude/upstream-barracks-4th-level", "head": "e83de9c4", "base": "be2bbd084; ancestor of origin/master@f8a76de34", "state": "branch-review-needed-port-preserve-b741-stats", "sourceScope": "source-chernarus-plus-maintained-vanilla-barracks-fourth-level-infantry-reshuffle", "canonicalDocs": [ "Upgrades-And-Research-Atlas.md#current-branch-scope", "Factory-And-Purchase-Systems-Atlas.md#current-branch-scope", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/claude/upstream-barracks-4th-level@e83de9c4; merge-base with origin/master is be2bbd084", "origin/master@f8a76de34 is current stable and contains later B74.1 player-stats constants at Init_CommonConstants.sqf:914-920", "be2bbd084..e83de9c4: 64 files +700/-688; git diff --check clean", "Branch Chernarus/Vanilla Upgrades_CO_US.sqf:33,61,89,125 expands Barracks to four levels; :185 adds AI order dependency [WFBE_UP_GEAR,4]", "Branch Chernarus/Vanilla Core_US.sqf:21,24 and Core_RU.sqf:18,21 are representative infantry required-level reshuffle rows", "Branch Chernarus/Vanilla Common_CreateUnit.sqf:101 replaces US_Soldier_AT_EP1 HEDP with HEAT after spawn", "Current stable origin/master@f8a76de34 keeps the three-level Barracks metadata at Upgrades_CO_US.sqf:33,61,89,125 and lacks the MAAWS HEAT swap" ], "ownerDecision": "Decide whether to port the upstream Barracks fourth level and infantry tier reshuffle onto current stable while preserving B74.1 stats enablement.", "promotionGate": "Smoke Barracks levels 0-4, buy-menu filtering, CreateUnit required-level rejection, US_Soldier_AT_EP1 magazine loadout and maintained Vanilla parity before stable/release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "upgrade-smoke", "factory-purchase-smoke", "vanilla-parity-smoke", "branch-base-review" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "ai-commander-branch-revival", "branch": "origin/feat/ai-commander", "head": "c20ce153", "base": "origin/master@2cdf5fb8", "state": "branch-review-needed-not-stable-master-truth", "sourceScope": "source-chernarus-only", "canonicalDocs": [ "AI-Commander-Autonomy-Audit.md", "Feature-Status-Register.md", "Pending-Owner-Decisions.md", "Current-Source-Status-Snapshot.md#2026-06-04-feature-branch-matrix", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/master..origin/feat/ai-commander: 9 Chernarus source files +416/-5", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Rsc/Parameters.hpp:96 on origin/feat/ai-commander", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Init/Init_Server.sqf:49-54,387-389,630-631 on origin/feat/ai-commander", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/AI/Commander/AI_Commander.sqf:29-81 on origin/feat/ai-commander", "lazy-condition cleanup series b4b0333f..c20ce153 touches the five Server/AI/Commander/AI_Commander*.sqf scripts" ], "ownerDecision": "Accept or reject default-on AI commander and human-assist mode; decide autonomous logistics scope separately because the old UpdateSupplyTruck path is guarded, not restored.", "promotionGate": "Propagate/review maintained Vanilla, then smoke no-human full command, human assist/no-spend, order execution, town assignment, production cap, upgrade debit/costs, commander handoff, HQ death and JIP before calling AI commander revived.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "dedicated-smoke", "jip-smoke", "hc-smoke" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "guer-insurgents-branch", "branch": "origin/feat/guer-insurgents-faction", "head": "41550bd33", "base": "origin/master@cf2a6d6a", "state": "branch-review-needed-chernarus-first-playable-resistance", "sourceScope": "broad-branch-chernarus-feature-gate-with-maintained-vanilla-drift", "canonicalDocs": [ "Gameplay-Systems-Atlas.md#branch-only-guer-insurgents-intake", "Feature-Status-Register.md", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/feat/guer-insurgents-faction@41550bd33", "merge-base with origin/master is cf2a6d6a", "origin/master..origin/feat/guer-insurgents-faction: 462 files changed, 25816 insertions, 2249 deletions", "branch path counts: 241 Chernarus mission paths and 208 maintained Vanilla paths", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Rsc/Parameters.hpp:587 adds WFBE_C_GUER_PLAYERSIDE", "Missions/[55-2hc]warfarev2_073v48co.chernarus/mission.sqm:25,27,4938+ adds GUER mission metadata and slots", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Init/Init_Server.sqf:7-13 gates reciprocal WEST/EAST hostility toward resistance", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Config/Core_Root/Root_GUE.sqf:129-130 and Root_GUE_PlayerOverlay.sqf:13,34-51 add the GUER player depot overlay", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Server_GuerStipend.sqf:14,41-43,56 adds gated stipend/tier economy", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/PVFunctions/RequestOnUnitKilled.sqf:82-93 adds GUER kill-funds hooks", "Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan has no WFBE_C_GUER_PLAYERSIDE, Root_GUE_PlayerOverlay or Server_GuerStipend hits", "git diff --check origin/master..origin/feat/guer-insurgents-faction reports blank-EOF and trailing-whitespace failures" ], "ownerDecision": "Decide whether playable GUER stays a Chernarus-only experiment or must receive full maintained Vanilla propagation before merge/release wording.", "promotionGate": "Clean whitespace/EOF failures, then smoke disabled/enabled WFBE_C_GUER_PLAYERSIDE, GUER slot join, JIP, friendly-town respawn, no-base depot/buy menu, stipend/tier pool, kill funds, town capture/harass stats, server logs and reciprocal WEST/EAST AI return fire before calling the branch stable or release-ready.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "dedicated-smoke", "jip-smoke", "vanilla-parity-decision", "hc-smoke" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "drone-saturation-strike-branch", "branch": "origin/feat/drone-saturation-strike", "head": "8ca4be90", "base": "origin/master@2cdf5fb8", "state": "branch-review-needed-paid-support-authority-open", "sourceScope": "source-chernarus-only", "canonicalDocs": [ "PR8-And-Drone-Upstream-Lesson-Match.md", "Feature-Status-Register.md", "Pending-Owner-Decisions.md", "Current-Source-Status-Snapshot.md#2026-06-04-feature-branch-matrix", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Init/Init_CommonConstants.sqf:243-263 on origin/feat/drone-saturation-strike", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Support/Support_DroneStrike.sqf:1-14,16-18,46-52 on origin/feat/drone-saturation-strike", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Client/GUI/GUI_Menu_Tactical.sqf DroneStrike/ChangePlayerFunds/RequestSpecial on origin/feat/drone-saturation-strike" ], "ownerDecision": "Decide whether DroneStrike is a paid economy-affecting support. If yes, server must own acceptance, debit, cooldown, upgrade, caller/team/side and map validation.", "promotionGate": "Move paid-support authority server-side, choose generated Vanilla propagation or explicit Chernarus-only scope, then smoke active cap cleanup, JIP cooldown, marker/audience behavior, resistance targeting, score effects and performance.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "dedicated-smoke", "jip-smoke", "live-server-sensitive" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "recon-uav-branch", "branch": "origin/feat/recon-uav", "head": "563418ea", "base": "origin/master@2cdf5fb8", "state": "branch-review-needed-old-uav-replacement-open", "sourceScope": "source-chernarus-only", "canonicalDocs": [ "PR8-And-Drone-Upstream-Lesson-Match.md", "Feature-Status-Register.md", "Pending-Owner-Decisions.md", "Current-Source-Status-Snapshot.md#2026-06-04-feature-branch-matrix", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Functions/Server_HandleSpecial.sqf:63-82 on origin/feat/recon-uav", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Support/Support_ReconUAV.sqf:1-22,83-102,119-132,140-151 on origin/feat/recon-uav", "origin/feat/recon-uav deletes old Client/Module/UAV/uav*.sqf and Server/Support/Support_UAV.sqf", "origin/feat/recon-uav includes drone history only through 93b47594, not origin/feat/drone-saturation-strike head 8ca4be90" ], "ownerDecision": "Decide whether ReconUAV replaces the old UAV feature or remains experimental.", "promotionGate": "Resolve drone tuning baseline, then smoke old-UAV removal, deploy/recall, cap decrement, destroyed-UAV cleanup, side-only reveal audience, JIP during active orbit, HQ-loss cleanup and generated Vanilla propagation.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "dedicated-smoke", "jip-smoke" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "wf-menu-ops-console-branch", "branch": "origin/feat/wf-menu-ops-console", "head": "0767c0b5", "base": "origin/master@2cdf5fb8", "state": "branch-review-needed-ui-theme-smoke-open", "sourceScope": "source-chernarus-and-maintained-vanilla-plus-docs-superpowers", "canonicalDocs": [ "Client-UI-Systems-Atlas.md#branch-only-ui-theme-work", "Feature-Status-Register.md", "Pending-Owner-Decisions.md", "Current-Source-Status-Snapshot.md#2026-06-04-feature-branch-matrix", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/master..origin/feat/wf-menu-ops-console: 23 files +1033/-154", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Rsc/Styles.hpp:10-40 on origin/feat/wf-menu-ops-console", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Rsc/Ressources.hpp:117-131,274-277 on origin/feat/wf-menu-ops-console", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Rsc/Dialogs.hpp:1057-1064,1173-1179,1240-1249 on origin/feat/wf-menu-ops-console", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Rsc/Titles.hpp:178-179 on origin/feat/wf-menu-ops-console", "Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan carries matching Rsc/Dialogs.hpp and Rsc/Styles.hpp branch changes", "git diff --check origin/master..origin/feat/wf-menu-ops-console reports trailing whitespace in docs/superpowers/plans/2026-06-03-wf-menu-ops-console.md:78,179" ], "ownerDecision": "Decide whether the ops-console reskin is acceptable as the full UI theme and whether the branch's docs/superpowers planning artifacts should merge with the mission branch.", "promotionGate": "Clean branch whitespace, verify bundled font names or choose fallbacks, smoke texture loading from Client\\images\\brand_chevron.jpg in a packed mission, inspect main menu/buy gear/buy units/upgrades/tactical/help/RHUD/FPS HUD, and confirm Chernarus plus maintained Vanilla parity before calling the branch release-ready.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-visual-smoke", "packed-mission-smoke", "vanilla-parity-smoke" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "buymenu-easa-qol-branch", "branch": "origin/feat/buymenu-easa-qol", "head": "a66d4691", "base": "origin/master@2cdf5fb8", "state": "branch-review-needed-ui-qol-smoke-open", "sourceScope": "source-chernarus-only", "canonicalDocs": [ "BuyMenu-EASA-QoL-Branch-Audit.md", "Client-UI-Systems-Atlas.md#branch-only-ui-theme-work", "Gear-Loadout-And-EASA-Atlas.md", "Feature-Status-Register.md", "Pending-Owner-Decisions.md", "Current-Source-Status-Snapshot.md#2026-06-04-feature-branch-matrix", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/feat/buymenu-easa-qol@a66d4691; merge-base origin/master@2cdf5fb8", "origin/master..origin/feat/buymenu-easa-qol: 3 files +42/-6; all changed files are source Chernarus UI", "git diff --check origin/master..origin/feat/buymenu-easa-qol is clean", "git diff --name-only origin/master..origin/feat/buymenu-easa-qol -- Missions_Vanilla returns no changed files", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Client/Functions/Client_UIFillListBuyUnits.sqf:1,61-62,104 on origin/feat/buymenu-easa-qol", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Client/GUI/GUI_Menu_BuyUnits.sqf:201-210 on origin/feat/buymenu-easa-qol", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Client/GUI/GUI_Menu_BuyUnits.sqf:280,335,388,444,487 on origin/feat/buymenu-easa-qol", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Client/GUI/GUI_Menu_EASA.sqf:29-40 on origin/feat/buymenu-easa-qol" ], "ownerDecision": "Accept UI-only BuyMenu/EASA QoL and decide maintained Vanilla propagation.", "promotionGate": "Smoke affordability price color versus full/crew price, final idc 12034 price after later writes, queue-tab refresh/no flicker and EASA visible/filtered/unset current-loadout cases before merge; propagate maintained Vanilla or explicitly accept Chernarus-only scope.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "client-ui-smoke", "vanilla-parity-smoke" ], "canonicalDoc": "BuyMenu-EASA-QoL-Branch-Audit.md#promotion-gates" } }, { "id": "player-stats-branch", "branch": "origin/feat/player-stats", "head": "e01e47e1", "base": "origin/master@2cdf5fb8", "state": "branch-review-needed-integration-and-privacy-open", "sourceScope": "source-chernarus-plus-discordbot-tests", "canonicalDocs": [ "Player-Stats-Branch-Audit.md", "Feature-Status-Register.md", "Pending-Owner-Decisions.md", "Current-Source-Status-Snapshot.md#2026-06-04-feature-branch-matrix", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/master..origin/feat/player-stats: 23 files +1919/-1", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Init/Init_CommonConstants.sqf:443-444 on origin/feat/player-stats", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/PVFunctions/RequestOnUnitKilled.sqf:51-65 on origin/feat/player-stats", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Stats/StatsFlush.sqf:12-49 on origin/feat/player-stats", "DiscordBot/src/Stats/StatsService.cs:6-23 on origin/feat/player-stats", "DiscordBot/src/Stats/RptTailer.cs:24-45,57-71 on origin/feat/player-stats", "DiscordBot/src/Stats/StatsDocument.cs:22-40 on origin/feat/player-stats", "DiscordBot.Tests/* on origin/feat/player-stats", "git diff --check origin/master..origin/feat/player-stats is clean", "local dotnet test DiscordBot.Tests/DiscordBot.Tests.csproj passed 13/13 on .NET 9.0.314" ], "ownerDecision": "Decide RPT path/state-file ownership, UID/privacy policy, log volume, corrupt-stats.json recovery behavior, Chernarus-only versus Vanilla propagation and whether stats live in DiscordBot or the mission extension.", "promotionGate": "Prove disabled-by-default silence, enabled RPT-to-stats.json accumulation, restart/tail-state behavior, RPT rotation behavior and Arma runtime smoke before enabling publicly.", "plannedSmoke": { "status": "discordbot-tests-passed-runtime-smoke-not-run", "coverageLevel": [ "integration-smoke", "discordbot-test", "privacy-review", "vanilla-scope-decision" ], "canonicalDoc": "Player-Stats-Branch-Audit.md#smoke-checklist" } }, { "id": "perf-quick-wins-branch", "branch": "origin/perf/quick-wins", "head": "0076040f", "base": "origin/master@2cdf5fb8", "state": "branch-review-needed-fix-candidate-vanilla-open", "sourceScope": "source-chernarus-only", "canonicalDocs": [ "Perf-Quick-Wins-Branch-Audit.md", "Feature-Status-Register.md", "Pending-Owner-Decisions.md", "Current-Source-Status-Snapshot.md#2026-06-04-feature-branch-matrix", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/perf/quick-wins@0076040f; merge-base origin/master@2cdf5fb8", "origin/master..origin/perf/quick-wins: 18 files +27/-27; all changed files are source Chernarus", "git diff --check origin/master..origin/perf/quick-wins is clean", "git diff --name-only origin/master..origin/perf/quick-wins -- Missions_Vanilla returns no changed files", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Functions/Common_ChangeSideSupply.sqf:25 on origin/perf/quick-wins", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Functions/Server_ChangeSideSupply.sqf:12,36 on origin/perf/quick-wins", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Client/Functions/Client_BuildUnit.sqf:366-368 on origin/perf/quick-wins", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Init/Init_PublicVariables.sqf:40 on origin/perf/quick-wins", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/FSM/cleaners/mines_cleaner.sqf:17 on origin/perf/quick-wins", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/FSM/server_collector_garbage.sqf:17 on origin/perf/quick-wins", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/FSM/updateresources.sqf:74 on origin/perf/quick-wins", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Functions/Server_HandleSpecial.sqf:235-236 on origin/perf/quick-wins", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/PVFunctions/RequestOnUnitKilled.sqf:92 on origin/perf/quick-wins" ], "ownerDecision": "Cherry-pick, split or merge as one fix branch after reconciling with existing docs/source propagated fixes.", "promotionGate": "Propagate maintained Vanilla or explicitly accept Chernarus-only scope, keep DR-44 side-supply authority separate from the DR-22 clamp, and smoke side-supply debit, factory queue counters, paratrooper marker registration, cleaner/resource/camp loops, kill-assist bounty and WASP action paths before release wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "dedicated-smoke", "regression-smoke", "vanilla-parity-smoke" ], "canonicalDoc": "Perf-Quick-Wins-Branch-Audit.md#promotion-gates" } }, { "id": "commander-positions-branch", "branch": "origin/feat/commander-positions", "head": "560db61c", "base": "f5985b77", "state": "branch-review-needed-broad-construction-scope-open", "sourceScope": "source-chernarus-wddm-runtime-plus-maintained-vanilla-unrelated-deltas", "canonicalDocs": [ "Commander-Positions-Branch-Audit.md", "Feature-Status-Register.md", "Pending-Owner-Decisions.md", "Current-Source-Status-Snapshot.md#2026-06-04-feature-branch-matrix", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/master..origin/feat/commander-positions: 83 files +524/-2025", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Config/Core_Structures/Structures_CO_US.sqf:168-174 on origin/feat/commander-positions", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Config/Core_Structures/Structures_CO_RU.sqf:166-172 on origin/feat/commander-positions", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Init/Init_Defenses.sqf:93-183 on origin/feat/commander-positions", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Init/Init_Server.sqf:26 on origin/feat/commander-positions", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/PVFunctions/RequestDefense.sqf:11-14 on origin/feat/commander-positions", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Functions/Server_ConstructPosition.sqf:1-66 on origin/feat/commander-positions", "git grep found no Server_ConstructPosition or WFBE_POSITION_TEMPLATE_MAP under Missions_Vanilla/[61-2hc] on origin/feat/commander-positions", "git diff --check origin/master..origin/feat/commander-positions reports trailing whitespace in source files" ], "ownerDecision": "Split construction-position work from unrelated Valhalla/UI/HC/perf deltas or accept the branch as a broad feature bundle; decide whether the actual WDDM runtime should be propagated to maintained Vanilla.", "promotionGate": "Clean whitespace, recheck DR-6 construction authority, smoke position placement at clicked point, CoIn/HQ undeploy cleanup, modular wall pathing and Chernarus/Vanilla scope.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "construction-smoke", "client-ui-smoke", "vanilla-parity-smoke" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "zargabad-map-branch", "branch": "origin/feature/zargabad-map", "head": "e9294ede", "base": "origin/master@2cdf5fb8", "state": "branch-review-needed-static-validated-runtime-open", "sourceScope": "new-vanilla-zargabad-mission-plus-terrain-tooling-plus-low-pop-balance-defaults", "canonicalDocs": [ "Zargabad-Branch-Audit.md", "Content-Structure-And-Maps.md", "Feature-Status-Register.md", "Pending-Owner-Decisions.md", "Current-Source-Status-Snapshot.md#2026-06-04-feature-branch-matrix", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "origin/master..origin/feature/zargabad-map: 832 files +77733/-95 at e9294ede", "Tools/LoadoutManager/Data/Terrains/Implementations/VanillaMaps/ZARGABAD.cs:1-13 on origin/feature/zargabad-map", "Tools/LoadoutManager/SqfFileGenerators/SqfFileGenerator.cs:127-130 on origin/feature/zargabad-map", "Missions/[55-2hc]warfarev2_073v48co.chernarus/initJIPCompatible.sqf:121-124 on origin/feature/zargabad-map", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Init/Init_Boundaries.sqf:4-10 on origin/feature/zargabad-map", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Init/Init_Zargabad.sqf:1-125 on origin/feature/zargabad-map", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Init/Init_CommonConstants.sqf:422,426,428-430,436-439 on origin/feature/zargabad-map", "Missions_Vanilla/[31-2hc]warfarev2_073v48co.zargabad/Rsc/Parameters.hpp:56,62,164,176,230,284-296,314,363,369,387 on origin/feature/zargabad-map", "Tools/LoadoutManager/Data/Terrains/BaseTerrain.cs:74,361-393 on origin/feature/zargabad-map", "Tools/Validate-ZargabadRuntimeEvidence.ps1:97-100 on origin/feature/zargabad-map", "Tools/Validate-ZargabadRuntimeReport.ps1:285,332,346-363 on origin/feature/zargabad-map", "Guides/Zargabad-Completion-Gates.md:8-20 on origin/feature/zargabad-map", "Tools/Validate-ZargabadMission.ps1 passed locally in detached worktree at e9294ede", "git diff --check origin/master..origin/feature/zargabad-map reports 3542 whitespace findings in generated Zargabad mission files" ], "ownerDecision": "Decide whether Zargabad becomes a maintained Vanilla target, a low-pop experiment or a branch-only playtest, and whether the tightened low-pop defaults are public-server defaults or a test profile.", "promotionGate": "Clean or accept generated whitespace, rerun static validation on candidate head, validate terrain generation/class loads and low-pop defaults, collect hosted/dedicated/JIP/HC runtime plus screenshot/RPT evidence, smoke edge guard and black market, and pass the Zargabad completion gates before playable/maintained wording.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "hosted-smoke", "dedicated-smoke", "jip-smoke", "hc-smoke", "screenshot-evidence" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } }, { "id": "supply-helicopter-current-head", "branch": "historical origin/feat/supply-helicopter", "head": "262dc431", "base": "f5985b77", "state": "historical-branch-evidence-no-live-head-current-stable-refreshed", "sourceScope": "historical-source-chernarus-supply-heli-plus-broad-branch-baggage", "canonicalDocs": [ "Current-Work-Supply-Helicopters-PR1.md", "Feature-Status-Register.md", "Pending-Owner-Decisions.md", "Current-Source-Status-Snapshot.md#2026-06-04-feature-branch-matrix", "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" ], "evidenceRefs": [ "2026-06-22 git ls-remote --heads origin refs/heads/feat/supply-helicopter refs/heads/*supply* refs/heads/release/* returned no heads", "historical origin/feat/supply-helicopter@262dc431", "historical origin/master..origin/feat/supply-helicopter: 82 files +462/-2056", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Rsc/Parameters.hpp:4-10 on historical head 262dc431", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Init/Init_CommonConstants.sqf:168-180 on historical head 262dc431", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Client/Module/Skill/Skill_Apply.sqf:62-72 on historical head 262dc431", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Client/Module/supplyMission/supplyMissionStart.sqf:16-60 on historical head 262dc431", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Module/supplyMission/supplyMissionStarted.sqf:7-30,42-60,93-95 on historical head 262dc431", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Module/supplyMission/supplyMissionCompleted.sqf:24-41 on historical head 262dc431", "No SupplyByHeli/WFBE_C_SUPPLY_HELI/wfbe_supply_killed_eh_set hits under maintained Vanilla on historical head 262dc431" ], "ownerDecision": "If reviving the historical branch, decide Air upgrade 3/4 semantics, cash-run economy, timer UX, retained SupplyByHeli cleanup, Vanilla propagation and non-supply branch baggage.", "promotionGate": "Historical branch only: re-create or restore a live head, rebase against current stable, then smoke truck control, heli disabled/enabled, Air 2/3 load gate, Air 4 cash run, timer interruption, pilot/commander payout, interdiction, same-vehicle reload after completion and JIP before merge.", "plannedSmoke": { "status": "planned-not-run", "coverageLevel": [ "supply-smoke", "economy-smoke", "vanilla-parity-smoke" ], "canonicalDoc": "Testing-Debugging-And-Release-Workflow.md#branch-only-feature-smoke-pack" } } ], "sourceOnlyFixes": [ { "id": "paratrooper-marker-revival", "priority": "P2", "sourceStatus": "docs-source-current-stable-b741-b742-b69-b74-carry-change", "vanillaStatus": "docs-source-current-stable-b741-b742-b69-b74-vanilla-carry-change", "smokeStatus": "pending", "canonicalDocs": [ "Paratrooper-Marker-Revival.md", "Source-Fix-Propagation-Queue.md", "Feature-Status-Register.md" ], "evidenceRefs": [ "docs/source HEAD@7e88d609 Chernarus/Vanilla Common/Init/Init_PublicVariables.sqf:39 register HandleParatrooperMarkerCreation", "docs/source HEAD@7e88d609 Chernarus/Vanilla Server/Support/Support_Paratroopers.sqf:117 send HandleParatrooperMarkerCreation", "docs/source HEAD@7e88d609 Chernarus/Vanilla Client/PVFunctions/HandleParatrooperMarkerCreation.sqf:45 records paratrooper_marker_spawn", "origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34, origin/claude/b74.2-aicom@21b62b04, origin/claude/b69@8d465fce and origin/claude/b74-aicom-spend@b23f557f Chernarus/Vanilla Common/Init/Init_PublicVariables.sqf:38 register HandleParatrooperMarkerCreation", "checked 7e88d609..HEAD, origin/master..origin/claude/b74.2-aicom, d472da6a..21b62b04 and origin/claude/b69..origin/claude/b74-aicom-spend diffs are empty for paratrooper sender/handler/registration paths", "historical a96fdda2 and 7ff18c49 Chernarus/Vanilla Common/Init/Init_PublicVariables.sqf:34 register HandleParatrooperMarkerCreation; no live origin release/* head on 2026-06-24", "current Miksuu b8389e748243 keeps sender/handler but no checked maintained-root Init_PublicVariables registration; origin/perf/quick-wins@0076040f registers Chernarus only at :40" ], "releaseGate": "Trigger paratrooper support and confirm the client marker appears without an unregistered-client-PVF error.", "branchStatus": { "stableMaster": "f8a76de34-b741-registers-in-chernarus-and-vanilla", "b742": "21b62b04-registers-in-chernarus-and-vanilla", "b69": "8d465fce-registers-in-chernarus-and-vanilla", "b74": "b23f557f-registers-in-chernarus-and-vanilla", "historicalReleaseLine": "a96fdda2-and-7ff18c49-register-in-chernarus-and-vanilla-no-live-release-head", "currentMiksuu": "b8389e748243-sender-handler-present-registration-not-found-in-checked-maintained-roots", "perfQuickWins": "0076040f-registers-chernarus-only", "docsSource": "chernarus-and-vanilla-carry-registration", "evidence": "Source-Fix-Propagation-Queue.md#current-branch-scope-2026-06-23" } }, { "id": "client-skill-init-idempotency", "priority": "P2", "sourceStatus": "docs-source-current-stable-b741-b742-b69-b74-clientfps-carry-single-init", "vanillaStatus": "docs-source-current-stable-b741-b742-b69-b74-clientfps-vanilla-carry-single-init", "smokeStatus": "pending", "canonicalDocs": [ "Client-Skill-Init-Idempotency.md", "Source-Fix-Propagation-Queue.md", "Feature-Status-Register.md" ], "evidenceRefs": [ "repo docs branch HEAD@1df5200fa485 checked skill-init paths unchanged from b2738971", "docs/source@b2738971 Chernarus Client/Init/Init_Client.sqf:547 single Skill_Init and :571 WFBE_SK_FNC_Apply", "docs/source@b2738971 maintained Vanilla Client/Init/Init_Client.sqf:547 single Skill_Init and :571 WFBE_SK_FNC_Apply", "docs/source Skill_Init.sqf:49 multiplies local WFBE_C_PLAYERS_AI_MAX for Soldier class; Client_PreRespawnHandler.sqf:5 reapplies WFBE_SK_FNC_Apply without rerunning Skill_Init", "origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 Chernarus/Vanilla Client/Init/Init_Client.sqf:805 single Skill_Init and :828 WFBE_SK_FNC_Apply; scoped queue-path diff from 0139a3468609 to f8a76de34 touches only maintained-root Client/Init/Init_Client.sqf", "origin/claude/b74.2-aicom@21b62b04 Chernarus Client/Init/Init_Client.sqf:828 single Skill_Init and :851 WFBE_SK_FNC_Apply; maintained Vanilla remains :805 and :828", "origin/master..origin/claude/b74.2-aicom and d472da6a..21b62b04 touch source-Chernarus Init_Client.sqf among checked skill-init paths but do not add a duplicate Skill_Init call", "origin/claude/b69@8d465fce and origin/claude/b74-aicom-spend@b23f557f Chernarus/Vanilla Client/Init/Init_Client.sqf:805 single Skill_Init and :828 WFBE_SK_FNC_Apply", "origin/feat/client-fps@709258e7 Chernarus Client/Init/Init_Client.sqf:613 single Skill_Init and :636 WFBE_SK_FNC_Apply; Vanilla :583 and :606", "historical release-line a96fdda2 Chernarus/Vanilla Client/Init/Init_Client.sqf:563/:586 and 7ff18c49 :564/:587; no live origin release/* head on 2026-06-24", "miksuu/master@b8389e748243 Chernarus/Vanilla Client/Init/Init_Client.sqf:560 and :584 duplicate Skill_Init before :585 apply", "origin/perf/quick-wins@0076040f and historical origin/feat/ai-commander@c20ce153 Chernarus/Vanilla Client/Init/Init_Client.sqf:561 and :585 duplicate Skill_Init before :586 apply" ], "releaseGate": "Smoke Soldier/non-Soldier AI caps and respawn skill reapply.", "branchStatus": { "stableMaster": "f8a76de34-b741-single-init-in-chernarus-and-vanilla-at-805-828", "b742": "21b62b04-single-init-source-chernarus-828-851-vanilla-805-828", "b69": "8d465fce-single-init-in-chernarus-and-vanilla-at-805-828", "b74": "b23f557f-single-init-in-chernarus-and-vanilla-at-805-828", "clientFps": "709258e7-single-init-in-both-maintained-roots-with-line-drift", "historicalReleaseLine": "a96fdda2-and-7ff18c49-single-init-in-chernarus-and-vanilla-no-live-release-head", "currentMiksuu": "b8389e748243-duplicate-init-in-chernarus-and-vanilla", "perfQuickWins": "0076040f-duplicate-init-in-chernarus-and-vanilla", "historicalFeatAi": "c20ce153-duplicate-init-in-chernarus-and-vanilla", "docsSource": "1df5200fa485-source-unchanged-from-b2738971-single-init-in-chernarus-and-vanilla", "evidence": "Source-Fix-Propagation-Queue.md#current-branch-scope-2026-06-24" }, "updated": "2026-06-24T14:05:00+02:00" }, { "id": "hosted-server-fps-loop-sleep", "priority": "P2", "sourceStatus": "branch-split-docs-source-and-current-stable-b741-carry-guarded-publisher-shapes", "vanillaStatus": "branch-split-docs-source-vanilla-and-current-stable-b741-vanilla-carry-guarded-publisher-shapes", "smokeStatus": "pending", "canonicalDocs": [ "Hosted-Server-FPS-Loop-Sleep.md", "Source-Fix-Propagation-Queue.md", "Feature-Status-Register.md" ], "evidenceRefs": [ "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/GUI/serverFpsGUI.sqf:1", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Module/serverFPS/monitorServerFPS.sqf:1", "Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan/Server/GUI/serverFpsGUI.sqf:1", "Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan/Server/Module/serverFPS/monitorServerFPS.sqf:1", "repo docs branch HEAD@4a1bc13edde6 is source-unchanged from d0161083 / a27086cd for checked hosted-FPS source paths", "origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 Chernarus/Vanilla Server/GUI/serverFpsGUI.sqf:4 guarded; SERVER_FPS_GUI publishes at :9-10; Server/Module/serverFPS/monitorServerFPS.sqf absent; Init_Server.sqf anchors are Chernarus :950,:996-998 and Vanilla :937,:983-985", "origin/claude/b74.2-aicom@21b62b04 keeps the same FPS contract; source Chernarus Init_Server.sqf line-drifts to :983,:1029-1031 while Vanilla remains :937,:983-985", "origin/claude/b69@8d465fce, origin/claude/b74-aicom-spend@b23f557f, origin/feat/client-fps@709258e7 and origin/perf/asr-ai-server-fps@07609ef4 also keep the single guarded publisher and absent maintained-root monitor path", "historical a96fdda2 Chernarus/Vanilla Server/GUI/serverFpsGUI.sqf:4 guarded; Server/Module/serverFPS/monitorServerFPS.sqf absent; Init_Server.sqf:579 and :595-597 use the same single-publisher shape", "miksuu/master@b8389e748243 and origin/perf/quick-wins@0076040f still keep two old unguarded FPS publisher loops in checked maintained roots", "release/* and origin/dev/july-update-hosted-server-fps-loop-fix are not current remote refs on 2026-06-24" ], "releaseGate": "Create or restore the July target branch before code work. Smoke dedicated FPS publishing for the chosen branch shape and confirm hosted/listen servers do not spin the active FPS publisher loops.", "branchStatus": { "stableMaster": "f8a76de34-b741-guarded-single-publisher-in-chernarus-and-vanilla", "releaseBranch": "historical-a96fdda2-guarded-single-publisher-in-chernarus-and-vanilla-no-live-release-head", "docsSource": "d0161083-source-unchanged-from-a27086cd-two-publisher-early-exit", "julyDevBranch": "missing-origin-dev-head-on-2026-06-22", "evidence": "Source-Fix-Propagation-Queue.md#current-branch-scope-2026-06-23" } }, { "id": "supply-mission-scan-narrowing", "priority": "P2", "sourceStatus": "docs-source-current-stable-b741-carry-branch-specific-typed-scan", "vanillaStatus": "docs-source-current-stable-b741-vanilla-carry-branch-specific-typed-scan", "smokeStatus": "pending", "canonicalDocs": [ "Supply-Mission-Scan-Narrowing.md", "Source-Fix-Propagation-Queue.md", "Feature-Status-Register.md" ], "evidenceRefs": [ "origin/docs/developer-wiki-index@15563691 Chernarus/Vanilla Server/Module/supplyMission/supplyMissionStarted.sqf:25,28,44 truck-only typed scan", "origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 Chernarus/Vanilla Server/Module/supplyMission/supplyMissionStarted.sqf:7,55,61,83 heli-aware typed scan", "direct current Miksuu master@b8389e748243 and origin/perf/quick-wins@0076040f Chernarus/Vanilla supplyMissionStarted.sqf:25,28,44 broad enumeration/post-filter shape", "historical a96fdda2 Chernarus/Vanilla Server/Module/supplyMission/supplyMissionStarted.sqf:7,53,59,81; local release-line 7ff18c49 uses :7,52,58,80", "origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 Chernarus/Vanilla Server/Init/Init_Server.sqf:97 comments the dead SupplyMissionActive compile; supplyMissionActive.sqf and checkCCProximity.sqf absent" ], "releaseGate": "Smoke delivery at a real command center and no completion near unrelated objects.", "branchStatus": { "stableMaster": "f8a76de34-b741-narrowed-heli-aware-scan-in-chernarus-and-vanilla", "releaseBranch": "historical-a96fdda2-and-7ff18c49-narrowed-heli-aware-scan-no-live-release-head", "docsSource": "chernarus-and-vanilla-narrowed-scan", "evidence": "Source-Fix-Propagation-Queue.md#current-branch-scope-2026-06-23" } }, { "id": "supply-player-object-list-indexing", "priority": "P1", "sourceStatus": "docs-source-carries-change", "vanillaStatus": "docs-source-vanilla-carries-change", "smokeStatus": "pending", "canonicalDocs": [ "Player-Join-Disconnect-And-AntiStack-Lifecycle.md", "Source-Fix-Propagation-Queue.md", "Feature-Status-Register.md" ], "evidenceRefs": [ "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Module/supplyMission/playerObjectsList.sqf:17-29", "Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan/Server/Module/supplyMission/playerObjectsList.sqf:17-29", "origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 Chernarus/Vanilla Server/Module/supplyMission/playerObjectsList.sqf:18 still resets _i inside the loop; loop closes at :29", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Module/supplyMission/supplyMissionStarted.sqf:57", "Missions/[55-2hc]warfarev2_073v48co.chernarus/Server/Module/supplyMission/supplyMissionActive.sqf:51" ], "releaseGate": "Smoke reconnect/JIP player-object replacement and supply mission completion lookup.", "branchStatus": { "stableMaster": "f8a76de34-b741-still-inside-loop-at-18-not-stable-present", "releaseBranch": "not-rechecked-in-2026-06-03-branch-matrix", "docsSource": "chernarus-and-vanilla-carry-index-initialization", "evidence": "Source-Fix-Propagation-Queue.md#current-branch-scope-2026-06-23" } }, { "id": "commander-built-artillery-ownership", "priority": "P2", "sourceStatus": "branch-split-docs-source-current-stable-b741-b742-b69-b74-and-historical-release-carry-different-supported-shapes", "vanillaStatus": "docs-source-current-stable-b741-b742-b69-b74-and-historical-release-vanilla-carry-supported-shapes", "smokeStatus": "pending", "canonicalDocs": [ "Construction-And-CoIn-Systems-Atlas.md", "Support-Specials-And-Tactical-Modules-Atlas.md", "Testing-Debugging-And-Release-Workflow.md", "Feature-Status-Register.md", "Source-Fix-Propagation-Queue.md" ], "evidenceRefs": [ "origin/docs/developer-wiki-index@3dc43a3dca7d Chernarus/Vanilla commander ARTY paths unchanged from f5bcaf91", "origin/docs/developer-wiki-index@f5bcaf91 Chernarus/Vanilla Construction_StationaryDefense.sqf:91-94 commander-team gunner handoff", "origin/docs/developer-wiki-index@f5bcaf91 Chernarus/Vanilla Common_GetTeamArtillery.sqf:10-30 group-player Tactical discovery", "origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 Chernarus/Vanilla Construction_StationaryDefense.sqf:166-168 WFBE_CommanderArtillery marker variables", "origin/master@f8a76de34 / origin/claude/b74.1-aicom@f8a76de34 Chernarus/Vanilla Common_GetTeamArtillery.sqf:41-78 marked same-side commander artillery discovery, WFBE_CommanderArtillerySide read at :56", "origin/claude/b74.2-aicom@21b62b04 matches current stable/B74.1 marker construction/discovery shape in both maintained roots; origin/master..B74.2 and d472da6a..21b62b04 checked ARTY diffs are empty", "origin/claude/b69@8d465fce and origin/claude/b74-aicom-spend@b23f557f match current stable marker construction/discovery shape; Tactical RequestFireMission is GUI_Menu_Tactical.sqf:559 on marker-shaped refs", "historical a96fdda2 and 7ff18c49 Chernarus/Vanilla Construction_StationaryDefense.sqf:133-135 plus Common_GetTeamArtillery.sqf:46,56 marker path", "current Miksuu b8389e748243 and origin/perf/quick-wins@0076040f expose Tactical RequestFireMission but no checked GetCommanderTeam handoff or WFBE_CommanderArtillery marker rescue", "Current origin exposed no live release/* or commander-built ARTY ownership rescue head on 2026-06-24; checked Trello artillery heads are UI-only for this ownership lane" ], "releaseGate": "Smoke commander-built manned artillery inside the HQ/base circle, Tactical fire-mission listing, ammo loading, direct fire, non-artillery DefenseTeam behavior, HC static-defense fallback and marker-path repair-truck exclusion on marker-based branches.", "branchStatus": { "stableMaster": "f8a76de34-b741-marker-based-commander-artillery-discovery-in-chernarus-and-vanilla-at-Construction_StationaryDefense-166-168-and-Common_GetTeamArtillery-41-78", "b742": "21b62b04-matches-current-stable-marker-construction-discovery-shape-for-checked-maintained-root-artillery-paths", "b69B74": "8d465fce-and-b23f557f-match-current-stable-marker-construction-discovery-shape-with-Tactical-RequestFireMission-line-559", "releaseBranch": "historical-a96fdda2-7ff18c49-marker-based-commander-artillery-discovery-at-Construction_StationaryDefense-133-135-until-release-head-restored", "docsSource": "3dc43a3dca7d-source-unchanged-from-f5bcaf91-chernarus-and-vanilla-carry-commander-team-artillery-handoff-and-basearea-null-guard", "miksuuPerf": "b8389e748243-and-0076040f-old-DefenseTeam-only-no-marker-or-handoff-rescue-found", "evidence": "Source-Fix-Propagation-Queue.md#current-branch-scope-2026-06-24" } } ], "patchReadyNotSourcePatched": [ { "id": "factory-queue-counter-token-cleanup", "canonicalDoc": "Factory-Queue-Counter-Token-Cleanup.md", "status": "patch-ready-not-current-code-change" }, { "id": "commander-reassignment-call-shape", "canonicalDoc": "Commander-Reassignment-Call-Shape.md", "status": "current-stable-b741-partial-source-present-docs-source-old-shape" }, { "id": "victory-endgame-winner-semantics", "canonicalDoc": "Victory-And-Endgame-Atlas.md", "status": "current-stable-b741-partial-chernarus-rescue-vanilla-server-and-explicit-winner-loser-open" }, { "id": "gear-template-profile-filter", "canonicalDoc": "Gear-Template-Profile-Filter.md", "status": "patch-ready-not-current-code-change" }, { "id": "vehicle-cargo-equip-loop-bounds", "canonicalDoc": "Vehicle-Cargo-Equip-Loop-Bounds.md", "status": "patch-ready-not-current-code-change" }, { "id": "service-menu-affordability-guards", "canonicalDoc": "Service-Menu-Affordability-Guards.md", "status": "patch-ready-not-current-code-change" }, { "id": "wasp-marker-wait-cleanup", "canonicalDoc": "WASP-Marker-Wait-Cleanup.md", "status": "opportunity-not-current-code-change" } ], "branchScope": { "checkedAt": "2026-06-24T13:15:00+02:00", "docsSource": { "commit": "15563691", "branch": "docs/developer-wiki-index", "meaning": "Docs checkout keeps the source-propagated command-center scan and related propagated-fix line anchors; latest checked supply-start files are source-unchanged from the older queue anchors through 15563691." }, "stableMaster": { "commit": "f8a76de34", "branch": "origin/master", "meaning": "Stable baseline equals origin/claude/b74.1-aicom and carries hosted FPS single-publisher cleanup, supply scan narrowing, client Skill_Init idempotency, paratrooper marker registration and marker-based commander-built ARTY discovery in both maintained missions; scoped queue-path diff from 0139a3468609 to f8a76de34 touches only maintained-root Client/Init/Init_Client.sqf. Arma smoke remains pending." }, "releaseBranch": { "commit": "a96fdda2 / 7ff18c49", "branch": "historical local release-line evidence; no live origin release/* head on 2026-06-24", "meaning": "Historical release-line commits carry paratrooper marker registration, single Skill_Init, hosted FPS guard/removal, narrowed supply scan and marker-based commander-built ARTY discovery in both maintained missions, but must be rechecked if a release ref is restored. Arma smoke remains pending." }, "canonicalDoc": "Source-Fix-Propagation-Queue.md#current-branch-scope-2026-06-24", "b742": { "commit": "21b62b04", "branch": "origin/claude/b74.2-aicom", "meaning": "For commander-built ARTY ownership/discovery, current B74.2 matches current stable/B74.1 in both maintained roots; scoped origin/master..B74.2 and d472da6a..21b62b04 diffs are empty for checked ARTY paths. Arma smoke remains pending." } } }