Agency OS Radar

Daily open-source discoveries for a one-person AI software agency
Report date: Sunday, November 1, 2026 · Agency OS Edition · Addis Ababa (EAT)

Start Here (plain English)

The problem: an AI coding agent can write code, but a one-person agency can't sit and watch it. If nobody is watching, who stops the wrong PR from merging, the same job from being paid for twice, or a customer being told "it shipped" when it didn't? Chat-agent guardrails only work while you're reading the chat.

The solution in today's radar: cromford-ai/cromford is an open-source software factory that runs the whole loop unattended — ticket in, triaged, planned, built, adversarially reviewed, preview-QA'd, merged, deploy-verified, and production-checked. Its whole design idea is: anything a script can decide, a script decides — the expensive, unreliable model is only asked the questions that genuinely need reading comprehension. Deterministic gates, per-call cost accounting, and a human tier for anything risky.

Format note: single-featured-factory layout (standing focus set Oct 25, 2026); the Ethiopia business-opportunity section remains removed. Prior reports were available through Oct 31 (most recently KbWen/agentic-os; earlier: nexu-io/looper, jmanico/grim-prompter, coleam00/ai-software-factory, obra/superpowers). Cromford has not been featured before. All facts below verified today from the repo's README and commit history via GitHub; star/fork counts are as returned by the GitHub API today. This is a very young project — treat it as a pattern to study, not a tool to trust blindly.

The Featured Factory: cromford-ai/cromford INVESTIGATE

The Factory Map — onto the Agency OS Lifecycle

Stage names, scripts, artifacts and refusal conditions verified from the repo README today.

Agency OS stageFactory moduleArtifact it producesWhich gate consumes it
LEAD / PROPOSAL— not covered—— (tickets must already exist on a board)
DISCOVERY / PROBLEM_DEFINITIONtriage — bin/run-triage.sh + deterministic bin/triage-gate.shRUN/SKIP decision with reasonsRefuses to start when the ticket's last word is an unanswered customer question
SPECIFICATIONplan — bin/run-build.shA written change plan ending in named acceptance testsRefuses when it cannot name a test that would fail today
ARCHITECTURE— no separate stage (planning absorbs design; docs cover context composition)—— (gap)
DEVELOPMENTbuild — bin/run-build.sh, on a watcher box or optional ephemeral Fly machine (bin/fly-pool.sh)Implementation against the plan, on its own box/budgetRefuses when tests were weakened rather than made to pass
QAreview (adversarial, never the author's session, bin/review-prs.sh), preview QA (bin/e2e-smoke.sh clicks the PR's own preview), post-merge QA (bin/postmerge-qa.sh drives production)Review findings; preview smoke result; production check resultRefuses when the verify script doesn't prove its claim, the route 404s, or the shipped behaviour isn't there
SECURITY— no dedicated stage; semgrep only as an optional CI check (SEMGREP_REQUIRED=1), not a merge gate—— (gap — see Honest Gaps)
CEO_REVIEWmerge tiers — tier 1 auto-merges when review approves + CI green; tier 2 waits for a human; flags/automerge-disabled forces everything to tier 2 (bin/run-build.sh:1592)PR in one named state with an age budget (bin/merge-queue.sh, bin/merge-sweep.sh)Refuses to merge when CI is not green, base/head moved after approval, or the tier is wrong
RELEASEdeploy-verify — bin/deploy-train.shConfirmation a production deployment followed the mergeRefuses when no deployment appeared within the window
MAINTENANCERule-miner (bin/rule-miner.sh) turns repeated review findings into guardrails/ that fail next time in CI — "only tightens, never loosens"; restartable stages (state on disk + DB); docs/RESTORE.md box recovery; docs/LESSONS.mdNew guardrail rules; recoverable box stateLoad-bearing tests protect the fence (iron-law-guard-test.sh, lane-fence-test.sh, alert-loop-test.sh)
REUSABLE_COMPONENTClosest analog: guardrails + repo-managed skills/ (one SKILL.md per competency, deployed to every box)Tested procedures, not a component libraryPartial (gap)

Honest Gaps

Why It Fits Agency OS

Limitations, Risks & Human Review

Test Today: the read-only dry-run + suite in a container (~30 min)

Agency OS Integration Proposal: a deterministic triage gate + per-call cost ledger

Daily Learning: deterministic before LLM

Final Summary