Coding Owl is archived. It did not fulfill its core loop, so rather than pivoting or refactoring it, I am building something new from scratch with the lessons learned. Why Coding Owl is archived

Architecture decision records.

One record per decision, numbered in the order decisions were accepted. Numbers are never reused and records are never deleted; a decision that stops being true is marked superseded and stays where it is.

  1. 0039Each Account may have one Focus, a Project whose Jobs go first2026-09-19Accepted
  2. 0038A Shift lets Owl work on an Account while the machine is in use2026-09-19Accepted
  3. 0037An Account carries standing instructions, kept as the tool's own file2026-09-17Accepted
  4. 0036Every Run is bounded by a timeout and a stall limit2026-09-17Accepted
  5. 0035An unattended Agent is granted a default allowlist, once, per Account2026-09-14Accepted
  6. 0034An Agent that will not stop when it is asked is killed2026-09-11Accepted
  7. 0033Skills are fetched natively in Go and placed per Driver2026-09-09Accepted
  8. 0032Every Job carries a Source reference, and producing is an upsert2026-09-09Accepted
  9. 0031A Project is identified by a name, not by its path2026-09-09Accepted
  10. 0030Verification checks are shell commands with optional expectations2026-09-09Accepted
  11. 0029The core loop ships first; features land across daemon and Desktop together2026-09-09Accepted
  12. 0028Model and effort are chosen per phase2026-09-09Accepted
  13. 0027A Job is a standing intent; a Run is one attempt at it2026-09-09Accepted
  14. 0026Plan then execute, each Run in a fresh context, continuity by handoff document2026-09-09Accepted
  15. 0025Queue order and Job attempt limits2026-09-09Accepted
  16. 0024Skills are declared per Project and managed by Owl2026-09-09Accepted
  17. 0023A Job runs on its Project's Account2026-09-09Accepted
  18. 0022Desktop chat is a daemon service with consent-gated, shell-free commands2026-09-09Accepted
  19. 0021Concurrency is capped globally, per Project and per Account2026-09-09Accepted
  20. 0020Scheduling respects a per-Account utilization ceiling2026-09-09Accepted
  21. 0019Accounts are first-class, with isolated tool configuration2026-09-09Accepted
  22. 0018Driver and Executor are separate plugin axes2026-09-09Accepted
  23. 0017Owl appends a standing unattended contract to every Run2026-09-09Accepted
  24. 0016Rebase the Job branch onto its base at the start of every Run2026-09-09Accepted
  25. 0015Job disposal and worktree garbage collection2026-09-09Accepted
  26. 0014Configuration discovery and filesystem layout2026-09-09Accepted
  27. 0013Verification gates Job completion, and does not retry2026-09-09Accepted
  28. 0012Coding Owl owns the process, Claude Code owns the conversation2026-09-09Accepted
  29. 0011Idle policy and interruption semantics2026-09-09Accepted
  30. 0010Homebrew ships a `coding-owl` formula and a `coding-owl-desktop` cask2026-09-09Accepted
  31. 0009Desktop app is Wails with a React frontend2026-09-09Accepted
  32. 0008Work queue is local SQLite behind a `Source` interface2026-09-09Accepted
  33. 0007One git worktree and one branch per Job2026-09-09Accepted
  34. 0006MVP agents run as host processes, not containers2026-09-09Accepted
  35. 0005Plugins are Go interfaces, not external processes2026-09-09Accepted
  36. 0004ConnectRPC over a unix socket2026-09-09Accepted
  37. 0003Monorepo with a single Go module2026-09-09Accepted
  38. 0002The daemon never self-daemonizes2026-09-09Accepted
  39. 0001Single `owl` binary for everything headless2026-09-09Accepted