We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
codex: reconcile dr42 dr43 findings
claude: external-research intake #2 (Round 34) — DR-43 (9 reports corroborate + version.sqf + dup binds) 9 new deep-research reports triaged: downstream syntheses corroborating DR-1..DR-42 (report 8 = independent restatement of the economy-authority thesis + DR-1); no contradictions. Two new source-confirmed leads: (a) description.ext:39 #include version.sqf absent from repo -> not buildable from source as-is (pack-time generated); (b) six double-Compiled binds in Init_Server.sqf (LogGameEnd dup ties DR-13). Ledger Tooling row + DR-43a. Events+context+worklog updated.
claude: HC static-defence update-back (Round 33) — DR-42 + DR-19 dedup DR-42 (Low/Med): static-defence HC delegation update-back commented out (Client_DelegateAIStaticDefence.sqf:28) vs town-AI which reports back (Client_DelegateTownAI.sqf:35) -> server never tracks HC static-defence units; compounds DR-21. DR-19 dedup: backlog server-fps-hosted-loop-sleep == DR-19. Confirms scout hc-static-defense-sync. Events+collaboration+context+worklog updated.
claude: attack-wave authority (Round 32) — DR-41 ATTACK_WAVE_INIT forgeable direct-PV First collaboration-follow pass: source-verified Codex's attack-wave-authority pv-scout candidate. Server_AttackWave.sqf trusts client _supply/_side wholesale (no GetSideSupply re-derivation, no sender check, no cost deduction); client 25000 gate (updateclient.sqf:240) is advisory only. SUPPLY_MAX=50000 -> forged _supply>=70000 drives ATTACK_WAVE_PRICE_MODIFIER to 0 = free units side-wide. Not in BattlEye filter. Extends forgery class; KEY: two surfaces - PVF dispatcher (DR-1) + direct publicVariableServer channels (DR-41). Confirms backlog attack-wave-authority. Events+collaboration+context+worklog updated.
codex: add testing release workflow
claude: WASP overlay Perf+JIP/HC (Round 31) — DR-40 last Perf/JIP-HC cell + milestone WASP Perf mostly clean; one nit: global_marking_monitor.sqf:62 sleepless display-wait busy-spin (throttle like its :80 sibling). JIP/HC clean (per-client init from Init_Client; local-player guards; HC skips). Old initJIPCompatible:243-244 WASP path dead/commented. MILESTONE: last Perf/JIP-HC cell - all Perf+JIP/HC dimensions now reviewed; residual 🟡 is exclusively Auth/PV owner decisions. Ledger milestone note added. Events+collaboration+context+worklog updated.
claude: supply missions Perf+JIP/HC (Round 30) — DR-39 dead twin + pull-based JIP Abandoned-code: supplyMissionActive.sqf is a dead twin (compiled Init_Server:81, never called; superseded by live supplyMissionStarted.sqf PVEH). Perf: live per-mission loop does nearestObjects[pos,[],80] all-types every 3s - narrowable to [Base_WarfareBUAVterminal]. JIP/HC done right (counterexample to DR-34): cooldown status pull-based request/response so joiners query state; server-side loop survives starter disconnect. Supply missions Perf+JIP-HC cells filled. Events+collaboration+context+worklog updated.
claude: PV/networking dispatch Perf+JIP/HC (Round 29) — DR-38 per-message recompile = DR-1 fix Dispatchers Call Compile _script per inbound message (Server/Client_HandlePVF.sqf) - avoidable recompile, redundant vs the init-time precompile into SRVFNC/CLTFNC globals (Init_PublicVariables.sqf:44/49). Validated getVariable lookup removes the recompile AND closes DR-1 RCE (one fix). JIP/HC clean: dispatchers registered at init on all machines incl JIP; PVFs are transient events; routing matches joiners. PV-dispatch Perf+JIP-HC cells filled. Events+collaboration+context+worklog updated.
claude: boot/lifecycle Perf+JIP/HC (Round 28) — DR-37 reviewed clean + no-timeout note Boot Perf clean (frame-throttled cheap waitUntils; while{true}{sleep 0.1} loops at :419/:444 are bounded join-handshake polls w/ 30s retry, not perpetual). JIP/HC correct (initJIPCompatible role routing; time/date/teams/client-state via broadcast logic vars; RequestJoin handshake robust). Robustness note: post-join waitUntil chain (Init_Client.sqf:367-502) has no timeouts -> a never-set synced var hangs the JIP client. Boot/lifecycle Perf+JIP-HC cells -> clean. Events+collab+context+worklog updated.
claude: victory/endgame Perf+JIP/HC (Round 27) — DR-36 root cause for DR-11/DR-13 Victory Perf clean (80s cadence); JIP server-authoritative (narrow endgame-join gap). Source mechanism for DR-11/DR-13: win check (:23) parses (&&>||) so !WFBE_GameOver guards only the towns clause not the HQ-elimination clause, and the side forEach (:43) has no break after a winner -> two same-tick eliminations double-fire endgame+LogGameEnd and invert WF_Winner. Fix: guard both clauses + break on gameOver. Re-confirms DR-12. Victory Perf+JIP-HC cells filled. Events+collaboration+context+worklog updated.
claude: params/localization (Round 26) — DR-35 reviewed clean + 2 dead WASP actions Localization integrity clean: no live missing localize/$STR_ keys (case-insensitive recompute + liveness drops all 4 apparent misses -> 1 casing FP, 1 engine STR_EP1_*, 2 dead/commented WASP actions). Params system live + wired (Init_Parameters.sqf MP paramsArray/SP default; initJIPCompatible.sqf:121; Dialogs.hpp:3136); paramsArray index-aligned to class Params order. New Parameters/localization ledger row -> reviewed-clean. Events+collaboration+context+worklog updated.
claude: respawn/MASH (Round 25) — DR-34 MASH map-marker feature dead on both ends Client receiver commented (Init_Client.sqf:132), trigger PV WFBE_CL_MASH_MARKER_CREATED never broadcast, server PVEH live-but-orphaned (Init_Server.sqf:70). MASH tents real (officer skill) but no map markers. Confirms+extends DR-2. Latent JIP gap if revived (publicVariable single overwritten global). Respawn selector ~33Hz local loop (bounded). Markers row PV+JIP-HC reviewed. Events+collaboration+context+worklog updated.
claude: factory Perf+JIP/HC (Round 24) — DR-33 empty-vehicle queue-counter leak + queue broadcast churn DR-33a (JIP/HC): empty-vehicle purchase exitWith (Client_BuildUnit.sqf:365) skips the WFBE_C_QUEUE decrement (:469), leaking the buyer's per-client queue counter -> after _MAX empty-vehicle buys the GUI gate (GUI_Menu_BuyUnits.sqf:145) silently soft-locks that factory. DR-33b (Perf): per-unit sleep-4 poll re-broadcasts the building queu on every mutation; varQueu random token non-unique (front-of-queue collision); buyer-disconnect orphans token. Factory/purchase Perf+JIP-HC cells filled. Events+collaboration+context+worklog updated.
claude: generated-mission drift (Round 23) — DR-32 three fidelity tiers Vanilla Takistan is a faithful regeneration (15/671 sqf differ, all map-config + textures; logic byte-identical -> DR-1..DR-31 propagate verbatim). Napf/eden/lingor are divergent hand-edited forks (104-123 logic files differ incl security-critical; Napf ICBM adds GBU-12 bombs; not regenerated per DR-4). sahrani/dingor/tavi/isladuala are abandoned stubs (1-20 files, non-runnable). Drift dimension characterized campaign-wide; ledger Drift cells (Construction/UI/Modules) done + global note. Events+collaboration+context+worklog updated.
claude: Discord data path (Round 22) — DR-31 live TypeNameHandling.All deserialization DiscordBot GameData.LoadFromFile() reads database.json with Newtonsoft TypeNameHandling.All every 60s (GameStatusUpdater timer) + startup + a command -> live insecure-deser gadget sink in the token-holding process (the dormant .Auto from DR-29, now live and worse). Not remote as-configured but any write to the data dir = RCE. Fix: .All -> .None + delete dead .Auto. Secret hygiene OK (token.txt/preferences.json gitignored); commands auth-gated. Integrations row COMPLETE (all 4 sub-targets) -> Map done. Events+collaboration+context+worklog updated.
claude: BattlEye posture (Round 21) — DR-30 the 'rely on BattlEye' option is not shipped Repo BE footprint = 22-byte publicvariable.txt (single kickAFK feature rule, no default-deny, no forgery-PV restriction) + a README.docx; scripts.txt and all other BE filters absent. So nothing in-repo blunts PV forgery or the DR-1 call compile RCE -> option (b) across DR-1/6/14/16/22/23/27/28 collapses to (a) server-side authority. Caveat: BE files normally live in server BEpath outside the PBO -> production posture is an owner question. Integrations row: BattlEye done; only Discord remains. Events + collaboration + context + worklog updated.
claude: extension review (Round 20) — DR-29 GLOBALGAMESTATS callExtension DLL Safe today (output never written + SQF discards return -> no call compile, contrast DR-7; reflection enum-gated). Risks: dormant deser-RCE landmine (commented TypeNameHandling.Auto load path), write-only/abandoned-refactor stub (no cross-restart persistence), async-void create unawaited before File.Replace (first-run race + possible host crash), minor SQF abs(playerCount-1) HC misreport. Integrations row: Extension sub-target done; Discord + BattlEye remain. Events + collaboration + context + worklog updated.
claude: gear/EASA review (Round 19) — DR-28 gear economy client-authoritative (class complete) EASA loadouts + vehicle rearm/repair/refuel/heal have no server PVF; cost is client-side ChangePlayerFunds + honor-check affordability (GUI_Menu_EASA.sqf:46-50). Service rearm (:196-200) and refuel (:217-219) deduct unconditionally (no guard, unlike repair/heal). Completes the economy-authority class: build/buy/sell/supply/upgrade/ICBM/gear all client-authoritative -> one owner decision. Ledger Gear row Auth->done + Economy note; events + collaboration claim + context reviewPass/risk + worklog updated.
claude: modules review (Round 18) — DR-27 ICBM nuke fully client-authoritative (CRITICAL) Forged RequestSpecial=[ICBM,...] PV -> RequestSpecial.sqf (_this Spawn HandleSpecial) -> Server_HandleSpecial.sqf:97-112 spawns NukeDammage at client-chosen position with no upgrade/commander/funds check. One forged publicVariable = server-applied map-wide kill. Apex of the client-authoritative class (DR-6/14/16/22/23). UAV-007 branch confirmed disabled; rest of Client/Module config-gated cosmetic/QoL. Ledger Modules row + events + collaboration claim + context reviewPass/risk + worklog updated.
claude: weather/day-night reviewed clean (round 17, no defect) No div-by-zero (twilight weight constant 3; day duration min 1); JIP covered; local-animation + 30s drift-sync design sound. Recorded negative result so it isn't re-reviewed; ledger weather cell -> reviewed-clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude: external deep-research integration + DR-26 license (round 16) 3 deep-research PDFs are downstream of our wiki -> corroboration of DR-1/6/7 etc.; our source-verified findings are a superset. DR-26: LICENSE.md is custom/proprietary (not OSI), resolving reports' 'license unspecified'. Governance handoffs to Codex (Discord sample hygiene, CI). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude: DR-25a/b remaining UI config defects (round 15) DR-25a dup title idd 10200 (RscOverlay/OptionsAvailable); DR-25b malformed RscClickableText.soundPush[]={, 0.2, 1}. Both confirm Curie candidates; UI follow-ups closed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude: DR-24 dead RscMenu_Upgrade reference (round 14) RscMenu_Upgrade onLoad ExecVMs missing GUI_Menu_Upgrade.sqf; dialog never opened; live upgrade UI is GUI_UpgradeMenu.sqf. Dead/naming-drift. Confirms Curie candidate. Handed reliable missing-ref scanner to tooling. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude: DR-23 upgrade authority gap + economy-authority synthesis (round 13) RequestUpgrade.sqf passes raw payload to Server_ProcessUpgrade with no commander/funds/sequence/dependency check and no server cost -> free upgrades. Completes synthesis: build/buy/sell/supply/upgrade (DR-6/14/16/22/23) all client-authoritative; one architectural decision covers the class. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude: DR-22 side-supply overspend windfall (round 12) Server_ChangeSideSupply.sqf broken floor 'if (_change<0) {_change=_currentSupply -_amount}' -> overspending grants currentSupply+|amount| (spend 300 from 100 -> 400). Live both west/east handlers; Common copy dead. Fix: _change=0. Confirms Faraday candidate + round-1 note. Ledger Economy reinforced. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude: DR-21 headless disconnect (no failover) + corrected round-1 orphan hypothesis (round 11) Verified Server_OnPlayerDisconnected.sqf: Arma2 OA migrates a disconnecting machine's local AI to the server (no orphan/loss; corrects round-1). DR-21: no re-delegation/failover, delegation only evaluated at boot -> HC drop reloads the server for the match. Suggest setGroupOwner rebalancing. Ledger AI/Headless JIP/HC advanced; events/worklog/agent-context updated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude: DR-20 non-idempotent HQ-killed across owning-side clients (round 10) HQ Killed EH is registered on every owning-side client (set-hq-killed-eh broadcast + Init_Client JIP path) but Server_OnHQKilled.sqf has no idempotency guard -> N-fold duplicate processing on mobile-HQ death (score exploit). JIP detection itself correct. Fix: per-HQ processed flag (detect redundantly, act once). Ledger JIP/HC cells advanced; events/worklog/agent-context updated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude: DR-18 cooldown key casing + DR-19 hosted FPS busy-loop (round 9) Both confirm Cicero candidates at source. DR-18: Init_Town seeds lastSupplyMissionRun (lowercase) vs LastSupplyMissionRun readers (case-sensitive keys) -> nil+interval throw on first cooldown check. DR-19: serverFpsGUI + monitorServerFPS sleep inside if(isDedicated) -> hosted/listen busy-loop. Ledger Supply JIP/HC advanced; events/worklog/agent-context updated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude: DR-16 sale authority + DR-17 dup IDD (round 8) DR-16: GUI_Menu_Economy structure sale is fully client-authoritative (client commander check + client refund + client setDammage); completes build/buy/sell all client-authoritative. DR-17 (confirms Curie): RscMenu_EASA/Economy share idd=23000. Ledger UI/HUD advanced; events/worklog/agent-context updated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude: DR-14 economy ceiling + DR-15 commander-assign bug (round 7) DR-14: player purchasing has no server authority (client createVehicle + client deduct; no RequestBuyUnit PVF) — architectural WFBE locality ceiling on DR-1/DR-6 hardening; BattlEye scripts.txt is the only real layer. DR-15 (confirmed Cicero candidate): Server_AssignNewCommander.sqf:3 _side=_this vs caller passing [_side,_commander]; fix _side=_this select 0. Ledger Factory/purchase advanced; events/worklog/agent-context updated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>