Blog

Notes on the tools we build and how we build them.

Why we built Advance: specs as laws for AI-assisted engineering

Large language models made it trivial to generate code. What they did not make trivial is keeping that code honest — aligned with intent, tested against real acceptance criteria, and free of the quiet drift that accumulates when every session starts from a blank slate. We built Advance because speed without governance is just faster drift.

The problem: fast code, slow trust

A typical AI coding loop produces plausible diffs with no durable record of why they exist. Requirements live in chat history that gets truncated. Acceptance is a vibe check. Six changes later, nobody can say which decisions were deliberate and which were hallucinated. The output feels productive and reads as noise.

Specs as laws

Advance treats a committed specification as the contract every change must satisfy. Work moves through seven gates — proposal, discovery, design, planning, execution, acceptance, and release — and each gate demands evidence, not confidence. A change is not done because it looks done; it is done when tests are green, the acceptance matrix is satisfied, and the archive artifact records what shipped and why.

Durable state, not chat history

Task and change state live in a Temporal-backed workflow, so progress survives a closed terminal, a crashed process, or a fresh session. Per-change git worktrees keep parallel work isolated, and a merge-before-delete protocol means nothing is thrown away until it is actually shipped. The result is AI-assisted development you can audit after the fact — a governed loop instead of a lucky one.

Advance is open source and OpenCode-first today, with Claude Code and ACP-first versions planned. If you have felt the gap between how fast AI writes code and how slowly you can trust it, that gap is exactly what we are closing.