gridwork apache-2.0 stage 1/5 · contract pre-1.0

Built in the open

An agent operating system for the terminal.

Coding agents are multiplying faster than the tools that supervise them. GridWork is the operating layer for a fleet of them — one Rust binary, one append-only event log, one surface.

binary
gw a single Rust binary, from the first build
truth
append-only event log every view is a projection of it
surface
a TUI no web console, ever
git clone https://github.com/GridWork-dev/gridwork cargo build --workspace # stable rust · msrv 1.88 cargo install gridwork lands when the CLI crate publishes at 1.0.

Pre-1.0 — expect breakage. This project is being built in the open from its first commit. Schemas, protocols, and the binary itself change without notice until 1.0. Don’t run main anywhere you care about.

Architecture

Four commitments, and everything follows from them.

Each one is a constraint before it is a feature. They are what makes the system auditable instead of merely automated.

One log

Every platform truth — tasks, messages, gates, budgets, telemetry — is a projection of a single append-only event log. No dashboard database. No second truth.

A kernel, not a wrapper

A daemon owns the event store, the attention queue, the authority policy — what agents may do unattended and what pages a human — plus workflow runs and worktree lifecycle. Clients are thin.

Terminal-native

The surface is a TUI: an orchestration mode with an attention queue, a work board, and a live view of the fleet — and a workspace mode that is a real multiplexer.

Engine-agnostic

Agents are driven over ACP plus engine hooks and PTY. Control never rides keystrokes — no synthetic typing, no screen scraping, no guessing what the agent saw.

Provenance

Built by the thing it builds.

GridWork is not a cold start. It is the open rebuild of an internal agent OS that has been running a real software operation for months: spec-driven phases, authority gates deciding what agents may do unattended, event-sourced telemetry, and a fleet of coding agents shipping production systems under it.

7,300+contributions
5 moelapsed
1public repo

That contribution graph is the receipt — nearly all of it agent-authored, and until now, nearly all of it in private repositories. This is the first public one, and the same agents are writing this codebase: most commits here are agent-authored under human direction and review. That is disclosed as a fact, not a caveat — the same quality gate applies regardless of who typed the code.

Clean room

Terminal multiplexing and agent orchestration are domains where established projects carry copyleft licenses. GridWork is Apache-2.0, and its independence is procedural — written down and in force before any engine code exists.

  • Concept-level inspiration from public, documented behavior.
  • A derivation citation on every non-obvious terminal behavior — the public spec it implements, or a registered captured observation.
  • × Code copied, ported, or mechanically translated from an incompatibly-licensed project. Never accepted, from anyone.
  • × Engine authors reading copyleft multiplexer source, before or during that work.

Every change touching the clean-room paths gets an independent second review on the public pull request. Full policy: CLEANROOM.md.

Roadmap

Five stages to 1.0, landing in order.

Each stage exits with working, tested code. There are no aspirational branches.

stage 1 of 5 — contract, in progress

  1. 01

    Contract

    current

    The shared language everything else speaks.

    • Domain types, event schemas, and state machines in gwk-domain, with property tests
    • Event-stream conformance checking in gwk-cert
    • A generated TypeScript contract for non-Rust consumers, CI-checked against the committed artifact
  2. 02

    Kernel

    planned
    • A daemon owning an append-only event store — the sole writer; every other view is a projection
    • The attention queue: one prioritized feed of everything that needs a human
    • Authority policy as data: what agents may do unattended, what always pages
    • Headless CLI verbs over the same protocol the TUI will use
  3. 03

    Engines

    planned
    • PTY engine: authoritative server-side virtual terminal, render-state deltas, detach/reattach, recording
    • Agent adapters over ACP and engine hooks — control never rides synthetic keystrokes
    • A parity matrix per engine, including permission-prompt relay
  4. 04

    Console

    planned
    • The orchestration TUI: Queue (attention), Board (work), and a live view of the running fleet
    • Time-synced replay of ledger and terminal, exportable as evidence
  5. 05

    Workspace

    planned
    • A full terminal multiplexer: workspaces, tabs, splits, scrollback, detach
    • Daily-driver quality — the stage where GridWork becomes the terminal you live in
  6. ——

    1.0

    planned
    • All pillars complete and packaged, with a single-command install
    • Distribution stops assuming you run your own postgres — a zero-setup embedded backend is part of 1.0 packaging, not before

Principles that won’t move

  • One append-only log owns every truth; user interfaces are projections of it.
  • The kernel is the sole writer; clients are thin.
  • Control never rides keystrokes.
  • Terminal only. No web console.

Build surface

What exists, and what doesn’t yet.

Library crates are prefixed gwk-; the crates.io name gw belongs to an unrelated tool. The binary is gw — permanently, from the first build.

Workspace crates — stable Rust, MSRV 1.88
CrateWhatStatus
gwk-domainShared types, events, state machines — the contractskeleton
gwk-certContract conformance checker for event streamsskeleton
xtaskCodegen and release glueskeleton
gwk-kernelDaemon: event store, projections, attention, authorityplanned
gwk-ptyPTY engine: server-side VT, render-state deltas, reattachplanned
gwk-adapter-*Per-engine ACP and hooks adaptersplanned
gwk-tuiThe client: modes, lenses, paletteplanned
gridworkCLI crate — headless verb twin of the TUI; ships gwplanned

Pre-1.0, the fastest way to help is issues with concrete reproductions and small, focused PRs. Every PR is green on fmt, clippy -D warnings, the test suite, doc tests, and cargo deny before it merges — agent-authored or not.