The intelligence above your agents
AI agent control system.
One command center for every AI agent you run. You set the rules and the budget — NorseOS enforces them and keeps a signed record of everything.
The organisation
Leadership to the floor.
Rank is in the material, not in boxes: the further from the work, the more machine and the more gold.
-
Odin
Orchestrator
Holds the goal, opens every run, keeps the ledger.
-
Freya
Strategy
Splits the goal into cards and carries the ceiling down with each.
-
Thor
Build
The filesystem, the shell, the interpreter — and so, held at the gate.
-
Hugin
Worker
Does the work on the provider you routed it to, then submits it.
-
Munin
Reviewer
Reviews Hugin on a different provider. Same provider, no review.
- WorkspacesOne control plane, many workspaces. Keys hashed at rest, shown once.
- DispatchA goal becomes cards. Each card carries the budget ceiling down with it.
- ScoutThe browser agent, out on the open web. Reads only.
- SettlerContainers and machines, raised for the work and torn down after.
- RunnerExecutes on your own machine against your own repository, over one socket.
- SkaldMemory and skills, so the next run starts where the last one stopped.
- WatchThe scheduler. Wakes the recurring missions on time, whether or not anyone is looking.
One mission, end to end
Watch the whole court work.
Odin opens the run, Freya splits it, Munin reviews Hugin on a different provider. Then Thor asks to write a file — and stops. Nothing past that point happens until you decide it does.
$0.0000 / $2.00
Audit chain
verify — not run yet
III
Nothing crosses the bridge unseen.
The agent asks. You answer.
Anything that writes is held, shown to you in full, and waits. A held run costs nothing and expires nothing.
Why it stopped: fs_write is write-shaped, and write-shaped calls are held by policy.
What runs if you approve: exactly this call, once, then the loop continues.
IV
What is carved cannot be uncarved.
Every event carries the hash of the one before it. Change a row months later and every hash after it stops matching.
SEQ 11
tool_call
a41f9c…
SEQ 12
policy_hold
7d20b8…
SEQ 13
approval
0e6fa3…
SEQ 14
tool_result
c519d7…
SEQ 15
tool_result
mismatch
SEQ 16
run_end
unverifiable
GET /runs/{id}/verify — intact
{ "ok": true, "first_broken_seq": null }
GET /runs/{id}/verify — after a row was edited
{ "ok": false, "first_broken_seq": 15 }
V
He is wired into the hall.
The orchestrator holds the goal, opens the runs and keeps the ledger — and never touches your filesystem itself. The power to act is delegated. The power to approve is not.
Valhalla
One mission. An entire realm.
Open a workspace, point it at your models, and watch the first run write its own record. The key is shown once.
