← All projects

Published by KnownBetter Studios → This page is the engineering case study.

Clankkers

Working private tool

Runs coding agents as durable, auditable jobs with restart recovery, human gates and protected Git operations.

GoTypeScriptReactSQLiteAI AgentsOrchestration

At a glance

  • Outcome: Runs durable, auditable local-agent jobs with human gates. Shows canonical worker state as creatures. See KnownBetter Studios for the late-2026 beta target.
  • Status: Works internally and remains under qualification as of September 11, 2026. Last changed code on August 29; September commits cover documentation. The README calls it a private alpha dogfooded daily on its own development, not production SaaS.
  • Role: Work solo; own architecture, criteria, integration, review, debugging and live validation. Review AI-assisted implementation. Built from Shipwright.
  • Stack & libraries: Uses Go 1.25, pure-Go SQLite, Bubble Tea, JSON-RPC 2.0, localhost HTTP, MCP stdio, React 19/Vite and schema-generated TypeScript contracts. Isolates with Git worktrees; presents Zellij or tmux. Uses Python only for some validation and assets.
  • Source: Keeps source private under KnownBetter Studios’ proprietary license. README/product notes plan an open-source core and paid team tier.
  • Validation: Contains 318 Go test files with 1,006 top-level test functions in core/ across CLI, store, daemon, reducers and Codex adapter; counts do not claim a green run. Passed 20 web Vitest files with 173 tests and 9 contract-package tests on September 11, 2026. Includes deterministic conformance scripts and a release-evidence package.
  • Limitations: The ledger records no qualified release: zero of three required multi-repository workflows, one operator, no macOS row and no ship decision. Evidence covers two validated unattended runs on one daemon and six armed transcripts.

Event log

Replaced ad hoc JSON after preserving fifteen corrupt files across five of eight owned-repository sessions, including nine from one parallel session. The writer remains unknown; append-only storage removes exposure without claiming a fix. Rejected CRDTs because uncoordinated, clobbered phase and gate state does not commute. Rejected lock files because stale-lock recovery adds filesystem failure.

Architecture

Separates a workers, tasks, events, evidence and adapters kernel from a phases, gates and evidence-policy pack. Alone, the kernel is a scheduler; the pack fails with two workers. One daemon owns a multi-repository, multi-workflow workspace.

Assigns every accepted event’s identity, position and version with projection updates through one transactional writer. Rebuilds state files, status lines and views as projections.

Drive tick and verification

Folds phase, gates, stops, background work and verification into continue, advance, blocked or stop after each turn. Keeps it pure and tool-independent. The daemon performs legal transitions; tool-specific stop hooks trigger ticks because external daemons cannot resume agents. Refuses shipment without verification.

Computes verification on demand from commits. Requires non-empty acceptance and recent, evidenced daemon-runner passes for every check. Rejects self-claims; later failures override passes. Source changes invalidate affected evidence and restore incomplete status.

Capabilities

  • Supervises agents, worktrees and delivery through a long-lived daemon and projected SQLite log.
  • Serves four clients. CLI and TUI use JSON-RPC 2.0 over Unix sockets. A localhost bridge provides 40 /v1 read and token-guarded command routes for React. MCP stdio rechecks tools against server-side lane policy.
  • Normalizes five structured headless adapters. Claude and Codex provide durable event streams and resumable sessions. Antigravity, Pi and ACP are controlled at best; Antigravity returns text. Pi and ACP remain catalogued but locked.
  • Derives each creature’s form and mood from canonical state. Shows verification separately so appearance never implies a passing check.
  • Keys sensitive commands, deduplicates repeats and records unobserved outcomes as unknown. Replays restarts; formerly live runs await fresh evidence as unreconciled. Supports one daemon; defers multi-daemon.

Prohibits force push, silent reset, automatic conflict resolution, branch deletion and worktree removal regardless of approval. Integrates without force and returns conflicts to the operator.