Command Queue (typed + speech threading)
When `typing_commands_threads` is on, typed, speech, and GUI commands are
enqueued to a worker pool instead of fire-and-forget detached threads (or
blocking the console).
Dispatch paths
| Source | Entry |
| Classic typed loop | _SpeechCommands::DispatchCommand(…, “typed”) |
| Bottom console input | DispatchCommand(…, “typed”) |
| GUI input | ExecuteCommandThreaded → queue (gui) |
| Speech / support agent | DispatchCommand(…, “speech”) |
When threads are off, EnqueueOrRun still records history but runs
SpeechCommands synchronously on the caller thread.
Commands
[text]
command queue status
command queue list [n]
command queue history [n]
command queue workers [n]
command queue max [n]
command queue pause | resume
command queue clear
command queue cancel <id>
command queue threads on|off
command queue help
Aliases: cmdqueue …
Behavior
- Bounded pending queue (default max 256; oldest pending dropped if full).
- Configurable workers (default 4, max 32).
- Each job gets a ThreadLog tag for the GUI terminals pane.
- Emergency shutdown always runs immediately (never queued).
- command queue … control always runs inline (never deadlocks the queue).
Files
- CommandQueue.hpp / CommandQueue.cpp
- Wired from SpeechCommands, AugmentedIntelligence typed loop, ConsoleBottomInput, ApplicationSupportAgent
Filed under: Uncategorized - @ July 18, 2026 6:26 am