The town is a body.
100 L is its blood.
A landslide blocks the ghat road at km 42. One health centre, 200 people in shelters, and 100 L of diesel decides whether the pumps keep turning. LIFELINE AI runs the town like an organ system: heart first, lungs second, and never a litre moved without a human saying yes.
Every feature gets its own room
Nothing is stacked on top of anything else. Jump straight to a section, or follow the 30-second path a judge follows: dependency, route, allocation, world.
One DAG: fuel_depot → hospital → water_pump → shelters. Kahn's algorithm fixes the order.
A* over the repo road graph, every saving measured against the 13.0 km detour. No weather API.
Usable volume at 42 °C, lot provenance and runtime hours, before any model speaks.
Segmentation, transcript, reasoning, validation and the ledger, side by side.
Four escalation tiers, hash-chained, ending in a human decision. PAPER QR + TEMPLE BELL PROTOCOL — 0 phone needed to Tier 4.
Deterministic routing and allocation with no network; the three-tier brain runs on Nebius Token Factory and is replayed from its artefact when the link is down.
perceive → plan → act → reflect → escalate → learn, with the tool each step actually calls.
26 configured coordinates, one surveyed town, every template labelled as a template.
The pump cannot run without the heart
Four organs, one DAG: fuel_depot → hospital → water_pump → shelters. Kahn's algorithm decides the order, and the order is the whole argument: fund anything below the heart first and the money is wasted.
Fail the heart and the lungs go with it, because the pump runs off the hospital feeder. This is the dependency the allocation order exists to respect.
4.2 km that cannot be driven
A* with a binary heap over the real road graph. The blocked corridor is not a saving — it is an impossibility. Every percentage is measured against the 13.0 km detour an operator would actually take. Rain is a scenario input; no weather API is called.
Anchored to the 13.0 km detour, not to the blocked 4.2 km corridor. The second number would be a 40% saving that nobody could ever drive.
Scenario input, not a forecast. The agent consumes rain as a parameter; no weather API key is used or claimed.
Road A* runs first. If the last road closes, the same solver re-runs on water edges. Kottur has 0 surveyed water edges, so the relay stays armed and refuses to invent a river.Result: road A* won at 7.8 km; the water leg stayed armed and unused.
A seeded colony walks the graph. The blocked corridor cannot be reinforced, so its trail falls below 1% after 8 iterations while the 7.8 km bypass hardens.
Measure the blood before you spend it
Four deterministic calculations that exist before any model speaks: usable volume at 42 °C, lot provenance, fuel-limited runtime, and the same plan expressed in hours of life. Reproduce every figure with python blood.py --all.
The number going around is −6 L. The diesel expansion coefficient, 0.00084/°C, says 2.22 L. We publish the physics, not the folklore.
Volume correction only. Expansion does not spill diesel; it means the tank holds less mass per litre when it is hot. Evaporation in a sealed tank is a separate, much smaller loss and is not claimed here.
A hash chain makes the record append-only: changing any past lot breaks every hash after it. It is not a blockchain and this repo does not claim one - there is no network, no token and no consensus.
At nameplate load the 70 L plan buys exactly four hours. Mechanical failure is not modelled.
Fuel-limited runtime, not a failure prediction. Mechanical failure, fuel contamination and overload tripping all shorten this and are not modelled - because no failure-sound dataset exists in this repo.
Runtime is fuel divided by the documented burn rate. The 90-minute figure in town.json baseline is measured pump uptime in the first four hours at duty cycle, which is a different metric and is not used here.
What the models actually returned
Segmentation, transcription, reasoning, validation, the credit ledger and the human gate, side by side. Every number below is read from an artefact in the repo, not typed into the page.

