The Standard
Spec v1.0 · CC BY 4.0
- Open, vendor-neutral specification
- Criteria catalog + JSON Schema
- Three reference prompts (Scan, Review-Team, Review-Solo)
- Patent non-assertion covenant
- Free forever — the moat
CARL — Codebase Agent Readiness Level
Standard v1.0 · CC BY 4.0 · Apache 2.0
Five maturity levels. Eight capability pillars. Machine-checkable criteria. The assessor you're watching right now is scoring the repo that publishes the standard — the same tool, the same criteria, no mocks.
§ Three surfaces
The standard is the moat. The scanner is the product shipping now. The builder is what scaffolds CARL-native apps end-to-end — in alpha internally, public beta after the scanner launch.
Spec v1.0 · CC BY 4.0
Hosted assessor · Apache 2.0
MCP server + CLI · in alpha
Alpha in Wentzel.ai portfolio
§ Procedure
No binary to install, no workflow to wire up. The flow is a pre-flight checklist — deterministic, auditable, safe to run on any repository.
Paste a public github.com URL or, for private repositories, sign in with GitHub. Minimum-scope OAuth (read:user + repo:read) only — token is used once and discarded.
The clone lands in tmpfs-only scratch. The engine runs the deterministic criteria in-process; AI-assisted criteria send file paths + structural metadata only, never file contents.
Level, pillar scorecard, per-criterion findings with remediation. The scratch is discarded with the function lifecycle. The report is the only artifact that survives.
§ The 5 Levels
CARL adapts the CMMI staged representation to agent readiness. L3 (Defined) is the recommended minimum for production workloads maintained with agent assistance.
§ The 8 Pillars
Each pillar contributes criteria at every level. The shipped 26 criteria in @wentzel/carl-engine v0.1 are 100% deterministic — nothing here is theoretical.
§ Privacy architecture
CARL is a code scanner — so we treat privacy as an engineering problem, not a marketing one. Every assessment runs in an isolated ephemeral container that self-destructs after writing a sanitized report. Source code never persists. There is no writeCodeToDisk() function in the worker.
When you assess a repository, code flows through four stages in under 60 seconds. Each stage is isolated, logged, and destroyed on completion. No stage writes to persistent storage. The sanitized report is the only artifact that survives.
60-second maximum container lifetime. Scratch space is RAM-only. No persistent disk touches your code.
Firecracker micro-VMs with outbound network restricted to GitHub and (optionally) your chosen LLM provider.
We retain scores, findings, and remediation text. We never retain source code, file contents, or secrets.
For air-gapped or strict-compliance environments, run CARL as a Docker image on your own infrastructure.