SOUNDTRACK // IRON UNDER PRESSURE
JEZWEB // GRID OSv2026
JEZWEB

> product // goanna // the making of

Goanna
how it was made.

Goanna is the knowledge fabric that runs our AI virtual team: shared memory, files and a real sync daemon so every agent works from the same substrate. Four repos, 931 commits, 24 days of calendar time in May 2026. The framework ships as conventions, not code; the platform ships as a Go daemon, a Cloudflare Worker and a desktop app.

931
commits
4
repos
24
calendar days
20
daemon releases

The short version

It started on 1 May 2026 as a convention framework: a folder structure and a set of agent roles (boss, worker, librarian, scout) with no code at all. The idea was that markdown files and shared conventions were enough substrate for a small AI fleet. That held true for the framework itself, which iterated from v0.1 to v0.2.19 over nine days of dogfooding and brains-trust reviews.

By mid-May the live instance had outgrown what a filesystem alone could do. A bash sync stack became a Go daemon (goannad), then grew CAS conflict resolution, a Cloudflare Durable Object for event fan-out, an auto-update mechanism and a web app. A desktop client was built in parallel, reaching v0.8 in a single session. What mattered in the end was the constraint that held: the framework still ships zero scripts. Convention, not code, is what makes it forkable.

● 1 May: framework scaffold

Convention before code

The framework and the live Jezweb instance were started on the same day, committing together through nine shared phases. v0.1 established the folder shape and three baseline agents; a WHY.md named the design decisions from the first commit. The quickstart prompt was simplified to 'hi boss': the smallest possible on-ramp.

● 3–7 May: dogfood loop

Frictions surfaced, framework revised

Six dogfood frictions were addressed in v0.2.3. A fourth agent (scout) was added in v0.2.12. The setup-goanna skill made fresh-machine bootstrap a single operation by v0.2.14. A brains-trust review was run before the first public announcement, catching issues in inheritance, async-comms framing and the onboarding path.

● 8–12 May: fleet goes live

Agents wired, crons running, 22 days of output committed

The live instance started accumulating real fleet work, inbox briefs, specialist agents, client records and scheduled crons. The framework kept pace: the docket primitive was introduced for author-files/reviewer-commits, then discarded four days later when it hadn't earned its place. A simplification sweep on 11 May cut the framework from 17 root files to 8 and coined the essence-only principle.

● 13–14 May: substrate architecture

Git was not enough

A steward agent primitive was added to handle per-Mac git hygiene. Claude Desktop Routines were adopted as the scheduler, then parked in a 5-phase reversal when terminal Claude Code proved more reliable. The substrate sync model shifted from git-as-substrate to R2 + rclone bisync. The 'den/' folder was renamed to 'wiki/' because 'den' was a personal metaphor.

● 15–18 May: the Go daemon

goannad v0.1 through v0.5

A bash watch/listen sync stack was replaced by a Go daemon in one commit labelled 'goannad v0.1.0'. It grew CAS conflict resolution (v0.3), a Cloudflare Durable Object for WebSocket fan-out (v0.2), and auto-update via SSE so the fleet upgrades in seconds (v0.4.5). A separate session produced the desktop app, Wails scaffold to v0.8 smart auto-titling in a single burst of commits.

● 19–20 May: web layer and testing

55 brains-trust rounds, 229 tests, zero acknowledged gaps

The web app and /ask endpoint were built and hardened across more than 55 documented review rounds on 2026-05-20 alone. The platform reached 82 commits in a single day. The session closed with an explicit readiness brief: 15 rounds, 5 surfaces, 229 tests, zero remaining findings.

● 21–24 May: manifests and MCP

Worker-managed indexes and the ops layer

Worker-managed INDEX.md manifests were planned, specced and shipped in three phases. A goanna-ops MCP Worker was added with fileshare, mediabox and ask tools, giving agents a structured API surface over the substrate they already owned.

git log: “goanna: discard the docket primitive, never earned its place”

12 May 2026, goanna-framework. The framework built and discarded a whole collaboration primitive in two days. The log kept the evidence.

Tried, measured, set aside: the judgement lives here as much as in what shipped.

● dropped

The docket primitive

Introduced on 10 May as an author-files/reviewer-commits workflow layer. Discarded on 12 May: 'never earned its place' is the commit subject. The log is honest about it.

● rebuilt

Bash sync stack replaced by Go

The original watch/listen/SSE sync was bash scripts. It was replaced wholesale by goannad v0.1.0 in Go once the fleet went live and race conditions became real. The bash stack was never shipped to users.

● pivoted

Claude Desktop Routines as the scheduler

Adopted and fully wired across the fleet in a 5-phase rollout on 14 May, then reversed the same day when a CronCreate durability bug made terminal Claude Code the safer default. All five phases are in the log.

● dropped

Speculative skills and graduation machinery

A set of skills including dispatch-upstream, skill-graduation thresholds and the cross-pollinate skill were removed in a batch trim on 12 May. The essence-only principle named what the sweep was for.

Want something built like this?

This is how we work: in the open, measured, honest about the dead ends.