-
Notifications
You must be signed in to change notification settings - Fork 0
Norse Cosmology and Platform Design
NornGate uses Norse cosmology as a system model, not as branding. Each myth maps to a control, a trust boundary, a failure mode, or a recovery pattern; the platform translates the Eddas into infrastructure. The names are thematic — the mapping is operational: a shared control spine, explicit trust boundaries, observable gates, tested recovery.
This page is the architecture rationale. For the runtime rules it produces, see Core Concepts, The Five Gates, and Security & Fail-closed.
Before there were realms there was the tree. Snorri calls it askr Yggdrasils — the ash of Yggdrasil — greatest and best of trees, its limbs over the whole world. Nothing in the Nine Worlds reaches another world except by way of the tree. — Prose Edda, Gylfaginning
Yggdrasil is the single spine all traffic must cross. There is no second trunk and no side path: if worlds connect, they connect through one watched route. The engineering rule is the myth — if there is exactly one path between worlds, that path can be watched, metered, and refused. A side channel is a second tree; the cosmology permits no second tree. This is the physical basis of total mediation (Security & Fail-closed).
-
Control plane — Istio, running only in Asgard (
asgard.*); it compiles policy and pushes xDS configuration to every sidecar. No agent code runs in the control plane. - Data plane — an Envoy sidecar per workload. The five gates are an ordered chain of WebAssembly filters in that sidecar (G0 Ingress → G1 Policy → G2 Approval → G3 Sandbox-broker → G4 Commit/Arbitration). The chain is fail-closed: a filter that errors or exceeds its budget denies rather than passes.
- Identity — SPIFFE IDs issued by SPIRE; every agent and service presents a short-lived SVID. mTLS is mandatory on every hop — there is no plaintext path and no anonymous caller.
-
Routing — subdomain → realm (
app.*→ Midgard,jotun.*→ Jotunheim, …). The resolved realm fixes trust posture, NetworkPolicy, quota, and retention. - Resilience — per-gate timeouts and circuit breakers; outlier detection ejects failing replicas; retries are permitted only where idempotent (Thor's rule, below).
- Egress control — per-realm NetworkPolicies plus a brokered egress proxy mean a workload cannot open a side channel out of the mesh. The single spine is enforced, not assumed.
- Observability — OpenTelemetry traces on every hop; per-gate metrics. The trace ID is the request's identity through all five gates and into the Urd ledger.
The routing topology and the mental model are the same diagram. Each realm carries its own trust posture, scaling policy, and retention model — your topology is your threat model.
| Tier | Realm | Subdomain | Trust posture |
|---|---|---|---|
| Heavens | Asgard | asgard.* | Control plane: policy, API, gate configuration. Highest trust. No agent code. Full audit. |
| Heavens | Vanaheim | vanir.* | Federated trust: external integrations, OAuth2/OIDC, partner APIs. Trust is negotiated, never assumed. |
| Heavens | Alfheim | alfheim.* | Low-latency edge: stateless, high-throughput, minimal logging, high cache-hit. |
| Middle | Midgard | app.* | User-facing runtime — the only realm where humans interact directly. PII stays encrypted. |
| Middle | Jotunheim | jotun.* | Untrusted execution: sandboxed code, zero standing credentials, ephemeral workloads. |
| Middle | Muspelheim | muspel.* | GPU-heavy compute: training, batch inference, expensive jobs. Separate quota and billing. |
| Middle | Niflheim | nifl.* | Cold storage: archival logs, checkpoints, long retention. Immutable after write. |
| Below | Svartalfheim | forge.* | CI/CD forge: builds, artifacts, images. Secrets stay vaulted. |
| Below | Hel | hel.* | Dead-letter queue: failed messages await manual or automated reprocessing. |
| Below | Valhalla | valhalla.* | Completed-jobs archive: golden datasets, eval baselines, rewarded trajectories. Mostly read-only. |
- Introduction — the platform overview.
- The Nine Worlds (Trust Zones) — the zone model in depth.
- Core Concepts — the runtime foundations.
- The Five Gates · Configuring Gates — gate behavior.
- Monitoring & Observability — telemetry patterns.
- Disaster Recovery (Ragnarök Drill) — failure rehearsal.
- Getting Started · Configuration — set up your first fleet.
Eddic corpus. Snorri Sturluson, Prose Edda (Gylfaginning — Yggdrasil, the three wells, the Norns, the residents of the tree, Baldr, Ragnarök); Poetic Edda (Völuspá — cosmology and the rebirth; Hávamál 138–139 — Óðinn on the tree). Translations/renderings are the project's own; rune meanings follow the Elder Futhark tradition.
Design references. Total mediation and credential starvation — Assury. Signed, hash-chained action records — Kaman. Fail-closed governance at execution time — Orloj. Mesh identity — SPIFFE/SPIRE. See Security & Fail-closed for how these are enforced.
NornGate uses Norse cosmology as a system model, not as branding. Each myth maps to a control, a trust boundary, a failure mode, or a recovery pattern; the platform translates the Eddas into infrastructure. The names are thematic — the mapping is operational: a shared control spine, explicit trust boundaries, observable gates, tested recovery.
This page is the architecture rationale. For the runtime rules it produces, see [Core Concepts](Core-Concepts), [The Five Gates](The-Five-Gates), and [Security & Fail-closed](Security-and-Fail-Closed).
Before there were realms there was the tree. Snorri calls it askr Yggdrasils — the ash of Yggdrasil — greatest and best of trees, its limbs over the whole world. Nothing in the Nine Worlds reaches another world except by way of the tree. — Prose Edda, Gylfaginning
Yggdrasil is the single spine all traffic must cross. There is no second trunk and no side path: if worlds connect, they connect through one watched route. The engineering rule is the myth — if there is exactly one path between worlds, that path can be watched, metered, and refused. A side channel is a second tree; the cosmology permits no second tree. This is the physical basis of total mediation ([Security & Fail-closed](Security-and-Fail-Closed)).
-
Control plane — Istio, running only in Asgard (
asgard.*); it compiles policy and pushes xDS configuration to every sidecar. No agent code runs in the control plane. - Data plane — an Envoy sidecar per workload. The five gates are an ordered chain of WebAssembly filters in that sidecar (G0 Ingress → G1 Policy → G2 Approval → G3 Sandbox-broker → G4 Commit/Arbitration). The chain is fail-closed: a filter that errors or exceeds its budget denies rather than passes.
- Identity — SPIFFE IDs issued by SPIRE; every agent and service presents a short-lived SVID. mTLS is mandatory on every hop — there is no plaintext path and no anonymous caller.
-
Routing — subdomain → realm (
app.*→ Midgard,jotun.*→ Jotunheim, …). The resolved realm fixes trust posture, NetworkPolicy, quota, and retention. - Resilience — per-gate timeouts and circuit breakers; outlier detection ejects failing replicas; retries are permitted only where idempotent (Thor's rule, below).
- Egress control — per-realm NetworkPolicies plus a brokered egress proxy mean a workload cannot open a side channel out of the mesh. The single spine is enforced, not assumed.
- Observability — OpenTelemetry traces on every hop; per-gate metrics. The trace ID is the request's identity through all five gates and into the Urd ledger.
The routing topology and the mental model are the same diagram. Each realm carries its own trust posture, scaling policy, and retention model — your topology is your threat model.
| Tier | Realm | Subdomain | Trust posture |
|---|---|---|---|
| Heavens | Asgard | asgard.* |
Control plane: policy, API, gate configuration. Highest trust. No agent code. Full audit. |
| Heavens | Vanaheim | vanir.* |
Federated trust: external integrations, OAuth2/OIDC, partner APIs. Trust is negotiated, never assumed. |
| Heavens | Alfheim | alfheim.* |
Low-latency edge: stateless, high-throughput, minimal logging, high cache-hit. |
| Middle | Midgard | app.* |
User-facing runtime — the only realm where humans interact directly. PII stays encrypted. |
| Middle | Jotunheim | jotun.* |
Untrusted execution: sandboxed code, zero standing credentials, ephemeral workloads. |
| Middle | Muspelheim | muspel.* |
GPU-heavy compute: training, batch inference, expensive jobs. Separate quota and billing. |
| Middle | Niflheim | nifl.* |
Cold storage: archival logs, checkpoints, long retention. Immutable after write. |
| Below | Svartalfheim | forge.* |
CI/CD forge: builds, artifacts, images. Secrets stay vaulted. |
| Below | Hel | hel.* |
Dead-letter queue: failed messages await manual or automated reprocessing. |
| Below | Valhalla | valhalla.* |
Completed-jobs archive: golden datasets, eval baselines, rewarded trajectories. Mostly read-only. |
Count. This is ten realms — the nine cosmological worlds of the Eddic sources plus Valhalla, traditionally Óðinn's hall within Asgard rather than a world, promoted here to a tenth operational realm (the archive). Detail and the full zone model: [The Nine Worlds (Trust Zones)](The-Nine-Worlds).
The myth already encodes the trust model: giants are contained, not erased (Jotunheim is sandboxed, not blocked); allies are federated, not absorbed (Vanaheim negotiates trust); fire is used, not trusted (Muspelheim is quota-fenced). Jotunheim's zero-standing-credential posture is the realm-level expression of credential starvation ([Security & Fail-closed](Security-and-Fail-Closed)).
Snorri gives the tree three roots, each ending at a well. Those become the platform's models for observability, knowledge, and entropy.
Beside it live the Norns: Urðr tracks what became, Verðandi what is becoming, Skuld what shall be. Together they keep the tree from rotting — telemetry that only watches is decoration; telemetry that feeds back keeps the runtime alive.
- Urd — the audit ledger. Logically centralized (a single authoritative, operator-run ledger — not distributed consensus, not on-chain). Implemented as an append-only Kafka log partitioned per realm, with S3/Niflheim durability. Tamper-evidence is an Ed25519-signed hash chain: each record carries its predecessor's hash and a signature; the signing key lives in an HSM in Asgard, off the worker path, so a compromised Midgard or Jotunheim node cannot forge entries. Hash chain and metadata are immutable; PII-bearing payloads sit in a separate per-subject-encrypted store and are crypto-shreddable for erasure. See [Urd Ledger](Urd-Ledger) and [Security & Fail-closed](Security-and-Fail-Closed).
- Verdandi — live metrics in Prometheus, surfaced through Grafana.
- Skuld — forecasting and anomaly detection over queue depth, approval lag, and rate exhaustion.
Wisdom is hidden here and wisdom is expensive: Óðinn pays for one drink with his eye, and the system keeps the rule — deep knowledge is never free.
- Mimir is a vector store with a relational/cache layer for fast context access.
- Every query costs tokens and latency; each agent holds an explicit deliberation budget.
- The Policy gate (G1) denies or escalates when that budget is exceeded — Óðinn's eye as the cost ceiling for expensive reasoning. This is the read-side twin of the approval budget that keeps G2 human transits under ~5% ([The Five Gates](The-Five-Gates)).
Beneath the third root, Níðhöggr gnaws forever: entropy is a resident, not an exception.
- Checksums protect artifacts (Svartalfheim); the signed hash chain protects the ledger (Urd).
- Chaos experiments run on a schedule (Ragnarök, below); components degrade gracefully by design (graded degraded mode, per [Security & Fail-closed](Security-and-Fail-Closed)).
Ratatoskr — the event bus. The squirrel runs the trunk carrying messages between the eagle above and Níðhöggr below — and the messages are insults. That matters: a broker that only carries good news is a lie. Kafka, topics per realm, carrying successes, failures, denials, retries, and diagnostics. Filtering happens at gates, never in transit; 7-day retention across topics.
Eagle and Veðrfölnir — observability. The watcher has a watcher: dashboards are watched by alerts, alerts by anomaly detection. No observer stays unobserved.
The four stags — load. The tree feeds its residents and is consumed by them; load is steady state, not an anomaly. Horizontal autoscaling for stateless services (Alfheim/Midgard); a separate GPU-pool scaler for Muspelheim with its own quota and billing; queue-depth-driven scaling for workers.
Heiðrún and Eikþyrnir — the archive gives back. Valhalla is a source, not a graveyard: completed jobs become replay corpora, golden datasets, and eval baselines that flow back into training and testing.
I know that I hung on a wind-swept tree, nine long nights, wounded by a spear, given to Óðinn, myself to myself. — Poetic Edda, Hávamál 138
The tree's name is a warning. Yggdrasill means Ygg's horse — Óðinn's gallows. The runes were not granted; they were paid for under constraint. This is the deepest borrowing: Norse cosmology is not about free movement but about bindings and watched crossings — Asgard is walled, Bifröst is watched by Heimdall, Fenrir is bound (not destroyed), Loki is kept inside the boundary, giants remain across the line.
The operating model is bounded autonomy, and the [five-gate pipeline](The-Five-Gates) is that model as request flow: agents are powerful, but none crosses worlds except over a watched bridge. The platform's mark is ᚾ Nauðiz — need, necessity, constraint — precisely because capability-under-constraint is the founding principle, not a limitation bolted on.
The Æsir are not a family portrait — they are an org chart with failure modes (the agent registry). Selected stations below; the full 16-agent registry is on [Agent Registry](Agent-Registry).
| Agent | Function | Gate / plane | Discipline (the "why") |
|---|---|---|---|
| Óðinn | Planner | G2 deliberation | Most capable model, but always under a deliberation budget, latency ceiling, and token cap. |
| Huginn / Muninn | Retrieval / memory | read plane | Retrieval may retry; memory loss is an incident, not a retry. |
| Thor | Executor | G4 commit | Idempotent worker — Mjölnir returns, the goats are restored: execution must be safe to retry. |
| Heimdall | Ingress | G0 | Lowest-latency, highest-availability responsibility in the system. |
| Týr | Policy | G1 | The binding of Fenrir costs Týr his hand: enforcement has a cost, and that cost is owned (fail-closed). |
| Forseti | Arbitration | G4 | One venue for disputes; writes do not race without a final decision. |
| Loki | Chaos / red-team | out-of-band | Kept inside the wall, observed, used to harden the runtime via scheduled fault injection. |
| Iðunn | Lifecycle | control plane | Model rotation, canaries, drift management, version refresh. |
| Hermóðr | DLQ rider | Hel | Rides into Hel to retrieve what can be recovered; the ledger records what cannot. |
| Valkyries | Dispatch | scheduler | Selection of what enters Valhalla stays centralized. |
| Bragi | Generation | bounded role | Long-form generation as a scoped role, not a general authority. |
Baldr's death is the platform's warning story. Frigg extracts oaths from nearly everything — in modern terms, she builds an allowlist by enumeration — and misses mistletoe. Loki finds the gap, blind Höðr acts without sight, and Baldr dies from the single uncovered case.
That becomes three rules:
- Enumerated allowlists miss the mistletoe → policy defaults to deny (G1 is allowlist-first; a forgotten rule fails safe, not fatal).
- Executors act only on admitted intents → no blind throws (only a G1-passed, G3-validated action reaches an executor).
- Side effects commit at the final gate → irreversible actions happen last (G4).
Frigg's allowlist was heroic and almost complete; NornGate is built around the missing fraction. Full treatment in [Security & Fail-closed](Security-and-Fail-Closed).
The standing tree trembles — skelfr Yggdrasils askr standandi — when the end comes. Yet the earth rises green a second time, and Líf and Lífþrasir survive hidden in the tree to repeople the world. — Poetic Edda, Völuspá
Ragnarök is not panic; it is a drill. The system runs deliberate failure, then restores from seeds stored inside the tree.
- Chaos injects latency, crashes, corruption, and gate failures.
- Checkpoints capture the audit ledger and critical state on a schedule.
- Recovery restores from the latest valid checkpoint.
- Validation confirms hash-chain integrity before service resumes.
$ norngate-cli drill ragnarok --target=staging --duration=15m
[INFO] Starting Ragnarök drill on fleet "staging"
[INFO] Simulating Policy gate timeout (30s delay) on 3 of 5 replicas
[INFO] Simulating Niflheim corruption (1% chunk damaged)
[INFO] Triggering Urd ledger recovery from checkpoint "ckpt_2026-07-05T02:00:00Z"
[INFO] Recovery complete. 0% data loss. Duration: 11m 22s
[INFO] All gates restored. Health check: PASSED.
Recovery is provisioned at the beginning, not improvised at the end of the world. See [Disaster Recovery (Ragnarök Drill)](Disaster-Recovery-Ragnarok-Drill).
Every borrowing maps myth to mechanism. The rune column is the Elder Futhark in sequence, used as an ordered index of the borrowings — distinct from the semantic section glyphs above.
| Rune | Saga | System | Why |
|---|---|---|---|
| ᚠ | Yggdrasil, sole world-spine | Service-mesh core | One path creates one place to watch, meter, and refuse |
| ᚢ | Ten realms in three tiers | Trust zones and realm routing | The myth already encodes the threat model |
| ᚦ | Urðarbrunnr and the Norns | Ledger, metrics, forecasting | Telemetry must feed back or the tree rots |
| ᚨ | Mímisbrunnr and Óðinn's eye | Knowledge base and costed deliberation | Deep knowledge is priced |
| ᚱ | Hvergelmir and Níðhöggr | Entropy model, checksums, chaos | Corruption is a resident |
| ᚲ | Ratatoskr carrying insults | Full-duplex event bus | The bus must carry bad news too |
| ᚷ | Eagle and Veðrfölnir | Watcher-on-watcher observability | Observers also need observers |
| ᚹ | Stags, Heiðrún, Eikþyrnir | Load model and archive reuse | Consumption is survivable only with regeneration |
| ᚺ | Heimdall and Fenrir | Ingress and containment | Boundaries matter more than optimism |
| ᚾ | Óðinn on the gallows | Capability under constraint | Power is earned inside bindings |
| ᛁ | Óðinn's eye and the ravens | Planner, retrieval, memory | Deliberation is priced; memory outranks retry |
| ᛃ | Mjölnir and revived goats | Idempotent execution | Safe retries are core runtime behavior |
| ᛇ | Gjallarhorn | Fleet-wide alerting | The gatekeeper must not blink |
| ᛈ | Týr's hand | Fail-closed policy | Enforcement has a real cost |
| ᛉ | Loki bound inside the wall | Chaos agent | Internal fault injection produces hardening |
| ᛊ | Forseti's hall | Arbitration | One venue resolves conflicting writes |
| ᛋ | Iðunn's apples | Lifecycle and model rotation | Freshness must be maintained |
| ᛏ | Hermóðr's ride to Hel | DLQ reprocessing | Recovery may fail and must be recorded |
| ᛒ | Valkyries choosing the slain | Dispatch logic | Selection stays centralized |
| ᛖ | Baldr, mistletoe, blind Höðr | Default-deny and final commit | Allowlists miss edge cases |
| ᛗ | Tree trembles, survivors remain | Disaster recovery | Recovery seeds must exist before failure |
Section glyphs are Elder Futhark runes (Unicode Runic block, U+16A0–U+16FF) — semantic, not emoji. Full set on [Home](Home#iconography); the runes used here:
| Rune | Name | Gloss | Marks |
|---|---|---|---|
| ᚾ | Nauðiz | need, constraint, binding | the platform mark; bounded autonomy |
| ᛖ | Ehwaz | horse, conveyance, movement between | Yggdrasil — the spine |
| ᛟ | Othala | enclosed estate, boundary | trust zones |
| ᛈ | Perthro | the lot-cup, the well of Urd | the three wells |
| ᛒ | Berkanan | birch, growth, living things | residents of the tree |
| ᛗ | Mannaz | humankind, roles, the org | the gods at their stations |
| ᛉ | Algiz | protection, warding | the Baldr parable — default-deny |
| ᚺ | Hagalaz | hail, disruption, the crisis endured | Ragnarök |
| ᚨ | Ansuz | Óðinn — the word, wisdom, lore | the appendix |
- [Introduction](Introduction) — the platform overview.
- [The Nine Worlds (Trust Zones)](The-Nine-Worlds) — the zone model in depth.
- [Core Concepts](Core-Concepts) — the runtime foundations.
- [The Five Gates](The-Five-Gates) · [Configuring Gates](Configuring-Gates) — gate behavior.
- [Monitoring & Observability](Monitoring-and-Observability) — telemetry patterns.
- [Disaster Recovery (Ragnarök Drill)](Disaster-Recovery-Ragnarok-Drill) — failure rehearsal.
- [Getting Started](Getting-Started) · [Configuration](Configuration) — set up your first fleet.
Eddic corpus. Snorri Sturluson, Prose Edda (Gylfaginning — Yggdrasil, the three wells, the Norns, the residents of the tree, Baldr, Ragnarök); Poetic Edda (Völuspá — cosmology and the rebirth; Hávamál 138–139 — Óðinn on the tree). Translations/renderings are the project's own; rune meanings follow the Elder Futhark tradition.
Design references. Total mediation and credential starvation — Assury. Signed, hash-chained action records — Kaman. Fail-closed governance at execution time — Orloj. Mesh identity — SPIFFE/SPIRE. See [Security & Fail-closed](Security-and-Fail-Closed) for how these are enforced.
<h1>ᚾ NornGate — Norse Cosmology & Platform Design</h1>NornGate uses Norse cosmology as a system model, not as branding. Each myth maps to a control, a trust boundary, a failure mode, or a recovery pattern; the platform translates the Eddas into infrastructure. The names are thematic — the mapping is operational: a shared control spine, explicit trust boundaries, observable gates, tested recovery.
This page is the architecture rationale. For the runtime rules it produces, see Core Concepts, The Five Gates, and Security & Fail-closed.
Before there were realms there was the tree. Snorri calls it askr Yggdrasils — the ash of Yggdrasil — greatest and best of trees, its limbs over the whole world. Nothing in the Nine Worlds reaches another world except by way of the tree. — Prose Edda, Gylfaginning
Yggdrasil is the single spine all traffic must cross. There is no second trunk and no side path: if worlds connect, they connect through one watched route. The engineering rule is the myth — if there is exactly one path between worlds, that path can be watched, metered, and refused. A side channel is a second tree; the cosmology permits no second tree. This is the physical basis of total mediation (Security & Fail-closed).
-
Control plane — Istio, running only in Asgard (
asgard.*); it compiles policy and pushes xDS configuration to every sidecar. No agent code runs in the control plane. - Data plane — an Envoy sidecar per workload. The five gates are an ordered chain of WebAssembly filters in that sidecar (G0 Ingress → G1 Policy → G2 Approval → G3 Sandbox-broker → G4 Commit/Arbitration). The chain is fail-closed: a filter that errors or exceeds its budget denies rather than passes.
- Identity — SPIFFE IDs issued by SPIRE; every agent and service presents a short-lived SVID. mTLS is mandatory on every hop — there is no plaintext path and no anonymous caller.
-
Routing — subdomain → realm (
app.*→ Midgard,jotun.*→ Jotunheim, …). The resolved realm fixes trust posture, NetworkPolicy, quota, and retention. - Resilience — per-gate timeouts and circuit breakers; outlier detection ejects failing replicas; retries are permitted only where idempotent (Thor's rule, below).
- Egress control — per-realm NetworkPolicies plus a brokered egress proxy mean a workload cannot open a side channel out of the mesh. The single spine is enforced, not assumed.
- Observability — OpenTelemetry traces on every hop; per-gate metrics. The trace ID is the request's identity through all five gates and into the Urd ledger.
The routing topology and the mental model are the same diagram. Each realm carries its own trust posture, scaling policy, and retention model — your topology is your threat model.
| Tier | Realm | Subdomain | Trust posture |
|---|---|---|---|
| Heavens | Asgard | asgard.* | Control plane: policy, API, gate configuration. Highest trust. No agent code. Full audit. |
| Heavens | Vanaheim | vanir.* | Federated trust: external integrations, OAuth2/OIDC, partner APIs. Trust is negotiated, never assumed. |
| Heavens | Alfheim | alfheim.* | Low-latency edge: stateless, high-throughput, minimal logging, high cache-hit. |
| Middle | Midgard | app.* | User-facing runtime — the only realm where humans interact directly. PII stays encrypted. |
| Middle | Jotunheim | jotun.* | Untrusted execution: sandboxed code, zero standing credentials, ephemeral workloads. |
| Middle | Muspelheim | muspel.* | GPU-heavy compute: training, batch inference, expensive jobs. Separate quota and billing. |
| Middle | Niflheim | nifl.* | Cold storage: archival logs, checkpoints, long retention. Immutable after write. |
| Below | Svartalfheim | forge.* | CI/CD forge: builds, artifacts, images. Secrets stay vaulted. |
| Below | Hel | hel.* | Dead-letter queue: failed messages await manual or automated reprocessing. |
| Below | Valhalla | valhalla.* | Completed-jobs archive: golden datasets, eval baselines, rewarded trajectories. Mostly read-only. |
- Introduction — the platform overview.
- The Nine Worlds (Trust Zones) — the zone model in depth.
- Core Concepts — the runtime foundations.
- The Five Gates · Configuring Gates — gate behavior.
- Monitoring & Observability — telemetry patterns.
- Disaster Recovery (Ragnarök Drill) — failure rehearsal.
- Getting Started · Configuration — set up your first fleet.
Eddic corpus. Snorri Sturluson, Prose Edda (Gylfaginning — Yggdrasil, the three wells, the Norns, the residents of the tree, Baldr, Ragnarök); Poetic Edda (Völuspá — cosmology and the rebirth; Hávamál 138–139 — Óðinn on the tree). Translations/renderings are the project's own; rune meanings follow the Elder Futhark tradition.
Design references. Total mediation and credential starvation — Assury. Signed, hash-chained action records — Kaman. Fail-closed governance at execution time — Orloj. Mesh identity — SPIFFE/SPIRE. See Security & Fail-closed for how these are enforced.
NornGate uses Norse cosmology as a system model, not as branding. Each myth maps to a control, a trust boundary, a failure mode, or a recovery pattern; the platform translates the Eddas into infrastructure. The names are thematic — the mapping is operational: a shared control spine, explicit trust boundaries, observable gates, tested recovery.
This page is the architecture rationale. For the runtime rules it produces, see [Core Concepts](Core-Concepts), [The Five Gates](The-Five-Gates), and [Security & Fail-closed](Security-and-Fail-Closed).
Before there were realms there was the tree. Snorri calls it askr Yggdrasils — the ash of Yggdrasil — greatest and best of trees, its limbs over the whole world. Nothing in the Nine Worlds reaches another world except by way of the tree. — Prose Edda, Gylfaginning
Yggdrasil is the single spine all traffic must cross. There is no second trunk and no side path: if worlds connect, they connect through one watched route. The engineering rule is the myth — if there is exactly one path between worlds, that path can be watched, metered, and refused. A side channel is a second tree; the cosmology permits no second tree. This is the physical basis of total mediation ([Security & Fail-closed](Security-and-Fail-Closed)).
-
Control plane — Istio, running only in Asgard (
asgard.*); it compiles policy and pushes xDS configuration to every sidecar. No agent code runs in the control plane. - Data plane — an Envoy sidecar per workload. The five gates are an ordered chain of WebAssembly filters in that sidecar (G0 Ingress → G1 Policy → G2 Approval → G3 Sandbox-broker → G4 Commit/Arbitration). The chain is fail-closed: a filter that errors or exceeds its budget denies rather than passes.
- Identity — SPIFFE IDs issued by SPIRE; every agent and service presents a short-lived SVID. mTLS is mandatory on every hop — there is no plaintext path and no anonymous caller.
-
Routing — subdomain → realm (
app.*→ Midgard,jotun.*→ Jotunheim, …). The resolved realm fixes trust posture, NetworkPolicy, quota, and retention. - Resilience — per-gate timeouts and circuit breakers; outlier detection ejects failing replicas; retries are permitted only where idempotent (Thor's rule, below).
- Egress control — per-realm NetworkPolicies plus a brokered egress proxy mean a workload cannot open a side channel out of the mesh. The single spine is enforced, not assumed.
- Observability — OpenTelemetry traces on every hop; per-gate metrics. The trace ID is the request's identity through all five gates and into the Urd ledger.
The routing topology and the mental model are the same diagram. Each realm carries its own trust posture, scaling policy, and retention model — your topology is your threat model.
| Tier | Realm | Subdomain | Trust posture |
|---|---|---|---|
| Heavens | Asgard | asgard.* |
Control plane: policy, API, gate configuration. Highest trust. No agent code. Full audit. |
| Heavens | Vanaheim | vanir.* |
Federated trust: external integrations, OAuth2/OIDC, partner APIs. Trust is negotiated, never assumed. |
| Heavens | Alfheim | alfheim.* |
Low-latency edge: stateless, high-throughput, minimal logging, high cache-hit. |
| Middle | Midgard | app.* |
User-facing runtime — the only realm where humans interact directly. PII stays encrypted. |
| Middle | Jotunheim | jotun.* |
Untrusted execution: sandboxed code, zero standing credentials, ephemeral workloads. |
| Middle | Muspelheim | muspel.* |
GPU-heavy compute: training, batch inference, expensive jobs. Separate quota and billing. |
| Middle | Niflheim | nifl.* |
Cold storage: archival logs, checkpoints, long retention. Immutable after write. |
| Below | Svartalfheim | forge.* |
CI/CD forge: builds, artifacts, images. Secrets stay vaulted. |
| Below | Hel | hel.* |
Dead-letter queue: failed messages await manual or automated reprocessing. |
| Below | Valhalla | valhalla.* |
Completed-jobs archive: golden datasets, eval baselines, rewarded trajectories. Mostly read-only. |
Count. This is ten realms — the nine cosmological worlds of the Eddic sources plus Valhalla, traditionally Óðinn's hall within Asgard rather than a world, promoted here to a tenth operational realm (the archive). Detail and the full zone model: [The Nine Worlds (Trust Zones)](The-Nine-Worlds).
The myth already encodes the trust model: giants are contained, not erased (Jotunheim is sandboxed, not blocked); allies are federated, not absorbed (Vanaheim negotiates trust); fire is used, not trusted (Muspelheim is quota-fenced). Jotunheim's zero-standing-credential posture is the realm-level expression of credential starvation ([Security & Fail-closed](Security-and-Fail-Closed)).
Snorri gives the tree three roots, each ending at a well. Those become the platform's models for observability, knowledge, and entropy.
Beside it live the Norns: Urðr tracks what became, Verðandi what is becoming, Skuld what shall be. Together they keep the tree from rotting — telemetry that only watches is decoration; telemetry that feeds back keeps the runtime alive.
- Urd — the audit ledger. Logically centralized (a single authoritative, operator-run ledger — not distributed consensus, not on-chain). Implemented as an append-only Kafka log partitioned per realm, with S3/Niflheim durability. Tamper-evidence is an Ed25519-signed hash chain: each record carries its predecessor's hash and a signature; the signing key lives in an HSM in Asgard, off the worker path, so a compromised Midgard or Jotunheim node cannot forge entries. Hash chain and metadata are immutable; PII-bearing payloads sit in a separate per-subject-encrypted store and are crypto-shreddable for erasure. See [Urd Ledger](Urd-Ledger) and [Security & Fail-closed](Security-and-Fail-Closed).
- Verdandi — live metrics in Prometheus, surfaced through Grafana.
- Skuld — forecasting and anomaly detection over queue depth, approval lag, and rate exhaustion.
Wisdom is hidden here and wisdom is expensive: Óðinn pays for one drink with his eye, and the system keeps the rule — deep knowledge is never free.
- Mimir is a vector store with a relational/cache layer for fast context access.
- Every query costs tokens and latency; each agent holds an explicit deliberation budget.
- The Policy gate (G1) denies or escalates when that budget is exceeded — Óðinn's eye as the cost ceiling for expensive reasoning. This is the read-side twin of the approval budget that keeps G2 human transits under ~5% ([The Five Gates](The-Five-Gates)).
Beneath the third root, Níðhöggr gnaws forever: entropy is a resident, not an exception.
- Checksums protect artifacts (Svartalfheim); the signed hash chain protects the ledger (Urd).
- Chaos experiments run on a schedule (Ragnarök, below); components degrade gracefully by design (graded degraded mode, per [Security & Fail-closed](Security-and-Fail-Closed)).
Ratatoskr — the event bus. The squirrel runs the trunk carrying messages between the eagle above and Níðhöggr below — and the messages are insults. That matters: a broker that only carries good news is a lie. Kafka, topics per realm, carrying successes, failures, denials, retries, and diagnostics. Filtering happens at gates, never in transit; 7-day retention across topics.
Eagle and Veðrfölnir — observability. The watcher has a watcher: dashboards are watched by alerts, alerts by anomaly detection. No observer stays unobserved.
The four stags — load. The tree feeds its residents and is consumed by them; load is steady state, not an anomaly. Horizontal autoscaling for stateless services (Alfheim/Midgard); a separate GPU-pool scaler for Muspelheim with its own quota and billing; queue-depth-driven scaling for workers.
Heiðrún and Eikþyrnir — the archive gives back. Valhalla is a source, not a graveyard: completed jobs become replay corpora, golden datasets, and eval baselines that flow back into training and testing.
I know that I hung on a wind-swept tree, nine long nights, wounded by a spear, given to Óðinn, myself to myself. — Poetic Edda, Hávamál 138
The tree's name is a warning. Yggdrasill means Ygg's horse — Óðinn's gallows. The runes were not granted; they were paid for under constraint. This is the deepest borrowing: Norse cosmology is not about free movement but about bindings and watched crossings — Asgard is walled, Bifröst is watched by Heimdall, Fenrir is bound (not destroyed), Loki is kept inside the boundary, giants remain across the line.
The operating model is bounded autonomy, and the [five-gate pipeline](The-Five-Gates) is that model as request flow: agents are powerful, but none crosses worlds except over a watched bridge. The platform's mark is ᚾ Nauðiz — need, necessity, constraint — precisely because capability-under-constraint is the founding principle, not a limitation bolted on.
The Æsir are not a family portrait — they are an org chart with failure modes (the agent registry). Selected stations below; the full 16-agent registry is on [Agent Registry](Agent-Registry).
| Agent | Function | Gate / plane | Discipline (the "why") |
|---|---|---|---|
| Óðinn | Planner | G2 deliberation | Most capable model, but always under a deliberation budget, latency ceiling, and token cap. |
| Huginn / Muninn | Retrieval / memory | read plane | Retrieval may retry; memory loss is an incident, not a retry. |
| Thor | Executor | G4 commit | Idempotent worker — Mjölnir returns, the goats are restored: execution must be safe to retry. |
| Heimdall | Ingress | G0 | Lowest-latency, highest-availability responsibility in the system. |
| Týr | Policy | G1 | The binding of Fenrir costs Týr his hand: enforcement has a cost, and that cost is owned (fail-closed). |
| Forseti | Arbitration | G4 | One venue for disputes; writes do not race without a final decision. |
| Loki | Chaos / red-team | out-of-band | Kept inside the wall, observed, used to harden the runtime via scheduled fault injection. |
| Iðunn | Lifecycle | control plane | Model rotation, canaries, drift management, version refresh. |
| Hermóðr | DLQ rider | Hel | Rides into Hel to retrieve what can be recovered; the ledger records what cannot. |
| Valkyries | Dispatch | scheduler | Selection of what enters Valhalla stays centralized. |
| Bragi | Generation | bounded role | Long-form generation as a scoped role, not a general authority. |
Baldr's death is the platform's warning story. Frigg extracts oaths from nearly everything — in modern terms, she builds an allowlist by enumeration — and misses mistletoe. Loki finds the gap, blind Höðr acts without sight, and Baldr dies from the single uncovered case.
That becomes three rules:
- Enumerated allowlists miss the mistletoe → policy defaults to deny (G1 is allowlist-first; a forgotten rule fails safe, not fatal).
- Executors act only on admitted intents → no blind throws (only a G1-passed, G3-validated action reaches an executor).
- Side effects commit at the final gate → irreversible actions happen last (G4).
Frigg's allowlist was heroic and almost complete; NornGate is built around the missing fraction. Full treatment in [Security & Fail-closed](Security-and-Fail-Closed).
The standing tree trembles — skelfr Yggdrasils askr standandi — when the end comes. Yet the earth rises green a second time, and Líf and Lífþrasir survive hidden in the tree to repeople the world. — Poetic Edda, Völuspá
Ragnarök is not panic; it is a drill. The system runs deliberate failure, then restores from seeds stored inside the tree.
- Chaos injects latency, crashes, corruption, and gate failures.
- Checkpoints capture the audit ledger and critical state on a schedule.
- Recovery restores from the latest valid checkpoint.
- Validation confirms hash-chain integrity before service resumes.
$ norngate-cli drill ragnarok --target=staging --duration=15m
[INFO] Starting Ragnarök drill on fleet "staging"
[INFO] Simulating Policy gate timeout (30s delay) on 3 of 5 replicas
[INFO] Simulating Niflheim corruption (1% chunk damaged)
[INFO] Triggering Urd ledger recovery from checkpoint "ckpt_2026-07-05T02:00:00Z"
[INFO] Recovery complete. 0% data loss. Duration: 11m 22s
[INFO] All gates restored. Health check: PASSED.
Recovery is provisioned at the beginning, not improvised at the end of the world. See [Disaster Recovery (Ragnarök Drill)](Disaster-Recovery-Ragnarok-Drill).
Every borrowing maps myth to mechanism. The rune column is the Elder Futhark in sequence, used as an ordered index of the borrowings — distinct from the semantic section glyphs above.
| Rune | Saga | System | Why |
|---|---|---|---|
| ᚠ | Yggdrasil, sole world-spine | Service-mesh core | One path creates one place to watch, meter, and refuse |
| ᚢ | Ten realms in three tiers | Trust zones and realm routing | The myth already encodes the threat model |
| ᚦ | Urðarbrunnr and the Norns | Ledger, metrics, forecasting | Telemetry must feed back or the tree rots |
| ᚨ | Mímisbrunnr and Óðinn's eye | Knowledge base and costed deliberation | Deep knowledge is priced |
| ᚱ | Hvergelmir and Níðhöggr | Entropy model, checksums, chaos | Corruption is a resident |
| ᚲ | Ratatoskr carrying insults | Full-duplex event bus | The bus must carry bad news too |
| ᚷ | Eagle and Veðrfölnir | Watcher-on-watcher observability | Observers also need observers |
| ᚹ | Stags, Heiðrún, Eikþyrnir | Load model and archive reuse | Consumption is survivable only with regeneration |
| ᚺ | Heimdall and Fenrir | Ingress and containment | Boundaries matter more than optimism |
| ᚾ | Óðinn on the gallows | Capability under constraint | Power is earned inside bindings |
| ᛁ | Óðinn's eye and the ravens | Planner, retrieval, memory | Deliberation is priced; memory outranks retry |
| ᛃ | Mjölnir and revived goats | Idempotent execution | Safe retries are core runtime behavior |
| ᛇ | Gjallarhorn | Fleet-wide alerting | The gatekeeper must not blink |
| ᛈ | Týr's hand | Fail-closed policy | Enforcement has a real cost |
| ᛉ | Loki bound inside the wall | Chaos agent | Internal fault injection produces hardening |
| ᛊ | Forseti's hall | Arbitration | One venue resolves conflicting writes |
| ᛋ | Iðunn's apples | Lifecycle and model rotation | Freshness must be maintained |
| ᛏ | Hermóðr's ride to Hel | DLQ reprocessing | Recovery may fail and must be recorded |
| ᛒ | Valkyries choosing the slain | Dispatch logic | Selection stays centralized |
| ᛖ | Baldr, mistletoe, blind Höðr | Default-deny and final commit | Allowlists miss edge cases |
| ᛗ | Tree trembles, survivors remain | Disaster recovery | Recovery seeds must exist before failure |
Section glyphs are Elder Futhark runes (Unicode Runic block, U+16A0–U+16FF) — semantic, not emoji. Full set on [Home](Home#iconography); the runes used here:
| Rune | Name | Gloss | Marks |
|---|---|---|---|
| ᚾ | Nauðiz | need, constraint, binding | the platform mark; bounded autonomy |
| ᛖ | Ehwaz | horse, conveyance, movement between | Yggdrasil — the spine |
| ᛟ | Othala | enclosed estate, boundary | trust zones |
| ᛈ | Perthro | the lot-cup, the well of Urd | the three wells |
| ᛒ | Berkanan | birch, growth, living things | residents of the tree |
| ᛗ | Mannaz | humankind, roles, the org | the gods at their stations |
| ᛉ | Algiz | protection, warding | the Baldr parable — default-deny |
| ᚺ | Hagalaz | hail, disruption, the crisis endured | Ragnarök |
| ᚨ | Ansuz | Óðinn — the word, wisdom, lore | the appendix |
- [Introduction](Introduction) — the platform overview.
- [The Nine Worlds (Trust Zones)](The-Nine-Worlds) — the zone model in depth.
- [Core Concepts](Core-Concepts) — the runtime foundations.
- [The Five Gates](The-Five-Gates) · [Configuring Gates](Configuring-Gates) — gate behavior.
- [Monitoring & Observability](Monitoring-and-Observability) — telemetry patterns.
- [Disaster Recovery (Ragnarök Drill)](Disaster-Recovery-Ragnarok-Drill) — failure rehearsal.
- [Getting Started](Getting-Started) · [Configuration](Configuration) — set up your first fleet.
Eddic corpus. Snorri Sturluson, Prose Edda (Gylfaginning — Yggdrasil, the three wells, the Norns, the residents of the tree, Baldr, Ragnarök); Poetic Edda (Völuspá — cosmology and the rebirth; Hávamál 138–139 — Óðinn on the tree). Translations/renderings are the project's own; rune meanings follow the Elder Futhark tradition.
Design references. Total mediation and credential starvation — Assury. Signed, hash-chained action records — Kaman. Fail-closed governance at execution time — Orloj. Mesh identity — SPIFFE/SPIRE. See [Security & Fail-closed](Security-and-Fail-Closed) for how these are enforced.
Welcome
Getting Started
Core Concepts
Guides
- Guides
- Configuring Gates
- Setting Up Subdomains (Realms)
- Integrating AI Agents
- Monitoring & Observability
- Disaster Recovery (Ragnarök Drill)
- Custom Domains & TLS
Reference
Silence means no.