Reference
State
This page tracks what the runtime actually does today.
This page tracks what the runtime actually does today.
What is live today
- Go CLI under
cmd/radioactive_ralph/:--supervisor, dumb client mode,--init,plan {import,ls},doctor,service {install,uninstall,status} - the supervisor: pty ownership per agent (
internal/agent), discovery socket + PID-lock single-instance + stale-socket reclaim (internal/supervisor), the reaper - one user-level SQLite database (
internal/store) holding project fingerprints, config, plans/tasks, spend accounting, and A2A evidence/messages - config virtual layers (
internal/vconfig): USER/PROJECTS composition, change-vs-override handling, conflict diffing, validation - project identity via accumulated fingerprints (
store.Fingerprints) - plan markdown parsing + heuristic decomposition + validation
(
internal/plan) - planning genesis: multi-agent juxtaposition/challenge refinement from a
vague prompt to a plan document, plus TUI/
$EDITORreview (internal/genesis) - the orchestrator: dispatch, spend-cap admission, orchestrator-verified
completion against acceptance criteria (
internal/orch) - A2A vocabulary adoption over
a2aproject/a2a-gocore types (internal/a2a) - shipped provider bindings for
claude,codex,opencode(internal/provider), plus a declarative config-only binding path for compatible CLI framings - agent detection/classification (
internal/agentdetect) - native service-manager integration for launchd and systemd-user
(
internal/service); native Windows supports a limited foreground supervisor/client control plane but provider workers returnErrPTYUnsupported, with SCM status/uninstall retained only to remove prior development registrations - the read-only Bubble Tea TUI with macro/meso/micro drill-down
(
internal/tui) - a Sourcey documentation site under
docs/, with its public Go CLI reference derived directly from Go source by Sourcey'sgodocadapter
What changed from the earlier design
The live contract no longer includes:
- variants/personas (blue/green/savage/fixit/professor/old-man/ world-breaker/etc.) — there is one mutating Ralph
- a durable repo-scoped service, a per-repo plan DAG database, or a
committed
.radioactive-ralph/config directory — replaced by the one supervisor and the one user-level database - the socket-backed "cockpit"/"attach" framing — the client is a read-only view, not a second runtime to attach to
kongfor CLI parsing — replaced bycobra+viper- confirmation-gate-per-variant / spend-cap-as-variant-floor — completion verification and spend caps are now orchestrator-level, not persona-level
Those concepts may still appear in the archived design record under
docs/superpowers/, which is intentionally preserved as history, not
live documentation.
Remaining work
- richer TUI navigation and filtering ergonomics
- an identity-bound per-user Windows service design satisfying the accepted SID, filesystem ACL, pipe authorization, provider/repository access, and clean native lifecycle gate, plus a real native pty provider turn; native SCM install/start remains disabled until then
- continued usage-frame parsing for
codex/opencodeso spend accounting covers every provider, not justclaude
What is intentionally true now
- Ralph is one binary, one supervisor, one mutating agent.
- The supervisor is the durable authority; the client is a read-only view.
- Providers are bindings, not the identity of the product.
- Completion is verified by the orchestrator, never asserted by a worker.
