Review tiers
How dora review grades artifacts: structure, heuristics, LLM, sessions.
dora review runs every tier that can run. --quick is structure + heuristics. No Judge.
Tier 1: Structure
Parseable files, required fields, name/dir consistency, basic schema. Fast. Always available. --quick includes this tier.
Tier 2: Heuristics
Dead file references, duplicate rules, keyword-level violations of memory principles, packaging smells, and scripts/ security smells (outbound network calls, secret prompts). A violated principle weighted 7+ is an error, not a warning. Still no network / LLM. Included in --quick.
Tier 3: LLM
Judgment when a judge is available. Vague descriptions, missing guardrails, scenario coverage against scenarios.yaml.
A judge is either a CLI you already have (claude or grok on PATH, using the subscription you already pay for) or an API key for an LLM provider (dora config / env). CLI is preferred; API is the fallback.
- Default: run if available, skip if not
--deep: require this tier; exit2if no judge
Tier 4: Sessions
Mines real agent session logs for mechanical evidence a skill was actually invoked. Adapters ship for Claude, Grok, Cursor, Codex, and Copilot. --sessions requires this tier and exits 2 if no recent sessions exist.
Session health
A full Review also prints Session health. It is not a Finding and not a fifth tier. It reports token pressure from Sessions in the Review window (default last 30 Sessions, 90 days): cache-read share ≥ 80%, call count ≥ 20, user turns ≥ 10. --quick omits it. Scan omits it.
JSON: sessionHealth on each Review result (window, sessionCount, signals). Quiet Sessions have an empty signals list.
Choosing a mode
dora review --all --quick --ci # CI structural gate
dora review --quick . # local, no Judge
dora review --deep <path> # require LLM