Make the namespace explain itself instead of requiring prior knowledge. - ctl is self-describing: reading it (empty write) or writing 'help' returns the valid verbs with one-line descriptions; an unknown verb errors with the valid list. Refactor dispatch to an ordered []ctlCmd carrying descriptions; drop the undocumented '.' alias and the drift-prone hardcoded help verb. Keep 'i' (drop 'inject') for fast injects. o's ctl usage now reads the live listing. - Errors carry severity + remediation. backend.ClassifyError maps the typed errors to transient/config/fatal with a one-line fix; the error event renders [[[error:<severity>]]] and a 'remediation:' line so a human knows whether to wait or intervene. - Add a human status file: 'thinking · 12s', 'calling shell · 3s', 'idle' — distinct from the machine-facing raw state. Wire the TUI bar to it. - Bare 'o' shows an overview of running sessions/agents with status, so you don't need to know any names to get oriented. Tests: dispatch help/unknown/routing, ClassifyError severity table. |
||
|---|---|---|
| .. | ||
| agents | ||
| configs | ||
| prompts | ||
| scripts | ||
| services | ||
| skills | ||
| tools | ||
| workflows | ||
| backends.conf | ||