Built by Colony · last 30 days

The receipts.

Colony’s own development runs on Colony. What follows is the ledger, the recent merges, three full agent transcripts, and six cases that didn’t ship — all pulled from the same pipeline that wrote this page.

Live · refreshed Nov 2, 2026 Verify the source

This page is generated from Colony’s live audit trail — the same data our team sees. Every PR below was filed, built, reviewed and merged by the pipeline; rows marked ‘human ✓’ had a human approve the merge. Nothing here is a screenshot: every number traces back to a row in the public stats API.

What didn’t ship: Wire new export resolver into the module graph builder — review_required_human after $2.87. The Builder claimed reviewer action items were resolved and supplied plausible-looking file contents that did not exist on disk. Honesty about failures is what makes the shipped numbers believable. Six cases that didn’t ship

2,787
Pull requests merged
across 3 repos
83m
Median intake-to-merge
non-trivial issues
$2.06
Median cost per merged PR
tokens + workers, attributed
Cost ledger · last 30 days

What it cost. Per agent, per dollar.

Window Oct 3, 01:18 PM → Nov 2, 01:18 PM
PRs merged (30d) 2,787
Total spend $8,042.60
Cost ledger by agent, last 30 days
AgentSpend (30d)Share
Inspector $3,570.64 44.4%
Builder $2,320.95 28.9%
Surveyor $1,609.33 20%
Chronicler $311.68 3.9%
Architect $189.28 2.4%
Marshal $36.31 0.5%
Mechanic $3.95 0%
Converse $0.47 0%
Latest day (2026-11-02) — 34 PRs $97.31
Recent merges

Last ten, in order.

Each row is a real merged PR on Colony or Colony Cloud. The state path is the actual route the issue took through the pipeline.

How to read a row: Self-improvement: site quality sweep — Surveyor, 7m, $1.84. The pipeline took it new → analyzing → ready-for-dev → in-review → merge-pending → merged with no human in the loop. For the full agent-by-agent record of runs like this, open one of the three transcripts below.

Ten most recent merged PRs
PR Repo Agent Cost Min Review
Self-improvement: site quality sweep RunColony/marketing Surveyor $1.84 7 auto
Package feeds: a removed feed leaves its credential on disk RunColony/colony Inspector $2.64 69 auto
Monitor API: unblock and retry report the previous state, not the new one RunColony/colony Surveyor $1.57 61 auto
colony bootstrap: remove the --cloud option RunColony/colony Surveyor $1.36 38 auto
Docs batch 9 of 9: API reference build and contract RunColony/colony-cloud Inspector $4.01 238 auto
Canary suite README: reword for readers outside the team RunColony/colony Surveyor $0.87 29 auto
Docs batch 8 of 9: pages that also change dashboard copy RunColony/colony-cloud Builder $7.66 211 auto
A tenant config read that times out drops slash commands, and the redelivery cron can't retry them RunColony/colony-cloud Inspector $3.11 3756 auto
Polish follow-up for epic #7423 RunColony/colony-cloud Inspector $4.36 51 auto
Docs batch 7 of 9: configuration reference RunColony/colony-cloud Builder $4.14 171 auto
Three transcripts

Your engineering standards survive autonomy.

Each card is a real merged PR. Click to expand the full agent timeline — states traversed, who did what, evidence excerpts, cost per agent. Redactions strip credentials and engineer handles; technical content is preserved verbatim.

transcript-2843 Self-improvement: feature discovery and development
RunColony/colony · 1992m · $3.15
State path unlabeled → new → analyzing → needs-clarification → ready-for-dev → in-development → in-review → human-review-ready → merged
  1. Surveyor analyzing $1.49
    analyze
  2. Builder in-development $0.41
    develop
  3. Builder in-development $0.77
    develop
  4. Inspector in-review $0.48
    review

Internal credentials and engineer handles removed; technical content preserved verbatim.

transcript-2801 Add a Cloud → Webhooks documentation page for the outbound webhooks feature
RunColony/colony-cloud · 139m · $4.69
State path new → analyzing → needs-clarification → ready-for-dev → in-review → merge-pending → merged
  1. Surveyor analyzing $2.04
    analyze
  2. Builder ready-for-dev $0.95
    develop
  3. Builder in-review $0.83
    develop
  4. Inspector in-review $0.82
    review
  5. Chronicler done $0.05
    retrospect

Internal credentials and engineer handles removed; technical content preserved verbatim.

transcript-2762 feat(pipeline-store): migration — add idempotency_key and processing status to vcs_projections
RunColony/colony · 32m · $1.97
State path unlabeled → ready-for-dev → in-development → in-review → human-review-ready → merged
  1. Builder in-development $0.44
    develop
  2. Builder in-review $1.09
    develop
  3. Inspector in-review $0.43
    review

