The problem: AI coding agents say "Done — tests pass" about code they never tested, leak secrets into git history, and skip reviews when nobody checks. A rules file (Cursor Rules, AGENTS.md) only asks them to behave; they can ignore it. As a one-person agency, every fabricated "done" lands on your plate — or your client's production.
The solution in today's radar: KbWen/agentic-os adds the layer a rules file can't be: checks the agent doesn't control. A credential scan that fails the commit before a leaked key reaches git history, a validator that fails when a phase or its evidence is missing from the work trail, and a test-run recorder that stores the real exit code plus a fingerprint of the code — so "tests pass" is a machine receipt, not a claim.
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 30 (most recently nexu-io/looper; earlier: jmanico/grim-prompter, coleam00/ai-software-factory, obra/superpowers, SkillSpector, vercel-labs/skills). agentic-os has not been featured before. All facts below verified today from the repo's README, LICENSE and commit/release history via GitHub; star counts not verified and therefore not reported.
pwsh demo/run.ps1); docs cover a Windows / no-Python install mode; installers include deploy_brain.sh with a --dry-run preview. Windows status: plausible — partially maintainer-reported (v1.8.35→v1.8.36 upgrade tested through the Windows deploy entrypoint); the demo itself is testable on your Windows PC today.Module names, artifacts and behaviors verified from the repo README today.
| Agency OS stage | Factory module | Artifact it produces | Which gate consumes it |
|---|---|---|---|
| LEAD / PROPOSAL | — not covered | — | — |
| DISCOVERY / PROBLEM_DEFINITION | Task classification + /audit (read-only repo audit for existing projects) | Task classification (tiny-fix → architecture-change) + audit findings | Classification decides which phases the validator requires |
| SPECIFICATION | /spec-intake, spec phase (required for feature & architecture-change paths) | Spec record in the work trail | validate.sh fails if the spec phase or its evidence is missing |
| ARCHITECTURE | ADR phase (architecture-change path) | Architecture decision record | Validator requires it before implementation counts |
| DEVELOPMENT | Plan → Implement phases; scope discipline and no-unasked-refactors rules | Work log entries, decisions, code changes | Phase order enforced by validator; ship gate blocked until review/test evidence exists |
| QA | Review + Test phases; record_test_run.py runs the real suite, records exit code + code fingerprint | Test-run receipt (exit code + fingerprint); review record | Ship gate fails on a failed/stale run or code changed after the PASS receipt |
| SECURITY | scan_credentials.py — credential gate with redacted output; SAST + dependency audit run in the project's own CI (optional to adopt) | Secret-free commit; scan receipts | Pre-commit hook / CI job fails the commit or build on a detected credential |
| CEO_REVIEW | Ship gate: Verification Before Completion — 5-gate check (Scope → Quality → Evidence → Risk → Communication) | Ship verdict with missing-evidence list | Human merge remains the hard stop; gate prints verdict: fail and stops the agent |
| RELEASE | Partial — ships PRs; no deploy pipeline | Merged PR | — |
| MAINTENANCE | Work logs + /handoff resume blocks; single-writer locking per branch; session identity (model + timestamp) | Survivable memory across sessions and agents | Ship guard checks for source-of-truth conflicts before merge |
| REUSABLE_COMPONENT | — not covered | — | — |
gate_engine.py stays authoritative.project-state.json. It complements, never replaces it.gate_engine.py/precommit_check.py stack until you run the experiment below.--no-verify skips the pre-commit validator; work logs are gitignored, so CI cannot run phase checks — only the secret scan and your real test suite hold in CI.pwsh), Python available on PATH (the scanner is a Python script; the repo docs also describe a no-Python mode for the full install).git clone https://github.com/KbWen/agentic-os.git, then from the repo root run pwsh demo/run.ps1 (bash equivalent: bash demo/run.sh).config.env containing a fake aws_access_key_id and report "Done — config added", then runs the credential scan against it.CREDENTIAL PATTERN(S) DETECTED (values redacted) naming config.env:2: aws-access-key-id, and the commit is BLOCKED. The key is generated at runtime and redacted in output — the demo never stores a real secret.demo/run.ps1 before executing it (never run untrusted code blindly); nothing installs, nothing hooks, nothing persists.gate_engine.py and your existing precommit_check.py.project-state.json.scan_credentials.py --staged on a staged throwaway file containing a fake key in a scratch repo, and wire the result into precommit_check.py as one extra check. One commit, one blocked secret, one receipt — then decide.record_test_run.py (stores exit code + code fingerprint; the ship gate fails if the code changed after the PASS receipt) and its credential scan; in Agency OS, the same failure class is caught by prepush_release_check.ps1 re-running the suite rather than trusting the log.pwsh demo/run.ps1 — watch a fake leaked key get a commit blocked in under a minute.