CRITICAL — Read ../awiki-shared/SKILL.md first.
Current Status
This skill is partial in the current repo.
- implemented now:
runtime status,runtime setup,runtime mode get/set,runtime listener status/start/stop/restart - command exists but semantics are narrower than the name suggests:
runtime listener installcurrently reuses thestartpathruntime listener uninstallcurrently reuses thestoppath
- planned but not implemented:
runtime heartbeat status/install/run-once
Do not describe install / uninstall as full service-management flows in the current repo state.
Use This Skill For
- inspecting runtime mode
- switching between
httpandwebsocket - controlling the realtime listener and understanding the current
install/uninstallaliases - understanding the current heartbeat contract and limits
Core Concepts
- runtime mode: transport choice exposed only in the runtime domain
- listener: the websocket-side long-lived process
- daemon bridge: the local process boundary used by websocket mode
- heartbeat: scheduled reliability path reserved in the contract but not implemented yet
Decision Rules
- need to know the current transport state ->
runtime statusorruntime mode get - need to bootstrap runtime files and local store ->
runtime setup --mode <http|websocket> - need realtime websocket reception -> use listener commands after setting websocket mode
- receive transport-unavailable error from messaging -> inspect listener status or switch to
http - need heartbeat automation -> explain that the command family is planned in the current repo
Canonical Commands
Implemented now:
awiki-cli runtime statusawiki-cli runtime setup --mode http|websocketawiki-cli runtime mode getawiki-cli runtime mode set <http|websocket>awiki-cli runtime listener statusawiki-cli runtime listener startawiki-cli runtime listener stopawiki-cli runtime listener restart
Current contract, but with alias semantics today:
awiki-cli runtime listener installawiki-cli runtime listener uninstall
Common Patterns
Bootstrap websocket mode
awiki-cli runtime statusawiki-cli runtime setup --mode websocket --dry-runawiki-cli runtime setup --mode websocketawiki-cli runtime listener start --dry-runawiki-cli runtime listener startawiki-cli runtime listener status
If a caller uses runtime listener install, explain that the current repo routes it through the same start path rather than a richer service-install implementation.
Recover from transport issues
awiki-cli runtime listener statusawiki-cli runtime listener restart- if still blocked,
awiki-cli runtime mode set http
Side Effects and Confirmation
| Command family | Effect | Confirmation rule |
|---|---|---|
runtime setup |
writes config and initializes runtime prerequisites | explicit confirmation |
runtime mode set |
changes transport behavior | explicit confirmation |
runtime listener install |
currently delegates to listener start; do not assume separate install side effects | explicit confirmation |
runtime listener start/stop/restart/uninstall |
mutates listener service state | explicit confirmation |
runtime.listener.run |
internal foreground runner | internal only |
Error Handling
- runtime mode confusion -> inspect
awiki-cli schema runtime mode set - listener state confusion ->
awiki-cli runtime listener status - if the user expects true install/uninstall behavior -> explain that the current repo aliases those commands to start/stop
- config or path confusion ->
awiki-cli config show - broader runtime failure ->
awiki-cli doctor
Implementation Notes
- Business commands should not choose transport directly.
- The hidden
runtime listener runcommand is not a user-facing workflow. runtime listener installcurrently calls the same implementation asstart.runtime listener uninstallcurrently calls the same implementation asstop.runtime heartbeatis still planned in the current repo state.
References
docs/architecture/awiki-v2-architecture.mddocs/architecture/awiki-command-v2.md