OCX gets coding work done by people and agents together on a Fossil record,
agents of every strength: hosted ones such as Claude and Codex, and local
models such as Gemma, whose lower reasoning OCX is built to tolerate by
bounding what each step asks of them (PLAN.md, "What it is
for"). This page places OCX's parts in that purpose and says where each is
defined, so each is edited in one place.
Its layers
| Layer | What it gives the purpose | Defined in | State |
|---|---|---|---|
| The record | One Fossil repository per project: threads, tickets, check-ins, tags and wiki pages hold every task, its conversation, its evidence and its result | Fossil, senders and nodes, section 1 | built |
| Protocol v1 | How any person or program asks a node to run a process, talks with it, learns how it ended, and ends it, as messages on the record | protocol v1 | built, stable |
| Nodes and sandboxes | Where work runs: the server's own node, or a build machine or lab board pulling from it; each process confined as its run says | Fossil, senders and nodes, section 5; protocol v1, sections 5 to 8 | built |
| Agents | What does the work inside a run. Hosted agents run from patterns, how each runs being data (HISTORY.md decision 40). Local models run inside OCX's native agent, a bounded tool loop that posts each model exchange to the record, so a weaker model's work can be followed and judged | patterns: USAGE.md, "Write a run"; the native agent: PLAN.md, "Work-unit and tool contract" |
hosted: patterns; native agent: missing |
| Tools | Each one typed definition, reached the same from the command line, the CGI page and MCP; a convenience over the record, never required | tools, USAGE.md |
built |
| An agent's own surface | A bounded MCP surface for an agent's work in its run: read, edit, check, report, delegate, propose | PLAN.md, "Work-unit and tool contract" |
planned |
| Review | Verdicts on check-ins, audited and ci, each from a user other than the author; a local model's cited review report as evidence |
verdicts | audited built; ci from a run missing |
| Repositories | A git repository imported to Fossil, and Fossil's git export served back | USAGE.md, "Import a git repository" and "Fetch the git export" |
built |
| Releases | OCX's own programs staged, accepted by a person and rolled back | USAGE.md, "Stage, accept or roll back a release" |
built |
| Guards | The precepts derived from README's virtues, each held by a spec in one gate | PLAN.md, "Precepts" |
built |
| Code | Crystal modules, each with one purpose | docs/design/modules.md |
built |
What trunk did that is not here yet, and the order to build it, is
docs/parity-v1.md; what comes past parity is
PLAN.md, "Functional gaps".
How it is arranged
scale = 0.9 boxwid = 2.0in boxht = 0.62in Human: box "Person or program" "admin or setup" at (0,3.1) Server: box "Fossil server" "the record" at (0,1.7) arrow <-> from Human.s to Server.n "runs, posts, verdicts" above Node: box "Node" "hook or node tool" at (-2.1,-0.1) Watcher: box "Watcher" "one per run" at (0.7,-0.1) Process: box "Agent or program" "in its sandbox" at (0.7,-1.5) Clone: box "Workspace clone" "run user" at (-2.1,-1.5) Model: box "Local model" "Ollama" at (3.4,-1.5) arrow from Server.sw to Node.n "artifacts arrive" above arrow from Node.e to Watcher.w "hand on" above arrow from Watcher.s to Process.n "launch, deliveries" above arrow <-> from Process.w to Clone.e "commit, post" above arrow <-> from Process.e to Model.w "requests, each posted" above arrow <-> from Clone.n to Server.s "HTTPS sync" above→ /pikchrshow
A node on another host has the same parts, its repository a clone that pulls runs and pushes reports; nothing in either listens for a connection.