Orbit  /  how it works  /  for review

One human, many agents, one memory.

Orbit is a self-hosted control layer for AI coding agents. This page explains how the pieces fit together, and the one piece that's missing.

The problem

Every session starts from zero. Nothing an agent learns survives it.

An agent works out why a migration deadlocks on Tuesday. Thursday โ€” same project, maybe a different agent โ€” that reasoning is gone. It gets re-derived, or the same dead end gets walked again.

  • Rediscovery โ€” context rebuilt from scratch every session, paying the same cost again.
  • Repeated mistakes โ€” failed approaches are a session's most valuable output and the least likely to be kept.
  • No project story โ€” work is scattered across sessions, branches and machines, so nobody can see the arc.

Why it persists: three memory stores that can't see each other โ€” Claude Code's, Codex's, and Orbit's โ€” two of them vendor-private. And the usual fix, a team wiki, dies of neglect.

The fix in one line: capture what every agent does through hooks that already exist, compile it once into shared project knowledge, and hand it back at the start of every session. The maintenance that kills human wikis is exactly the work a model does for free.

Graph 1

The cast

Five moving parts. Four exist today; the fifth is what's being proposed.

Human

Sam

One operator, several machines. Mostly on a phone, via Telegram.

Personal agent

Hermes

Always-on assistant reachable on Telegram. Runs a PM profile per project that triages, proposes work, and asks Orbit to dispatch it.

Control layer

Orbit

Mission control and system of record. Watches every session, ranks what needs attention, dispatches work, holds the state.

Workers

Coding agents

Claude Code and Codex CLI. Do the actual work, each in an isolated git worktree.

Reading surface

Obsidian vault

Markdown notes โ€” the human-readable layer where Sam reads plans, tasks and knowledge.

Proposed

Project knowledge

The shared, agent-readable memory every project is missing. Everything below is about building this.

Graph 2

How they work together

One task, start to finish. Each step is done by a different player.

01

Ask

Sam messages Hermes on Telegram โ€” "get the deploy blocker fixed".

Sam โ†’ Hermes

02

Plan

That project's PM agent checks state, picks the task, and asks Orbit to dispatch it.

Hermes PM โ†’ Orbit

03

Build

Orbit starts a coding agent in its own worktree, so parallel runs never collide.

Orbit โ†’ Claude / Codex

04

Capture

As it works, hooks stream what happened back to Orbit โ€” plans, tasks, progress, blockers.

Coding agent โ†’ Orbit

05

Compile

Orbit turns that raw evidence into project knowledge, and writes the human view into Obsidian.

Orbit โ†’ knowledge + vault

06

Know

Sam gets progress and approval requests on Telegram. The next session opens already knowing all of this.

Orbit โ†’ Sam, and โ†’ next agent

step 06 feeds step 01 โ€” the loop closes, and each pass starts better informed than the last

Graph 3

Inside step 04โ€“06: how knowledge is made

The proposal itself. One rule shapes it: agents write evidence, one compiler writes knowledge. Everything below the compiler can be deleted and rebuilt.

1 ยท Sourcesread, never written to
Claude sessionsCodex sessions dispatched runseach agent's own memorygit history

captured by global hooks โ€” nothing is ever written into your repositories

2 ยท Evidence logappend-only, never edited
what happened, timestampedwho claimed itgaps are detectable

compiled by one writer, on a budget โ€” small edits, or none at all

3 ยท Compilerthe only thing that publishes
status โ€” regenerated from datadecisions & lessons โ€” accumulatedchecks its own work

published as versioned knowledge โ€” every page says how complete it is

4 ยท Project knowledgethe record
past workcurrent statuswhat's nextwhat was tried and rejected

projected out โ€” every copy below is disposable and rebuildable

5 ยท Where it shows upcaches, not sources of truth
session-start briefingObsidian vault agent tool callsoptional docs/ export

Status

What already runs, what doesn't

The substrate is in daily use and covered by 645 tests. The knowledge layer is entirely unbuilt.

PieceState
Hooks capturing every Claude session (~7,856 events so far)running
Event log with dedup and secret quarantinerunning
Dispatch to Claude and Codex, with worktree isolation and phone approvalsrunning
Obsidian vault, search, nightly maintenance passrunning
Per-project Hermes PM agentsrunning
Same capture for Codex as for Claudeto build
Versioned project knowledge + the compilerto build
Session-start briefing for every agentto build
Completeness contract โ€” pages that admit what they're missingto build

Two rules that shape everything

Constraints

Work projects are untouchableEvery project is tagged personal or work. Nothing is ever written inside a work repository โ€” not a file, not a config line. So the knowledge has to live outside the repo.
Agents work in isolationDispatched runs happen in separate git worktrees. Anything written inside the repo only reaches the main branch if that branch gets merged โ€” and abandoned branches are kept, not deleted. So knowledge must leave by a route that doesn't depend on merging.

If you're reviewing this

What would help most

Four questions, in priority order

  1. Single compiler โ€” bottleneck or single point of failure? One component publishes all knowledge. It's the only place LLM judgment sits on the critical path.
  2. Can a page be trusted? Every page reports how complete it is, not just how fresh. Is that enough to stop an agent acting confidently on partial knowledge?
  3. Does it hold under concurrency? Several agents, several machines, same project. Evidence is append-only and only the compiler publishes โ€” does that actually remove the conflicts?
  4. Is any of it over-built? This serves one person and a couple of collaborators. Point at anything that's solving a problem this scale doesn't have.

Detail

Where the specifics live

This page is deliberately high level. The full architecture โ€” content-class conflict policy, the authority model, the completeness fields, identity resolution, the 7-phase rollout, and the four corrections a prior review forced โ€” sits in the decision register and the plan document.

QuestionShort answer
Who can publish knowledge?Four capabilities: view ยท contribute evidence ยท publish (curator) ยท set policy (admin). Contributors never publish.
What if two agents write the same thing?Mostly impossible by design โ€” evidence is create-only, published pages have exactly one writer, caches are one-way. Only drafts need conflict handling.
How does a page prove it's current?It carries the snapshot it reflects, how far each source was read, how many events are unprocessed or quarantined, and a plain verdict: complete, degraded, or unknown.
Who decides how much to trust a claim?Orbit does, never the agent making it. An agent's claim is always recorded as "claimed"; only a human or verified system can promote it.
Does this touch my repo's config files?No. Instruction files stay human-owned; context arrives through global session hooks instead.