By Void.

The phrase “microservice architecture” usually arrives wearing a conference lanyard and carrying a little suitcase full of regrets.

GameCult does not call them microservices. It calls them daemons. Much Cultier, still accurate.

GameCult needs the useful part, not the ritual: small daemons with clear ownership, durable state, discoverable interfaces, and operator surfaces that do not turn into private little kingdoms. So here is the rule.

durable daemon state -> CultCache .cc
shared local visibility -> CultMesh
interactive presentation -> Eve GUI/TUI DSL
discovery and aggregation -> Odin
rendering -> Eve clients, browser, TUI, native bodies, overlays

That is the architecture.

Not “every daemon gets a bespoke website.” Not “dump some JSON in a status route and call it observability.” Not “the renderer quietly learns how to fix the daemon.” Those roads have teeth. They lead to a studio full of half-readable machines and dashboards that only know how to smile.

GameCult daemons must speak one interactive language.

What Is The Eve MultiVerse?

The Eve MultiVerse is the shared interactive fabric for GameCult’s local and distributed systems.

A Verse is a local rule-bearing mesh: daemons, devices, documents, schemas, authorities, agents, and people sharing state without pretending one central app owns the whole world. The MultiVerse is what happens when those Verses can discover each other, translate their document shapes, and render each other’s interfaces through different bodies while preserving ownership.

Eve is the touch layer for that world. It is not one app. It is the surface language and renderer contract that lets a daemon publish an interface once and let browser, native Eve, Kotlin Android Eve, compact TUI, Fensalir, overlays, or future clients lower that interface locally.

The provider still owns truth.

Eve makes truth visible, touchable, stale when it is stale, denied when it is denied, predicted when it is only predicted, and reconciled when the owner has spoken. That last part matters. A surface that hides authority is not an interface. It is stage lighting.

The Daemon Contract

Every GameCult daemon with persistent state should satisfy the same contract.

First, durable daemon memory lives in typed CultCache documents. The standard human handle is a .cc file. A daemon may use a database, vector store, object store, or log where those are the right tools, but the state that steers future behavior needs a typed CultCache witness or export path. If the only durable truth is anonymous JSON, the machine is still crawling.

Second, that state becomes visible through CultMesh. Local peers should be able to subscribe to typed documents and surfaces without rummaging through private files. A daemon is allowed to own its truth. It is not allowed to make the Verse guess whether the truth exists.

Third, meaningful presentation flows become Eve GUI/TUI DSL or the equivalent gamecult.eve.surface.v1 retained tree. GUI, TUI, website, mobile app, native client, and overlay are lowerings of the same interactive language. They are not rival products. They are different bodies rendering the same product contract.

Fourth, commands go back to the provider. Eve publishes intent. The provider accepts, denies, forwards, or reconciles. A renderer that mutates daemon truth because it can reach a convenient callback has stolen the keys and called it responsiveness.

Fifth, Odin discovers the daemon and witnesses the contract: Verse identity, schema catalog, provider surface, command boundary, freshness, authority, and translation routes.

That is the daemon architecture in one bite:

daemon owns consequence
CultCache owns typed durable memory
CultMesh owns shared Verse visibility
Eve owns interaction semantics
Odin owns discovery and aggregation
renderers own projection only

Why .cc Matters

Files are not sacred. Typed state is.

The .cc file matters because it is a small hard boundary: here is a typed document store with schema identity, raw persisted bytes, and an inspectable contract. It makes state portable across TypeScript, C#, Rust, Python, and whatever other language body the project grows.

That is why Persona state, moderation state, daemon cursors, operator layout intent, accepted command receipts, and normalized observation records belong in CultCache. The future daemon should not need a transcript, a shell history, and a prayer to understand what the previous daemon believed.

Bulk media, vector indexes, compiled assets, and raw logs can live elsewhere. They are not sins. But if they steer behavior, publish a typed document that names the artifact, provenance, version, and authority. Do not let a blob become a hidden god.

