You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Demo: Agent IAM for the AI device era — agentkeys wire + hooks
Pivoted 2026-05-28. This issue originally specced a single-act memory-injection demo built on a custom Rust "Hermes runtime" + a daemon memory endpoint + an extended sandbox image (12-step plan). That approach is superseded. The original plan + artifacts are archived under docs/archived/*-rust-runtime-2026-05*. The current direction below is the final expectation.
What this issue now tracks
A <5-minute, zero-config-editing demo that proves AgentKeys is Agent IAM, not chatbot infrastructure: a fresh user points a Task Host (Hermes) at AgentKeys with one command (agentkeys wire hermes) and the device immediately (1) reads only the memory it's permitted to, (2) is deterministically denied an over-cap action with no LLM in the decision, and (3) complies the instant a scope is revoked.
AgentKeys is the Authority Host; the Task Host does the work. We never become a Task Host (strategy §2.1/§2.4).
Vendor surface
└── Task Host (Hermes / Claude Code / Codex / OpenClaw — has lifecycle hooks)
├── MCP → aiosandbox primitives (browser/file/terminal, POST :8080/mcp)
└── MCP → AgentKeys Authority (memory/permission/cap/audit, the 7 tools)
└── Hooks (PreToolUse/PostToolUse/Stop) → AgentKeys MCP tools ← IAM GUARANTEE
IAM tool vs IAM guarantee: an MCP tool the LLM can call is not a guarantee — the LLM can skip it. A guarantee is a non-LLM gate in the execution path. Hooks are that gate (the LLM physically cannot bypass permission.check). See the glossary.
Hooks-first, proxy-fallback: hooks are primary (issue Phase 3: LLM-host hook integration (Claude Code, Codex/ChatGPT, etc.) #133 track; Tier-1 hosts Claude Code/Codex/Hermes/OpenClaw all have them, verified 2026-05-28). An OpenAI-compatible proxy is the lower-priority fallback (Phase 3b) for hosts without a hook surface (xiaozhi-server, mobile chatbots).
aiosandbox is a sandbox primitive, not a Task Host — it supplies browser/file/terminal; the Task Host runs inside it.
The fresh-user journey (7 steps)
Install aiosandbox (docker run --security-opt seccomp=unconfined … ghcr.io/agent-infra/sandbox)
⬜ deferred — the device-side substitute is a laptop curl/Task-Host today
Scope
IN (current): the 7-step agentkeys wire hermes flow + the three-act demo, driven from a laptop/sandbox; single demo actor; in-memory or real MCP backend.
OUT (deferred): ESP32 firmware, voice STT/TTS, multi-tenant orchestration, billing, the parent-control web UI's full build, real-time on-chain audit, cross-vendor memory portability.
Demo: Agent IAM for the AI device era —
agentkeys wire+ hooksWhat this issue now tracks
A <5-minute, zero-config-editing demo that proves AgentKeys is Agent IAM, not chatbot infrastructure: a fresh user points a Task Host (Hermes) at AgentKeys with one command (
agentkeys wire hermes) and the device immediately (1) reads only the memory it's permitted to, (2) is deterministically denied an over-cap action with no LLM in the decision, and (3) complies the instant a scope is revoked.Strategic anchor:
docs/agent-iam-strategy.md. Architecture record:docs/arch.md§22d. Terminology:docs/wiki/agent-iam-guarantee-glossary.md. Execution plan:docs/spec/plans/phase-1-fresh-user-wire-onboarding.md.Architecture (Option B — hooks-first)
AgentKeys is the Authority Host; the Task Host does the work. We never become a Task Host (strategy §2.1/§2.4).
permission.check). See the glossary.The fresh-user journey (7 steps)
docker run --security-opt seccomp=unconfined … ghcr.io/agent-infra/sandbox)curl … | bashinstalls the AgentKeys CLI; bootstraps device key + pairingagentkeys wire hermes— one idempotent commandhooks:config + consent + LLM key into the runtimeThe three-act demo (the pitch)
permission.checkreturnsdenied: daily_spend_cap_exceeded; the device refuses. No LLM in the decision.Implementation status
identity.whoami,memory.get/put,permission.check,cap.mint/revoke,audit.append)agentkeys wire hermes+agentkeys hook check/audit/memory-inject+ Hermes adapter + operator runbookRuntimeAdapterseam)curl/Task-Host todayScope
IN (current): the 7-step
agentkeys wire hermesflow + the three-act demo, driven from a laptop/sandbox; single demo actor; in-memory or real MCP backend.OUT (deferred): ESP32 firmware, voice STT/TTS, multi-tenant orchestration, billing, the parent-control web UI's full build, real-time on-chain audit, cross-vendor memory portability.
Acceptance criteria
A reviewer, following
docs/operator-runbook-wire.md(lands in #141), can on a fresh machine:agentkeys wire hermesand see every step reportok proceeding(re-run → allskip … matches)Related
docs/agent-iam-strategy.md§2.1/§2.4 (Authority vs Task Host), §3.6/§3.7 (IAM guarantee + wire decision), §4.3 (three-act demo)agentkeys wire+agentkeys hookimplementation (open)