`noemactl` is a thin client for the HTTP API with a few offline commands that talk to the database directly. It prints tables by default and JSON with `-json` where a command supports it, exits non-zero on API errors with the error message, and never stores credentials. ## Environment | Variable | Purpose | |---|---| | `NOEMA_URL` | base URL of the daemon, default `http://127.0.0.1:8080` | | `NOEMA_API_TOKEN` | bearer token from the account page; required for API commands | | `NOEMA_DATABASE_URL` | for the offline commands only (`migrate`, `user`) | ## Commands ``` status show daemon status version print version migrate up|down|status – manage database schema (offline) user create [-role r] – manage users (offline) mind list|create|inspect|clone|personality – manage minds template list – personality templates ask [-wait 30] – talk to a mind and wait for its reply observe – inject an operator observation event inspect |list [-type t] [-n 50]|tail – cognitive events workspace show |cycle |pause |resume |reset – workspace and cognition control narrative – current internal narrative state show |reset – drives and affect memory search |list |inspect |add [-kind k] [-epistemic e] belief list --mind m [-status s]|inspect |assert |wrong goal list |add prediction list |calibration entity list [query]|inspect |merge |distinct consolidate – run consolidation now reflect – run reflection now dreams list|run|promote [note]|reject [reason] notifications list [-mind m]|read-all approvals list|approve [note]|session |deny [note] policy list|add -mind m -capability c -target t -effect e [-reason r]|delete invoke [target] [json-params] – invoke a capability through policy provider list|test [model] prompt list|show integrations list|add [secret]|run |runs |delete snapshots list|create [name]|fork |export|import compare replay list|start [from] [to]|show experiments list|create |show |run |export ``` ## Examples Talk to a mind and wait up to a minute for the reply, with the evidence it rests on: ``` noemactl ask dani -wait 60 "Is atlas the primary database host?" ``` Watch cognition live: ``` noemactl event tail dani ``` Inject an observation as an operator and see what the mind does with it: ``` noemactl observe dani "server-03 reported SMART CRC errors at 09:12" noemactl workspace show dani noemactl belief list --mind dani -status contested ``` Correct a belief and stop it being re-derived: ``` noemactl belief wrong dani 01a0… "atlas was renamed; db-primary is the host now" ``` Let a mind read metrics, ask before it fetches URLs, and see the decisions: ``` noemactl policy add -mind dani -capability read_metrics -target '*' -effect allow -reason "read-only telemetry" noemactl policy add -mind dani -capability http.fetch -target 'https://status.example.com/*' -effect ask noemactl approvals list noemactl approvals approve 01a0… "one-off status check" ``` Connect sources: ``` noemactl integrations add dani research_folder papers ./research noemactl integrations add dani prometheus prod http://prom.internal:9090 env:PROM_TOKEN noemactl integrations add dani webhook alerts - env:ALERT_HOOK_SECRET noemactl integrations run 01a0… ``` Snapshot, fork, compare, replay: ``` noemactl snapshots dani create "before the migration incident" noemactl snapshots dani fork 01a0… dani-b noemactl compare dani dani-b noemactl replay dani start 01a0… noemactl replay dani show 01a0… ``` Export a mind to a file and import it elsewhere: ``` noemactl snapshots dani export > dani.noema.json NOEMA_URL=https://other.example noemactl snapshots x import dani.noema.json dani ``` Run an experiment from a definition file (see [snapshots, forks, replay and experiments](snapshots-replay) for the format): ``` noemactl experiments create capacity3.json noemactl experiments run 01a0… noemactl experiments export 01a0… > results.json ```