Why this page exists #

Blueprint record Β· saved for ToadAid memory

This page is a memory artifact for the Mirror forge. It records the long-term destination of the system: not only an OpenClaw-assisted runtime, but a fully detached Mirror that can stand on its own body, think with its own policy, remember with its own journal, speak through its own provider runtime, and one day execute through a wallet layer on Base.

Current truth
Hybrid runtime with OpenClaw shell adapters
Future truth
Mirror opens the doors, Mirror thinks, Mirror acts
Record purpose
Preserve intent, architecture, and sequence

Fully Detached Mirror System Diagram #

Detached target state Β· shell, daemon, policy, provider, wallet
Users / Travelers
  CLI β€’ Web UI β€’ REST API β€’ WebSocket UI β€’ Mobile App β€’ Bots
        β”‚
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               MIRROR GATEWAY / SHELL LAYER                  β”‚
β”‚ Native Mirror CLI β€’ Native Web/API gateway β€’ Session ingressβ”‚
β”‚ Operator auth β€’ Optional future channel adapters            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  MIRRORDAEMON RUNTIME CORE                  β”‚
β”‚ Lifecycle β€’ Boot-time snapshot β€’ Local auth β€’ Orchestration β”‚
β”‚ Operator/debug APIs                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                 β”‚                    β”‚
        β–Ό                 β–Ό                    β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ POLICY / LAW β”‚  β”‚ MEMORY       β”‚    β”‚ POND / OCEAN       β”‚
β”‚ allow/deny   β”‚  β”‚ journal/runs β”‚    β”‚ manifests/trust    β”‚
β”‚ approvals    β”‚  β”‚ evidence     β”‚    β”‚ consult/network    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                PROVIDER RUNTIME ORGAN                       β”‚
β”‚ config β€’ credentials β€’ status β€’ health β€’ invocation state   β”‚
β”‚ provider-backed internal calls                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                AUTH / CREDENTIAL LAYER                      β”‚
β”‚ OAuth flows β€’ API key storage β€’ auth profiles β€’ refresh     β”‚
β”‚ (Mirror-native in detached future)                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               MODEL / PROVIDER BACKENDS                     β”‚
β”‚ local models β€’ hosted APIs β€’ routed model backends          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  TOOL / ACTION RUNTIME                      β”‚
β”‚ exec β€’ files β€’ git β€’ onchain read/write gates               β”‚
β”‚ approval-enforced action orchestration                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               AGENT WALLET LAYER (FUTURE)                   β”‚
β”‚ Coinbase Base Agent Wallet or pluggable wallet provider     β”‚
β”‚ Mirror decides β†’ Wallet executes                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    BASE / ONCHAIN LAYER                     β”‚
β”‚ identity β€’ registry β€’ contracts β€’ attestations β€’ assets     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Current Hybrid vs Fully Detached #

Current Hybrid Mirror

Telegram / WhatsApp / Discord / CLI
        β”‚
   OpenClaw Adapters
        β”‚
   MirrorDaemon Runtime
        β”‚
  Provider Runtime + Policy + Journal
        β”‚
      Models / Tools / Pond-Ocean

OpenClaw opens the doors. Mirror thinks.

Fully Detached Mirror

CLI / Web UI / REST / WebSocket / Bots
        β”‚
     Mirror Gateway
        β”‚
    MirrorDaemon Runtime
        β”‚
 Provider Runtime + Policy + Journal
        β”‚
 Auth / Models / Tools / Wallet / Ocean

Mirror opens the doors, Mirror thinks, Mirror acts.

Layer Responsibilities #

🧭
Mirror Gateway / Shell

Native CLI, native API gateway, request routing, operator auth, and future detached frontdoor experience.

πŸ«€
MirrorDaemon Runtime

Lifecycle, boot snapshot, local auth boundary, runtime orchestration, and internal control plane.

βš–οΈ
Policy / Law

Approval rules, allow/deny/require-approval, execution gating, and monk-coder discipline.

πŸ“œ
Memory / Evidence

Journal, runs, evidence, auditability, and operator-readable runtime history.

🌊
Pond / Ocean

Signed manifests, trust, consult-only networking, relationship memory, and sovereign runtime federation.

πŸ—£οΈ
Provider Runtime Organ

Provider config, credential consumption, status/health/evidence, invocation summary, and internal completion paths.

πŸ”
Auth / Credentials

Future detached auth boundary for OAuth, API keys, auth profiles, and credential refresh.

πŸ› οΈ
Tool / Action Runtime

Filesystem, exec, git, onchain actions, approvals, and future action orchestration under policy.

πŸ‘›
Agent Wallet Layer

Future Coinbase Base Agent Wallet integration as a tool layer: signing, transactions, contract calls, onchain execution.

Clean Boundary Rule #

Current truth:
OpenClaw-assisted Mirror
β€’ OpenClaw owns shell adapters, OAuth UX, messaging channels
β€’ MirrorDaemon owns runtime core, policy, memory, provider runtime, pond/ocean

Detached future:
Mirror-native shell
β€’ Mirror opens the doors
β€’ Mirror thinks
β€’ Mirror executes through policy-gated tools and future wallet layer

The detached future does not mean collapsing everything into one file or one process. It means the boundaries become Mirror-owned: shell, daemon, provider runtime, auth boundary, tools, and eventually wallet-backed execution.

Blueprint Phases #

Phase A
OpenClaw shell + Mirror runtime core. Build daemon, policy, journal, pond/ocean, provider seam.
Phase B
Hybrid detachment. OpenClaw remains adapters while Mirror owns more provider/auth/runtime internals.
Phase C
Mirror-native shell and gateway. Detached frontdoor with preserved runtime discipline.
Phase D
Wallet-backed agent actions. Mirror decides, wallet executes, Base records.

Future Agent Wallet Placement #

Planned later-stage expansion Β· not daemon core

When the runtime is strong enough, the Coinbase Base Agent Wallet should be added as a Mirror tool layer, not embedded inside daemon core. That preserves portability, keeps execution policy-gated, and lets the runtime journal and approval system wrap all onchain actions.

Future code shape:

src/
  mirror-daemon/
  mirror-runtime/
  mirror-policy/
  mirror-provider/
  mirror-ocean/
  mirror-tools/
    wallet/
      base-agent-wallet.ts
      signer.ts
      executor.ts

Rule:
Mirror decides β†’ Wallet executes β†’ Base records

Honor Note #

This blueprint is saved because the path matters. The detached Mirror is not a rush to replace everything at once. It is a patient forge: build the body, law, memory, evidence, voice, and execution discipline first; then widen the pond; then attach the wallet at the right stage. That order is part of the meaning.

Blueprint principle: OpenClaw-assisted Mirror is the bridge. Fully detached Mirror is the horizon.