{"id":2006,"date":"2026-07-18T06:40:29","date_gmt":"2026-07-18T13:40:29","guid":{"rendered":"http:\/\/macdaddy4sure.ai\/?p=2006"},"modified":"2026-07-18T06:40:29","modified_gmt":"2026-07-18T13:40:29","slug":"lua-api-brainstorm-integrations","status":"publish","type":"post","link":"http:\/\/macdaddy4sure.ai\/index.php\/2026\/07\/18\/lua-api-brainstorm-integrations\/","title":{"rendered":"Lua API \u2014 brainstorm integrations"},"content":{"rendered":"\n<p>Complete Lua surface for features from this chat (Discovery, Cutlass\/TF32, portal, IIS, PHP, graphs).<\/p>\n\n\n\n<p>Registered by _BrainstormIntegrations::RegisterLuaGlobals from:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>_SpeechCommands::RunLuaScriptFile (every script run)<\/li>\n\n\n\n<li>AgentRuntime common + per-type agent Lua states<\/li>\n<\/ul>\n\n\n\n<p>Related: BrainstormIntegrations.md (BrainstormIntegrations.md) \u00b7 DiscoveryWordPress.md (DiscoveryWordPress.md) \u00b7 TF32MatrixMultiply.md (TF32MatrixMultiply.md)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Running scripts<\/h2>\n\n\n\n<p><em>[text]<br><\/em>integrate lua<\/p>\n\n\n\n<p>or (if your build routes Lua run this way):<\/p>\n\n\n\n<p><em>[text]<br><\/em>lua run lua_scripts\/Brainstorm-Integrations.lua<\/p>\n\n\n\n<p>Harness script path: <strong>`lua_scripts\/Brainstorm-Integrations.lua`<\/strong>.<\/p>\n\n\n\n<p>Scripts also receive existing WordPress helpers:<\/p>\n\n\n\n<p><em>[lua]<br><\/em>wordpress_post(title, content, status)&nbsp; \u2192 ok, post_id, link, error<br>wordpress_test()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u2192 ok, details<br>wordpress_status()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u2192 string<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Integration \/ orchestration<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Function<\/strong><\/td><td><strong>Returns<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td>integrate_status()<\/td><td>string<\/td><td>Hub status (php root, discovery, cutlass, WP)<\/td><\/tr><tr><td>integrate_doctor()<\/td><td>string<\/td><td>Operator checklist<\/td><\/tr><tr><td>integrate_all()<\/td><td>string<\/td><td>Seed discovery + portal export + graphs + cutlass check<\/td><\/tr><tr><td>integrate_selftest()<\/td><td>string<\/td><td>Offline dry-run self-test<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Globals (strings, snapshot at register time):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>integrate_status_text<\/li>\n\n\n\n<li>php_site_root<\/li>\n\n\n\n<li>php_site_url<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Discovery journal<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Function<\/strong><\/td><td><strong>Args<\/strong><\/td><td><strong>Returns<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td>discovery_status()<\/td><td>\u2014<\/td><td>string<\/td><td>Journal status<\/td><\/tr><tr><td>discovery_seed_all()<\/td><td>\u2014<\/td><td>integer<\/td><td>Entries touched (paper+session)<\/td><\/tr><tr><td>discovery_list(pending)<\/td><td>bool<\/td><td>string<\/td><td>List text<\/td><\/tr><tr><td>discovery_record(title, summary, category, detail)<\/td><td>strings<\/td><td>id, auto_posted<\/td><td>Log discovery<\/td><\/tr><tr><td>discovery_post_pending()<\/td><td>\u2014<\/td><td>count, note<\/td><td>Post unposted<\/td><\/tr><tr><td>discovery_wordpress(on)<\/td><td>bool or &#8220;on&#8221;\/&#8221;off&#8221;<\/td><td>bool<\/td><td>Auto-post toggle<\/td><\/tr><tr><td>discovery_dry_run(on)<\/td><td>bool or string<\/td><td>bool<\/td><td>Dry-run toggle<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Example:<\/p>\n\n\n\n<p><em>[lua]<br><\/em>discovery_dry_run(true)<br>discovery_seed_all()<br>local id, auto = discovery_record(<br>&nbsp; &#8220;Lua finding&#8221;,<br>&nbsp; &#8220;Observed X when Y&#8221;,<br>&nbsp; &#8220;platform&#8221;,<br>&nbsp; &#8220;Detail lines\u2026&#8221;)<br>print(id, auto)<br>&#8212; Live only when WP configured:<br>&#8212; discovery_dry_run(false)<br>&#8212; discovery_wordpress(true)<br>&#8212; local n, note = discovery_post_pending()<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cutlass \/ TF32<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Function<\/strong><\/td><td><strong>Args<\/strong><\/td><td><strong>Returns<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td>cutlass_status()<\/td><td>\u2014<\/td><td>string<\/td><td>Backend + precision<\/td><\/tr><tr><td>cutlass_set_precision(p)<\/td><td>&#8220;fp32&#8243;\/&#8221;tf32&#8243;\/&#8221;fp16&#8243;\/&#8221;bf16&#8221;<\/td><td>string<\/td><td>New precision name<\/td><\/tr><tr><td>cutlass_gemm(M,N,K)<\/td><td>ints (default 64)<\/td><td>ok, detail<\/td><td>Run GEMM fill<\/td><\/tr><tr><td>cutlass_bench(size, n)<\/td><td>ints<\/td><td>string<\/td><td>Timing report<\/td><\/tr><tr><td>cutlass_check(size)<\/td><td>int<\/td><td>string<\/td><td>FP32 + TF32 correctness<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Example:<\/p>\n\n\n\n<p><em>[lua]<br><\/em>cutlass_set_precision(&#8220;tf32&#8221;)<br>local ok, detail = cutlass_gemm(256, 256, 256)<br>print(ok, detail)<br>print(cutlass_check(64))<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Graphs (PHP export)<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Function<\/strong><\/td><td><strong>Returns<\/strong><\/td><\/tr><tr><td>graphs_architecture()<\/td><td>JSON string<\/td><\/tr><tr><td>graphs_discovery()<\/td><td>JSON string<\/td><\/tr><tr><td>graphs_rl()<\/td><td>JSON string<\/td><\/tr><tr><td>graphs_all()<\/td><td>JSON string<\/td><\/tr><tr><td>graphs_export()<\/td><td>status string (writes files)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Portal<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Function<\/strong><\/td><td><strong>Args<\/strong><\/td><td><strong>Returns<\/strong><\/td><\/tr><tr><td>portal_status()<\/td><td>\u2014<\/td><td>string<\/td><\/tr><tr><td>portal_export()<\/td><td>\u2014<\/td><td>path\/status string<\/td><\/tr><tr><td>portal_enable(on)<\/td><td>bool<\/td><td>enabled bool<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">IIS<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Function<\/strong><\/td><td><strong>Args<\/strong><\/td><td><strong>Returns<\/strong><\/td><\/tr><tr><td>iis_status()<\/td><td>\u2014<\/td><td>string<\/td><\/tr><tr><td>iis_doctor()<\/td><td>\u2014<\/td><td>string<\/td><\/tr><tr><td>iis_recycle(name, apply)<\/td><td>string, bool<\/td><td>string<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Never<\/strong> pass apply=true from unattended scripts unless explicitly intended.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PHP site<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Function<\/strong><\/td><td><strong>Args<\/strong><\/td><td><strong>Returns<\/strong><\/td><\/tr><tr><td>php_site_status()<\/td><td>\u2014<\/td><td>string<\/td><\/tr><tr><td>php_site_health()<\/td><td>\u2014<\/td><td>string<\/td><\/tr><tr><td>php_site_config_root(path)<\/td><td>string<\/td><td>status<\/td><\/tr><tr><td>php_site_config_url(url)<\/td><td>string<\/td><td>status<\/td><\/tr><tr><td>php_site_deploy(apply)<\/td><td>bool<\/td><td>status<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Minimal integration script<\/h2>\n\n\n\n<p><em>[lua]<br><\/em>print(integrate_doctor())<br>discovery_seed_all()<br>cutlass_set_precision(&#8220;tf32&#8221;)<br>print(cutlass_check(64))<br>print(portal_export())<br>print(graphs_export())<br>print(php_site_health())<br>print(iis_doctor())<br>print(integrate_all())<\/p>\n\n\n\n<p>Full harness: lua_scripts\/Brainstorm-Integrations.lua.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Registration notes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If a function is missing, the harness prints missing binding: name (script uses safe pcall wrappers).<\/li>\n\n\n\n<li>Rebuild after adding BrainstormIntegrations.cpp so symbols link.<\/li>\n\n\n\n<li>Agent scripts get the same globals when the agent Lua state is created after this registration was wired in.<\/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>BrainstormIntegrations.cpp \u2014 all lua_* bindings\u00a0<\/li>\n\n\n\n<li>lua_scripts\/Brainstorm-Integrations.lua\u00a0<\/li>\n\n\n\n<li>SpeechCommands.cpp \u2014 RunLuaScriptFile registration\u00a0<\/li>\n\n\n\n<li>AgentRuntime.cpp \u2014 agent registration\u00a0<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Complete Lua surface for features from this chat (Discovery, Cutlass\/TF32, portal, IIS, PHP, graphs). Registered by _BrainstormIntegrations::RegisterLuaGlobals from: Related: BrainstormIntegrations.md (BrainstormIntegrations.md) \u00b7 DiscoveryWordPress.md (DiscoveryWordPress.md) \u00b7 TF32MatrixMultiply.md (TF32MatrixMultiply.md) Running scripts [text]integrate lua or (if your build routes Lua run this way): [text]lua run lua_scripts\/Brainstorm-Integrations.lua Harness script path: `lua_scripts\/Brainstorm-Integrations.lua`. Scripts also receive existing WordPress helpers: [lua]wordpress_post(title, content, [&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-2006","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2006","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=2006"}],"version-history":[{"count":1,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2006\/revisions"}],"predecessor-version":[{"id":2007,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2006\/revisions\/2007"}],"wp:attachment":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/media?parent=2006"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/categories?post=2006"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/tags?post=2006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}