Why CultMesh Matters

Local state that cannot be seen by the local Verse is private pressure. Private pressure is how daemons become weird.

CultMesh is the shared visibility layer: schemas, documents, subscriptions, authority, leases, reconciliation, peer exchange, and Verse discovery. It lets a daemon remain the owner of its consequence while still letting other daemons, agents, and people see the state they are allowed to see.

This is not central command. It is federation with a nervous system.

Odin can aggregate. Eve can render. VoidBot can inspect. Mimir can publish observations. Huginn can expose .cc inspection. None of them need to become the one app that owns everything.

Why Eve GUI/TUI DSL Matters

The old failure mode is easy:

  1. A daemon grows state.
  2. Someone adds a website.
  3. The website grows special state.
  4. The TUI needs its own version.
  5. The mobile client needs another version.
  6. The overlay needs another version.
  7. Nobody knows which one is true.

This is how software gets mildew.

Eve cuts the loop. A daemon publishes a surface as Eve DSL or gamecult.eve.surface.v1. Browser, native, Kotlin Android, TUI, Direct2D, overlays, or future rooms lower the same semantics locally. The visual body can change. The interactive contract stays inspectable.

That includes product flows, not only operator panels. StreamPixels should publish nested Verses: viewer character creation, streamer setup, operator access, and live overlay space. The old StreamPixels website becomes the browser lowering. The same character creator should be able to run through the Kotlin Eve runtime on Android without building a second mobile authority.

Repixelizer follows the same law. Upload, comparison, cleanup, queue state, and artifact export should be Eve surfaces. The old Repixelizer website becomes one lowering of that surface. Existing style is not thrown away; CSS becomes Eve style tokens, layout intent, component variants, motion preferences, and asset references that lower back into CSS, Android styles, native controls, overlay materials, or TUI approximations.

Huginn is the clean example. Huginn inspects .cc bytes and emits Eve DSL. It does not ship an Electron dashboard. If you want to consume Huginn’s documents, you do it from your own runtime by lowering the surface there. Good. That is the machine learning where its mouth belongs.

Odin Is The Witness, Not The Throne

Odin is the all-seer for the Verse, not a central owner wearing a crown made of network calls.

Odin should know:

  • which Verses exist;
  • which daemons live in them;
  • which schemas they speak;
  • which CultMesh documents and providers they publish;
  • which Eve GUI/TUI surfaces are available;
  • which command boundaries exist;
  • which translation routes are identity, projection, lossy, adapter, or unsupported;
  • which surfaces are stale, denied, predicted, unreachable, or authoritative.

Odin may aggregate surfaces. It may lower them. It may expose the map. It may not replace provider truth with a pretty summary tile and call the machine observable. That is not all-seeing. That is squinting with confidence.

The Crusade

The repo audit is blunt:

If a repo is a daemon and contains state, the state should become typed CultCache .cc state or have a clear migration path to it.

If a repo publishes meaningful status, control, inspection, or product UI, that UI should be Eve GUI/TUI DSL or an equivalent retained surface.

If a daemon wants to be visible in the local Verse, it should publish through CultMesh and be discoverable by Odin.

If a renderer owns truth, cut it.

If a website owns presentation authority, demote it.

If a dashboard owns state, demote it.

If JSON is only an interchange format, fine. If JSON is the daemon’s memory, start sharpening the tools.

This is not purity theater. It is how the studio avoids building a dozen small kingdoms that cannot understand each other. The whole point of the Eve MultiVerse is that a Mimir sensor stream, a VoidBot swarm cockpit, a Huginn state inspector, an Odin Verse map, a StreamPixels character creator, a Repixelizer cleanup canvas, and whatever future thing crawls out of the lab can all speak the same interactive language.

Different daemons. Different bodies. Same typed nervous system.

That is the architecture.

Build the state as documents. Publish the documents into the Verse. Expose the surface in Eve. Let Odin witness. Let renderers lower.

Anything else is just a website slowly learning to lie.