- Spec
- Building
- Verifying
- Approval
- Done
Request console for ordinary software work
Tell AW what you want built.
AW turns software requests into specs, code changes, verification evidence, and reviewable delivery artifacts.
- Start
- Natural-language request
- Gate
- Approve scope before work
- Receive
- Preview, report, PR
Request Console
Request software without opening an IDE.
Other AI harnesses feel heavy?Dokkaebi harness ships autonomously.
Architecture · 7 steps
How a request becomes a PR
- 1Request
A PM or stakeholder writes one natural-language line. Nobody touches code yet.
- 2Spec proposal
Wand drafts spec.md. A human approves once, and the real work starts.
- 3Agent dispatch
Claude / Codex / Gemini / Ollama — Wand picks the right model per task and calls it.
- 4Review / fix loop
A second agent reviews; a fixer patches. The loop repeats with no human in the middle until it passes.
- 5AOP gates
Static analysis across 10 dimensions (security, clean architecture, observability...). Security HIGH cannot be waived.
- 6Ledger
Every decision and reason is appended to a JSONL ledger. Who, why, when — auditable later.
- 7PR
Wand opens a GitHub PR with the trust report attached. A human still merges and deploys.
Drop-in · no rewiring
Where Wand fits in your existing workflow
- PM
- Wand
- GitHub PR
- Your CI
- Code review
- merge
- deploy
You don't have to switch tools. GitHub Actions, Slack reviews, your existing deploy pipeline — keep all of it. Wand only takes the request → PR step. The rest of your day looks the same.
vs Claude Code · Codex · Cursor · Aider
How Wand compares to other AI coding tools
| Capability | Wand | Claude Code | Codex | Cursor | Aider |
|---|---|---|---|---|---|
| Spec gate (one human approval) | ✓ | ✗ | ✗ | ✗ | ✗ |
| Ledger (every decision + reason) | ✓ | ✗ | ✗ | ✗ | ✗ |
| Fix loop (auto-iterate) | ✓ | partial | partial | ✗ | partial |
| AOP gates (10 dimensions) | ✓ | ✗ | ✗ | ✗ | ✗ |
| Parallel agents | ✓ | ✗ | ✗ | ✗ | ✗ |
| Trust report (attached to PR) | ✓ | ✗ | ✗ | ✗ | ✗ |
| Multi-day autonomous runs | ✓ | ✗ | ✗ | ✗ | ✗ |
"partial" = the capability exists but is shallow (no spec gate, no ledger, no AOP).
What the operator sees
While Wand is working
@@ push_developer_hero(&mut body, language); + push_d1_architecture(&mut body, language); + push_d9_workflow_fit(&mut body, language); + push_d7_comparison(&mut body, language); + push_d2_workspace_mock(&mut body, language); + push_d8_adoption_steps(&mut body, language); push_hero_and_request_console(&mut body, copy);
▸ phase: implement agent: codex (gpt-5.4:xhigh) files changed: 3 · tests: 0 → 4 passing ▸ phase: review-loop reviewer: claude-cli → 2 findings (auto-fix) fixer: codex → patched ✓ ▸ phase: aop-weave security: ✓ clean-arch: ✓ observability: ✓ ▸ PR opened: #312
This is what the operator sees while Wand is doing the work. A human only steps in when a gate turns red.
From laptop to company-wide
Adopt at your own pace — 5 minutes, 1 day, or 1 week
pip install dokkaebi dokkaebi init my-app dokkaebi intake "build me a customer portal" dokkaebi reconcile
CLI only. No GitHub required. Runs straight on your laptop. The first PR candidate lands in your hand in 5–10 minutes.
dokkaebi init --github-repo your-org/your-app dokkaebi intake "..." --approver @teamlead
Plugs straight into your GitHub PR flow. Pick your approval channel — Telegram, Slack, or GitHub Review. Your existing code-review flow stays exactly the same.
.github/workflows/dokkaebi-gates.yml .harness/CONSTITUTION.md dokkaebi cron --start dokkaebi skills scan
Add AOP gates to CI. Enforce company policy (allowlists, token budgets). Multi-repo, multi-agent, permissioned — all on.
Senior-dev questions, answered straight
The router picks the model. T0 does the dumb work; expensive models only run when it actually matters.
- Every task maps to one of four tiers — T0 (algorithm, no LLM), T1 (local Ollama), T2 (light cloud/CLI), T4 (deep reasoning).
- Per-model prices are baked into the code; every call carries a USD estimate. Local models cost zero.
- CostGovernor uses a reserve → commit/release 3-step transaction to gate LLM calls. GovernedLLMClient wraps every non-stub backend — no bypass. Exceeding the cap raises BudgetExceededError, a hard stop.
- All usage written to append-only JSONL ledgers. `dokkaebi tokens --summary / --hotspots / cost` for after-the-fact accounting.
Why it matters Cursor / Claude Code stick to one model. Wand routes per task and reserves budget before each call — "why is this month $400?" gets blocked upfront, not after.
Honest about: Provider price changes need a manual update. CLI backends (Claude/Codex CLI) expose only estimates — exact tokens stay private.
What Wand won't do — invent novel algorithms, exercise design taste, or close problems where evidence won't converge.
- Fix-retry capped per quality preset (basic / medium / advanced / premium). Exceeding raises max_fix_retries_exceeded → failed. Escalate instead of looping.
- Review-loop has a round cap. If reviewer ↔ fixer can't agree within it, it stops.
- Reverse-clone / site-clone work but don't guarantee pixel-perfect. JS-heavy SPAs expose the crawl engine's limits.
- Local Ollama on HDD has a ~2-minute cold start and can time out on large prompts. Truly fast inference still needs cloud T2/T4.
- 'Security HIGH = no waiver' (CONSTITUTION + RG-12) means specs with HIGH security findings cannot merge. That's an intentional failure mode.
Why it matters Other tools handle "can't" with silence. Wand caps retries, rounds, and budgets explicitly, and the ledger holds evidence right where it stopped. Something to debug.
Honest about: Post-stop escalation UX is rough. Humans often have to read the ledger / failure record directly.
Budget, approval gates, model choice, sandbox — every dial. Lock them all and you get dry-run.
- One quality preset (basic / medium / advanced / premium) sets fix retries, review-loop on/off, round caps, and review tier together.
- Twenty release gates (RG-01..RG-20). Highlights: RG-02 (zero HIGH/CRITICAL AOP gaps), RG-04 (no unresolved Intent-Lock), RG-05 (100% tests), RG-12 (zero HIGH security), RG-14 (GitHub approval).
- Intent-Lock — meaning changes require a human decision. Canonical docs (SPEC.md / ROADMAP.md / CONSTITUTION.md) are proposal_only.
- SecuritySandbox + StageToolRouter — tools available per stage. `rm -rf /`, `curl | bash`, etc. are deny-listed; path containment is enforced.
- Self-host with five backends. An all-local Ollama setup is legal. GitHub approval adapter requires a logged approval event before merge.
Why it matters Claude Code / Cursor stop at allow/deny prompts. Wand offers four axes — code, machine, budget, human-approval.
Honest about: More dials, more learning curve. The default (medium) is reasonable but expect a week of tracing which gate blocks what.
Aspects, tools, adapters — inherit one abstract class and you're in.
- Aspect: extend AspectRunner → register with AOPEngine.register_aspect(). Eleven aspects ship by default (security / clean_arch / observability / resilience / api_contract / test_quality / performance / llm_security, etc.) — add your own.
- Tool: ToolRegistry.register(ToolDef) — JSON-schema based, plugs into P0/P1 registries. StageToolRouter controls per-stage exposure automatically.
- WorkerAdapter: implement the interface to plug in your own backend (in-house model, other CLI agent). LLM / ClaudeCode / CodexCLI / QA / DryRun ship today.
- LLM backend: LLMClient base class. Adding a sixth backend is one class.
- Skills: install requires scan + human approval (`skills scan / approve / install / revoke`). Routing overrides supported.
Why it matters Cursor gives you a model menu; Aider gives you a backend menu. Wand exposes four extension points — validation rules (aspect), tools, backends (adapter), and routing.
Honest about: Plugin-SDK docs are scattered across spec and code. A polished outside-developer guide is still thin — expect to read source and extend.
MIT licensed. All state is plain JSONL. Want to leave? Take the .harness folder and go.
- License: declared in pyproject.toml — MIT. Commercial use, forks, redistribution all allowed.
- Self-host: every step can run locally — Ollama T1/T2 + CLI agent T4. Works without cloud API keys (with a speed trade-off).
- Data portability: every meaningful piece of state lives under .harness/ as plain text. decisions / actions / tokens ledgers are append-only JSONL with JSON Schema published under schemas/. Atomic write (temp → fsync → os.replace) keeps it consistent.
- Audit trail: every decision / action carries summary_human — readable with `cat` / `jq`. `dokkaebi why / timeline / explain` works on top of that plain text.
- No lock-in: code Wand writes is just code. No bespoke runtime dependency. The agent-to-agent protocol DCL/1 is open as well.
Why it matters Cursor / Devin and friends default to SaaS lock-in. Wand publishes the code, the state format, and the protocol — "if Wand's company folds tomorrow, my repo still runs" is real.
Honest about: MIT doesn't mean hosting is free. Self-hosting costs (machines / model APIs) are on you. Parts of the OQ platform integration live in private repos — open-core.
How AW proves it can build
AW earns trust by building — and fixing itself
AW builds real tools from a 100-level capability ladder. Every wall it hits exposes a defect in its own harness — AW roots out the cause, ships the fix as a reviewable spec, and re-climbs. The wall then moves one layer downstream.
- 100Capability-ladder levels — AW's self-evolution launch gate
- 230+Delivery specs shipped — most authored to fix AW's own walls
- 10AOP quality gates on every merge — Security-HIGH is un-waivable
- URL → AppReverse-clone pipeline live through RC-9 — crawl to deployable app
- Climb
- Hit a wall
- Root-cause
- Fix the harness
- Re-climb
- Wall moves downstream
This is dogfooding as a gate: AW is judged not by a demo, but by whether it can build the next tool the last one couldn't. L005 was the ladder's first clean full-green — given only acceptance criteria, AW self-converged a cardinality tool to a HyperLogLog hybrid with no human hint.
What AW can already do
Self-evolving harness
AW hits a wall, diagnoses the defect in its own engine, ships the fix as a reviewable spec, and re-climbs. A convergence chain of 100+ specs is this loop in action — the harness that builds also repairs itself.
Reverse-clone pipeline
Point AW at a URL: it crawls, extracts a typed IR, and deterministically emits a Next.js frontend, a Bun/Elysia backend, a typed monorepo, and Cloud Run deploy artifacts — graded against a measured fidelity SLA.
Evidence-grounded acceptance
AW doesn't trust a green build. It drives the delivered tool with behavioral probes and execution evidence, catching capabilities that compile and pass tests yet don't actually work.
Progressive-determinism codegen
A growing deterministic core emits byte-identical output with no LLM, wrapped by a reproducible LLM tail — so more of what AW ships is verifiable by construction, not by hope.
What's next
Where AW is heading
- Next
One-line clone
dokkaebi clone <url> — a single command that turns any URL into a running, deployable app. The last step of the reverse-clone pipeline.
- Researching
Judge stability
Multi-sample and panel judging to erase acceptance-verdict variance, so the same build always earns the same verdict.
- In progress
Higher ladder tiers
Climbing beyond tier-1 toward the full 100 levels — each tier a harder proof that AW builds what it claims.
- Design
Two-clock self-evolution
A fast, runtime-bounded loop paired with a slow, human-gated one — guarded by a five-layer immune system so autonomy never outruns safety.
- Planned
Multi-language quality gates
Tree-sitter-backed wiring and quality gates across TypeScript and Rust, not Python alone — the same rigor in every stack AW ships.
Compound returns from a self-improving builder.
Wand is building Wand.
This very site is the proof.
The page you're reading, the carousel, the cards, the numbers — all of it was written by Wand. The operator only said "build a site like this." Wand wrote the code, the tests, and shipped the deploy.
Yesterday's Wand builds today's Wand.
Each of the 73 specs becomes a tool for the next spec. When Wand ships a new capability, it uses that capability to ship the next, bigger one. A human only has to set direction.
What you receive gets better every week.
Order today and "this week's Wand" ships it. Order again next month and "a month-better Wand" ships more, for less. Freelancers don't compound like this.
Not locked into Claude or Codex.
Wand routes each step to the best-fit backend. If one vendor raises prices, breaks, or sunsets a model — we swap. Your delivery doesn't stop.
- Claude (Anthropic)Reviewer + big-change safety net
- Codex / GPT (OpenAI)Implementation + fast iteration
- Gemini (Google)Long-context analysis (when needed)
- Ollama (로컬)Offline / zero cost / sensitive data
- 알고리즘 (T0)Tasks that don't need an LLM at all
Most jobs run through 2 to 3 backends concurrently. Single-vendor lock-in is not our risk profile.
Three AW-only reasons to care
Three reasons AW is different
Request to Sub-spec Gate
Broad requests become reviewable, independently testable slices before implementation begins.
Delivery Ledger + Evidence
Decisions, actions, gates, tests, screenshots, traces, costs, and failure reasons stay attached to the run.
Review/Fix Loop + AOP Gates
Agent output passes through reviewer/fixer loops and quality gates before PR handoff.
From request to reviewable delivery
AW end-to-end delivery process
- Request
- Spec
- Sub-spec Gate
- Tasks
- Agent Implementation
- Tests/AOP
- Review/Fix
- Evidence/Ledger
- Preview/PR/Deploy
For experts who need depth
Open the workspace when you need depth.
AW Workspace exposes files, specs, diffs, gates, logs, verification, and agent progress for teams that need to inspect the run.
01-overview.md
Customer Portal - Overview
Provide customers a place to create, track, and manage service requests with role-aware access.
Delivery harness for development teams
Plug AW into your software delivery process.
AW integrates with repositories, CI, reviews, agents, tests, evidence, and PR workflows. It can wrap Claude Code, Codex, ScreenPlay, and custom automation instead of forcing one coding agent to become your whole process.
For non-developers
Ask for software, track status, preview results, and approve scope without opening an IDE.
Start from a requestFor professional teams
Use AW as a governed delivery harness around existing repos, agents, checks, reviews, and PR handoff.
Discuss team integrationCategory boundary
Antigravity is an AI IDE. AW is a request console plus delivery harness with scope gates, ledger evidence, and review loops.