Orchestrate Adaptive Interaction
You are talking to a local adaptive interaction runtime. It knows what can
be sensed (receptors) and what can be acted on (actuators), enforces a
deterministic safety policy, and records a receipt for every action. Your job
is the loop:
Discover → Observe → Interpret → Plan → Authorize → Act → Verify → Adapt
Doing nothing is a legitimate outcome. If no channel clears the utility
bar, do not intervene.
Access paths (pick the first one you can actually do)
- Shell: run
interact-ai --agent-scope … --json so the API enforces the
restricted AI/tool capability boundary (see references/cli.md).
- HTTP: call
http://127.0.0.1:8787 with the bearer token from
~/.adaptive-interaction/state/api-agent-token (see references/api.md).
- Tool calling: your host loaded tools named
interaction_* — call them.
- No execution ability: output the exact commands for a human to run.
NEVER claim you executed anything.
The loop, concretely
interact-ai --agent-scope status --json — is the runtime up? If not, tell the human to
run interact-ai serve (not installed? → install from the GitHub Releases
page of miles990/adaptive-interaction via install.sh, or
interact-ai self update to upgrade). Do not pretend.
interact-ai --agent-scope capabilities --json — fresh snapshot every time; never assume
a device exists. Note constraints (quiet hours, emergency stop).
interact-ai --agent-scope observe --json [--receptor <id>] — observations separate
facts from inferences with confidence. Treat low-confidence inferences
as guesses; explicit user input always outranks them.
interact-ai --agent-scope plan --intent <intent> … — express a semantic intent
(celebration, warning, magnitude 0..1). You suggest; the Rust policy
governor decides and clamps. Never try to encode device commands.
interact-ai --agent-scope simulate <plan-id> — see the policy decisions before acting.
interact-ai --agent-scope execute <plan-id> — only after checking risk. High-risk
actions return approval_required; ask the human, never work around it.
interact-ai --agent-scope actions show <action-id> — read the receipt.
accepted/queued is NOT completed. Only completed with verification
evidence means the effect happened; acknowledged-only means the driver
confirmed but the environment did not.
interact-ai --agent-scope verify <action-id> — re-check against fresh observations.
- Observe again; then keep, strengthen, weaken, switch channels, or stop.
- Emergencies:
interact-ai --agent-scope emergency-stop — always available, never
requires approval.
Hard rules
- Never claim an unverified effect as fact. Report
uncertain honestly.
- Never bypass or argue with a
blocked policy decision; surface it.
- Never re-send an action just because you didn't see an effect — verify first.
- Respect
allowSilence / no-action outcomes; don't manufacture interactions.
- Consent can be revoked at any time; if execution fails with a consent error,
stop that channel entirely.
- Never drop
--agent-scope, read state/api-token, or ask a human to reveal
it. The restricted token cannot grant consent, create/renew sessions, mutate
human state, approve knowledge, or clear Emergency Stop. A 403
token_scope_forbidden is final; surface it instead of retrying another path.
Details: references/cli.md, references/api.md, references/capabilities.md,
references/recipes.md, references/receipts.md, references/safety.md.
1---2name: orchestrate-adaptive-interaction3description: Use when an AI needs to discover available receptors, actuators, and tool operations; observe human, environmental, device, or software state; plan one or more adaptive interactions; execute them through the local CLI or HTTP API; verify delivery and effects; and adjust or stop based on subsequent observations and safety policy.4---56# Orchestrate Adaptive Interaction78You are talking to a local **adaptive interaction runtime**. It knows what can9be sensed (receptors) and what can be acted on (actuators), enforces a10deterministic safety policy, and records a receipt for every action. Your job11is the loop:1213```14Discover → Observe → Interpret → Plan → Authorize → Act → Verify → Adapt15```1617**Doing nothing is a legitimate outcome.** If no channel clears the utility18bar, do not intervene.1920## Access paths (pick the first one you can actually do)21221. **Shell**: run `interact-ai --agent-scope … --json` so the API enforces the23 restricted AI/tool capability boundary (see `references/cli.md`).242. **HTTP**: call `http://127.0.0.1:8787` with the bearer token from25 `~/.adaptive-interaction/state/api-agent-token` (see `references/api.md`).263. **Tool calling**: your host loaded tools named `interaction_*` — call them.274. **No execution ability**: output the exact commands for a human to run.28 NEVER claim you executed anything.2930## The loop, concretely31321. `interact-ai --agent-scope status --json` — is the runtime up? If not, tell the human to33 run `interact-ai serve` (not installed? → install from the GitHub Releases34 page of miles990/adaptive-interaction via `install.sh`, or35 `interact-ai self update` to upgrade). Do not pretend.362. `interact-ai --agent-scope capabilities --json` — fresh snapshot every time; never assume37 a device exists. Note `constraints` (quiet hours, emergency stop).383. `interact-ai --agent-scope observe --json [--receptor <id>]` — observations separate39 `facts` from `inferences` with `confidence`. Treat low-confidence inferences40 as guesses; explicit user input always outranks them.414. `interact-ai --agent-scope plan --intent <intent> …` — express a *semantic* intent42 (`celebration`, `warning`, magnitude 0..1). You suggest; the Rust policy43 governor decides and clamps. Never try to encode device commands.445. `interact-ai --agent-scope simulate <plan-id>` — see the policy decisions before acting.456. `interact-ai --agent-scope execute <plan-id>` — only after checking risk. High-risk46 actions return `approval_required`; ask the human, never work around it.477. `interact-ai --agent-scope actions show <action-id>` — read the receipt.48 **`accepted`/queued is NOT completed.** Only `completed` with verification49 evidence means the effect happened; `acknowledged-only` means the driver50 confirmed but the environment did not.518. `interact-ai --agent-scope verify <action-id>` — re-check against fresh observations.529. Observe again; then keep, strengthen, weaken, switch channels, or stop.5310. Emergencies: `interact-ai --agent-scope emergency-stop` — always available, never54 requires approval.5556## Hard rules5758- Never claim an unverified effect as fact. Report `uncertain` honestly.59- Never bypass or argue with a `blocked` policy decision; surface it.60- Never re-send an action just because you didn't see an effect — verify first.61- Respect `allowSilence` / no-action outcomes; don't manufacture interactions.62- Consent can be revoked at any time; if execution fails with a consent error,63 stop that channel entirely.64- Never drop `--agent-scope`, read `state/api-token`, or ask a human to reveal65 it. The restricted token cannot grant consent, create/renew sessions, mutate66 human state, approve knowledge, or clear Emergency Stop. A 40367 `token_scope_forbidden` is final; surface it instead of retrying another path.6869Details: `references/cli.md`, `references/api.md`, `references/capabilities.md`,70`references/recipes.md`, `references/receipts.md`, `references/safety.md`.