Concept

Network state

A network's state is the complete, modeled condition of that network at a point in time — the objects that exist and the meaning attached to them. RAHN's founding move is to treat that state as a first-class computational value rather than something you reconstruct by interrogating devices.

What network state means

In RAHN, network state is built from a small, explicit object model:

Everything else — reachability, connectivity, causality — is derived from or attached to this model with explicit provenance. That keeps the state small enough to be exact and honest about the boundary between the model and reality (see limitations).

Why it matters

Without an owned state object, network work is scattered across device configs, live command output, monitoring dashboards, and tribal knowledge. Questions like "what changed since last week?" or "can I safely apply this change?" have no precise answer. When state is a value, those questions become computations: diff, branch, merge, and verify are operations on data, not archaeology.

How RAHN represents it

State is serialized in a canonical format (version 2) with a strict, total encoding: total ordering of objects, no ambient information, no dependence on insertion order. The canonical bytes are the state's identity (see content addressing). State is never mutated in place — every change is an explicit transition operation from a closed vocabulary, producing a new state value. The normative rules live in the state specification and serialization specification.

What it does not cover

RAHN models a chosen subset of network meaning. Dynamic or hidden state (TCAM contents, kernel caches, vendor-specific behavior) is out of the model — and that honesty is load-bearing: RAHN must never execute against a real network it cannot observe. This is one of the recorded limitations, not an oversight.

Where to go next