Files
EscapistsReintroduced/docs/multiconvoy-resupply.md
T
jakub 6a667d8deb Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
2026-10-13 22:52:53 +02:00

22 lines
3.7 KiB
Markdown

# Infantry resupply across the finite convoy fleet
HQ previously connected its infantry-supply coordinator only to `ConvoyTask()`, the first convoy. Later convoys could carry valid finite ammunition but could never serve a patrol through that coordinator, and losing the first truck removed this support even while other original trucks survived.
`ERR_InfantrySupplyPool` now binds one coordinator to each existing convoy slot, capped at twenty. A coordinator pins the exact task and service index before startup; removed, reordered or replaced tasks cannot become replacement stock. Failed binding stops that slot. The pool never creates a convoy or reissues cargo. The first-truck native probe keeps its canonical slot-zero accessor.
Each coordinator retains its own finite magazine identities, spent items, current native transfer and ambiguous-operation quarantine. All coordinators share consumed radio-message IDs and per-recipient retry times. A failed downlink therefore cannot cause a different truck to retry the same report or bypass the three-minute cooldown. Each convoy slot owns a disjoint 128-trip reservation-token range. Magazine identities, original crew/member ownership, radio delivery, physical access and the existing per-trip deadline still gate execution.
HQ rotates through ready donors and admits at most one new trip every five seconds. Donor and recipient selection still requires delivered status; a donor with a fresh reported contact is skipped. Existing trips tick independently on their existing one-second gate. Journal entries include convoy slot, and administration shows aggregate original trucks, active trips, captured stock and deliveries. Ending the mission stops every coordinator.
## Verification
The [complete repository check](evidence/check-2026-09-30-multiconvoy.log.txt) passes **234 regression programs**. Actual-method tests cover immutable binding, replacement/reordering rejection, all twenty token ranges and the final allowed trip, shared report/cooldown history, sparse discovery, permanent shutdown, donor rotation and one new dispatch per planning cadence. Existing stock, transfer, radio and quarantine regressions also pass.
The first [native attempt](evidence/native-2026-09-30-multiconvoy-compile/report.json) failed compilation on the new accessor's inline conditional return. That failed source and log are retained. The accessor now uses an explicit local result and final return.
The [corrected native run](evidence/native-2026-09-30-multiconvoy-supply/report.json) compiles the combined source and completes the 52-assertion scripted escape route with no script/runtime failures. Its [HQ journal](evidence/native-2026-09-30-multiconvoy-supply/rereintroduced-hq.log.txt) records slots 0, 1 and 2 capturing **56 original magazine identities each**, at approximately 42, 48 and 54 seconds, followed by all three stopping at mission victory. No transfer trip was requested in this fixture, so this is initialization/integration evidence, not multi-truck or autonomous walking delivery proof. The thirteen installed-resource errors retain the strict failed verdict. The runner confirms hidden/muted operation, unchanged source/seven external inputs and successful private cleanup.
Native source manifest: `b4eea5bde2871ec4fd858d6b5dac9e722b13694507f6922eed3a884d757b1327`.
The [earlier development package](combined-candidate-2026-09-30.md) remains an unchanged snapshot and does not contain this later feature. Human play, remote multiplayer, multi-truck rendezvous/transfer, broad logistics parity and equivalent-workload FPS acceptance remain open. Experimental helicopter flight and prison input automation were not resumed; original missions and installed assets remain untouched.