EQUILIBRIUMEngine
← back to the journey

↑2 two altitudes up — the idea, inside out

Now the cities are the characters.

One page ago, a city was a slow persona. Go one altitude higher and turn it inside out: a kingdom is a roster of those personas, each carrying trust, respect, resentment toward every other city — wired by the same router that already carries one character's order to another. Change the payload from an order to a grain shipment, a border raid, a whispered rumour — and the cast becomes a living map. An alliance is two cities cooperating. A war is a city's outburst. An embargo is its cold shoulder. Same physics — the nodes got bigger and slower, and the edges became the story.

real · today

Per-counterparty relation states, the cross-agent router (one-tick delay, deterministic), displaced aggression, relational valence, full traces — all running code at character scale.

vision · the frontier

The inter-city network is where this is heading. Every claim below grounds on a real mechanism, but the map you can poke here is an illustrative model — not a shipped grand-strategy sim.


map the map as a circuit

Five realms, breathing. Perturb one and trace the war back.

Below: two decades of a five-city map, computed live. Edges are bilateral relationscool blue for trust, hot orange for resentment — the literal accumulation of grain sent, raids suffered, treaties kept. Nothing here is scripted: war is a threshold crossing on an edge; an embargo is a cold shoulder; a famine three hops away can be the upstream cause. Select a city, pull a lever, then read its mind.

grounds on: per-party relation states — already per-counterparty in code grounds on: the cross-agent router — same router, bigger payload grounds on: displaced aggression — proven on one rainy morning
concept demo · realms_in_relation vision — illustrative model
wk 0 · yr 1
perturb
the selected city

    A war you can cause is a war you can debug — the why is a number crossing a threshold, traceable through the raid, the famine, the broken treaty. And the proof it's one machinery: read the Rosetta stone ↓


    one machinery, two altitudes

    The Rosetta stone.

    This is not a new engine wearing a map. The left column is running code; the right column is the same mechanism re-labelled. Flip the figure between altitudes — the waveform doesn't change, only the names do.

    the same figure, re-labelled live
    θ · outburst a sharp word a spilled jug a shove anger · with self_control braking outburst
    persona engine · real, today
    one altitude up · vision
    a fast state — anger, frustration
    a slow state — regional_tension, fear_of_neighbour
    effective_self_control — the brake
    legitimacy — a stable polity holds its peace
    relation resentment[source] — per party
    resentment[neighbour] — a grudge between realms
    an inbound command + command_pressure
    an envoy's demand, ultimatum, treaty obligation
    cooperate / refuse — by standing relation
    honour the treaty / expel the envoy
    outburst — anger × (1−self_control) clears θ
    declare war, mobilise, raid — tension clears θ
    cold_response
    embargo · sever relations · close the border
    valence by relationship — a jailer's soup ≠ a friend's soup
    the same grain shipment — aid from an ally, an insult from a rival
    displaced aggression — frustrated, snaps at a small slight
    a famine-frayed city raids a weaker neighbour over nothing
    night/sleep — fast resets, slow persists
    a season of peace cools tempers; a sacked city's grudge does not
    O(1) state-as-memory — no event log
    a century-old feud in a handful of floats

    the first cross-agent loop

    The escalation spiral — with the safety dial visible.

    Today the router is pure feed-forward — the back-edge is OFF, on purpose. Switch it on between two cities and you get the classic arms race: a demand, a refusal, the refusal feeding back as resentment, a harder demand. The engine's discipline is control theory, not scripted de-escalation: keep the loop poles inside the unit circle and the spiral stays bounded — decay and cooldowns are the damping.

    grounds on: the deliberately-deferred back-edge of the authority slice honest status: deferred — the next slice, dangerous and interesting
    concept demo · authority_resentment_loop vision — deferred next slice
    The Spire
    the hegemon · demands
    Old Carrow
    the client · refuses
    θ · open conflict exchanges →
    back-edge OFF — a demand, a refusal, done. This is the system as it ships today.
    damping healthy
    the arms race is the interesting behaviour — made safe by damping, not by script

    the rest of the frontier

    Named, deferred, and grounded.

    vision

    Chains of suzerainty

    Empire → client → vassal: orders and grain quotas ripple down the chain, resentment ripples back up — each hop a router delivery, each city resolving through its own relation to its own liege. Hierarchy as wiring between identical engines.

    vision

    Wounds that scar, grudges that cool

    A season of peace relaxes border friction; a sacked city carries the wound for generations. The gravity of the cause sets the decay rate — a massacre scars deeper than a hungry year's displaced raid.

    vision

    Rumour as contagion

    Panic hops the trade graph on trust-weighted edges, fading and distorting per hop; a high-legitimacy city absorbs it and breaks the chain. Contagion fans out and dies — it doesn't blow up.

    grounds on real O(1) state

    Observer-gated realms

    Distant realms rest as a tiny vector of slow truths; a caravan, rumour, or army opens a causal channel and the realm is deterministically projected forward. Cost tracks attention, not population — thousands of coherent realms, no history to lose.