Reference

CLI

pipx install https://canonopy.com/dl/canonopy-0.1.5-py3-none-any.whl installs lw. When it lands there, pipx install canonopy is the same file by a shorter name.

Commands

commanddoesflags
lw init [path]writes lw.manifest.json and lw.env--force
lw devstarts the brain: broker, embedder, student, talk lane, coach`--mock [skyrim\gta], --detach, --no-embedder, --session, --status, --down`
lw trigger <class>fires an event and prints the chain--char, --by, --value, --need, --dry-run, --arch, --seconds; classes: theft attack threat slight debt gift amends need order say cast raw
lw watchlive table of every character--char, --rung, --warnings-only, --json, --since, --once
lw why <char>the receipt for one decision--tick
lw servethe HTTP API in front of the broker--port, --host
lw mcpthe same API as MCP tools over stdio: lw_health lw_perceive lw_command lw_trigger lw_watch lw_mind lw_manifest_check, plus lw_verbs, lw_verb_request, read-only lw_escalations and lw_train_status, and lw_docs, the documentation itself (list, one page, or search), so an agent answers what the brain can do from the pages rather than guessing. sync --send and train are human-only on purpose
lw docsthe documentation, offline: the pages, one page as Markdown, or a search<page>, --search
lw licence activate <key>fetch weights, write the token--no-fetch
lw licence status / deactivate
lw licence subscribeStripe Checkout, $20/month; the trial key becomes the paid licence
lw licence portalcard, invoices, cancel
lw licence poolthe pooled flywheel this licence is part of, and the base version it is on
lw licence buildkey createa wake-only key for a shipped game, shown once; list, revoke <id>--label
lw bundlethe brain as one folder a game ships: embedded Python, the embedder, your weights, the manifest, a launcher`--target mac\windows\linux, --build-key, --out, --manifest, --wake-url, --no-talk`
lw escalationswhat the flywheel has queued, by lane--lane, --show
lw syncflush escalations up by hand (the student and ranker lanes go by themselves); the gate lane's raw sentences only with the flag--dry-run (default), --send, --include-unclassified, --confidential
lw verbsthe vocabulary: every verb, its engine action, whether it speaks
lw verbs request <name>ask for a new verb; the moment it certifies it is released to you with its operator card, so the planner can choose it (lw train status, then lw licence activate)--looks-like, --wrong-when, --reference
`lw train <student\gate\ranker>`request a retrain--note
lw train status [job]certification receipts

Output grammar

a fault (config, reachability). · a refusal, the system working. starvation.

Exit codes

codemeaning
0ok
2an uncaught class exists
3manifest loads but this adapter cannot execute some verbs
4config error
5licence missing, invalid or lapsed
7brain not running

Environment

lw.env in the project (paths resolve against it); the environment wins.

variablemeaning
LW_SESSIONone session = one set of journals; every service shares it
LW_MANIFESTmanifest path(s), :-separated
LW_WAKE_URLthe hosted deliberator; unset = in-process
LW_API_URLlw serve, default http://127.0.0.1:8767
LW_TALK_PORTthe talk lane, default 8094
LW_SPEECH_BACKENDstub \anthropic \openai
LW_EMBED_URLthe embedder, default http://localhost:8098
ANTHROPIC_API_KEYthe talk lane only, if you use it