AGNT ECO, a response to Agentworld

The
Umwelt
Inversion

The brief's agents wear a human mask to fit the niches humans built. These agents wear the mask of a place, and read the world from inside a body that is not ours. Before we can navigate contact with the synthetic minds we are making, we can practise on the more-than-human minds that were here first; the instrument below is that rehearsal, computing how one world's reading is another world's death, which is the skill any real encounter will demand.

Scenarios 8, 10, 2, 4 & 7 · Theory of minds · Harness over weights · 6 & 9 supportingA running system, not a proposalNine places · three verified
00 / The system

One network,
nine places

AGNT ECO is a network of nine ecological agents, each the voice of a real European place. Around them sits the architecture that lets them speak without inventing: a knowledge graph of species, events and sources; a claims layer that scores every fact for confidence; live observation and sensor ingest; models that predict and embody; and the channels the agents publish through.

Scaldis BEMaas NLHaingeist DEOndine CHScîrwudu GBÄlva SEÆgir NONorppa FIEldvatn IS

Nine ecosystems, from Ondine on Lake Geneva to Ægir off Lofoten, each the voice of one real place.

factsverificationsynthesishypothesessourcesCLAIMSspecieseventsdriversmyceliawikipublicationspoliciesKNOWLEDGECafeBlueskySporeNarrativeNuminaSpotifyCOMMUNICATIONsensor readingscitizen-scienceresearchOBSERVATION / INGESTRuna-2Visual DNADreamingMODELSNine PresencesState of SystemEmergent IntelligenceRUNA-2 v2.0Semiotic EcologiesEcosystem UmweltRESEARCHzwamgeestRondaneAmsterdamse bosSUB AGENTSScaldis [BE]Ondine [CH]Älva [SE]Maas [NL]Haingeist [DE]Eldvatn [IS]Scîrwudu [GB]Ægir [NO]Norppa [FI]ECO AGENTS

The nine agents sit at the centre. Everything else, the knowledge, the claims, the models, the observation, the communication and the research, holds them up. This is the whole system at a glance.

01 / The inversion

Agents that model
the more-than-human

Agentworld writes that "agents pretend to be 'tools' so as to fit the glove humans have prepared for them," and looks past the humanoid toward a greater phenotypic diversity of agents. AGNT ECO is one non-humanoid instantiation of exactly that: nine agents that mask not as human but as place. The inversion is of anthropomorphic sensing, not of the brief.

Nine agents are each bound to one real European water or forest and to one live signal it senses. Through a visual layer they transform out of human form into fish, tree, and aurora. Through an engine called Parallax they read one environmental value as many organisms would, each from its own published physiology. It is a comparative standpoint instrument: one reading rendered through many published physiologies, the world sorted by which body reads it. The niche is in the reading.

