# Identified-body escalation and objective defence Implemented 2026-09-23 in the combined Core addon. These are server-owned mission services; clients do not request spawns or supply casualty counts. ## Šárka reinforcement waves (2026-10-16) After prison escape, every ten minutes the current anger score sends one Šárka per point: anger 3 means three cars, anger 0 means none. Anger still increases by one for every three enemy bodies identified and reported to HQ, capped at 30. Each car carries four selected-faction response troops total: a driver, two soldiers and one medic. Vanilla factions use their special-forces profiles; modded factions use their configured ResponseSoldier/ResponseMedic profiles. Cars spawn on checked clear roads 1–1.25 km from the nearest living player. Departures are spread five seconds apart; blocked placement retries within the current wave. Unplaced cars do not accumulate across waves. An empty round cancels pending departures and starts a new ten-minute wait when play resumes. These additional cars use the same radio orders, patrol, combat, dismount and capture behavior as other hunters. Player positions guide initial placement; subsequent pursuit still requires delivered sightings. Šárkas have a separate wave allowance from ordinary UAZs, trucks and motorbikes. Existing formation-budget limits still apply, so a full ledger can defer a wave. Original cars and crew remain physical after loss or capture; waves create new teams and never refill casualties in old teams. ## Coordinated pursuit candidate (2026-10-13) The new **Coordinated** doctrine organizes available formations into a shared pursuit. It is opt-in for qualification; **Current** remains the compatibility default. The first version runs entirely inside the mod. Python is used for offline replay and performance comparison, with no runtime service or language-model dependency. The intended playtest is two to four players, with a separate solo evasion check. Existing accuracy, damage and native detection settings are unchanged, so comparison can isolate the decisions and their execution. Administrator commands save the choice for the **next round**: | Command | Result | |---|---| | `/esc mission doctrine show` | Show the saved doctrine | | `/esc mission doctrine set coordinated` | Enable coordinated pursuit next round | | `/esc mission doctrine set current` | Select the existing doctrine next round | | `/esc mission aishadow set on` | Log coordinated proposals without issuing their orders | | `/esc mission aishadow set off` | Run the selected doctrine next round | The HQ settings menu exposes the same choices. A running round retains its original doctrine. Shadow mode does not reserve formations, issue tactical waypoints or spend support leases. For the intended hard playtest, set the HQ support allowance to eight with `/esc hq squads set 8` (or the HQ menu). Keep the same allowance in the comparison baseline. A lower allowance remains supported, but existing hunter commitments can leave too few infantry groups to form an observer/support/reserve combination. This setting permits use of existing available formations; it does not itself spawn extra squads. ### Decisions and finite forces HQ considers up to six alternative movement hypotheses for each delivered track, including remaining near the sighting, doubling back, leaving a road and continuing along sampled road geometry. The operation controller receives detached friendly status and execution reports plus delivered sightings. It cannot read unseen player positions, equipment, discoveries or objectives. Existing physical radio routes carry every new order and execution update; a broken radio leaves a squad with its last received order. Five initial hypotheses cover hiding, forward travel, reversal and either lateral direction. A distinct nearby road can supply a sixth. Road refinement follows a single real polyline; apparent crossings are not joined into invented junctions. The static cache holds eight 500-metre cells, with at most 128 roads and 4,096 segments per query, and processes at most four roads per build. Intercept windows allow foot speeds of 0.75–6 m/s or vehicle speeds of 3–25 m/s. These are uncertain travel ranges, not a claim to know the target's chosen route or a native path's reachability. The controller adjusts friendly travel estimates from delivered progress. Roles are **observe, fix, flank, block, search, reserve and withdraw**. Formation assignments use reported position, strength, ammunition, travel estimates and current commitments. Road interception must fit the hypothesized travel-time window. Observers and reserves hold before committing to a supported manoeuvre; depleted formations may receive a withdrawal order. There is no artificial two-direction limit on coordinated pursuit. A ring must be earned through available units, information, travel and successful arrivals. Coordinated mobile commitments are capped at **eight globally and six for one operation**, further limited by the configured support allowance and physically available formations. Existing hunter commitments count toward those limits and retain their own crew/tactics owner. Permanent guards, logistics and specialist reservations remain protected. This controller spawns no soldiers, replenishes no ammunition and adds no reserves beyond the already finite hunter system below. Failed movement is reported and reconsidered; repeated failures suppress the same unit/hypothesis combination until new evidence warrants it. Completed outcomes can prompt another search or reposition without the old blanket three-minute pursuit pause. ### Physical execution and support Orders have operation, evidence and execution identities. The local lifecycle distinguishes receipt, travel, physical arrival, action, completion, blockage, failure, replacement and contact change. Native waypoint completion is not accepted as arrival: the native engine can also complete a failed movement waypoint. At least half of a squad's surviving, attributable original members must physically reach the destination. The arrival radius is 40 metres for ordinary operation posts and five metres for a short flank bound. Sixty seconds without ten metres of progress reports blockage; three minutes without progress fails the attempt. A native movement-failure callback can report blockage earlier. An active coordinated order temporarily keeps its original squad and attributable members at native AI LOD 0, so distant ordered formations can actually travel. Completion, failure or cancellation restores each retained member's previous LOD override; player takeovers, transfers and intervening overrides are protected. This adds bounded simulation work for the assigned groups and must be included in the matched-load benchmark. Cleanup does not forcibly deactivate soldiers who have entered combat. A search pauses when its own native perception finds contact. A completed negative report requires 30 seconds of quiet at a stationary original member's position. It describes only a ten-metre local footprint. It does not clear a whole 500-metre grid square, prove a route was reached, or eliminate other hiding places. Observation/block/reserve/withdrawal posts complete their physical hold after 45 seconds without claiming a negative search. A supported bound completes as soon as the five-metre physical arrival criterion is met. A searching squad that finds contact before reaching its destination pauses for local combat and reports what it sees. Once that contact report reaches HQ, is at most ten seconds old, and another distinct squad in the same operation has reported physical readiness, HQ may order a new fixing post at the searcher’s reported own position. Normal retry and order-cadence limits still apply. The new FIX travels over radio and must establish its own physical member quorum and confirmed suppression before any supported flank. This does not claim arrival at the old search destination or mark any ground searched. The local coverage store retains at most 128 footprints for 15 minutes from their actual observation time. Their overlap can reduce a hypothesis's weight by at most 75 percent of its conservatively estimated covered fraction. Overlapping repeat reports use the strongest footprint, so repetitions cannot compound into certainty. New positive evidence invalidates conflicting older footprints. This does not globally reduce the sighting's confidence or remove unsearched hiding alternatives. Fixing fire uses the native suppression activity against an actually observed local area. Each attempt lasts at most 30 seconds and uses carried ammunition, with a reserve of 20 rounds per fit member and at most the smaller of 48 confirmed projectiles or eight per fit member. Readiness requires an actual native projectile event from an original soldier while both the group's owned suppression activity and that soldier's native suppression behaviour are executing. Merely seeing a target or creating a waypoint is insufficient. Native friendly-fire checks remain active; an additional bounded check refuses allies or unknown affiliations in the firing lane. During that finite activity, the executor pauses its own hold waypoint. A tagged FIX activity runs at group priority 71 and its related suppression behaviour at soldier priority 91, allowing the assigned covering role to take precedence over routine attacks. Group healing (80), and soldier ammunition handling (100), retreat (110), medic work (111) and immediate danger remain above their respective suppression actions. The priority level remains ordinary; other native activities retain their existing priorities. Only a projectile from the soldier behaviour belonging to that exact owned activity counts as support. The executor restores its same still-owned hold after fire ends; replacement or cleanup cannot restore an old order. A fixing squad selects a fresh visible contact in its assigned sector, keeping the suppression volume fixed. The execution regression checks these priority relationships and the native message-reaction signature against the installed scripts when available. After a genuine sighting, a burst may continue into its fixed last-seen area for at most eight seconds without a fresh visual sample. The next local sample that finds no sighting revokes contact/support readiness; remembered-area shots cannot authorize a new advance. A new sighting outside the eight-metre volume, a target closer than 40 metres, lost ammunition, an unsafe firing lane or lost activity ownership cancels it. There are at most two attempts per order, separated by four seconds, sharing the same total projectile allowance. Each attempt lasts at most 30 seconds within the original order deadline. The projectile callback checks the lane from the actual shooter. A delivered support lease expires at most 20 seconds after the confirming shot and is never renewed by radio transit. HQ can authorize one short, 20-metre bound by another intact group only after readiness reaches it. That group pauses locally when its received support lease expires; no squad is split or reparented. Radios necessarily introduce delay between a support loss and another squad learning it, so the absolute lease bounds this gap. ### Squad judgment, terrain and local speech (13 October follow-up) The follow-up adds persistent judgment to each original formation, bounded to 256 records. Stable formation identities give modest **resolute, measured or cautious** tendencies: observation stand-off varies from 90 to 110 metres, with small differences in stress and recovery timing. Recent delivered losses, isolation from reported friends, sustained contact and reported ammunition expenditure influence whether a team continues, rallies or withdraws. These differences affect decisions; existing weapon accuracy and perception remain unchanged. A newly shaken team rallies. Severe losses or ammunition below 15 rounds per fit member can trigger one withdrawal to a finite refuge. The destination and its acknowledged arrival survive order replacement and expiry, preventing an endless series of 120-metre retreats. A fresh nearby friendly report can provide a rally reference within 250 metres. The rally maintains an 85-metre stand-off from that reported formation and stays farther from the reported threat, leaving room for the existing separation checks and terrain refinement. A reported friend may have moved by the time the squad gets there. Recovery requires at least two quiet delivered rosters, separated by at least 30 seconds, low accumulated pressure and the original recovery deadline. Recent losses impose a 90–120-second minimum depending on the squad's tendency. A previously observed ammunition shortage clears only after a complete report confirms at least 30 rounds per fit member. A reported living but unfit companion keeps the team in recovery until a fresh roster resolves that condition. Native medics retain responsibility for treatment. Completion of a hold, a movement heartbeat, radio delay or repeated planning cannot count as recovery. A newer delivered contact also prevents an older queued roster from being treated as evidence of quiet. Existing finite resupply retains its ownership rules. A resting order can delay access until its deadline, typically 120 seconds; expiration then clears the assignment and gives the planner a five-second retry delay. On the next planning pass logistics runs first, before another recovery post is assigned. A supply reservation excludes the squad from pursuit planning. This provides a resupply opportunity when a quiet, compatible stocked truck is close enough; it does not create ammunition or guarantee delivery. Tactical destinations now receive a small static terrain survey. Observe/fix/block posts prefer nearby low cover with a standing view into the reported sector; reserve and withdrawal positions favour concealment; a supported bound favours a covered approach. The survey considers at most nine candidates per order and 27 globally per second, with at most two asynchronous navmesh tile requests per survey. Character, vehicle and attached dynamic geometry is excluded from the terrain score. Every admitted destination still needs real native travel and physical arrival. Search projection stays within two metres of the chosen footprint. FIX and FLANK refinement stays within four metres of its proposed point; the entire flank remains within 20 metres of the squad's reported position and must fit the original support deadline. Other posts refine within 8–18 metres. A better waypoint helps native soldiers choose useful ground, but does not prove that every member will occupy that exact cover point. When the existing optional spatial speech service is enabled and a clip is ready, a squad leader can call out covering fire, a supported move, withdrawal, regrouping, watching an approach or a completed local search. The callout is checked again against the same locally delivered order and a physical sample no older than 2.5 seconds before playback. Replaced orders, expired support, ownership changes and stale queued lines are discarded. Existing covert silence, nearby-listener checks and line cooldowns still apply. The new text uses the existing cached speech service; pursuit decisions run locally inside the mod. The follow-up's checks and native results are recorded separately in [human AI follow-up evidence](evidence/human-ai-2026-10-13/README.md). Historical results below describe the earlier candidate and do not qualify later source changes. ### Replay, comparison and qualification `OPERATION ORDER QUEUED` and `EXECUTION DELIVERED` journal records include stable execution/evidence identities, role, observation/delivery clocks, remaining distance, limited search footprint and support status. `EXECUTION DELIVERED` also records an explicit `arrived` flag for the physical member quorum, independently of a contact-change state. `OPERATION EXPIRED` records the finite deadline and release only when HQ has no accepted terminal outcome for that exact execution. A late or superseded delivered outcome is logged as `EXECUTION NOT APPLIED`; it cannot change current orders or create search evidence. `OPERATION SHADOW` is proposal-only telemetry. The offline report retains session boundaries, deduplicates identical rotated records and rejects conflicting identities or impossible timestamps: ```sh python3 tools/ai_pursuit_replay.py journal path/to/rereintroduced-hq.log path/to/rereintroduced-hq-1.log python3 tools/ai_pursuit_replay.py compare path/to/comparison.json ``` The comparison manifest uses the schema in [performance comparison](performance-comparison.md), with `aiDoctrine: 0` in baseline settings and `aiDoctrine: 1` in successor settings. It requires three paired dedicated-server tick captures with the same scenario, hardware, engine, actual AI/player/vehicle/entity populations and all other settings. It evaluates a maximum five-percent regression in average sampled server FPS. Synthetic recordings exercise arithmetic but never satisfy the performance target; headless Workbench runs cannot substitute for this dedicated-server benchmark. A target result does not establish gameplay or release acceptance. Production-method tests in `tests/test_hq_execution.py` cover original-member arrival, false native completion, failed/progressing travel, quiet footprints, contact interruption, bounded support expiry and delayed report acknowledgments. `tests/test_ai_pursuit_replay.py` covers rotation/session handling, chronology, lineage, support limits and matched-workload comparison rejection. These tests pass locally. Repeated matched-load dedicated-server performance capture and the controlled two-to-four-player playtest remain pending. This section does not claim a server deployment or a completed multiplayer balance test. The 13 October full `python3 tools/check.py` attempt stopped at the existing prefab identity check: `addons/core/Prefabs/Items/Equipment/ERRM_AtlasLeaf.et` lacks a saved root entity ID. This unrelated shared-map prefab prevents a full-suite pass; the focused 53 HQ/hunter scripts passed separately. All 304 policy scripts listed after the structural checks were also run independently and passed, including reruns after four stale test-boundary fixtures were updated; this does not make the blocked full check pass. The [earlier 13 October native evidence](evidence/coordinated-ai-2026-10-13/README.md) records successful compilation of that earlier candidate, real movement and physical arrival by two original squads, cancellation, and a real native unreachable-route callback followed by bounded failure with no searched-area claim. The final full encounter also showed the group actually executing its owned suppression activity after genuine native sighting. It recorded no attributed suppression projectile before visibility was lost, so suppression ammunition consumption, confirmed support, support handoff and native support-loss cancellation remain unqualified. That full encounter failed its bounded deadline. The separate blocked-route variant completed all seven scoped assertions, but its strict native report still failed on existing engine/resource errors; no error filter or validation exception was added. All failures and exact source fingerprints are retained, and owned-process cleanup plus unchanged source/dependency inputs are confirmed. These results are useful execution evidence, not a clean native acceptance gate. ## Aggression and hunting vehicles Only a fresh BODY report delivered to HQ identifies a body for aggression. The identity is the immutable formation SourceId plus original roster slot. A status-known death can subsequently be identified once; multiple observers, repeat deliveries and status reports cannot inflate this counter. Missing or silent units do not count. `ERR_HQWatchRules.Aggression(bodies)` is `clamp(floor(bodies / 3), 0, 30)`. `Hunters(level)` is `3 + ceil(clamp(level, 0, 30) × 12 / 30)`, capped at 15: | Identified bodies | Aggression | Cumulative hunting vehicle allowance | |---:|---:|---:| | 0–2 | 0 | 3 | | 3–8 | 1–2 | 4 | | 9–14 | 3–4 | 5 | | 45 | 15 | 9 | | 87–89 | 29 | 15 | | 90+ | 30 | 15 | The existing confirmed-loss infantry response budget remains independent. The allowance creates **two armed UAZs followed by one troop truck**, repeated within the same finite 15-vehicle limit. The opening roster is two UAZs and one Ural transport; the maximum roster is ten UAZs and five transports. These are independent HQ hunters, separate from supply convoys. Each vehicle fills its native seats with the selected faction's response soldiers and one medic. The UAZ has three seats; the truck has a driver and fourteen passenger seats. There are at most 15 deployments per round, not an endless replacement pool. Destroyed, captured or failed vehicles consume their deployment; surviving entities and loot remain physical. Surviving AI crew retain their HQ registration and skill profile when a driving task ends; capture releases the mission binding. The status string distinguishes active vehicles, the aggression allowance and reserve departures. The finite replacement rules added on 12 October are described below. Deployment waits until the prison is unlocked. Three initial hunting vehicles are planned around the opening player centroid (prison position if no player exists), on actual roads at least 90 degrees apart and at least 600 m from that center. The HQ menu exposes **Opening patrol distance**, saved as `hunterSpawnDistanceMetres` (800–3000 m, default 1000 m), for both initial UAZs and the troop truck. Changes apply next round. The bounded survey tries up to 64 candidates around the configured radius, eight queries per HQ second, and accepts projected roads within ±250 m of that radius (never below 600 m). It retains three clear positions before spawning at most one vehicle per second. Every spawn rechecks terrain/collision, the force ledger and a 400 m exclusion around every player. If the complete survey cannot find three widely separated starts, or a reserved start becomes occupied, initial patrols fall back to checked roads near friendly radio, depot or outpost sites. This fallback must remain within the configured radius band. These starts still require at least 600 m clearance from the opening center, 400 m from every player, clear terrain and 100 m separation from active hunter vehicles. A failed fallback retries after ten seconds without consuming a vehicle allowance. Unsafe placement is withheld and logged. Additional aggression deployments use friendly-site roads and 30-second spacing. Native crew readiness has a 120-second deadline. Vehicles are registered only with their actual original native agents and seat occupants. Faction selection, inventory, radio fitting and body/intel ownership use existing mission services. Each hunter crew requests one physical manpack through the existing finite radio-fitting service; destroyed or looted radios are not replenished. Before their first delivered contact, the three opening hunters patrol roads within 500 m of their own initial deployment sector; a failed local road search holds and retries rather than sending them to a distant objective. This patrol uses the fixed deployment point, not the current player position. Later reinforcements use the friendly-objective patrol fallback until a contact is received. Crews that received a contact complete the bounded sector search described below before returning to that fallback. With actionable radio-delivered HQ memory no older than five minutes and uncertainty at most 500 m, they investigate a road near the last reported/predicted position. This ground-search window is independent of the stricter 60-second mortar-targeting window. A fresh delivered contact bypasses the 30-second patrol cooldown and cancels a pending patrol downlink. An interception already in radio transit is allowed to complete; updates are limited to one attempt per five seconds. The destination is a road within 250 m of the delivered belief. Destination selection does not query live player positions. Orders must traverse the existing physical radio network. Loss of communications prevents new orders; it does not magically reveal a player or cancel the last received order. ## Late-mission pursuit changes (2026-10-12) The reviewed 12 October round had roughly 47 minutes with no active hunter patrols, although 96–100 AI were active globally at the finish. The final UAZ was about 1.2 km from extraction and travelling toward another search area. This change addresses the finite mobile fleet being exhausted and crews abandoning the contact area. It does not guarantee a fight at extraction: escaping unseen and exhausting the finite reserve remain possible. ### Finite hunter reserve | Rule | Previous behaviour | New behaviour | |---|---|---| | Exhausted aggression allowance | Wait for more identified bodies indefinitely | HQ can authorize up to three reserve departures per round | | Availability requirement | No replacement decision | Fewer than two UAZ/truck patrols available according to HQ's reports/check-in deadlines | | Missing check-in | Could leave the mobile fleet empty | Eight minutes since the latest observed check-in, or launch if none ever arrived, makes a patrol unavailable for this decision | | Delivered loss/incapacity | Did not replace a deployment | A closed roster or a delivered report with zero fit members also makes the patrol unavailable | | Timing | Ordinary escalation deployments 30 seconds apart | Reserve source must have launched at least eight minutes ago; reserve departures are at least eight minutes apart | | Total limit | 15 UAZ/truck departures per round | Still 15, including all reserve departures | The three reserve tokens supplement the cumulative aggression allowance; ordinary newly unlocked aggression deployments take priority. At zero aggression the maximum is therefore six UAZ/truck departures, including the opening three. A reserve does not increase the identified-body count or aggression. Motorbikes keep their separate finite allowance and do not trigger or count toward the two-patrol availability threshold. Availability reads detached reports already delivered to HQ and the dispatch times HQ knows. It does not read a patrol's live death, capture, release or location to authorize a replacement. Silence is uncertainty, not proof of death. A fresh fit check-in can avert a departure. Each unavailable source can authorize at most one reserve; a later unavailable reserve patrol may itself qualify, subject to the same three-token total and cooldown. Surviving crews reporting as fit still count as available, even if their vehicle task has ended; vehicle operability is not inferred from a live entity lookup. Reserves depart from the existing checked roads near friendly radio/depot/outpost sites, using the same vehicle sequence (two UAZs, then one truck), faction crew, radio fitting, native driving, force-ledger cap and 400 m player exclusion. They receive destinations through physical radio delivery. A token is spent when the native spawn attempt is committed, including a failed spawn/readiness attempt. Blocked roads, nearby players, a full force ledger or missing faction profiles defer deployment without spending it. No original crew or vehicle is restored or removed by the reserve decision. ### Persistent search of delivered contact areas The five-minute/500 m HQ contact filter still governs new initial interceptions; mortar targeting is unchanged. Once a contact order reaches a hunter through the radio network, the crew retains its reported/predicted position and original observation time for up to **ten minutes from that observation**. A delayed delivery leaves less search time; replays do not renew it. After reaching the ordered road point, the crew waits at least 60 seconds before requesting another road point around that remembered center. The search radius grows from 250 m by one metre per second of observation age, reaching 850 m at ten minutes. Road projection is limited to 100 m; final points must remain within 1 km of the remembered center and at least 150 m from the vehicle. Each selection tries at most eight candidates. A missing usable road holds the crew for a later bounded retry. Moving between points does not count toward the arrival wait. Every sweep is another physical HQ downlink. An unavailable radio route cannot renew memory or grant a new destination. A newer actionable sighting preempts a sweep still in transit and redirects the crew; a sighting already in transit can finish. A fresh update in the same contact area retains the current road endpoint while renewing memory only after delivery. Existing local combat, dismount, crew recovery and coordinated encounter ownership keep priority. After ten minutes, no new sweep is issued and an undelivered sweep is discarded. The last received route may finish before normal patrol resumes. This does not add live player tracking, forced endgame waves, new extraction guards or changes to mortar safety. ### Review and validation `HUNTER RESERVE` identifies the new patrol, the unavailable source and tokens spent. Minute-level `HUNTER STATUS` now includes reserve use, HQ-estimated available UAZ/truck patrols and crews retaining a search. `HUNTER SEARCH` records each delivered sweep's center, observation age and destination. Retained-search count includes crews still approaching or in combat; it is not a count of AI currently engaging players. Production-method regressions cover reserve decisions, missing/returning check-ins, zero-fit reports, the three-token and 15-vehicle caps, eight-minute cooldown, one-time spending, normal escalation priority, placement limits, ten-minute search expiry, replay rejection, arrival waits, road bounds, lost communications and fresh-contact preemption. These execute the production policy methods with native adapters; they do not prove in-engine navigation or mission balance. All 20 focused hunter, motorbike, HQ memory/watch and gameplay regression programs passed; results are saved locally in `.local/hunter-pressure-tests.json`. At the 12 October checkpoint, `python3 tools/check.py` stopped at the pre-existing civilian-traffic assertion that expected `m_CivilianTraffic.Tick(now)` directly in `ServerTick`, although the existing code had moved it to `ServerTickMeasured`. That checkpoint did not establish a full-suite pass. Native validation at that checkpoint was blocked before launch: installed dependency `595F2BF2F44836FB` had a different project manifest from the audited version. No server deployment or restart was part of that change. The next playtest should compare the length of zero-hunter intervals, delivered search orders and actual encounters near the end, alongside active AI and server FPS. A simultaneous radio blackout can spend reserve tokens while old crews remain alive; the three-token and total deployment caps bound that extra load. ## Coordinated hunter encounters (2026-10-04) Every five seconds, when HQ has a fresh actionable report and at least two registered hunter crews are within 1800 m, it can assign one UAZ with a loaded mounted gun to cover and up to two original crews to opposite infantry flanks. These are ordinary physical radio downlinks; undelivered assignments do not cancel the crews' current travel or local combat. The target is the delivered report position, not a live player-position lookup. Unused hunters still receive delivered sightings when a coordinated pair already covers that sector; the pair no longer blocks reinforcements. A newer report for the same belief, displaced by at least 250 m, releases a superseded assignment while surviving infantry teams are still on their road approach. An idle covering gun that no longer sees the fight may redirect with them, so it cannot strand a travelling truck at an obsolete sighting. Deployed infantry and guns with visual contact retain local tactical ownership. These changes use delivered HQ knowledge, not live player coordinates. Approaches reserve separated positions on each arriving vehicle’s own side of the contact, avoiding long drives around the fight just to match the covering UAZ’s direction. Already physical vehicles may stage on moderate terrain relief (up to 2.5 m across the checked footprint), while the original 0.75 m spawning limit stays unchanged. Water and collision checks still apply, and infantry flank probes can search up to 45 m around their planned sector. Candidate gun positions require a clear geometry trace to the reported sector; this does not imply an enemy is currently visible. Checked open ground is available where sparse roads would collapse the formation onto one junction. An already engaged covering vehicle can hold its useful position, including when it acquires visual contact before reaching its planned stage. A flanking crew already in contact, or passing within 140–450 m of the reported sector, can dismount locally instead of following a long road detour to an exact staging point; its driver and passenger receive individual native exit orders while a healthy original gunner with mounted ammunition remains at the weapon. Trucks and vehicles without usable mounted support retain the all-crew dismount path. The group's vehicle is temporarily removed from native usable vehicles so that infantry movement cannot silently turn back into a driving task. A route that would cross too close to the reported enemy gets a wider intermediate point. A flank starts immediately with visual cover, or after fifteen seconds with an armed covering team in position. Native perception, targeting and weapons still control the fire; support availability does not imply actual suppression. Losing cover pauses a supported flank for up to 45 seconds, then surviving infantry can conduct a bounded investigation along the checked flank route without claiming covering fire. Failed foot-order creation falls back to regrouping. Travel budgets scale with the planned route (90–240 seconds), with progressing road approaches extendable to five minutes; dismount, sector search and regroup also have deadlines. Failed movement or radio allocation preserves prior orders. Capture, loss and mission teardown remove only the assignment's own waypoints and crew holds. No new soldiers or ammunition are created by the coordinator. At most three crews respond per encounter and at most five encounters are retained. Other hunters avoid duplicating a contact within 300 m while at least two living teams still own it. A stopped or lost partner no longer blocks a fresh interception by an available hunter. Separate fresh reports with available nearby crews can receive their own teams. An unreachable newer report does not starve a reachable local fight. This is the first coordinated UAZ response, not a replacement for all island AI: native terrain navigation can still refuse a route, and a committed team searches the bounded reported area rather than tracking unseen escapees. Reproducible local encounter evidence and its limitations are recorded in [the UAZ coordination review](evidence/uaz-coordination-2026-10-04/README.md). `HUNTER COORDINATION` and `HUNTER TACTICS` journal records expose allocations, delivery, dismount, cover readiness, flank arrival and regroup decisions. ## Objective crews Radio, supply/medical, extraction and outpost locations have permanent local defence roles. HQ still receives their real reports, but cannot borrow them for searches, couriers, resupply or reinforcement assignments elsewhere. Prison patrols retain their existing release behaviour, and mortar/scout/air-support reservations remain specialized. Within 600 m of an objective, existing living guards are reused. If no guards remain, the site can receive one finite 3–5-member relief crew per round, preserving the site's original faction. Spawning is deferred within 200 m of players and requires standable terrain. Complete native expansion is required before admission. Its native Defend waypoint uses the actual terrain-height objective position and a 40 m radius. No recurring refill loop is introduced. The mission currently has a **medical supply stash**, not a spawned hospital building. This stash participates in objective defence. New objective sites can use the same service by registering their site kind in `ERR_ObjectiveDefence.Objective`. ## Skill, accuracy and perception Mission-owned hostile military AI use `EAISkill.CYLON` for maximum skill while the native aim-error node uses the `REGULAR` random-error distribution with deviations from the mean reduced by 10%. This avoids CYLON's zero-error shooting. Recognition uses the native alerted factor (2.5) even in safe/suppressed states, preserving equipment factors and the engine's visibility/occlusion checks. This does not create through-wall vision or knowledge of unseen players. The authorized original AI code supplied the scoped skill/equipment and detection-hook approach. The separate aim-error reduction is new: no corresponding independent accuracy hook was found in the inspected original. Native `SCR_AIGetAimErrorOffset` and `SCR_AICombatComponent` implementations were used to separate these behaviours. Actual enemy-detection events activate local native combat and bring forward the next HQ report; report delivery still obeys radio routing. Primary-enemy units share HQ. Other hostile factions receive the same scoped skill/aim policy but do not leak intelligence to a mutually hostile faction. Specialist scouts and flight crews retain their authored equipment. Captured/ineligible actors are excluded from the profile, and normal teardown restores prior skill and native perception. See [local awareness and heard fighting](ai-local-awareness.md) for immediate visual snapshots, prioritized reports and uncertain gunfire investigation. ## Audit trail and adjustment The complete HQ journal is `$logs:rereintroduced-hq.log` (existing filename retained). Relevant events: - `AGGRESSION`: delivered body source/slot, distinct-body count, level and allowance. - `HUNTER SPAWN`, `READY`, `WAIT`, `ORDER`, `FAILED`, `RELEASE`: why/where each UAZ deployed, base, crew size, radio order and lifecycle. - `REGISTER`, `SPAWN MEMBER`: group and force identity, faction, prefab, position, members, home and dedicated role. - `ROLE RESERVED`, `OBJECTIVE DEFENCE`: site assignment, reuse or relief deployment and reassignment restriction. - `CONTACT LOCAL`: observed position, source group and local role; at most one diagnostic per group per ten seconds. - `SPAWN PURPOSE`: links body-inspection teams to their reported-body destination. `SPAWN GROUP` also appears in the normal script/console log for mission groups, including non-primary factions. Coordinates are world metres. Changes are event-driven or throttled, not a per-frame unit dump. Existing radio, order, status, search and support journal records remain available. ## Verification Production-method policy tests cover body/status deduplication, three-body thresholds, 30/15 caps, reset, authority/capture boundaries, maximum skill binding/restoration, regular aim-error selection and native perception fallback. The native `aggression` fixture exercises actual body intake, a physical UAZ with seated crew, radio delivery and movement, objective reservations, medical-stash reinforcement admission and teardown. This is local native Workbench validation, not a dedicated-server multiplayer or full 15-UAZ performance benchmark. Final local run: `/tmp/erri-aggression-native7/logs/logs_2026-09-23_15-01-06`. All 14 native assertions and the completion marker passed: full medical defence at terrain height, seated driver/gunner, real radio delivery, driving over 30 m, bounded deployment and surviving-crew profile after release. Source stayed unchanged during the run. The runner reported a transient empty-argv Wine `enfMain` during cleanup; a subsequent explicit private-prefix idle check passed. Existing external localization/resource messages remain in the native log; this is not a clean-log claim. `python tools/check.py` passed, and the final hunter lifecycle and affected skill/body/registration policy tests passed separately. Opening-patrol regressions: `test_hunter_opening.py` executes the actual geometry and order-selection methods, covering angular separation, insufficient candidates, first-contact preemption, in-flight order preservation, lost radio and retry throttling. `test_hq_watch.py` checks the three-to-fifteen allowance across all aggression levels. 2026-09-23 opening-patrol validation: `/tmp/erri-opening-hunters-native2/logs/logs_2026-09-23_17-32-18` completed all 16 native assertions. Three physical UAZs with seated two-man crews and manpacks were confirmed at mutually separated road starts before any fixture body reports. Three distinct delivered body reports then raised allowance to four. The test observed real HQ radio orders and over 30 m of native driving, preserved objective security, and verified survivor handling. Source/addon fingerprints remained unchanged and cleanup was confirmed. Existing external resource errors remain; multiplayer and an actual patrol sighting through the complete uplink were not tested. First-contact preemption is covered by the production-method regression with radio adapters. 2026-10-04 terrain fallback: production-method regressions cover exhausted and occupied opening plans, road/collision/player checks, 600 m opening clearance, 100 m hunter separation, force/vehicle limits and ten-second retry. The previous implementation fails the exhausted-plan assertion. An isolated Nogova dedicated run forced that failed opening, then confirmed three physical independently crewed/radio-equipped UAZs and over 25 m of native patrol movement after a real downlink. This is not qualification of every terrain. Evidence: [review](evidence/hunter-search-2026-10-04/review.json). ### Troop transports reassigned on 5 October Supply convoys no longer spawn troop transports or their two seven-person passenger groups. Hunters deploy the transport as every third finite vehicle, with all fifteen crew in one native group and one passenger medic. The same physical HQ radio, contact orders, driver recovery, dismount, flank/search, regroup, casualty and player-capture rules apply. An unarmed truck cannot take the covering-fire role because that requires an occupied loaded turret. Truck patrol cruise speed is 35 km/h; armed UAZ patrols retain 45 km/h. Native verification confirmed two UAZ layouts (one driver, one turret, one passenger each) and the truck layout (one driver, fourteen passengers). The production crew allocator also spawned and seated all fifteen truck crew in the native engine. Policy tests exercise the actual crew allocator, finite rotation, convoy reservations and existing hunter coordination/recovery. This is not a new live multiplayer combat playtest. See `evidence/truck-hunters-2026-10-05`. 2026-10-05 solo-mission review: `HUNTER STATUS` records active/deployed/allowed vehicles, delivered search sectors and identified bodies once per minute. Unusable approach roads are logged. See `docs/evidence/solo-hunters-traffic-2026-10-05/review.json` for server findings and native civilian recovery validation. ## Split UAZ crew (2026-10-05) A flanking armed UAZ can supply its own mounted cover: the original gunner remains in the turret while its driver and passenger manoeuvre on foot. The foot soldiers receive individually owned movement actions because native whole-group travel waits for the mounted member. Their group, faction, finite crew and HQ identity stay unchanged. Infantry readiness/progress ignores the retained gunner; boarding at regroup still requires the surviving original crew. Foot actions and gunner holds are cancelled on regroup, capture, loss and teardown. The gunner’s own fresh native perception is required to claim visual cover from a split vehicle. Before dismount, an unengaged armed vehicle facing away may attempt one checked 20 m positioning move toward the radio-delivered sector, retaining at least 160 m stand-off. Native steering owns the turn; a 20-second deadline or local combat ends the attempt. No vehicle transform is changed, and a road layout can prevent the desired final heading. Immediate close-contact reactions are not delayed for alignment. A dead/unconscious/foreign/player gunner, empty or unknown mounted ammunition, severe vehicle damage, or drivetrain failure removes mounted support. Individual hold logic then allows abandonment; no replacement gunner or ammunition is created. Existing close-contact handling uses the same loaded/healthy support gate. The central covering UAZ can still retain its full crew while the flank vehicles send their foot pairs. Validation and native movement evidence: `docs/evidence/hunter-gun-team-2026-10-05/review.json`. Tests exercise retention boundaries, split readiness, alignment deadline/combat preemption, cleanup and original hunter regressions. Native driving and infantry movement do not guarantee a clear firing line on every terrain. ## Convoy combat support (2026-10-05) Armed escorts keep their current position when native perception sees the reported fight at 100–600 m. Otherwise, candidate positions are selected from each vehicle’s own approach side and checked for a clear trace to the reported sector. Ammunition trucks retain their withdrawal role. Every 30 seconds during the three-minute contact-memory window, the controller rechecks support without restarting a driver still approaching or resetting infantry routes. A masked arrived vehicle can try another firing position; when no safe clear lane exists it holds and retries. `CONVOY SUPPORT` journal events include the vehicle index, current and ordered positions, reported contact, and failed lane searches. A clear lane is not proof of actual fire or suppression. HQ no longer queues route-resume commands while the convoy tactics controller owns combat or reboarding. The executor still rejects a resume if combat starts after that command was queued.