Flood_kerala_2018_3.jpg
Noun-phrase prompt "flood water", mask decoded from the model response. One frame, one measured number: 35.3% water extent from 1 mask. The other eight frames and the two sub-1% aerial misses stay in the artefact rather than propping up this panel.
ஏனைச் செய்த நான்கு நான்கு km 42 மைனஸ் நிலச்சரிவு. சாலை ஆறு ஆறு மணி நேரத்திற்கும் மூடப்பட்டுள்ளது. மருத்துவமனைக்கு diesel தேவை..
stored transcript, captured before the Nebius migration and replayed verbatim · no ASR call is claimed or billed · artifacts/voice_reports.json
validator + citations ✓ · run 2026-10-28 04:48:27 UTC · 7.08 s / 3.37 s / 4.88 s this run
The model proposes; the validator re-checks every hard constraint in code. Nothing is trusted from the model.
When the one person with the phone does not answer
A single approval button is a single point of failure. Four tiers, each one logged to a sha256 hash chain so the record cannot be quietly rewritten. PAPER QR + TEMPLE BELL PROTOCOL: 0 phone needed to Tier 4.
nothing is dispatched until a person decides
SMS, WhatsApp and voice payloads in 8 languages, PENDING_CREDENTIALS
50 L hospital, 20 L pump, 30 L reserve held
3 shelter leaders, 2 of 3 must agree
Less than the plan, never zero. Thirty litres stay in the depot because a second wave, a second town or a rescued convoy must not find it empty.
Tier 2 and tier 4 compose SMS, WhatsApp and voice payloads in the reader's language. The words are model-drafted and reviewer-checked; the spoken ones are rendered to audio, so a reader who cannot read still hears it.
Step 7 of the last run armed tier 2 at T+5 min across sms, voice_call, whatsapp. Nothing was sent.
Kottur ghat km42 blocked, bypass 7.8km. Hospital gen 4h left. Reply 1 to dispatch fuel, 2 to cancel.
70 litres to the hospital, 30 litres to the water pump, 100 litres in total
Drafted by nvidia/nemotron-3-super-120b-a12b · reviewed by nvidia/nemotron-3-super-120b-a12b · 14 clips / 161.3 s rendered locally. No gateway is configured: nothing was dialled, and every payload is still PENDING_CREDENTIALS.
“சரி அனுமதிக்கிறேன்.”
A misheard “no” must never dispatch fuel, so the model gets one vote and the word matcher gets another. Each language is sealed separately. Cost $0.0009 for 7 runs. No gateway: nothing was dialled.
Each shelter holds a printed card with three signed codes. No app, no battery, no signal.
The one speaker the whole town can hear. Two strikes means tier 3 is live; three means tier 4.
Three leaders, two of three agree, the decision is written by hand and hashed at the desk.
Bell idle. Two strikes mean tier 3; three mean tier 4. No phone, no battery, no signal.
Protocol design, not a deployed gateway. Nothing here claims a message was sent.
The core runs with the wire cut
The core - routing, topological order, the 70/30 validator, the ledger - runs on this laptop with the network off. The brain is Nebius Token Factory: Nemotron 3 Ultra for the decision, Super for review, Nano for volume, with the live run replayed from its artefact when the wire is down.
Wi-Fi off. LIFELINE_OFFLINE=1. The deterministic core — A*, Kahn sort, the 70/30 validator, the ledger — runs entirely in under 1.2 GB on this laptop. No API key is read.
The model is Nemotron 3 Ultra 550b-a55b on Nebius Token Factory, with Super 120b and Nano 30B behind it. Every call is stored with its latency, token count and cost, then re-checked by code.
Any local model as the brain. This 6 GB laptop runs the deterministic core only. The speech is MMS-TTS on CPU — explicitly not an NVIDIA model — and the UI says so.
3/3 calls answered · Ultra 3.37 s · Super 4.88 s · Nano 7.08 s · $0.00595 total · validator PASS · citations resolved. Stored in artifacts/nebius_proof.json and checked in code, not trusted from the model.
A loop, not a script: eight steps per incident
The same sequence the CLI runs: perceive, listen, order, route, allocate, budget, approve, replan. The 90 min baseline is a documented assumption in the README, not a field trial; the 30 min agent figure times the eight steps.
PERCEIVE
pre-migration masks, replayed and re-checked
- 9 flood photographs, masks stored as artefacts
- prompt kept with the masks: "flood water" — a bare noun phrase
- masks replayed and re-checked: 59.4% worst frame
The 90 min manual baseline is a documented assumption in the README, not a measured field trial. The 30 min agent figure times the eight steps above.
One point query, any point on Earth
Built in Kottur because that is where the numbers are real. The same cascade exists in Manila, Jakarta, Nairobi and Khartoum — and the page says exactly which data is surveyed and which is a labelled template.
The same arithmetic runs on any coordinate. Type a point and the agent matches the nearest configured town.
Surveyed case: reserve and demands come from town.json in this repo.
Coordinates are real. Only Kottur has a surveyed fuel scenario; every other point returns the labelled generic template, never an invented local litre count.