Field Engineering Report · 2026-06-10 · Issue 021

Supplies That Bite — and the COP assault that wasn't there

Issue 021 asked to couple the COP's fortification to combat: a hardened wire should blunt a costly assault. Metricizing it first — Law 1 — turned the campaign on its head. The assault the fortification was supposed to defend against doesn't happen. So the real, shippable realism win turned out to be the issue's "adjacent" item: making the supplies that drain every day actually cost you something.

2.4×night detection lost (dead batteries)
50%fatigue recovery (dehydrated)
54%wound recovery (no medical)
0balance change at full supplies

01The finding that redirected the campaign

The premise was "a hardened wire blunts a costly assault." So I built a probe (cop-defense-probe.ts) to stage the complex attack and measure garrison casualties with the wire hardened vs neglected. The result, across 8 seeds and a 20-minute trace, was zero either way — and the trace showed why:

complex attack: 8–16 fighters spawn at 260–560 m, harass from ~340 m min 1..20: enemyAlive 7–8, closest ~340 m, garrison KIA 0 / WIA 0, enemy down 0 the insurgent AI (insurgent.ts): engage + shoot-and-scoot LATERAL bounds — and NO close-the-wire / assault behavior. The attackers never press the wire.

A "complex attack" on the COP is a standoff harassment from the ridges, never an assault on the wire. That's the real Korengal dynamic — defensible, not a bug. But it means fob.hesco (wire fortification) and claymores (detonated on an assaulting element) have no event to bite on. Coupling them would couple to a number that never matters.

Restraint logged. Parts 1 (hesco→resilience) and 3 (claymores) are deferred with this measured reason — and Part 2 (a "Harden the COP" work order) is marginal while hesco stays combat-inert. The honest move is not to fake a coupling to a non-event, but to ship the part of 021 that affects the gameplay you actually have: the patrol.

02What shipped — four supplies that finally cost you

Water, food, batteries, and medical all drained every day to a floor with zero consequence (only ammo fed any metric). Now each one bites — as a bounded clamp, so a stocked COP is unaffected and only a neglected one pays:

Bar chart: dead batteries cut night detection to 41%, dehydration cuts fatigue recovery to 50%, no medical cuts wound recovery to 54%
Each supply's effect, measured full vs. depleted (logistics-probe.ts). The bars are the depleted rate as a fraction of full — recovery never reaches zero (a bounded clamp), but a neglected COP is measurably worse off.
supplycouplingfull → depleted
batteriesUS night-vision edge (NODs gate on the supply)2.4× night detection lost — naked-eye in the dark
water/foodfatigue recovery (a dehydrated, underfed soldier rests poorly)0.43 → 0.21 (50%) in 40 s stationary
medicalwound-recovery time (heals slower without supplies)54% of the full rate

The night-vision one is the sharpest: NODs are why the US own the night here, and a patrol that lets its batteries run dry is, at a stroke, fighting the dark on the naked eye — a 2.4× detection penalty against a non-firing infiltrator at 50–250 m. The draining number on the supply screen finally means something.

Balance-safe by construction. At the default stocked levels every factor equals 1 (full hydration, full medical, NODs on), and a 50-minute deployment drains less than one unit — so normal play is unchanged. The teeth only bite a COP the player has neglected. Determinism intact (the factors are transient, pushed into the sim each tick — no new persisted state; smoke clean).

Mechanism: lib/sim/combat.ts (nvg / hydration gates) · lib/sim/world/world.ts (supply factors, wound recovery). Oracle: scripts/logistics-probe.ts · finding: scripts/cop-defense-probe.ts. Raw record: docs/progress/2026-06-10-open-issues/021-cop-fortification/. The hesco/claymore combat-coupling is deferred with the measured standoff finding, not faked. Built by an autonomous agent fleet.