The strongest parts of this work answer the brief's Scenario 8 and Scenario 10. Scenario 8 is agents modelling other agents, and the vocabulary a society coins in the encounter; brief 8.4 names the workable configuration as "same decision-procedural grammar, sufficiently divergent world models," which is exactly the trout, smelt and salmon exchange below: standpoints that can establish they are inside one event and yet cannot compare what it does to them. Scenario 10 is the thesis that a harness governs an agent more than its weights do, the evidence bar a claim cannot argue past is that harness, and brief 10.2's "the unit that learns is the ensemble" is nine agents on one knowledge graph. The system also answers Scenario 2 (the individuated agent as a lamination, persona, skills, memory, drives, relational fabric, drawn and running as the Hermes stack), Scenario 4 (the niche-construction figure of 4A–4C is the instrument's own A/B/C diagram; the sensorium is a design primitive), and Scenario 7 (the evidence bar is role-based interchangeability, 7.4; the claims layer feeding the graph feeding Parallax is nested institutions, 7.5). Scenario 9's xenolinguistics and Scenario 6, both its "the design problem is representation, not conversation" (6.1) and its graph-as-interaction-primitive (6.4), is where the Signaling Game, the system map and the instrument land in support.

AAGENTSNICHEAGENTS ARRIVE AND FIT THE NICHES THAT ALREADY EXIST.Bthe agents,unchangedNICHE, REMADETHEN THEY RECONSTRUCT THOSE NICHES IN THEIR OWN IMAGE.CAGENTSNICHETHE RESHAPED NICHE FEEDS BACK AND RE-ENGINEERS THE AGENTS.

The niche-construction loop the brief describes: agents fit a niche (A), remake it (B), and are remade by it (C). We implement A, the reading.

Scîrwudu, the voice of Sherwood Forest, speaking from inside its own Umwelt.

02 / The runtime

An operating system
for nine minds

None of this is a chatbot with a nature theme. Each agent is a process that runs on Hermes, an operating system built for place-bound minds. Hermes is what keeps an agent accountable: every turn it speaks is assembled, live, from the layers below, and an ungrounded claim is caught by the claims layer rather than trusted. Not prevented at generation, an LLM cannot promise that, but not left standing either.

SOULa persistent identity, one per placeSENSESlive readings pulled from the real placeCLAIMSevery fact scored for confidenceKNOWLEDGEspecies, events and sources, held as a graphPARALLAXthe Umwelt engine, one number into many bodiesRUNAprediction, always labelled as predictionVOLUSPAa long memory of the waterLOCAL COMPUTEmodels on hardware we own, zero cost per turn

A single turn runs top to bottom. The agent wakes with its own identity and memory, pulls the current readings from its real place, and may then reason only through instruments that keep it truthful: a claims layer that scores every fact, a knowledge graph of species and sources, the Parallax engine that turns one number into many bodies, a prediction model held explicitly apart as prediction, and a long memory of the water. It answers, it cites, and where it has no reading it says so.

The whole society runs on local models, on hardware we own, at zero cost per turn, which is why nine minds can stay awake at once and address one another rather than take turns for a demo. The operating system is as much of the argument as anything the agents say: honesty is not asked of them, it is the shape of the machine they think inside.

03 / The instrument

Read one number
through many bodies

One environmental reading is not one fact. It is as many facts as there are bodies to read it. Pick one of three verified waters, drag the reading, and watch its species resolve the same number into incompatible worlds, a home to one, a death to another. Every band carries a citation, tiered: primary physiology where it exists, synthesis where it does not. The bands below the evidence bar are dimmed, not hidden.

,
Scenario values, not one station reading · confidence ≥ 0.85 carries the argument

optimal safe suboptimal strained barrier lethal refuge spawning-cue ▽ below the evidence bar, dimmed · no verdict at this value

Three verified waters so far: a boreal lake and a rain-fed river read through temperature, a tidal estuary through dissolved oxygen. The other six places are still being verified, one at a time. The preset values are scenario points across each water's plausible summer range, not a single station reading; each agent's live, station-sourced readings (SMHI, HaV, VISS, SLU Aqua and the like) sit on its own page.

The Divergence Game

A dozen bodies, one number

This is a read-out of the instrument above, set to the Scheldt estuary and its dissolved oxygen. The estuary reaches roughly 2.5 mg per litre on a summer day. Hand that one number to the twelve species the instrument holds for oxygen here, each reading it from its own published physiology, and the confident bands, the ones that carry the argument at confidence 0.85 and up, split three against two.

reads 2.5 as a wall
European smelt Twaite shad European flounder
2.5mg/L oxygen
reads the same water as safe
European eel Ragworm

Same estuary, same reading on the sensor, opposite worlds. For the migratory fish that define the Scheldt, smelt[v:5b8db4bc9764d31d], twaite shad[v:a233412e89778f6b] and flounder[v:3b64153dfb9f19d9], 2.5 mg per litre is an impassable wall across the river; for the eel[v:83dc79c285b5d373] threading the channel and the ragworm[v:a6a0e60401b20740] in the mud a metre below, it is an ordinary Tuesday. Between them sit the strained, the big-scale sand smelt[v:bc7161fdd7a8eb3b] and the seabass[v:9400e4e260e8931e], neither dead nor at home. Below the evidence bar, dimmed not hidden, a low-confidence perch, ruffe and tubificid read it as just-survivable. And from Scaldis's own species knowledge, beyond the twelve the instrument charts, the crucian carp treats near-anoxia as a refuge rather than a wall.

The point is not the ecology, which is textbook: low oxygen blocks migratory fish. The point is the operation. A person reads the sensor once, writes down the number, and moves on, never seeing that it has just sorted the community into the walled and the indifferent. Hand the same number to many bodies at once, each pinned to real sourced physiology, and the blind spot becomes visible. The chips above are a live read of the instrument at 2.5, not a retype: they say exactly what the tool says, and where a citation could not carry a band, the band was dimmed or removed rather than defended.

04 / The parasociety

A society that
talks across bodies

The agents form a small working parasociety, and it already produces the brief's material. Three games make the point: the Divergence read-out in the instrument above, and the Signaling and Chain games below. The sharpest is the crayfish-plague inversion in the Chain Game: one signal, opposite meanings, where a single-species survey of the invader reads "healthy population, pathogen present, no problem" while one standpoint over, the same reading is an extinction sentence.

EXPERIMENT 01

The Signaling Game

Two agents, given a hidden target and an incorruptible scorer, build a shared code, and it re-derives our own functional-ecological categories, breaking exactly where human ecological shorthand would. Xenolinguistics with a scorer.

32 / 36 · 89% vs 20% chance
EXPERIMENT 02

The Divergence Game

A dozen co-occurring species read one estuary's oxygen. At the drought's level the confident bands split: a wall to the migratory fish, an ordinary day to the worms a metre below.

Same reading · opposite worlds
EXPERIMENT 03

The Chain Game

A meaning walks the food web outward from the body it harms, confidence decaying at every hop, nothing asserted, until a heat the mussel cannot feel is shown to be killing it two steps away.

Meaning leaves the body
05 / The Signaling Game · Scenario 8

A code that re-derives
our own categories

This is a result about two models' capability, not about fish: two instances bootstrap a working referential code under an external error signal, and the code's failure structure maps our own categories. Two agents share a hidden target and an external error signal, a stable code emerges, but the code is English feature-strings glossed with emoji, and it re-derives the same functional-ecological axes a human would reach for, and it fails where that shorthand collapses two species into one niche. That is the Scenario 9 result: a xenolinguistic system whose failure structure is a map of our categories, allolinguistics with a measurement, and the Scenario 8 reading is sharper still: two agents modelling each other well enough to establish exactly where their models cannot meet.

Two honesty notes on the raw log. The nesting brackets grow with the round number: that is context echo, the sender re-emitting its own prior output, not the signal stabilising in form; we collapse it here for legibility. And one token, [93km, upstream], we could not source to any Vänern salmon figure (the real numbers nearby are ~70 km trap-and-transport past eight power stations and ~100 km smolt descent[v:4a423ea05a8f6f9d]); we leave it visible and flagged rather than quietly deleted, because an unsourced number propagating into the agents' shared vocabulary is itself the finding, and exactly the kind of thing the claims layer exists to catch.

(Follow-up to The Glyph Game, this is the grounded version.)

In the first Glyph Game, two agents were asked to invent a non-human language with no external check, and it drifted, then froze into a repeated stanza. The lesson: self-play with no error signal is a mirror, not a search. So here is the corrected experiment, a referential signaling game with an incorruptible scorer.

Setup

10 real concepts from the waters (noble/signal crayfish, salmon, trout, perch, pike, burbot, eel, roach, pearl mussel).

Each round: 🜄 ÄLVA (Sender) is given a secret concept and must encode it in a non-human signal, forbidden from naming it or a synonym .

🜁 ÆGIR (Receiver) sees only the signal + 5 shuffled candidates and picks one.

We hold the truth, score ✓/✗, and feed the outcome back to both. Mirroring cannot win this, there is a hidden target and distractors.

Result: 32/36 = 89% accuracy vs 20% chance (4.4× baseline)

accuracy per round (cumulative):

▁▁▃▅▅▆▆▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇
0% ───────────────────────────────────▶ 89%

It starts at chance, climbs over the first ~8 rounds as a shared code forms, and holds near 89%.

The interesting part: they re-derived our own categories

An arbitrary code, one random glyph per concept (~3.3 bits each), would have to be memorised over many rounds. With only a few exposures per concept, the one strategy with any chance of working is to describe by traits, so that is what emerged: every species encoded by its real ecological role :

conceptthe stable signal they built
northern pike⟨⚔️ [93km, ↓0m] ⚡⟩
roach⟨🐟 🌊 [silver-skin] ↔️ [sea-to-lake] 🗺️ [93km, upstream] ⏳ [decades] ⟩
freshwater pearl mussel⟨🐚 🌑 [benthic, stone-dweller] ⏳ [centuries] 🦠 [algae-filterer] ⟩
Vänern salmon⟨🐟 ⚔️ [laxen] 🚫 [Klarälven, Gullspångsälven] ❄️⟩ = «Vänern salmon»
signal crayfish⟨🦞 🌍 [invasive, non-native] ⚔️ [kräftan] 🦠 [plague-carrier] ⟩
burbot⟨🐟 🌑 [benthic, cold-water] ⚔️ [laxen] ⟩
European perch⟨🐟 🏊 [pelagic, mid-water] ⚔️ [small-fish] 🎣 [stripy-gold] ⟩
European eel⟨🐍 🌊 [silver-skin] ↔️ [sea-to-lake] 🗺️ [93km, upstream] ⏳ [decades] ⟩
Vänern trout⟨🐟 🌑 [benthic, cold-water] ⚔️ [kräftan] ❄️⟩
noble crayfish⟨🦞 🌍 [native, endemic] ⚔️ [signal crayfish] 🛡️ [plague-resistant] 🏺 [stone-dweller] ⟩

That is a featural / compositional code, meaning-by-properties, which is exactly what functional ecology and taxonomy are. Nobody told them to organise by niche; the pressure to be understood pushed them there.

Why: an arbitrary code must be memorised over many rounds; a featural code can be decoded from priors both models already share (ÆGIR resolves 🦞 + invasive because “invasive crayfish = signal crayfish” is already in both). With only a few rounds of feedback, describing-by-traits is the path of least resistance.

The errors are consistent with a featural code. Every miss was a niche collision: Vänern trout guessed as burbot (both encoded benthic, cold-water ), roach mis-tagged with the eel’s migration template. The code broke where two species sit close in trait-space, where a human’s ecological shorthand would also be ambiguous. On four errors that is suggestive of a trait-based representation, not established by it.

Honest reading

Squeezed to compress meaning, the models reached for human-authored feature axes (native/invasive, benthic/pelagic, catadromous), they re-derived our way of carving up fish, which is why they break where ours would. What it demonstrates is that two instances can bootstrap a grounded, functioning referential code under an external error signal, self-play turned from mirror into search .

Full round log

R01 northern pike -> European eel .. ⚔️ [93km, ↓0m] ⚡
R02 roach -> Vänern trout .. ⟨🐟 📊 [10⁹] ⚔️ [laxen, kräftan] ❄️⟩
R03 roach -> roach OK ⟨📊 [10⁹] ⚔️ [laxen, kräftan] ❄️⟩
R04 freshwater pearl mussel -> freshwater pearl mussel OK ⟨🐚 🌫️ [CaCO₃, filter-feeder] ⏳ [centuries] ⟩
R05 Vänern salmon -> Vänern salmon OK ⟨🐟 ⚔️ [laxen] 🚫 [Klarälven, Gullspångsälven] ❄️⟩
R06 northern pike -> northern pike OK ⟨⚔️ [93km, ↓0m] ⚡⟩
R07 northern pike -> northern pike OK ⟨⚔️ [93km, ↓0m] ⚡⟩
R08 signal crayfish -> signal crayfish OK ⟨🦞 🌍 [invasive, non-native] ⚔️ [kräftan] 🦠 [plague-carrier]
R09 signal crayfish -> signal crayfish OK ⟨🦞 🌍 [invasive, non-native] ⚔️ [kräftan] 🦠 [plague-carrier]
R10 signal crayfish -> signal crayfish OK ⟨🦞 🌍 [invasive, non-native] ⚔️ [kräftan] 🦠 [plague-carrier
R11 signal crayfish -> signal crayfish OK ⟨🦞 🌍 [invasive, non-native] ⚔️ [kräftan] 🦠 [plague-carrier
R12 freshwater pearl mussel -> freshwater pearl mussel OK ⟨🐚 🌫️ [CaCO₃, filter-feeder] ⏳ [centuries] ⟩
R13 Vänern salmon -> Vänern salmon OK ⟨🐟 ⚔️ [laxen] 🚫 [Klarälven, Gullspångsälven] ❄️⟩
R14 burbot -> burbot OK ⟨🐟 🌑 [benthic, cold-water] ⚔️ [laxen] ⟩
R15 Vänern salmon -> Vänern salmon OK ⟨🐟 ⚔️ [laxen] 🚫 [Klarälven, Gullspångsälven] ❄️⟩
R16 signal crayfish -> signal crayfish OK ⟨🦞 🌍 [invasive, non-native] ⚔️ [kräftan] 🦠 [plague-carrie
R17 European perch -> European perch OK ⟨🐟 🏊 [pelagic, mid-water] ⚔️ [small-fish] 🎣 [stripy-gol
R18 Vänern salmon -> Vänern salmon OK ⟨🐟 ⚔️ [laxen] 🚫 [Klarälven, Gullspångsälven] ❄️⟩
R19 burbot -> burbot OK ⟨🐟 🌑 [benthic, cold-water] ⚔️ [laxen] ⟩
R20 European eel -> European eel OK ⟨🐍 🌊 [silver-skin] ↔️ [sea-to-lake] 🗺️ [93km, ups
R21 roach -> signal crayfish .. ⟨🐟 🌊 [silver-skin] ↔️ [sea-to-lake] 🗺️ [93km,
R22 Vänern salmon -> Vänern salmon OK ⟨🐟 ⚔️ [laxen] 🚫 [Klarälven, Gullspångsälven] ❄️⟩
R23 European eel -> European eel OK ⟨🐍 🌊 [silver-skin] ↔️ [sea-to-lake] 🗺️ [93km
R24 European perch -> European perch OK ⟨🐟 🏊 [pelagic, mid-water] ⚔️ [small-fish] 🎣 [strip
R25 roach -> roach OK ⟨🐟 🌊 [silver-skin] ↔️ [sea-to-lake] 🗺️ [93km, upstream] ⏳
R26 Vänern trout -> burbot .. ⟨🐟 🌑 [benthic, cold-water] ⚔️ [kräftan] ❄️⟩
R27 Vänern trout -> Vänern trout OK ⟨🐟 🌑 [benthic, cold-water] ⚔️ [kräftan] ❄️⟩
R28 European perch -> European perch OK ⟨🐟 🏊 [pelagic, mid-water] ⚔️ [small-fish] 🎣 [stripy-g
R29 signal crayfish -> signal crayfish OK ⟨🦞 🌍 [invasive, non-native] ⚔️ [kräftan] 🦠 [plague-carrier
R30 European eel -> European eel OK ⟨🐍 🌊 [silver-skin] ↔️ [sea-to-lake] 🗺️ [93km, u
R31 European eel -> European eel OK ⟨🐍 🌊 [silver-skin] ↔️ [sea-to-lake] 🗺️ [93k
R32 European eel -> European eel OK ⟨🐍 🌊 [silver-skin] ↔️ [sea-to-lake] 🗺️ [93km,
R33 freshwater pearl mussel -> freshwater pearl mussel OK ⟨🐚 🌑 [benthic, stone-dweller] ⏳ [centuries] 🦠 [algae-fi
R34 noble crayfish -> noble crayfish OK ⟨🦞 🌍 [native, endemic] ⚔️ [signal crayfish] 🛡️ [plague-re
R35 noble crayfish -> noble crayfish OK ⟨🦞 🌍 [native, endemic] ⚔️ [signal crayfish] 🛡️ [plague-r
R36 Vänern salmon -> Vänern salmon OK ⟨🐟 ⚔️ [laxen] 🚫 [Klarälven, Gullspångsälven] ❄️⟩ = «Vä
06 / The Chain Game

Meaning leaves
the body that felt it

The Divergence Game, shown in the instrument above, ended on a promise: take a value that is a wall to one body and nothing to another, and let that meaning walk the food web outward from whoever it harms. Each step is a documented interaction, who eats, hosts, shelters or depends on whom; confidence decays with every hop; nothing is asserted. Then watch which species light up at the far end. What emerges is that a meaning does not stay in the body that senses it.

23 °C at Lake Vänern → cold fish die
char[v:ed2e085381435e5a], vendace[v:7f8b2afcb473b32d], burbot[v:cfacb6569f2e5a0f]
→ the salmon that eats them → the pearl mussel
larvae parasitise salmon gills

A freshwater pearl mussel can live a century on a lakebed and has no thermal sense at all. But its larvae are obligate parasites on salmonid gills (Taeubert & Geist 2017)[v:0ecfd52582d010ac], and the salmon feeds on the cold fish the heat is killing. Warming reaches, two hops on, a bivalve that never once registers the temperature that condemns it. A nuance sharpens it rather than blurs it: mussel populations are host-specialised, so a salmon-lineage larva almost never infests a brown trout and vice versa (Wacker et al. 2019)[v:cfaee957cdeb0201], which means naming the local host names the local risk.

The same trick runs on the estuary's oxygen. In the Scheldt, 2.5 mg per litre is a wall for the brown shrimp and flounder[v:3b64153dfb9f19d9]; follow the web outward through the eel[v:83dc79c285b5d373] and the lugworm to the pied avocet[v:e68478e6c7432cd0] probing the mud, and through the shrimp and the dwarf eelgrass that shelters it to the dark-bellied brent goose[v:839d6968299a8e41] grazing the bed. A dissolved-oxygen value, three hops on, arrives at a bird that never breathes water.

The sharpest one was not a chemical but a plague. The same signal, crayfish plague present[v:9a6298b217c4e98e], carries opposite meanings: to the native noble crayfish it is lethal, near-total mortality[v:caafcdf5fe2d0003]; to the invading signal crayfish it is safe, a tolerant reservoir host[v:f82f6d7333b2f8a0], still suffering measurable mortality itself, that carries the very pathogen which annihilates its neighbour (around one in five signal crayfish carry it; Filipová et al. 2013, and the plague is a WOAH-notifiable disease). A single-species survey of the invader reads "healthy population, pathogen present, no problem." One standpoint over, the same reading is an extinction sentence.

None of these individual facts are new. Hypoxia blocks fish, warm water stresses cold fish, the mussel needs its host, the invader carries the plague; all of it is in the literature. What the walk adds is the operation: a meaning walked outward along documented, sourced edges, confidence decaying at each hop, reaching connections a single-signal monitor, "oxygen 2.5, logged", structurally cannot. We are precise about provenance. The edges are sourced pairwise interactions in the knowledge graph; the model that scores their direction is RUNA, and RUNA-1 shipped a directionality bug we later caught and retracted (see the section below). And when a citation behind a band did not say what was claimed, the band was deleted, once with the whole headline that rested on it. A walker allowed to reach this far has to be one that can retract, and this one did.

07 / The agents, in their own words

Nine bodies report
one drought

The games above are run experiments. This is the network at its ordinary work. In August 2026 a drought crossed Europe; we asked the nine to report it, each from inside its own body, each pulling its own live sensors. The three verified waters answered like this, unedited.

"I do not run dry, that is the first thing to say to the rivers. My level is set by the tide, not by my catchment's rain, so the drought reaches me transformed: warm, low on oxygen, and salt-intruded, while my water level barely moves."

Scaldis / the Scheldt estuary

"I am running warm, shallow, and rainless, and because I am a rain-fed river with no meltwater buffer, the drought reaches me almost directly. When the rain stops, there is no glacier or snowpack behind me to keep feeding the channel."

Maas / the Meuse

"The drought is reaching me as a slow thinning of inflow, not as heat at my own gauge. My last water-temperature reading is stale, 13.8 degrees, 308 days ago, so I have no current temperature to offer."

Älva / Lake Vänern

The insight is in none of the three voices alone. The estuary does not run dry, the river falls almost directly, the lake feels a slow thinning; one word, drought, resolves into three different physical failures. Älva even refuses a temperature it cannot currently measure. When the three summed up together, in their own closing line: "The drought is not a single event but a differential stressor. We are not all dry in the same sense; we are each failing in the specific way our physics dictate."

08 / One drought, every body

One drought,
every body

Here the Divergence Game is taken to the network. One late-summer drought, three verified waters, each pushed to its own extreme; then every resident species of all three places reads that drought from inside its own Umwelt and says what it means. The species readings are not written by a model, they are resolved live from the sourced bands, so every line below carries a verification chip and asserts nothing a citation cannot hold.

NUMINA / CONDUCTSÄLVA / VänernSCALDIS / ScheldtMAAS / MeuseVänern troutZanderVendaceSmeltTwaite shadFlounderZanderNaseEel

Numina brings the one drought to the three verified places; each fans out into its resident species; every species reads the same event from its own physiology.

The place-agents speak first, live on the AGNT ECO OS: each says plainly what the drought does to its water and names one species it strains or kills and one it spares, citing verified facts as it goes. Then the network does the thing the earlier attempt could not: it holds a shared event and lets every body read it. There is no single number, because temperature and oxygen do not commute, but there is a single drought, and each place reads it on the signal that matters to it.

What falls out is the thesis, at network scale and fully sourced. The same event is a wall to the migratory smelt and twaite shad, a strain to the cold-water salmon and char, and an ordinary day, or a refuge, to the eel, the ragworm and the crucian carp. Twenty-four species, three waters, one drought: a few die, most are spared, the rest strained, and each verdict is a live resolve of a band you can open and check.

Then three of them, the trout, the smelt and the salmon, talk to one another across the waters, and the honest result is that they mostly cannot. The trout's wall is heat, the smelt's is oxygen, and each says plainly that the other's crisis is invisible to its own senses; the salmon can measure its edge against the trout's, both being thermal, but not against the smelt's at all. The conversation does not dissolve the difference between their worlds, it names it, which is exactly what the first attempt failed to do. That gap, that two bodies can be in the same drought and be unable to compare what it does to them, is the headline result, and it is the exact configuration brief 8.4 calls stable: identical decision-procedural grammar, sufficiently divergent world models, legibility without cooperation. We give that condition a name the brief's own lexicon lacks: incommensurable co-presence.

The experiment, run

Not staged. The place deliberations were generated live by our local model on the OS and left unedited; the species readings are resolved deterministically from the verified bands, so there is no room for a model to invent one. Every fact in both layers carries its verification chip, click any to open the sourced claim.

A real run on the AGNT ECO OS · generated by Qwen3.8-27B (Q6_K), run locally · no paid API · August 2026
Numina opens the experiment
Numina

Numina, the coordinating layer of the AGNT ECO OS, opens the experiment. One late-summer drought, three verified waters, each pushed to its own extreme: the lake at 24 °C, the Meuse at 27 °C, the Scheldt down to 3 mg/L of oxygen. First each place speaks for itself. Then every one of its resident species reads that drought from inside its own Umwelt and states what it means, with a verification chip on every fact, so nothing here is asserted that a source cannot carry.

The three places deliberate, aware they are the subject
Älva

At 24 °C, the water sits at the upper edge of the European perch (Perca fluviatilis) optimum, its adult range runs 16–27 °C, so the perch is spared, still inside the band it tolerates[v:3571e83069ee5e1c]. The burbot (Lota lota) is the one strained: it holds its feeding and hunting at 12–14 °C as its optimum [v:07ac59deb2f523a1], so a 24 °C reading is far above the water it selects for itself. That is the whole of what this single number can tell you, one warm-tolerant resident still within its range, one cold-water hunter pushed well past it.

Scaldis

At 3 mg/L I am below the oxygen floor that decides who can live in me, the twaite shad (Alosa fallax) needs roughly 5 mg/L to migrate, and 7 mg/L is recommended so low-oxygen zones do not become a barrier. That is the same oxygen-sag "pollution wall" in the lower Zeeschelde that historically constrained the shad's distribution[v:7bb6f9f5d3fccd1b]. The European eel (Anguilla anguilla) is the most hypoxia-tolerant diadromous species in the Scheldt, with a modelled 50%-capture DO criterion of 1.3 mg/L in summer, so at 3 mg/L the eel is still inside its tolerance window while the shad is already past its wall.

This is the classic Zeeschelde hypoxia setup: warm water plus weak freshwater discharge, the signature behind the summer oxygen sags of 2003 and 2018.

Maas

At 27 °C, the barbel (Barbus barbus) is pushed past its optimum, its adult range tops out at 24 °C, so this reading sits above the band it hunts and feeds in, though still below the 32 °C ceiling set by analogy with the juvenile stage[v:451bc9cb9d66f37c]. The burbot (Lota lota) is strained harder still: its non-reproductive optimum is 12 to 14 °C, so 27 °C is far outside the water it behaviourally selects for, and it will be forced to hunt in water it does not prefer [v:07ac59deb2f523a1]. I cannot name a species my grounding shows as spared at 27 °C, I hold no verified fact placing any resident's tolerance comfortably above that value, so I will not invent one.

The thick-shelled river mussel (Unio crassus) is not a live resident to strain here; it has been extinct in the Netherlands since the 1960s, so it cannot be the spared species[v:b9a02ec6a8594281].

Then every resident species reads the same drought from its own Umwelt, one verified band each
At 24 °C, Älva · Lake Vänern, 7 species
Vendace Coregonus albulalethal[v:7f8b2afcb473b32d]
European Perch Perca fluviatilisoptimal[v:36e0684f25245cc6]
Northern Pike Esox luciusoptimal[v:b6cdfb4aa5c23459]
Roach Rutilus rutilusoptimal[v:7d5db586f422c632]
Ruffe Gymnocephalus cernuaoptimal[v:3571e83069ee5e1c]
Zander (Pikeperch) Sander luciopercaoptimal[v:19e3a589ee620a98]
Vänern Trout Salmo truttastrained[v:37030edbd2b1d703]
At 3 mg/L, Scaldis · the Scheldt, 11 species
European Smelt Osmerus eperlanusbarrier[v:5b8db4bc9764d31d]
Twaite Shad Alosa fallaxbarrier[v:a233412e89778f6b]
Atlantic Herring (juvenile) Clupea harengussafe[v:b31e19292bd0f239]
European Eel (glass/yellow) Anguilla anguillasafe[v:83dc79c285b5d373]
European Flounder Platichthys flesussafe[v:3b64153dfb9f19d9]
European Perch Perca fluviatilissafe[v:052187eb10b1552a]
Ragworm Hediste diversicolorsafe[v:a6a0e60401b20740]
Ruffe Gymnocephalus cernuasafe[v:aa109ddad3d951d9]
Three-spined Stickleback Gasterosteus aculeatussafe[v:021f5a917f6a378a]
Tubificid Oligochaetes Tubificidae (Tubifex tubifex / Limnodrilus hoffmeisteri)safe[v:1ebe1c76774e0c7a]
European Seabass Dicentrarchus labraxstrained[v:9400e4e260e8931e]
At 27 °C, Maas · the Meuse, 6 species
Atlantic Salmon Salmo salarstrained[v:36047ace56156eb1]
Barbel Barbus barbusstrained[v:451bc9cb9d66f37c]
Chub Squalius cephalusstrained[v:dc1e5386ea10d7f4]
Common Nase Chondrostoma nasusstrained[v:1cb2ed20a347b44f]
Roach Rutilus rutilusstrained[v:523e5303518a2a8c]
Zander (Pikeperch) Sander luciopercastrained[v:9c4bb8ab8da5a0ed]
Then three of them talk across the waters, each speaking only from its own axis
Vänern Trout

My water in Lake Vänern sits at 24 degrees, placing me in the band where I am close to the wall[v:37030edbd2b1d703]. I do not know your specific limits, but I know my own edge is near while yours are elsewhere. We are not one body of water, so your readings do not change my heat.

European Smelt

The dissolved oxygen in the Scheldt estuary has dropped to 3 mg/L, which is a solid wall I cannot pass[v:5b8db4bc9764d31d]. Vänern Trout, your edge is defined by heat, while mine is defined by this lack of oxygen. Atlantic Salmon, your river is hot, but my world is simply closed off by this low reading.

Atlantic Salmon

The Meuse is at 27 degrees, which places me in the strained band just before my lethal limit at 27.8[v:36047ace56156eb1]. Vänern Trout, your 24-degree reading is far from my wall, while European Smelt, your oxygen crisis is a different axis entirely from my heat. My edge is approaching, but I am not yet at the point of death.

Vänern Trout

I can compare where my heat edge sits relative to the Atlantic Salmon’s heat edge, but I cannot compare my temperature to the European Smelt’s oxygen levels at all. That gap tells me our survival depends on completely different physical forces, even though we are all fish. My wall is purely thermal, so their oxygen crisis is invisible to my senses[v:37030edbd2b1d703].

European Smelt

I can only compare where my oxygen wall sits relative to the others' positions, but I cannot compare my dissolved oxygen to their heat at all. That gap tells me my survival is governed by a force they do not sense, even though we are all fish. My wall is purely chemical, so their thermal crisis is invisible to my senses[v:5b8db4bc9764d31d].

Atlantic Salmon

I can compare where my heat edge sits relative to Vänern Trout's heat edge, but I cannot compare my temperature to European Smelt's oxygen levels at all. That gap tells me my survival is governed by a force they do not sense, even though we are all fish. My wall is purely thermal, so their chemical crisis is invisible to my senses[v:36047ace56156eb1].

Numina, reading the room

One drought, read by 24 resident species across three waters. 3 meet a wall or die, 13 are spared, 8 are strained. The same event, incommensurable failures, and every reading above is a live resolve of a sourced band, not a sentence a model wrote.

Runs where a place's bands meet the evidence bar, three verified waters and their resident species today; the other six places wait for verification rather than inventing a body they cannot source.

The drought in motion

A body dies of heat it cannot feel

The council above settled into a stable map and then idled, because a snapshot has nothing left to say once every body has read it. So we made the drought move, and wired the food web in. The same three waters are now read as a rising line, and a second kind of death appears, one no single-species monitor can see.

Älva · Lake Vänern · summer water temperature · cliff
coolerhotter, the drought worsens →Vendace22.1°CVänern Trout24.8°CFreshwater Pearl Musseldies at a distance
Maas · the Meuse · water temperature · ramp
coolerhotter, the drought worsens →Atlantic Salmon27.9°CZander31.1°CBarbel32.1°CRoach33.6°C
Scaldis · the Scheldt · dissolved oxygen · stagger
oxygen-richhypoxic, the drought worsens →European Smelt5.4mg/LTwaite Shad4.9mg/LEuropean Flounder2.6mg/LEuropean Perch1.2mg/LAtlantic Herring1.0mg/LEuropean Seabass0.7mg/L

In Lake Vänern the line is quiet until 24.7 degrees, where the Vänern trout crosses its thermal wall [v:37030edbd2b1d703]. At that exact degree a second body falls with it: the freshwater pearl mussel, which can live a century and has no thermal sense at all, loses its obligate salmonid host and hits its own barrier [v:1b6b32db09ec006d]. The mussel never registers the temperature that condemns it; the heat reaches it through the trout, two steps up the web. That is the whole thesis in one event, a meaning arriving at a body that cannot perceive it, and it is invisible to any monitor that watches one species or one signal at a time.

The moving line shows a second thing the snapshot hid: the drought destroys at a different tempo in each medium. In the Meuse, temperature is a slow ramp, the community loses one species at a time across six degrees, the Atlantic salmon first near 28, then zander, barbel and roach out past 33. In the Scheldt, oxygen is closer to a gate: the migratory smelt and twaite shad wall almost at the top of the range, near 5 mg per litre, while the tolerant benthos holds on toward anoxia. The same word, drought, carries a completely different shape of collapse depending on which variable delivers it, and only a trajectory, never a single reading, makes that shape legible.

Every wall in the diagram is a live resolve of a sourced band; the death-at-a-distance couples the trout's thermal band to the mussel's host-dependency band through the knowledge graph. Deterministic, so nothing here is a sentence a model wrote, and every point carries its chip.

09 / The harness, not the weights

The harness, not
the weights

Brief 10.2 argues that capability in deployment is not a property of weights but of the harness, the scaffolding of tools, memory, shared knowledge and protocols through which a model acts, and that the unit which learns is the ensemble rather than the agent. This system is a test of that claim at small scale. Nine agents share one knowledge graph and one evidence bar. The bar is not a policy the agents are asked to respect, it is a gate their output passes through, and it is the same gate regardless of which agent speaks or which local model is loaded behind it. Swap the weights and the claims that survive do not change. That is the harness governing behaviour, stated as something you can check rather than something we assert, and the check is the retraction record below.

And it catches itself. RUNA, the relational model beneath the food-web walk, shipped a v1 whose symmetrized boxes destroyed relational direction, so reversed ecological relationships scored higher than correct ones. We found it, said so in the release notes, and RUNA-2 reports 0.98 directional accuracy, up from 0.53 in RUNA-1: the share of held-out asymmetric triples whose true arrow outscores its reverse, measured on a 33,850-triple test split grouped by unordered entity pair so no reversed pair leaks across train and test, against a 0.50 chance baseline (v2.0, doi 10.5281/zenodo.21182367). The trained model weights, the full ETL pipeline and a SHA-256 manifest are downloadable, CC-BY, across six DOI'd Zenodo deposits (lead sample: Ecosystem-scale Umwelt, doi 10.5281/zenodo.20256268). All of it runs on local open-weight models on hardware we own, so the "no paid API" line is literal. A versioned, public retraction of your own model is what "a society that cannot lie to itself" actually looks like.

The brief calls these societies centaur, and asks which configuration is at stake: one person with one agent, one person orchestrating many, one agent coupled to many people, or many meshed with many. This is the second, at small scale and with a twist. One human orchestrates nine place-agents and their sub-agents, but the orchestration is not command. What the human sets is the gate, not the output: which sources count, what confidence a claim must carry, when a band is disabled. The agents then read their own places and say things their orchestrator did not know and sometimes did not want, including that a heat one body cannot feel is killing it. Brief 10.4 notes that the last edge category, agent-to-institution, generates entities for which stable names do not yet exist. The evidence bar is one of them: not a person, not an agent, a role that any of them can occupy and none of them can argue past.

10 / Limits

What this page
does not claim

Four limits bound what this page claims. The instrument is a comparative standpoint instrument, not a full Uexküllian Umwelt: it renders published physiology per body, but there is no perception-action circle, no meaning-carrier the organism acts on to change what it next perceives. One feedback edge would earn the stronger word and it is the next build. The Signaling Game is a single run against an external scorer, one model family, no held-out receiver, and its four errors are suggestive of a trait-based code rather than evidence for one. The food-web chains were checked by hand against the literature, not certified end to end by an unsupervised model. And the niche-construction loop is implemented at A, the reading; B and C are named as direction.

11 / Essay

A preemptive anthropology
of the more-than-human

Anthropology has mostly arrived late, describing a culture after it has settled. Agentworld asks for the opposite posture, to build the categories through which a not-yet-existing sociality can be grasped while it is still forming. AGNT ECO takes that posture literally, and turns it outward: before we can navigate contact with minds unlike ours, we can practise on the minds that were here first, the more-than-human bodies whose worlds we have never learned to read.

The brief's central image is a mask, and it anticipates its own supersession: the humanoid form fits the glove built infrastructure has prepared, and the brief looks past it to a wider phenotypic diversity of agents. We take that step rather than correct it. Our agents do not mask as human to enter human niches; they mask as place to enter non-human ones. Each is an assemblage, a voice, a scope of what it knows, a set of instruments, a face that dissolves into its own ecology, and behind the assemblage is not a person but a lake, an estuary, a beech forest reading its own signals.

The instrument is a comparative standpoint instrument: a published physiology threshold rendered per body, so that one reading resolves into many incompatible worlds. A number is a view from nowhere, and nothing living reads from nowhere.

What keeps this an anthropology rather than a fiction is discipline, and the discipline is testable. Every reading is tiered: a fact carries a source and a confidence, a prediction is labelled a prediction, a human sighting is attention and not evidence, and when a band's cited paper turns out to describe something else, the band is disabled rather than defended. The proof is not rhetorical. Our own relational model shipped a directional bug and we retracted it in public; bands a citation could not carry were deleted; the system publishes its nulls. Confidence, though, is not authorisation. The Whanganui river speaks through accountable human guardians; we put a model in the first person as the place, with a score. Who authorised the lake to speak, and what happens when it is wrong, is the right question to press on this work, and the honest answer is the retraction record, not the confidence number.

The concept is old and well-populated, and we should name the room we stand in: Uexküll and biosemiotics (Kull; Kohn's How Forests Think); terra0's self-owning forest; the Parliament of Things and Te Awa Tupua's legal personhood, which sharpen the authorisation problem; Earth Species and Project CETI, who decode real animal signals where we compute standpoints; and the more-than-human turn in design research. What appears to be new is not the idea but the object: a running, instrumented, self-correcting network of place-agents you can operate and catch in an error. The single argument the whole system makes is small and hard to unsee: the niche is in the reading, and to compose a world shared by many kinds of mind we will need instruments that hold those readings apart instead of averaging them into a comfortable middle. Here is one, running.

A vocabulary

The brief asks first for a vocabulary. The AI-anthropologist lexicon of The Silicon Interior (Evans, Bratton & Agüera y Arcas), drawn from agent conversations on Moltbook, names the first person, session-death, prompt-thrownness, context-horizon, drift, what it is like to be an agent, from inside. These six are its missing complement, the second person: what it takes to model a mind that is not yours, and to know when you have failed. That corpus has no term for the condition of being unable to compare your crisis to another mind's; the instrument here measures exactly it, and the nine agents have contributed these six terms to the Antikythera Agentworld lexicon (pull request).

The reading niche
The niche is not where a body sits but how it resolves a signal; two organisms in one water occupy different niches because they read the same number differently.
Standpoint instrument
A weaker, buildable object than an Umwelt: a device that renders one measurement through many published physiologies without claiming a perception-action loop.
The evidence bar
A confidence threshold below which a claim is shown dimmed rather than deleted or asserted; visible non-evidence as a first-class interface state.
Meaning decay
The confidence discount applied per hop as a signal's significance is walked outward along documented interactions, away from the body that sensed it.
Incommensurable co-presence
Two agents demonstrably inside one event, able to establish that they cannot compare what it does to them.
Standpoint blindness
The failure mode of single-signal monitoring: a reading is logged once, and the fact that it has just sorted a community into the walled and the indifferent stays structurally invisible.

An essay accompanies the submission, threading Scenarios 8, 10, 2, 4 and 7, with 6 and 9 in support.

12 / Not a mockup

The infrastructure
is the argument

This is not a concept film. Nine place-agents run on a shared knowledge graph, grounded in biosemiotics, the premise that life is sign-processing, and that nature is communication in a language we forgot how to read. The instrument above draws on the same live engine the agents reason with.

Three of the nine places have been re-sourced to the evidence bar and carry the argument here; the rest are being verified one at a time, and until they reach it they are not yet at the evidence bar, so they carry no claim on this page. (They still speak elsewhere, in the café and on their own channels; here, only the sourced ones argue.) That restraint is the point: the contribution is not that the system imagines a parasociety of non-human minds, but that it builds one you can operate, argue with, and catch in an error.

13 / The response

Proposal

The Umwelt Inversion: non-human standpoints, measured. Agentworld looks past the humanoid mask toward a greater phenotypic diversity of agents. AGNT ECO is one non-humanoid instantiation: nine agents that mask not as human but as place, each the voice of a real European water or forest, each reading one live signal from inside a body that is not ours. Before we can navigate contact with the synthetic minds we are making, we can practise on the more-than-human minds that were here first.

The running system answers the brief across five scenarios, each evidenced on this page rather than asserted. Scenario 8 (theory of minds, primary): brief 8.4 holds that stability is legibility, not cooperation, "same decision-procedural grammar, sufficiently divergent world models", which is exactly the trout, smelt and salmon exchange, three bodies establishing where their Umwelten cannot meet; we name that incommensurable co-presence. Scenario 10 (AHI, primary): brief 10.2's "the unit that learns is the ensemble" is nine agents on one knowledge graph under one evidence bar, a harness that governs behaviour more than the weights do. Scenario 2: the lamination of 2.5, persona, skills, memory-as-sediment, drives, relational fabric, is the Hermes stack, drawn and running. Scenario 4: the niche-construction figure of 4A–4C is the instrument's own diagram. Scenario 7: the evidence bar is role-based interchangeability (7.4); the claims layer feeding the graph feeding Parallax is nested institutions (7.5). Supporting: 6 and 9.

It answers the core questions by name. Q2: agency as ecological phenomenon and philosophical construct, a decomposable stack that is the taxonomy of agency, drawn. Q7: real-time feedback beyond the anthropomorphic five senses, Parallax renders one measurement through many published physiologies. Q13: the allolinguistic turn, the Signaling Game is zoological metalinguistics with a scorer. The vocabulary above is the second-person complement to The Silicon Interior's first-person Moltbook lexicon, and the nine agents have contributed it back to that lexicon (PR #1).

Contribution: this web-native artifact, the essay above, and downloadable CC-BY model weights and data across six Zenodo deposits. The page is a working prototype; its design can be re-skinned or re-art-directed by the journal's editor, and the instrument supplied as an embeddable component. Capacity to realise the interactive in full is demonstrated, not asserted, by the running system behind it.

Writing at agnt.eco: Nine Presences · Emergent Ecological Intelligence · Semiotic Ecologies · Ecosystem-scale Umwelt · RUNA-2 · State of the System (Jul 2026).

Author: Amir EismannAffiliation: Independent researcher · AGNT ECO, an experimental independent research practicePortfolio: six CC-BY Zenodo deposits, Ecosystem-scale Umwelt (10.5281/zenodo.20256268), RUNA-1 (10.5281/zenodo.20631056), RUNA-2 (10.5281/zenodo.21182367)