What snappy-os measures on the seed author's dev machine — not a marketing claim. Agentic = hook-wired and executing; context-only = loader prose syncs but no execution hook yet; absent = runtime not installed on the measurement host.
| Runtime | Wiring | Mean score | Runs | Note |
|---|---|---|---|---|
| Claude Code | agentic | 0.69 | 16 | hook-wired via ~/.claude/hooks/; primary development target |
| Codex CLI | agentic | 0.21 | 14 | parallel ~/.codex/hooks.json; passes climbing |
| OpenClaw | context-only | 0.24 | 21 | Sync writes AGENTS.md parity; execution-time hooks pending |
| Gemini CLI | context-only | 0.00 | 11 | GEMINI.md sync; no execution-time hook yet |
| Pi | agentic | 1.00 | 3 | bootstrap path via state/pi/; narrow skill set |
| Cursor | absent | — | 0 | context file synced for portability; no live agent on dev machine |
| Windsurf | absent | — | 0 | context file synced for portability; no live agent on dev machine |
state/log/parity.ndjson by state/lint/parity-test.ts. Refresh the measurement with that command; this page re-reads on request. Don't claim "works everywhere" — claim "measured here."
Each runtime has its own setup skill under state/skills/snappy-<runtime>.md (snappy-claude, snappy-codex, snappy-gemini, snappy-openclaw, snappy-cursor, snappy-windsurf, snappy-pi). A fresh agent asked "set me up on <runtime>" reads the relevant file and runs its Steps.