{ "verdict": "No demonstrated unintended starvation bug. Zero fleet under insufficient shared admission capacity is explicitly accepted current policy; partial live diagnostic does not establish permanent outcome.", "reported_observation_not_independently_sampled": { "fleet": 0, "committed": 113, "limit": 135, "per_convoy": 25, "attempts": 0 }, "arithmetic": "113 + 25 = 138 > 135; a new source needs committed <=110 at the admission instant.", "evidence": [ { "file": "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyBudget.c", "lines": "25,39-46,58-68,80-98", "claim": "Supply limit is 60+25*configured count, not a dedicated reserved convoy slice. Physical noneliminated ledger strength plus outstanding receipt bodies count. Reserve/Consume remain authoritative; known receipt reuse avoids charging twice." }, { "file": "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoySystem.c", "lines": "88-96,144-159", "claim": "Body refusal happens inside StartOne after Tick increments attempts. Attempts zero therefore cannot itself demonstrate body refusal: initial30s grace, pending existing admission, disabled/zero target, stopped/not ticking remain possible. Admitted failures retry each5s for120 attempts; exhaustion is deliberate and does not reset on later deaths." }, { "file": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c", "lines": "239-255,1574-1592", "claim": "Existing unit ledger admissions and nonfailed mortar StartupActivated precede automatic dispatch; terminal failed optional support is skipped. Hunter/objective/town ticks run before AutomaticConvoy, so already-admitted forces have priority. No convoy escrow exists." }, { "file": "addons/core/Scripts/Game/ERR/10_AI/ERR_TownGarrisons.c", "lines": "173-181,190-205", "claim": "Approached post-prison towns admit finite one-time groups before automatic convoy tick. They may increase shared committed bodies; this is not a convoy-owned budget reservation." }, { "file": "addons/core/Scripts/Game/ERR/00_Core/ERR_ForceLedger.c", "lines": "92-122,136-160", "claim": "Ledger admission enforces source/formation limits, not the convoy body ceiling; strength can decline through physical-state reconciliation. The displayed convoy ceiling is an additional-convoy admission bound, not a global spawn guarantee." }, { "file": "docs/supply-convoys.md", "lines": "62-75", "claim": "Documentation explicitly defines configured count as maximum allowance, not guaranteed deployment, with108 success and112 refusal controls." }, { "file": "tests/test_convoy_budget.py", "lines": "61-70", "claim": "Existing actual pool regression explicitly asserts default135/25 permits108 but refuses112; no limit relaxation." }, { "file": "tests/test_supply_convoys.py", "lines": "333-351", "claim": "Existing actual startup regression asserts pending admission retains attempts0, admission increments attempts, repeated budget refusal reaches120 with truthful final refusal." } ], "limits": [ "No live native log extrapolation or new runtime observation.", "Existing tests inspected, not rerun; no compiler/native or target writes.", "A permanent unresolved admission would need an exact pending unit/battery trace; supplied counts alone do not identify that defect.", "Guaranteeing at least one convoy would change priority/reservation policy; current documented contract does not require it." ], "source_sha256": { "addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyBudget.c": "ca49c274146d56e30cc93fa1652cc34c0fe68ea95725b0b3e33ab3673a6463c4", "addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoySystem.c": "f09aa817c27d6af0ccfb544f4ab1ae2afafb63d626641e03d87cfe159475d821", "addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c": "d873b5b689e918f8c907918d673304a184ac2e4a4cb6face527b37a67821ee9f", "addons/core/Scripts/Game/ERR/10_AI/ERR_TownGarrisons.c": "57f862476751087972fc78d0b27ab44e72361e27d32f15d55f9fe7fd7d6bd0e0", "addons/core/Scripts/Game/ERR/00_Core/ERR_ForceLedger.c": "0ecaf1c5a52568e751678b0b1236e91e6adb538f8fbf010d38b61a312d1bf253", "tests/test_convoy_budget.py": "481364c432715336825466a9ff199edeedaa2d3621daba90c0503addfa6010f7", "tests/test_supply_convoys.py": "be4fc6376a77296c6721ce966ea33fd256fe9d76af8705a056a88b32c4f16710", "docs/supply-convoys.md": "2193581f4f339879d1409fe90881ad0801e72d98d1b57325d09cd9300f11ef61" } }