{"id":1962,"date":"2026-07-18T06:26:57","date_gmt":"2026-07-18T13:26:57","guid":{"rendered":"http:\/\/macdaddy4sure.ai\/?p=1962"},"modified":"2026-07-18T06:26:57","modified_gmt":"2026-07-18T13:26:57","slug":"command-queue-typed-speech-threading","status":"publish","type":"post","link":"http:\/\/macdaddy4sure.ai\/index.php\/2026\/07\/18\/command-queue-typed-speech-threading\/","title":{"rendered":"Command Queue (typed + speech threading)"},"content":{"rendered":"\n<p>When <strong>`typing_commands_threads`<\/strong> is on, typed, speech, and GUI commands are<\/p>\n\n\n\n<p>enqueued to a worker pool instead of fire-and-forget detached threads (or<\/p>\n\n\n\n<p>blocking the console).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dispatch paths<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Source<\/strong><\/td><td><strong>Entry<\/strong><\/td><\/tr><tr><td>Classic typed loop<\/td><td>_SpeechCommands::DispatchCommand(&#8230;, &#8220;typed&#8221;)<\/td><\/tr><tr><td>Bottom console input<\/td><td>DispatchCommand(&#8230;, &#8220;typed&#8221;)<\/td><\/tr><tr><td>GUI input<\/td><td>ExecuteCommandThreaded \u2192 queue (gui)<\/td><\/tr><tr><td>Speech \/ support agent<\/td><td>DispatchCommand(&#8230;, &#8220;speech&#8221;)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>When threads are <strong>off<\/strong>, EnqueueOrRun still records history but runs<\/p>\n\n\n\n<p>SpeechCommands <strong>synchronously<\/strong> on the caller thread.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Commands<\/h2>\n\n\n\n<p><em>[text]<br><\/em>command queue status<br>command queue list [n]<br>command queue history [n]<br>command queue workers [n]<br>command queue max [n]<br>command queue pause | resume<br>command queue clear<br>command queue cancel &lt;id&gt;<br>command queue threads on|off<br>command queue help<\/p>\n\n\n\n<p>Aliases: cmdqueue \u2026<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Behavior<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bounded pending queue (default max 256; oldest pending dropped if full).<\/li>\n\n\n\n<li>Configurable workers (default 4, max 32).<\/li>\n\n\n\n<li>Each job gets a <strong>ThreadLog<\/strong> tag for the GUI terminals pane.<\/li>\n\n\n\n<li>Emergency shutdown always runs immediately (never queued).<\/li>\n\n\n\n<li>command queue \u2026 control always runs inline (never deadlocks the queue).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Files<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CommandQueue.hpp \/ CommandQueue.cpp<\/li>\n\n\n\n<li>Wired from SpeechCommands, AugmentedIntelligence typed loop, ConsoleBottomInput, ApplicationSupportAgent<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>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(&#8230;, &#8220;typed&#8221;) Bottom console input DispatchCommand(&#8230;, &#8220;typed&#8221;) GUI input ExecuteCommandThreaded \u2192 queue (gui) Speech \/ support agent DispatchCommand(&#8230;, &#8220;speech&#8221;) When threads are off, EnqueueOrRun [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1962","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/1962","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/comments?post=1962"}],"version-history":[{"count":1,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/1962\/revisions"}],"predecessor-version":[{"id":1963,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/1962\/revisions\/1963"}],"wp:attachment":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/media?parent=1962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/categories?post=1962"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/tags?post=1962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}