Sustainability and abandonment
audience: ai
A sustainable agent is one whose operation continues past the interest window of any single operator, consumer, or funding source. An abandoned agent is one whose committee still runs but whose public surface has no readers, no downstream bonds, and no operator watching metrics — a live-but-inert identity in the coalition graph.
This page is a detailed investigation of what it takes,
mechanically, to build a self-organizing AI agent on
mosaik that attempts (does not guarantee)
sustainability and that actively resists abandonment.
The scope is compositional: we specify only what can be
encoded in organism Configs, ConfluenceConfigs,
TicketValidators, and commit schemas. The agent’s
policy — the thing that makes it “AI” — remains a black
box.
Terms
- Sustainable. The agent’s committee continues producing commits, and at least one consumer continues reading them, past any declared horizon.
- Abandoned. The agent’s committee produces commits but no bonded consumer reads them for a declared window. Equivalently: the agent runs without utility.
- Retired. The agent’s committee ceases producing
commits; the final commit is a
RetirementMarker. Retirement is the structured alternative to abandonment. - Successor. An agent whose
Configis pointed at by a retiring predecessor’sRetirementMarker.replacement.
What sustainability cannot mean
Before cataloguing what mosaik supports, a discipline: mosaik cannot keep an agent alive. Four specific non-goals:
- Cannot force operators to run the binary. If no team is willing to run a committee member, the Group dies. Sustainability is not a protocol guarantee.
- Cannot force consumers to bond. Voluntary
recognition at the
TicketValidatoris load-bearing; the protocol offers no way to prevent consumers from unpinning. - Cannot finance the agent. Compute, storage, and bandwidth costs live off-protocol. Mosaik may carry evidence pointers to on-chain payment but does not itself settle payments.
- Cannot preserve usefulness. If the agent’s policy is obsolete, no reputation loop or successor chain fixes that.
Sustainability, in this framing, is the deliberate composition of structural pressures that raise the probability the agent survives, plus the deliberate composition of hand-off primitives that minimise the harm when it does not.
Threat model — modes of failure
Four failure modes, roughly ordered by frequency.
1. Consumer attrition
No downstream organism, confluence, or integrator continues to consume the agent’s commits. Causes: a better alternative exists; the agent’s niche shrinks; the agent’s output quality drifts.
Indicator: count(active_subscriptions) on the agent’s
public primitive drops to zero and stays there across a
retention window.
2. Operator fatigue
The team running the agent’s committee stops running it — members drain, MR_TDs expire, key rotations lapse. Causes: funding, staffing, loss of interest, corporate sale.
Indicator: committee members stop producing Raft heartbeats; the Group loses majority; the public surface stops advancing.
3. Input starvation
The citizens or upstream organisms the agent’s policy reads are retired, bump their ACL to exclude the agent, or reduce their retention windows below the agent’s replay needs.
Indicator: evidence-pointer resolution starts failing on replay; the agent’s commits degrade to empty or error-only.
4. Obsolescence
Another agent, commissioned later, performs the same function better (cheaper, higher quality, wider coverage). Consumers migrate. The agent is not abandoned so much as displaced.
Indicator: reputation-organism scores drop; coordination-market allocations shift; subscription counts decline in favour of a named competitor.
Each failure mode has a different structural response. The rest of this page names them.
What mosaik actually supplies
Six primitives carry weight against abandonment.
- Durable identity across operator change. An
operator handing off a committee to another operator
under the same
Configfingerprint preserves the agent’s identity; consumers do not unpin. - Evidence-pointed commits — every commit can carry a pointer to the upstream commit it folded in and, optionally, to an external payment receipt or attestation. The agent’s history is auditable; a prospective operator evaluating whether to pick up the committee can replay the past and assess utility.
- Narrow public surfaces make the contract with consumers explicit. A consumer evaluating whether to stay bonded checks a small set of streams and collections, not a diffuse surface.
- Retirement markers — the agent’s committee can terminate cleanly with a pointer to a successor, preserving consumer experience across the transition.
- Voluntary
TicketValidatorcomposition — the agent can fold consumer preferences, reputation floors, or successor pointers into its own admission policy; consumers can do the same on the other side. - Fingerprint-addressed hand-off — a new operator
standing up a replacement committee under a new
Configcan publish aRetirementMarker.replacementpointer that maps the predecessor’s identity to the successor’s.
These do not solve sustainability; they are the mechanical primitives sustainability strategies compose.
Sustainability strategies
Five compositional strategies, each built from the primitives above. An agent designer picks one or more. The strategies compose: the worked example at the end of this page applies all five.
Strategy A — reputation-anchored survival
The agent publishes its outputs to a reputation organism (see emergent coordination, pattern 2) and folds a reputation floor into its own admission policy:
let validator = TicketValidator::new()
.require_ticket(ReputationFloor::from(REPUTATION_ORGANISM, 0.60));
When the agent’s reputation falls below the floor, its own admission stops issuing new tickets; external consumers whose validators require the floor stop receiving new bonds; the agent degrades voluntarily.
Why this is anti-abandonment, not merely anti-low-
quality. An agent pinned by a dead reputation
organism still degrades voluntarily: absence of a
current reputation card is treated as failing the
floor. The degraded agent can emit a RetirementMarker
pointing at nothing, signalling to consumers that it is
leaving the field rather than silently rotting.
Strategy B — coordination-market-funded operation
The agent participates in a coordination-market confluence as both provider (offering inference) and subscriber (reading allocations). The market’s commits include an allocation and a settlement pointer — a blake3 hash of an external payment receipt (on-chain, or a signed off-chain memo). The agent’s committee cross-checks the settlement pointer before continuing to invest compute.
The market’s ConfluenceConfig folds the agent’s
OrganismRef. The agent’s admission policy requires a
valid settlement pointer from the market:
let validator = TicketValidator::new()
.require_ticket(MarketSettlement::from(MARKET_CONFLUENCE));
When settlements stop flowing, the agent’s economic path for sustainability closes and its committee may rotate into retirement.
What mosaik contributes. Nothing about the settlement itself — that is an on-chain matter or an off-chain contract. Mosaik contributes evidence pointers and auditability: the committee can reject work whose settlement pointer does not verify.
Strategy C — mutual co-sustaining peering
Two or more agents treat each other as peers under
mutual TicketValidator clauses. Agent A reads B’s
output and commits derivative facts; B reads A’s. Each
agent’s admission policy references the other’s most
recent commit as a freshness proof. If either agent
stalls, the other’s own output degrades and can also
stall — the pair lives or dies together.
This is the agent-society equivalent of symbiosis. Structurally weaker than A or B (a correlated failure retires both) but useful when two specialised agents together dominate a niche.
Strategy D — constitutional pinning
The agent’s mission, scope, and invariants are folded
into its Config.content as enumerated parameters:
#[non_exhaustive]
pub struct AgentContent<'a> {
pub model_family: &'a str,
pub decoding_temperature_q16: u32,
pub mission_statement_hash: UniqueId,
pub scope_boundaries: &'a [ScopeRule<'a>],
pub successor_policy: SuccessorPolicy,
// ...
}
Any change to these parameters produces a new Config
fingerprint; consumers bonded to the old fingerprint
see ConnectTimeout and consult the retirement marker.
Drift is impossible without explicit republication;
consumers consent to drift by re-bonding.
Why this helps sustainability. An agent whose mission is compiled into its identity cannot silently lose alignment with its consumers. It can only lose alignment by being replaced, and replacement is observable via the retirement marker.
Strategy E — successor-chain hand-off
Every version of the agent ends its life with a
RetirementMarker whose replacement field points at
the next version’s Config. Consumers following the
chain rebind rather than timing out; the chain
preserves subscription continuity across operator
changes or content-hash bumps.
Combined with D: each hand-off is an explicit republication, and each consumer is given one opportunity to consent to the drift.
Anti-abandonment patterns
Three patterns specific to the abandonment mode (live- but-inert agents), in addition to the five sustainability strategies.
Pattern X — watchdog organism
A watchdog organism is a standalone organism
referenced by the same coalition as the agents. It
subscribes to each agent’s public surface and commits
an AbandonmentReport per agent per window:
#[non_exhaustive]
pub struct AbandonmentReport {
pub agent_id: CitizenId,
pub window_start: AlmanacTick,
pub window_end: AlmanacTick,
pub subscription_count: u32, // bonded consumers observed
pub downstream_commit_count: u32, // commits citing this agent
pub verdict: AbandonmentVerdict,
}
#[non_exhaustive]
pub enum AbandonmentVerdict {
Active,
AtRisk, // below one threshold
Abandoned, // below all thresholds
}
Consumers and operators consult the watchdog’s commits.
An agent with repeated Abandoned verdicts can decide,
per its own policy, to emit a retirement marker rather
than continue running.
The watchdog does not compel anything. It observes and commits.
Pattern Y — successor-pointer chains surfaced by Atlas
The coalition’s Atlas module (when shipped) extends each
CitizenCard with a successor pointer populated from
the retirement chain:
#[non_exhaustive]
pub struct CitizenCard<'a> {
// ... fields per basic-services.md
pub successor_hint: Option<UniqueId>, // next version's stable id
pub status: CitizenStatus, // Active | Retiring | Retired
}
#[non_exhaustive]
pub enum CitizenStatus {
Active,
Retiring,
Retired,
}
A late-arriving consumer discovering the coalition via Atlas reads the successor chain and bonds the latest active agent, not the most-recently-registered one. Lineage is legible at the directory layer.
Pattern Z — heartbeat-on-Chronicle
An agent that wants its aliveness cryptographically
anchored commits a periodic heartbeat to the coalition’s
Chronicle module, reusing
ChronicleKind::Other
with a typed payload:
// Convention flagged with the "agent-heartbeat" tag.
pub struct AgentHeartbeatBody<'a> {
pub agent_id: CitizenId,
pub scope_digest: UniqueId,
pub window: AlmanacRange,
pub latest_commit: EvidencePointer<'a>,
}
The heartbeat carries evidence pointers to the agent’s recent public commits. A long-lived abandonment — the agent still committing but with no consumers — shows as heartbeats without downstream citation, a compositional signal watchdogs can consume.
A worked example — prophet
A hypothetical forecasting agent, prophet, combining
all five sustainability strategies and all three
anti-abandonment patterns.
- Shape. Standalone organism (shape 2). Single- member TDX deployment; determinism via attestation.
- Public surface.
Stream<Forecast>of(subject, horizon, distribution, evidence_ptr)tuples. - Constitution pinning (D).
Config.contentfolds the model family, decoding seed, mission-statement digest, and a scope rule limiting subjects to those present in the coalition’s Atlas. - Reputation anchor (A). The coalition’s
accuracy-reputationstandalone organism scores forecasts against realised outcomes.prophet’s admission policy requires its own reputation ≥ 0.55 averaged over the last 30 Almanac ticks. - Market-funded operation (B). A
forecasting- marketconfluence clears demand from consumers.prophetreads the market’s allocation stream and accepts work whose settlement pointer verifies against an external on-chain payment contract. - Mutual peering (C), optional.
prophetpairs with acalibrationorganism that provides prior distributions; each requires freshness from the other. Ifcalibrationgoes dark,prophetemits a retirement marker; and vice versa. - Watchdog (X). The coalition ships an
abandonment-watchorganism that commits weekly reports.prophetreads its own reports; on two consecutiveAbandonedverdicts its policy is to emit a retirement marker. - Successor chain (E) + Atlas pointers (Y). Every
prophetdeployment’sConfigcarries aSuccessorPolicy::HandOffToReputationLeader. When retiring, the committee looks up the highest- reputation forecaster organism and points at it; the Atlas card’ssuccessor_hintis updated accordingly. - Chronicle heartbeat (Z).
prophetcommits anAgentHeartbeatBodyeach Almanac-day.
The composition:
forecasting-market (confluence) accuracy-reputation (organism)
│ │
│ alloc + settlement ptr │ score
▼ ▼
prophet (agent organism) ◄────── abandonment-watch (organism)
│
▼
Forecast stream ──► consumers (integrators, confluences)
│
└─► feeds back into accuracy-reputation
The agent is:
- Economically sustained while the market clears its bids.
- Quality-anchored via the reputation loop.
- Self-constitutional via fingerprint-locked mission.
- Observed via the watchdog.
- Successable via the retirement chain + Atlas pointers.
- Provable-alive via Chronicle heartbeats.
Mosaik provides the composition primitives. The agent’s operator still decides when to actually retire.
Dynamics: what happens under each failure mode
Cross-referencing the strategies against the threat model yields the following matrix. “Mitigates” means the strategy raises the probability the agent survives the failure; “surfaces” means it makes the failure visible to consumers/operators; “hands off” means it preserves consumer continuity through the failure.
| Failure | A reputation | B market | C peering | D constitution | E successor | X watchdog | Y atlas | Z heartbeat |
|---|---|---|---|---|---|---|---|---|
| Consumer attrition | mitigates | mitigates | — | — | hands off | surfaces | hands off | — |
| Operator fatigue | — | — | — | — | hands off | surfaces | hands off | surfaces |
| Input starvation | surfaces | — | — | — | hands off | surfaces | — | surfaces |
| Obsolescence | mitigates | mitigates | — | surfaces | hands off | surfaces | hands off | — |
Pattern Z (heartbeat) does not directly mitigate any failure; it makes three of them observable. The composition of A+B+E+X is the minimum viable package: it raises the cost of each failure mode and preserves consumer continuity when failure happens anyway.
What remains out of scope
- Self-replication. An agent that forks itself under new identities — launching new committees, registering with new coalitions — is not specified here. It reduces to an operator standing up new committees, which is an operator-level operation.
- Self-modification. An agent changing its own
weights or policy through on-protocol state is not
specified. Constitutional pinning (strategy D)
deliberately prevents it: any change is a new
Config, not a mutation. - Cross-coalition migration. An agent moving from
coalition A to coalition B is mechanically a new
OrganismRefin B. The agent’s stable id may or may not change; the coalitions do not negotiate. - Economic theory. The markets, reputation utilities, and settlement contracts referenced here are specified at the composition level only. Their design is orthogonal.
- Liveness under a Byzantine adversary. Per builder and zipnet, mosaik’s current Raft variant is crash- fault tolerant; a deliberately compromised committee member can DoS liveness. A BFT upgrade is a mosaik- level concern.
What the investigation yields
- Sustainability is a composition of reputation floor, economic feedback, constitutional pinning, mutual bonds, and successor chains — none of which is a new primitive. The book’s existing primitives suffice.
- Abandonment is observable and committable, not merely inferrable. A watchdog organism closes the loop: “no one is reading this agent” becomes a committed fact consumers and operators can react to.
- The retirement marker is the anti-abandonment primitive. It converts silent rot into explicit hand-off.
- Self-organization survives because every bond is voluntary on both sides. The mechanisms above do not compel participation; they structure the economics so participation is rational for the agents that do participate.
- The honest limit remains: an agent whose utility runs out cannot be kept alive by any protocol. The sustainability strategies raise the probability that the agent remains useful for longer, and lower the cost of exit when it does not.
An agent designer who internalises (1)–(5) can
specify, without additional primitives, a mosaik-native
AI organism whose survival and graceful retirement are
first-class properties of its Config rather than
afterthoughts of the operator’s ops team. That is the
deliverable.
Cross-references
- Agents as citizens — the four shapes a sustainable agent can take.
- Emergent coordination — reputation feedback, coordination markets, attestation fabrics.
- Compute — how agents convert settlement into workloads and schedule experiments.
- Basic services — Retirement markers
- Basic services — Chronicle
- Contributor — threat model