Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
70 lines
4.5 KiB
JSON
70 lines
4.5 KiB
JSON
{
|
|
"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"
|
|
}
|
|
}
|