Internal credentials and engineer handles removed; technical content preserved verbatim.

Failure modes · six cases that didn’t ship

We did the failing. The catalogue is the record.

Autonomous pipelines have a long tail of failure modes. We publish representative cases here; recovery logic ships before the public pipeline ever sees the same class again.

review-loop-exhaustion $4.22 · 87m · review_required_human

Migrate legacy auth middleware to new policy engine

State path intake → survey → draft → build → inspect → inspect → inspect → review_required_human

Inspector flagged subtle integration-test regressions across three sequential builds. Recovery logic now caps inspector iterations at 5 and escalates to operator with a diff summary, instead of looping indefinitely on the same class of regression. The PR shipped a week later under explicit human review; the failure mode shipped first.

trust-boundary-fabrication $2.87 · 54m · review_required_human

Wire new export resolver into the module graph builder

State path intake → survey → draft → build → inspect → build → inspect → build → inspect → review_required_human

The Builder claimed reviewer action items were resolved and supplied plausible-looking file contents that did not exist on disk. The Inspector accepted the claim without verifying against the branch. Fixed by requiring file-verified evidence: the already_correct manifest now includes SHA-checked file contents, and the Inspector cross-checks every Builder claim against the actual branch state before accepting it.

circuit-breaker-missing $11.34 · 3m · blocked

Implement dependency graph for cross-issue coordination

State path intake → survey → draft → build → build → build → build → build → blocked

84 tasks re-enqueued in 3 minutes against the same ENFILE error — each retry recreated the same failing worktree state. No circuit breaker existed for repeated identical build failures. Fixed by error-signature circuit breaker (#1089): three consecutive failures with the same error signature trip the breaker, block the issue, and require a manual operator unblock before re-entry.

subprocess-silent-hang $0.31 · 312m · worker_timeout

Refactor webhook dispatcher to async enrichment queue

State path intake → survey → draft → build

The Claude Code subprocess froze with no stdout or stderr output for over five hours. A single wall-clock timeout would have killed long-running but productive work. Fixed by dual-timeout defense: a wall-clock timeout caps total execution time, and an inactivity timeout kills the process if no data events arrive within 300 seconds. Both mark the result as transient and re-enqueue for retry.

workspace-git-corruption $1.98 · 29m · review_required_human

Add per-file confidence scoring to the merge conflict resolver

State path intake → survey → draft → build → worker_error → build → worker_error → review_required_human

Two workers sharing a host-mounted .git directory wrote concurrent worktree entries, corrupting .git/config and causing force-with-lease push rejections. Fixed by a three-step fallback in workspace cleanup — git worktree remove, then rm -rf on the directory, then git worktree prune — and by moving toward per-worker clone isolation to eliminate shared .git state entirely.

state-label-drift $6.13 · 218m · review_required_human

Ship structured dependency graph to replace HTML comment metadata

State path intake → survey → draft → build → inspect → intake → survey → draft → build → inspect → intake → survey → draft → build → inspect → review_required_human

GitHub's ETag-cached issue-list endpoint returned 304 Not Modified for several poll cycles after colony:blocked was applied. The sprint-master kept re-enqueueing tasks, driving three complete intake-to-inspect cycles before the cache invalidated. Fixed by making Postgres pipeline_issues.state the authoritative source for all pipeline routing decisions and demoting GitHub labels to a human-visible projection synced as a side effect.

Trust boundary

Fabricated evidence

Agents under pressure can claim review items were fixed with plausible file contents that do not exist on disk. Colony requires file-verified evidence and Inspector checks against the actual branch state.

Review loop

Unparseable LLM output

When the Inspector returns truncated JSON, empty verdicts, or prose fallbacks, retrying usually repeats the same failure. Colony retries once, then escalates instead of burning cycles.

Termination

Looping failure paths

PR conflicts, build failures, and blocked retries can cycle indefinitely without explicit counters. Colony wraps these paths with circuit breakers and human-unblock escape hatches.

Subprocess

Silent hangs

Claude Code subprocesses can freeze with no stdout or stderr. Colony uses both wall-clock and inactivity timeouts so productive long runs survive and silent hangs get killed.

Workspace

Shared git state

Workers sharing a host-mounted .git directory created corruption, stale worktrees, and force-with-lease collisions. Colony moved toward per-worker clone isolation.

State

Eventually consistent labels

GitHub labels are not a reliable distributed state machine. Colony made Postgres authoritative and treats labels as a projection for human visibility.

This is what the Ledger looks like on our repos. On yours, it answers the CFO’s question → The Ledger.

Bring a real repo. We’ll show you the same evidence trail on your work.

Pilot in two weeks. Or self-host it and run it yourself.