@mindrian_os/install 1.13.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/.claude-plugin/plugin.json +21 -0
  2. package/.mcp.json +9 -0
  3. package/CHANGELOG.md +3333 -0
  4. package/LICENSE +123 -0
  5. package/README.md +673 -0
  6. package/agents/brain-query.md +80 -0
  7. package/agents/framework-runner.md +237 -0
  8. package/agents/grading.md +188 -0
  9. package/agents/investor.md +128 -0
  10. package/agents/larry-extended.md +135 -0
  11. package/agents/opportunity-scanner.md +91 -0
  12. package/agents/persona-analyst.md +132 -0
  13. package/agents/research.md +89 -0
  14. package/agents/reverse-salient-agent.md +27 -0
  15. package/bin/cli.js +142 -0
  16. package/bin/mindrian-mcp-server.cjs +182 -0
  17. package/bin/mindrian-tools.cjs +765 -0
  18. package/commands/act.md +439 -0
  19. package/commands/admin.md +404 -0
  20. package/commands/analyze-needs.md +42 -0
  21. package/commands/analyze-systems.md +39 -0
  22. package/commands/analyze-timing.md +42 -0
  23. package/commands/auto-explore.md +64 -0
  24. package/commands/beautiful-question.md +40 -0
  25. package/commands/brain-derive.md +78 -0
  26. package/commands/build-knowledge.md +42 -0
  27. package/commands/build-thesis.md +46 -0
  28. package/commands/causal.md +234 -0
  29. package/commands/challenge-assumptions.md +33 -0
  30. package/commands/compare-ventures.md +83 -0
  31. package/commands/dashboard.md +110 -0
  32. package/commands/deep-grade.md +82 -0
  33. package/commands/diagnose.md +58 -0
  34. package/commands/diagnostics.md +151 -0
  35. package/commands/doctor.md +151 -0
  36. package/commands/dominant-designs.md +40 -0
  37. package/commands/explain-decision.md +87 -0
  38. package/commands/explore-domains.md +42 -0
  39. package/commands/explore-futures.md +40 -0
  40. package/commands/explore-trends.md +42 -0
  41. package/commands/export.md +103 -0
  42. package/commands/file-meeting.md +724 -0
  43. package/commands/find-analogies.md +188 -0
  44. package/commands/find-bottlenecks.md +62 -0
  45. package/commands/find-connections.md +76 -0
  46. package/commands/funding.md +81 -0
  47. package/commands/grade.md +203 -0
  48. package/commands/graph.md +128 -0
  49. package/commands/hat-briefing.md +125 -0
  50. package/commands/heal.md +196 -0
  51. package/commands/help.md +399 -0
  52. package/commands/hmi-status.md +172 -0
  53. package/commands/jtbd.md +241 -0
  54. package/commands/leadership.md +73 -0
  55. package/commands/lean-canvas.md +40 -0
  56. package/commands/macro-trends.md +40 -0
  57. package/commands/map-unknowns.md +40 -0
  58. package/commands/memory.md +173 -0
  59. package/commands/models.md +175 -0
  60. package/commands/mos-reason.md +285 -0
  61. package/commands/mullins.md +120 -0
  62. package/commands/new-project.md +481 -0
  63. package/commands/onboard.md +434 -0
  64. package/commands/operator.md +149 -0
  65. package/commands/opportunities.md +144 -0
  66. package/commands/organize.md +497 -0
  67. package/commands/persona.md +198 -0
  68. package/commands/pipeline.md +112 -0
  69. package/commands/present.md +91 -0
  70. package/commands/publish.md +201 -0
  71. package/commands/query.md +124 -0
  72. package/commands/radar.md +72 -0
  73. package/commands/reanalyze.md +91 -0
  74. package/commands/research.md +196 -0
  75. package/commands/room.md +352 -0
  76. package/commands/rooms.md +598 -0
  77. package/commands/root-cause.md +40 -0
  78. package/commands/rs-experts.md +85 -0
  79. package/commands/rs-explain.md +100 -0
  80. package/commands/rs-fetch.md +94 -0
  81. package/commands/rs-thesis.md +85 -0
  82. package/commands/scenario-plan.md +40 -0
  83. package/commands/scheduled-tasks.md +285 -0
  84. package/commands/score-innovation.md +43 -0
  85. package/commands/scout.md +239 -0
  86. package/commands/setup.md +618 -0
  87. package/commands/snapshot.md +147 -0
  88. package/commands/speakers.md +84 -0
  89. package/commands/splash.md +28 -0
  90. package/commands/status.md +75 -0
  91. package/commands/structure-argument.md +42 -0
  92. package/commands/suggest-next.md +80 -0
  93. package/commands/systems-thinking.md +40 -0
  94. package/commands/think-hats.md +42 -0
  95. package/commands/update.md +181 -0
  96. package/commands/user-needs.md +40 -0
  97. package/commands/validate.md +40 -0
  98. package/commands/value-proposition.md +61 -0
  99. package/commands/vault.md +180 -0
  100. package/commands/visualize.md +52 -0
  101. package/commands/whitespace.md +507 -0
  102. package/commands/wiki.md +69 -0
  103. package/hooks/hooks.json +381 -0
  104. package/hooks/run-hook.cmd +64 -0
  105. package/lib/__init__.py +0 -0
  106. package/lib/__pycache__/__init__.cpython-312.pyc +0 -0
  107. package/lib/agents/auto-explore-agent.cjs +1043 -0
  108. package/lib/agents/reverse-salient-agent.cjs +679 -0
  109. package/lib/agents/tension-hook-agent.cjs +544 -0
  110. package/lib/brain/ROOM.md +44 -0
  111. package/lib/brain/chain-recommender.cjs +301 -0
  112. package/lib/chat/chat-context.js +185 -0
  113. package/lib/chat/chat-panel.js +721 -0
  114. package/lib/chat/fabric-chat.cjs +288 -0
  115. package/lib/chat/generative-tools.js +219 -0
  116. package/lib/conversation/ROOM.md +39 -0
  117. package/lib/conversation/classifier-rules.json +38 -0
  118. package/lib/conversation/classifier.cjs +264 -0
  119. package/lib/conversation/operator.cjs +287 -0
  120. package/lib/copy/115-spec-strings.cjs +55 -0
  121. package/lib/core/__init__.py +0 -0
  122. package/lib/core/__nav-stub.cjs +14 -0
  123. package/lib/core/__pycache__/__init__.cpython-312.pyc +0 -0
  124. package/lib/core/__pycache__/rs-math.cpython-312.pyc +0 -0
  125. package/lib/core/__pycache__/rs_cache.cpython-312.pyc +0 -0
  126. package/lib/core/__pycache__/rs_corpus.cpython-312.pyc +0 -0
  127. package/lib/core/__pycache__/rs_hybrid.cpython-312.pyc +0 -0
  128. package/lib/core/__pycache__/rs_math.cpython-312.pyc +0 -0
  129. package/lib/core/__pycache__/rs_rooms.cpython-312.pyc +0 -0
  130. package/lib/core/artifact-id.cjs +148 -0
  131. package/lib/core/asset-ops.cjs +151 -0
  132. package/lib/core/auto-commit-throttle.cjs +129 -0
  133. package/lib/core/bearer-token.cjs +199 -0
  134. package/lib/core/brain-client.cjs +865 -0
  135. package/lib/core/brain-derivation-prompts.cjs +326 -0
  136. package/lib/core/brain-derivation-queue.cjs +431 -0
  137. package/lib/core/brain-derivation.cjs +580 -0
  138. package/lib/core/brain-md-schema.cjs +528 -0
  139. package/lib/core/brain-md-staleness.cjs +357 -0
  140. package/lib/core/brain-response-sanitize.cjs +188 -0
  141. package/lib/core/bridge-writer.cjs +477 -0
  142. package/lib/core/chat-context-builder.cjs +253 -0
  143. package/lib/core/cross-room-aggregator.cjs +762 -0
  144. package/lib/core/daily-briefing.cjs +438 -0
  145. package/lib/core/decision-capture.cjs +618 -0
  146. package/lib/core/deep-links.cjs +82 -0
  147. package/lib/core/dispatch-optimizer.cjs +354 -0
  148. package/lib/core/dual-path-detector.cjs +84 -0
  149. package/lib/core/dual-path-detector.test.cjs +334 -0
  150. package/lib/core/exports-log.cjs +79 -0
  151. package/lib/core/feynman-minto-invariants.cjs +605 -0
  152. package/lib/core/folder-memory-async.cjs +338 -0
  153. package/lib/core/folder-memory-shared.cjs +890 -0
  154. package/lib/core/folder-memory.cjs +416 -0
  155. package/lib/core/framework-chain-composer.cjs +411 -0
  156. package/lib/core/frontmatter-schemas.cjs +330 -0
  157. package/lib/core/git-ops.cjs +141 -0
  158. package/lib/core/graph-ops.cjs +258 -0
  159. package/lib/core/hat-persistence.cjs +362 -0
  160. package/lib/core/index.cjs +60 -0
  161. package/lib/core/integration-registry.cjs +232 -0
  162. package/lib/core/intelligence-cascade.cjs +661 -0
  163. package/lib/core/lazygraph-ops.cjs +1057 -0
  164. package/lib/core/lru-cache.cjs +139 -0
  165. package/lib/core/mcp-profiles.cjs +182 -0
  166. package/lib/core/meeting-ops.cjs +54 -0
  167. package/lib/core/memory-ops.cjs +600 -0
  168. package/lib/core/migrations/ROOM.md +33 -0
  169. package/lib/core/migrations/phase-109-nodes-provenance.cjs +339 -0
  170. package/lib/core/migrations/phase-109-session-focus.cjs +99 -0
  171. package/lib/core/model-profiles.cjs +246 -0
  172. package/lib/core/mullins-scaffold.cjs +160 -0
  173. package/lib/core/nav-dial.cjs +316 -0
  174. package/lib/core/navigation/ROOM.md +15 -0
  175. package/lib/core/navigation/explanation.cjs +43 -0
  176. package/lib/core/navigation/focus.cjs +135 -0
  177. package/lib/core/navigation/ingestion.cjs +82 -0
  178. package/lib/core/navigation/insights.cjs +350 -0
  179. package/lib/core/navigation/memory-events.cjs +118 -0
  180. package/lib/core/navigation/neighborhood.cjs +78 -0
  181. package/lib/core/navigation/packet.cjs +182 -0
  182. package/lib/core/navigation/room-home.cjs +127 -0
  183. package/lib/core/navigation/transitions.cjs +82 -0
  184. package/lib/core/navigation-engine-shared.cjs +242 -0
  185. package/lib/core/navigation-engine.cjs +664 -0
  186. package/lib/core/navigation.cjs +60 -0
  187. package/lib/core/nl-graph-queries.cjs +164 -0
  188. package/lib/core/offer-presenter.cjs +406 -0
  189. package/lib/core/opportunity-extractor.cjs +183 -0
  190. package/lib/core/opportunity-ops.cjs +1371 -0
  191. package/lib/core/persona-ops.cjs +537 -0
  192. package/lib/core/persona-taxonomy.cjs +190 -0
  193. package/lib/core/platform-gates.cjs +120 -0
  194. package/lib/core/platform.cjs +257 -0
  195. package/lib/core/proactive-intelligence.cjs +528 -0
  196. package/lib/core/problem-type-router.cjs +315 -0
  197. package/lib/core/reasoning-ops.cjs +639 -0
  198. package/lib/core/reverse-salient-persona-suffix.cjs +115 -0
  199. package/lib/core/room-classifier-strict-mode.cjs +229 -0
  200. package/lib/core/room-db.cjs +127 -0
  201. package/lib/core/room-ops-async.cjs +92 -0
  202. package/lib/core/room-ops-shared.cjs +64 -0
  203. package/lib/core/room-ops-sync.cjs +70 -0
  204. package/lib/core/room-ops.cjs +32 -0
  205. package/lib/core/room-type-detector.cjs +386 -0
  206. package/lib/core/rs-brain-substrate-prompts.cjs +129 -0
  207. package/lib/core/rs-brain-substrate.cjs +570 -0
  208. package/lib/core/rs-breakthrough-scorer.cjs +255 -0
  209. package/lib/core/rs-canon-violations.cjs +82 -0
  210. package/lib/core/rs-chain-feeder.cjs +343 -0
  211. package/lib/core/rs-commercial-assessor.cjs +280 -0
  212. package/lib/core/rs-differential-scorer.cjs +376 -0
  213. package/lib/core/rs-domain-analyzer.cjs +385 -0
  214. package/lib/core/rs-egress-prompts.cjs +113 -0
  215. package/lib/core/rs-egress-telemetry.cjs +225 -0
  216. package/lib/core/rs-egress-violations.cjs +53 -0
  217. package/lib/core/rs-expert-mapper.cjs +467 -0
  218. package/lib/core/rs-fetcher-academic.cjs +697 -0
  219. package/lib/core/rs-fetcher-experts.cjs +314 -0
  220. package/lib/core/rs-fetcher-industry.cjs +731 -0
  221. package/lib/core/rs-fetcher-patents.cjs +564 -0
  222. package/lib/core/rs-innovation-classifier.cjs +194 -0
  223. package/lib/core/rs-mind-map.cjs +656 -0
  224. package/lib/core/rs-neo4j-writer.cjs +388 -0
  225. package/lib/core/rs-nl-to-query.cjs +425 -0
  226. package/lib/core/rs-pinecone-bridge.cjs +303 -0
  227. package/lib/core/rs-preprocessor.cjs +350 -0
  228. package/lib/core/rs-query-matrix.cjs +316 -0
  229. package/lib/core/rs-query-to-text.cjs +438 -0
  230. package/lib/core/rs-sqlite-mirror.cjs +443 -0
  231. package/lib/core/rs-thesis-generator.cjs +188 -0
  232. package/lib/core/rs_cache.py +479 -0
  233. package/lib/core/rs_corpus.py +468 -0
  234. package/lib/core/rs_hybrid.py +586 -0
  235. package/lib/core/rs_math.py +287 -0
  236. package/lib/core/rs_rooms.py +193 -0
  237. package/lib/core/scheduled-scanner.cjs +463 -0
  238. package/lib/core/scratchpad-ops.cjs +201 -0
  239. package/lib/core/section-8-trace-schema.cjs +138 -0
  240. package/lib/core/section-registry.cjs +111 -0
  241. package/lib/core/session-state.cjs +144 -0
  242. package/lib/core/shallow-doc-parser.cjs +174 -0
  243. package/lib/core/shallow-doc-parser.test.cjs +226 -0
  244. package/lib/core/skill-activation-router.cjs +284 -0
  245. package/lib/core/state-ops.cjs +46 -0
  246. package/lib/core/statusline-cache.cjs +266 -0
  247. package/lib/core/token-estimator.cjs +348 -0
  248. package/lib/core/user-archetype.cjs +239 -0
  249. package/lib/core/user-md-ops.cjs +524 -0
  250. package/lib/core/visual-ops.cjs +624 -0
  251. package/lib/core/write-lock.cjs +149 -0
  252. package/lib/graph/canvas-graph.js +467 -0
  253. package/lib/graph/constellation-config.cjs +299 -0
  254. package/lib/graph/graph-detail-panel.js +165 -0
  255. package/lib/hmi/ROOM.md +47 -0
  256. package/lib/hmi/across-session-memory.cjs +604 -0
  257. package/lib/hmi/cross-room-memory.cjs +575 -0
  258. package/lib/hmi/decoy-tier.cjs +395 -0
  259. package/lib/hmi/jtbd-classifier.cjs +219 -0
  260. package/lib/hmi/jtbd-state.cjs +199 -0
  261. package/lib/hmi/jtbd-taxonomy.json +392 -0
  262. package/lib/hmi/selector-dispatcher.cjs +546 -0
  263. package/lib/hmi/selector-telemetry.cjs +263 -0
  264. package/lib/hmi/shape-f0-renderer.cjs +139 -0
  265. package/lib/hmi/shape-f1-fallback.cjs +80 -0
  266. package/lib/hmi/shape-f1-renderer.cjs +138 -0
  267. package/lib/hmi/shape-f2-renderer.cjs +132 -0
  268. package/lib/hmi/shape-f3-renderer.cjs +66 -0
  269. package/lib/hmi/shape-f4-renderer.cjs +72 -0
  270. package/lib/hmi/shape-f5-renderer.cjs +155 -0
  271. package/lib/hmi/shape-f6-plan-review-renderer.cjs +312 -0
  272. package/lib/hmi/shape-f6-renderer.cjs +144 -0
  273. package/lib/hmi/shape-g-renderer.cjs +219 -0
  274. package/lib/hmi/shape-h-renderer.cjs +222 -0
  275. package/lib/hmi/tier-check.cjs +63 -0
  276. package/lib/import/PRECONDITIONS.md +41 -0
  277. package/lib/import/branding.cjs +210 -0
  278. package/lib/import/branding.test.cjs +235 -0
  279. package/lib/import/classifications-sync.cjs +104 -0
  280. package/lib/import/classifications-sync.test.cjs +129 -0
  281. package/lib/import/enricher.cjs +296 -0
  282. package/lib/import/enricher.test.cjs +273 -0
  283. package/lib/import/integration.test.cjs +376 -0
  284. package/lib/import/manifest.cjs +129 -0
  285. package/lib/import/manifest.schema.json +185 -0
  286. package/lib/import/manifest.test.cjs +123 -0
  287. package/lib/import/meeting-detector.cjs +92 -0
  288. package/lib/import/meeting-detector.test.cjs +100 -0
  289. package/lib/import/person-detector.cjs +229 -0
  290. package/lib/import/person-detector.test.cjs +149 -0
  291. package/lib/import/report.cjs +186 -0
  292. package/lib/import/report.test.cjs +186 -0
  293. package/lib/import/room-md-scaffolder.cjs +49 -0
  294. package/lib/import/router.cjs +224 -0
  295. package/lib/import/router.test.cjs +356 -0
  296. package/lib/import/run-all-tests.cjs +36 -0
  297. package/lib/import/smoke-test.cjs +213 -0
  298. package/lib/import/smoke-test.test.cjs +148 -0
  299. package/lib/import/test-fixtures/collision-vault/preexisting-room/STATE.md +8 -0
  300. package/lib/import/test-fixtures/collision-vault/preexisting-room/problem-definition/onboarding/onboarding.md +7 -0
  301. package/lib/import/test-fixtures/collision-vault/source/onboarding.md +5 -0
  302. package/lib/import/test-fixtures/obsidian-vault/.obsidian/workspace.json +1 -0
  303. package/lib/import/test-fixtures/obsidian-vault/notes/with-wikilinks.md +4 -0
  304. package/lib/import/test-fixtures/tiny-vault/notes/2026-01-15-team-sync.md +9 -0
  305. package/lib/import/test-fixtures/tiny-vault/notes/empty.md +3 -0
  306. package/lib/import/test-fixtures/tiny-vault/notes/onboarding.md +5 -0
  307. package/lib/import/test-fixtures/tiny-vault/notes/pricing.md +5 -0
  308. package/lib/import/test-fixtures/tiny-vault/notes/random.md +4 -0
  309. package/lib/import/undo.test.cjs +199 -0
  310. package/lib/import/vault-scanner.cjs +105 -0
  311. package/lib/import/vault-scanner.test.cjs +67 -0
  312. package/lib/mcp/app-html/dashboard.html +316 -0
  313. package/lib/mcp/app-html/graph.html +428 -0
  314. package/lib/mcp/app-html/mindrian-platform.html +1841 -0
  315. package/lib/mcp/app-html/wiki.html +383 -0
  316. package/lib/mcp/app-views.cjs +322 -0
  317. package/lib/mcp/brain-router.cjs +418 -0
  318. package/lib/mcp/capability-registry.cjs +62 -0
  319. package/lib/mcp/larry-context.cjs +46 -0
  320. package/lib/mcp/larry-server-instructions.md +114 -0
  321. package/lib/mcp/pipeline-state.cjs +275 -0
  322. package/lib/mcp/prompts.cjs +302 -0
  323. package/lib/mcp/resources.cjs +227 -0
  324. package/lib/mcp/session-catchup.cjs +327 -0
  325. package/lib/mcp/surface-detect.cjs +75 -0
  326. package/lib/mcp/tool-router.cjs +1034 -0
  327. package/lib/memory/aaak-compress.cjs +403 -0
  328. package/lib/memory/aaak-compress.test.cjs +288 -0
  329. package/lib/memory/async-artifact-auto-commit.test.cjs +223 -0
  330. package/lib/memory/bearer-token.test.cjs +315 -0
  331. package/lib/memory/brain-cache-lru.test.cjs +259 -0
  332. package/lib/memory/brain-client-query-shape.test.cjs +160 -0
  333. package/lib/memory/brain-derivation-graceful-degradation.test.cjs +1019 -0
  334. package/lib/memory/brain-derivation-queue.test.cjs +539 -0
  335. package/lib/memory/brain-derivation.test.cjs +634 -0
  336. package/lib/memory/brain-derive-command.test.cjs +534 -0
  337. package/lib/memory/brain-md-invariants-validator.test.cjs +704 -0
  338. package/lib/memory/brain-md-schema.test.cjs +467 -0
  339. package/lib/memory/brain-md-staleness.test.cjs +525 -0
  340. package/lib/memory/brain-server-resolution.test.cjs +314 -0
  341. package/lib/memory/chain-recommender.test.cjs +233 -0
  342. package/lib/memory/chat-context.test.cjs +128 -0
  343. package/lib/memory/command-registry.test.cjs +220 -0
  344. package/lib/memory/cross-room-aggregator.test.cjs +909 -0
  345. package/lib/memory/dashboard-server.test.cjs +256 -0
  346. package/lib/memory/debouncer-drain-at-prompt.test.cjs +389 -0
  347. package/lib/memory/decision-capture.test.cjs +632 -0
  348. package/lib/memory/decision-capture.worker.cjs +70 -0
  349. package/lib/memory/explain-decision-command.test.cjs +521 -0
  350. package/lib/memory/explain-decision-footer.test.cjs +316 -0
  351. package/lib/memory/explored-materials-store.cjs +392 -0
  352. package/lib/memory/feynman-minto-guardian.test.cjs +736 -0
  353. package/lib/memory/feynman-minto-invariants.test.cjs +511 -0
  354. package/lib/memory/feynman-prompts-drift.test.cjs +144 -0
  355. package/lib/memory/feynman-prompts.cjs +151 -0
  356. package/lib/memory/feynman-prompts.test.cjs +96 -0
  357. package/lib/memory/folder-memory-quadruple.test.cjs +548 -0
  358. package/lib/memory/folder-memory.test.cjs +503 -0
  359. package/lib/memory/framework-chain-composer.test.cjs +515 -0
  360. package/lib/memory/frontmatter-schema-validator.test.cjs +290 -0
  361. package/lib/memory/heal-command.test.cjs +604 -0
  362. package/lib/memory/index-artifact-transaction.test.cjs +333 -0
  363. package/lib/memory/lazygraph-rs-discoveries-view.test.cjs +122 -0
  364. package/lib/memory/mcp-input-validation.test.cjs +240 -0
  365. package/lib/memory/mcp-server-brain-deps.test.cjs +270 -0
  366. package/lib/memory/mcp-stack-fallback.test.cjs +433 -0
  367. package/lib/memory/minto-debouncer.test.cjs +407 -0
  368. package/lib/memory/minto-debouncer.worker.cjs +46 -0
  369. package/lib/memory/minto-migration-v88.test.cjs +265 -0
  370. package/lib/memory/minto-schema-v88.test.cjs +390 -0
  371. package/lib/memory/mos-status-renderer.test.cjs +631 -0
  372. package/lib/memory/narrative-schema.cjs +376 -0
  373. package/lib/memory/narrative-schema.test.cjs +209 -0
  374. package/lib/memory/nav-dial.test.cjs +414 -0
  375. package/lib/memory/navigation-engine-core.test.cjs +722 -0
  376. package/lib/memory/navigation-invariants.test.cjs +483 -0
  377. package/lib/memory/offer-presenter.test.cjs +554 -0
  378. package/lib/memory/on-stop-snapshot.test.cjs +404 -0
  379. package/lib/memory/pending-tension-store.cjs +373 -0
  380. package/lib/memory/post-compact-reinjection.test.cjs +854 -0
  381. package/lib/memory/post-write-triple.test.cjs +317 -0
  382. package/lib/memory/pre-compact-snapshot.test.cjs +495 -0
  383. package/lib/memory/problem-type-router.test.cjs +656 -0
  384. package/lib/memory/query-efficiency-telemetry.test.cjs +370 -0
  385. package/lib/memory/recompile-room-references.test.cjs +392 -0
  386. package/lib/memory/recompile-room-references.worker.cjs +42 -0
  387. package/lib/memory/record-decision-dual-write.test.cjs +454 -0
  388. package/lib/memory/room-classifier-strict-mode.test.cjs +417 -0
  389. package/lib/memory/room-minto-hook.test.cjs +398 -0
  390. package/lib/memory/rs-discovery-engine.test.cjs +323 -0
  391. package/lib/memory/run-feynman-tests.cjs +1247 -0
  392. package/lib/memory/security-trifecta.test.cjs +312 -0
  393. package/lib/memory/session-start-brain-staleness.test.cjs +363 -0
  394. package/lib/memory/session-start-triple-injection.test.cjs +514 -0
  395. package/lib/memory/sessionstart-banner-formatter.cjs +318 -0
  396. package/lib/memory/sessionstart-minto-banner.test.cjs +373 -0
  397. package/lib/memory/skill-activation-router.test.cjs +419 -0
  398. package/lib/memory/stamp-artifact-write.test.cjs +304 -0
  399. package/lib/memory/statusline-active-room.test.cjs +315 -0
  400. package/lib/memory/statusline-minto-segment.test.cjs +292 -0
  401. package/lib/memory/sync-async-entry-points.test.cjs +204 -0
  402. package/lib/memory/test-bridge-writer-enhanced.cjs +452 -0
  403. package/lib/memory/test-rs-brain-substrate-shape.cjs +529 -0
  404. package/lib/memory/test-rs-brain-substrate.cjs +636 -0
  405. package/lib/memory/test-rs-breakthrough-scorer.cjs +375 -0
  406. package/lib/memory/test-rs-canon-violations.cjs +218 -0
  407. package/lib/memory/test-rs-chain-feeder-core.cjs +344 -0
  408. package/lib/memory/test-rs-chain-feeder-skill-spawn.cjs +297 -0
  409. package/lib/memory/test-rs-commercial-assessor.cjs +385 -0
  410. package/lib/memory/test-rs-differential-scorer.cjs +480 -0
  411. package/lib/memory/test-rs-discovery-engine.cjs +603 -0
  412. package/lib/memory/test-rs-domain-analyzer.cjs +492 -0
  413. package/lib/memory/test-rs-egress-primitives.cjs +420 -0
  414. package/lib/memory/test-rs-expert-mapper.cjs +547 -0
  415. package/lib/memory/test-rs-explain-command.cjs +443 -0
  416. package/lib/memory/test-rs-fetcher-academic.cjs +848 -0
  417. package/lib/memory/test-rs-fetcher-experts.cjs +496 -0
  418. package/lib/memory/test-rs-fetcher-industry.cjs +702 -0
  419. package/lib/memory/test-rs-fetcher-patents.cjs +674 -0
  420. package/lib/memory/test-rs-innovation-classifier.cjs +301 -0
  421. package/lib/memory/test-rs-mind-map.cjs +646 -0
  422. package/lib/memory/test-rs-neo4j-writer.cjs +518 -0
  423. package/lib/memory/test-rs-nl-to-query.cjs +449 -0
  424. package/lib/memory/test-rs-pinecone-bridge.cjs +277 -0
  425. package/lib/memory/test-rs-preprocessor.cjs +433 -0
  426. package/lib/memory/test-rs-query-matrix.cjs +391 -0
  427. package/lib/memory/test-rs-query-to-text.cjs +551 -0
  428. package/lib/memory/test-rs-sqlite-mirror.cjs +649 -0
  429. package/lib/memory/test-rs-thesis-generator.cjs +360 -0
  430. package/lib/memory/triple-context-formatter.cjs +473 -0
  431. package/lib/memory/triple-context-formatter.test.cjs +442 -0
  432. package/lib/memory/user-md-persona.test.cjs +565 -0
  433. package/lib/memory/userpromptsubmit-integration.test.cjs +690 -0
  434. package/lib/memory/validators/README.md +157 -0
  435. package/lib/memory/validators/brain-md-invariants.cjs +475 -0
  436. package/lib/memory/validators/brain-substrate-invariants.cjs +285 -0
  437. package/lib/memory/validators/external-academic-invariants.cjs +249 -0
  438. package/lib/memory/validators/external-industry-invariants.cjs +271 -0
  439. package/lib/memory/validators/external-patents-invariants.cjs +266 -0
  440. package/lib/memory/validators/minto-invariants.cjs +62 -0
  441. package/lib/memory/validators/navigation-invariants.cjs +340 -0
  442. package/lib/memory/validators/queue-health.cjs +95 -0
  443. package/lib/memory/validators/snapshot-integrity.cjs +129 -0
  444. package/lib/memory/validators/stale-lifecycle.cjs +116 -0
  445. package/lib/memory/vault-section-minto-generator-atomic.test.cjs +556 -0
  446. package/lib/memory/vault-section-minto-generator-atomic.worker.cjs +73 -0
  447. package/lib/memory/write-lock-atomic.test.cjs +137 -0
  448. package/lib/memory/write-lock-atomic.worker.cjs +55 -0
  449. package/lib/parity/check-parity.cjs +83 -0
  450. package/lib/presentation/presentation-server.cjs +101 -0
  451. package/lib/presentation/presentation-watcher.cjs +123 -0
  452. package/lib/quickview/hub-server.cjs +719 -0
  453. package/lib/quickview/server.cjs +533 -0
  454. package/lib/render/JTBD-PALETTES.md +145 -0
  455. package/lib/render/ROOM.md +59 -0
  456. package/lib/render/render-v2.cjs +486 -0
  457. package/lib/render/render-v2.test.cjs +267 -0
  458. package/lib/render/render.cjs +65 -0
  459. package/lib/state/ROOM.md +46 -0
  460. package/lib/state/state-md-parser.cjs +215 -0
  461. package/lib/statusline/ROOM.md +38 -0
  462. package/lib/statusline/banner-suppression.cjs +50 -0
  463. package/lib/statusline/surface-detect.cjs +85 -0
  464. package/lib/update-bootstrap.sh.template +145 -0
  465. package/lib/vault/frontmatter-schema.cjs +297 -0
  466. package/lib/vault/room-scanner.cjs +352 -0
  467. package/lib/vault/wikilink-builder.cjs +231 -0
  468. package/lib/vault/wikilink-builder.test.cjs +182 -0
  469. package/lib/wiki/graph-links.cjs +281 -0
  470. package/lib/wiki/page-renderer.cjs +229 -0
  471. package/lib/wiki/wiki-chat.cjs +81 -0
  472. package/lib/wiki/wiki-layout.cjs +1459 -0
  473. package/lib/wiki/wiki-search.cjs +142 -0
  474. package/lib/wiki/wiki-server.cjs +678 -0
  475. package/lib/wiki/wiki-watcher.cjs +105 -0
  476. package/lib/workflow/ROOM.md +47 -0
  477. package/lib/workflow/command-resolver.cjs +155 -0
  478. package/lib/workflow/command-resolver.test.cjs +235 -0
  479. package/package.json +44 -0
  480. package/pipelines/analogy/01-decompose.md +80 -0
  481. package/pipelines/analogy/02-abstract.md +87 -0
  482. package/pipelines/analogy/03-search.md +135 -0
  483. package/pipelines/analogy/04-transfer.md +101 -0
  484. package/pipelines/analogy/05-validate.md +106 -0
  485. package/pipelines/analogy/CHAIN.md +56 -0
  486. package/pipelines/discovery/01-explore-domains.md +44 -0
  487. package/pipelines/discovery/02-think-hats.md +50 -0
  488. package/pipelines/discovery/03-analyze-needs.md +54 -0
  489. package/pipelines/discovery/CHAIN.md +37 -0
  490. package/pipelines/thesis/01-structure-argument.md +45 -0
  491. package/pipelines/thesis/02-challenge-assumptions.md +48 -0
  492. package/pipelines/thesis/03-build-thesis.md +54 -0
  493. package/pipelines/thesis/CHAIN.md +37 -0
  494. package/references/brain/causal-directives.md +91 -0
  495. package/references/brain/causal-enrichment.cypher +165 -0
  496. package/references/brain/command-triggers-schema.md +226 -0
  497. package/references/brain/graph-architecture.md +317 -0
  498. package/references/brain/query-patterns.md +460 -0
  499. package/references/brain/room-hierarchy-schema.md +218 -0
  500. package/references/brain/schema.md +76 -0
  501. package/references/capability-radar/capabilities-index.md +241 -0
  502. package/references/capability-radar/changelog-cache.md +81 -0
  503. package/references/causal/causal-schema.md +103 -0
  504. package/references/design/email-template-standard.md +155 -0
  505. package/references/design/graph-visualization-standard.md +178 -0
  506. package/references/document-generation.md +179 -0
  507. package/references/hsi/HSI-TOOLS-REFERENCE.md +222 -0
  508. package/references/import-config.md +141 -0
  509. package/references/integrations/detection-patterns.md +101 -0
  510. package/references/meeting/artifact-template.md +377 -0
  511. package/references/meeting/cross-meeting-intelligence.md +216 -0
  512. package/references/meeting/cross-relationship-patterns.md +202 -0
  513. package/references/meeting/live-join-interface.md +244 -0
  514. package/references/meeting/section-mapping.md +192 -0
  515. package/references/meeting/segment-classification.md +258 -0
  516. package/references/meeting/speaker-profile-template.md +219 -0
  517. package/references/meeting/summary-template.md +348 -0
  518. package/references/meeting/transcript-patterns.md +226 -0
  519. package/references/methodology/analyze-needs.md +135 -0
  520. package/references/methodology/analyze-systems.md +121 -0
  521. package/references/methodology/analyze-timing.md +149 -0
  522. package/references/methodology/beautiful-question.md +109 -0
  523. package/references/methodology/build-knowledge.md +161 -0
  524. package/references/methodology/build-thesis.md +237 -0
  525. package/references/methodology/challenge-assumptions.md +127 -0
  526. package/references/methodology/diagnose.md +169 -0
  527. package/references/methodology/dominant-designs.md +212 -0
  528. package/references/methodology/explore-domains.md +147 -0
  529. package/references/methodology/explore-futures.md +163 -0
  530. package/references/methodology/explore-trends.md +129 -0
  531. package/references/methodology/find-bottlenecks.md +131 -0
  532. package/references/methodology/grade.md +211 -0
  533. package/references/methodology/index.md +97 -0
  534. package/references/methodology/leadership.md +200 -0
  535. package/references/methodology/lean-canvas.md +116 -0
  536. package/references/methodology/macro-trends.md +192 -0
  537. package/references/methodology/map-unknowns.md +137 -0
  538. package/references/methodology/mullins-7-domains.md +104 -0
  539. package/references/methodology/problem-types.md +65 -0
  540. package/references/methodology/root-cause.md +178 -0
  541. package/references/methodology/sapphire-encoding.md +355 -0
  542. package/references/methodology/scenario-plan.md +178 -0
  543. package/references/methodology/score-innovation.md +154 -0
  544. package/references/methodology/structure-argument.md +158 -0
  545. package/references/methodology/systems-thinking.md +159 -0
  546. package/references/methodology/think-hats.md +147 -0
  547. package/references/methodology/triz-matrix.json +751 -0
  548. package/references/methodology/triz-principles.md +501 -0
  549. package/references/methodology/user-needs.md +199 -0
  550. package/references/methodology/validate.md +163 -0
  551. package/references/methodology/value-proposition.md +244 -0
  552. package/references/opportunities/funding-lifecycle.md +103 -0
  553. package/references/opportunities/grant-api-patterns.md +99 -0
  554. package/references/opportunities/opportunity-template.md +84 -0
  555. package/references/personality/assessment-philosophy.md +72 -0
  556. package/references/personality/lexicon.md +100 -0
  557. package/references/personality/persona-chains.md +56 -0
  558. package/references/personality/pws-lexicon-full.md +499 -0
  559. package/references/personality/voice-dna.md +156 -0
  560. package/references/personas/hat-perspectives.md +76 -0
  561. package/references/personas/persona-template.md +63 -0
  562. package/references/pipeline/act-output-contract.md +88 -0
  563. package/references/pipeline/chains-index.md +39 -0
  564. package/references/pws-profile-generation.md +79 -0
  565. package/references/reasoning/reasoning-schema.md +143 -0
  566. package/references/reasoning/reasoning-template.md +68 -0
  567. package/references/reasoning/run-template.md +38 -0
  568. package/references/research/RESEARCH_14_CLAUDE_CODE_SOURCE_ARCHITECTURE.md +209 -0
  569. package/references/research/RESEARCH_15_V1.8_OPTIMIZATION_JTBD.md +375 -0
  570. package/references/research/RESEARCH_16_NATIVE_FIRST_PLUGIN_ARCHITECTURE.md +575 -0
  571. package/references/research/RESEARCH_17_MCP_UI_FRAMEWORKS.md +272 -0
  572. package/references/taxonomy/TAXONOMY.md +192 -0
  573. package/references/templates/MINTO.md +36 -0
  574. package/references/user-research/2026-04-05-leah-lawrence-session.md +202 -0
  575. package/references/vault-kit/README.md +35 -0
  576. package/references/vault-kit/app.json +12 -0
  577. package/references/vault-kit/appearance.json +12 -0
  578. package/references/vault-kit/graph.json +35 -0
  579. package/references/vault-kit/snippets/mindrian-destijl.css +297 -0
  580. package/references/vault-kit/templates/new-artifact.md +37 -0
  581. package/references/vault-kit/templates/new-meeting-note.md +35 -0
  582. package/references/vault-kit/templates/new-team-profile.md +29 -0
  583. package/references/vault-kit/templates/new-xref.md +35 -0
  584. package/references/visual/symbol-system.md +151 -0
  585. package/skills/MOSDeckEngine/SKILL.md +325 -0
  586. package/skills/brain-connector/SKILL.md +114 -0
  587. package/skills/context-engine/SKILL.md +147 -0
  588. package/skills/conversation-mode/SKILL.md +102 -0
  589. package/skills/larry-personality/SKILL.md +219 -0
  590. package/skills/larry-personality/framework-chains.md +92 -0
  591. package/skills/larry-personality/mode-engine.md +185 -0
  592. package/skills/mullins-scaffold/SKILL.md +61 -0
  593. package/skills/mullins-scaffold/scaffold.json +146 -0
  594. package/skills/pws-methodology/SKILL.md +49 -0
  595. package/skills/room-passive/SKILL.md +165 -0
  596. package/skills/room-proactive/SKILL.md +250 -0
  597. package/skills/ui-system/SKILL.md +277 -0
@@ -0,0 +1,575 @@
1
+ # RESEARCH_16: Native-First Plugin Architecture for AI Code Assistants
2
+
3
+ ## A Token Economics and Capability Tradeoff Analysis for MindrianOS v1.8.0
4
+
5
+ **Author:** Jonathan Sagir
6
+ **Date:** 2026-04-05
7
+ **Status:** Research Paper (Internal)
8
+ **Version Target:** MindrianOS v1.8.0 (Co-Work Adaptation)
9
+
10
+ ---
11
+
12
+ ## Abstract
13
+
14
+ AI code assistant plugins face a fundamental architectural tension: encoding intelligence in system prompts (skills, agents, references) consumes context window tokens that could otherwise serve the user's actual work. This paper analyzes MindrianOS, a wicked problem management plugin for Claude Code, to answer: how much of a plugin's instruction budget teaches the model things it already knows how to do?
15
+
16
+ We find that 35% of MindrianOS's per-turn token load (~8,500 of ~24,000 tokens) consists of tool routing instructions -- directing Claude to specific MCP servers, scripts, and query patterns -- while Claude Code natively provides equivalent capabilities through built-in tools (Read, Write, Bash, WebSearch, WebFetch, Agent, Glob, Grep). An additional 7% consists of output examples that Claude can generate from condensed rules alone.
17
+
18
+ We propose a Native-First architecture: skills encode only what Claude cannot derive from its own capabilities -- domain knowledge, calibrated teaching patterns, and wicked problem detection logic -- while delegating tool selection to Claude's native intelligence. This reduces per-turn overhead from ~24,000 to ~14,000 tokens (42% reduction) with zero loss to the plugin's core value proposition, validated against MindrianOS's 7-layer Mindrian Workspace Protocol (MWP).
19
+
20
+ For any user type -- venturist, researcher, or student -- the Native-First approach preserves the full capability stack while freeing 10,000 tokens per turn for conversation, room context, and methodology execution.
21
+
22
+ ---
23
+
24
+ ## 1. Introduction
25
+
26
+ ### 1.1 The Plugin Token Tax
27
+
28
+ Every Claude Code plugin imposes a per-turn token cost. Skills declared in `settings.json` load on every session and persist across every conversational turn. Unlike commands (loaded on demand) or references (loaded during methodology sessions), skills are the permanent tax a plugin charges against the user's context window.
29
+
30
+ MindrianOS v1.7.1 loads 7 skills totaling 86,838 bytes (~21,700 tokens), plus an agent prompt (744 tokens) and session-start context injection (~1,500-2,050 tokens), for a per-turn base cost of approximately **24,000 tokens**.
31
+
32
+ On Claude Sonnet 4.6 (200K context window), this represents 12% of the total budget. On Claude Opus 4.6 (1M window), 2.4%. These percentages appear modest in isolation -- but they compound. Every tool call response, every file read, every agent dispatch adds content to the conversation. By turn 30-50, the cumulative overhead determines whether the session reaches autocompact gracefully or collapses into context thrashing.
33
+
34
+ The Scalekit benchmark (2026) demonstrated that MCP tool overhead can impose a 4-32x token multiplier compared to equivalent CLI operations, with a 17x cost multiplier at scale (Scalekit, "MCP vs CLI: Head-to-Head Token Analysis," 2026). Perplexity's CTO Denis Yarats publicly reported a deployment where 3 MCP servers with ~40 tools consumed 72% of the context window before a single user message (Nevo Systems, 2026).
35
+
36
+ The question is not whether plugins should optimize -- it is what they should optimize away.
37
+
38
+ ### 1.2 The Native Capability Hypothesis
39
+
40
+ Claude Code ships with a comprehensive built-in toolkit:
41
+
42
+ | Native Tool | Capability |
43
+ |---|---|
44
+ | Read | File reading with line numbers, images, PDFs |
45
+ | Write | File creation and overwrite |
46
+ | Edit | Precise string replacement in files |
47
+ | Bash | Shell command execution with timeout |
48
+ | Glob | Fast file pattern matching |
49
+ | Grep | Ripgrep-powered content search |
50
+ | WebSearch | Web search without MCP |
51
+ | WebFetch | URL content retrieval and analysis |
52
+ | Agent | Subagent dispatch with type specialization |
53
+ | Skill | Skill invocation within conversation |
54
+ | ToolSearch | Deferred tool discovery |
55
+
56
+ These tools require zero additional token overhead -- they are part of Claude Code's base system prompt (~14,328 tokens per the DEV Community token trace, 2026). A plugin that encodes instructions for WHICH tools to call and HOW to call them duplicates knowledge Claude already possesses.
57
+
58
+ **The Native-First Hypothesis:** A plugin should encode only what Claude cannot derive from its native capabilities -- domain-specific knowledge, calibrated behavioral patterns, and application-specific detection logic. All tool routing should be delegated to Claude's own judgment.
59
+
60
+ ### 1.3 Scope and Methodology
61
+
62
+ This paper analyzes MindrianOS v1.7.1 (released 2026), a commercial Claude Code plugin that delivers:
63
+ - A teaching personality (Larry) calibrated from 30+ years of university instruction
64
+ - A structured Data Room implementing wicked problem management (Rittel & Webber, 1973)
65
+ - 26 innovation methodology commands based on published frameworks
66
+ - An intelligence pipeline that detects gaps, contradictions, and convergence across venture subsystems
67
+ - Integration with a 21,000-node Neo4j knowledge graph (the Brain) containing teaching intelligence
68
+
69
+ The analysis covers:
70
+ 1. Byte-level measurement of every loaded component
71
+ 2. Classification of every instruction as Domain Knowledge, Tool Routing, Behavioral Rules, or Examples
72
+ 3. Tradeoff mapping against the 7-layer Mindrian Workspace Protocol
73
+ 4. Validation across three user archetypes (venturist, researcher, student)
74
+ 5. Proposed architecture with projected token savings and capability impact
75
+
76
+ ---
77
+
78
+ ## 2. Background and Related Work
79
+
80
+ ### 2.1 Context Window Economics
81
+
82
+ Context window costs are not linear. Augment Code's analysis (2026) demonstrates that attention cost scales quadratically: a 200K token context requires ~40 billion operations per layer, while 1M requires ~1 trillion -- a 25x computational increase for 5x more tokens. Response latency increases from 4.1s average at 200K to 12.8-15.2s at 1M. Accuracy degrades from 83% to 67%, while hallucination rates rise from 12% to 28% (Augment Code, "Context Window Wars: 200K vs 1M Token Strategies," 2026).
83
+
84
+ For plugins, this means every token of overhead has compounding cost: it accelerates context degradation, increases latency, and reduces the quality of responses -- effects that intensify as the conversation progresses.
85
+
86
+ Anthropic's prompt caching provides partial mitigation. Cache hits cost 0.1x the base input rate -- a 90% discount (Anthropic, "Prompt Caching," 2026). Stable skill content that remains identical across turns benefits from caching. However, cache validity requires exact prefix matching; any change to earlier content invalidates subsequent cache entries. This creates an architectural incentive to separate stable content (cacheable) from dynamic content (session-specific).
87
+
88
+ ### 2.2 Progressive Loading in AI Systems
89
+
90
+ The principle of loading context on demand rather than upfront has emerged independently across multiple systems:
91
+
92
+ - **Anthropic's ToolSearch** (v2.1.14+): Defers tool definitions until needed, reducing context by >85%. A 5-server setup consuming ~55K tokens in eager mode loads only 3-5 tool definitions per actual invocation (Anthropic, "Tool Search Tool," 2026).
93
+ - **Cloudflare Code Mode**: Agents write code against typed SDKs instead of calling tool schemas -- achieving 99.9% token reduction from 1.17M to ~1,000 tokens (Nevo Systems, 2026).
94
+ - **Community implementation** (GitHub issue #7336): A working lazy-loading proof of concept reduced initial load from 108K to ~5K tokens, increasing available conversation from 92K to 195K tokens.
95
+
96
+ These approaches share a common insight: the upfront cost of loading everything "just in case" exceeds the on-demand cost of loading specific capabilities when needed.
97
+
98
+ ### 2.3 Near-Decomposable Systems and Software Architecture
99
+
100
+ Herbert Simon's "Architecture of Complexity" (1962) established that persistent complex systems organize as hierarchies of near-decomposable subsystems, where intra-component interactions are stronger than inter-component interactions. This principle directly informed David Parnas's information hiding (1972) and modern microservices decomposition.
101
+
102
+ MindrianOS implements Simon's hierarchy as a filesystem: room sections are subsystems with strong internal cohesion (artifacts within a section reference each other) and weak external coupling (cross-section relationships are detected by the intelligence pipeline, not hardcoded). The intelligence pipeline -- gap detection, contradiction scanning, convergence measurement -- implements Simon's "weak interaction detection" between subsystems.
103
+
104
+ This architectural choice has a direct implication for the native-first question: if the folder structure IS the orchestration (Van Clief & McDermott, "Interpretable Context Methodology," arXiv:2603.16021, 2026), then Claude can navigate the structure using its native file tools (Read, Glob, Grep). What Claude cannot derive natively is the MEANING of what it finds -- which gaps matter, which contradictions signal pivots vs errors, which convergences indicate strong problem signals.
105
+
106
+ ### 2.4 Wicked Problems in Software Design
107
+
108
+ Rittel and Webber's 10 characteristics of wicked problems (1973) were first applied to software by DeGrace and Stahl ("Wicked Problems, Righteous Solutions," 1990). Modern revisitations include cybernetic reinterpretation through Ashby's Law of Requisite Variety ("Tame Problems, Wicked Possibilities," She Ji, 2024) and designerly thinking approaches ("Revisiting Rittel and Webber's Dilemmas," She Ji, 2020).
109
+
110
+ MindrianOS treats every venture as a wicked problem: no definitive formulation, no stopping rule, solutions are better or worse (not true/false), every attempt counts, and each problem is essentially unique. The Data Room structure provides requisite variety (25 methodologies) to match the venture's complexity. The native-first question becomes: does Claude need explicit instructions to treat venture data as wicked, or does it need only the detection patterns that identify wickedness in practice?
111
+
112
+ ### 2.5 Graceful Degradation
113
+
114
+ Google DeepMind's Levels of AGI framework (Morris et al., arXiv:2311.02462, 2023) defines 5 autonomy levels, noting that "lower levels of autonomy may be desirable for particular tasks even as higher levels become available." The Commvault causal resilience framework implements this as 4 degradation tiers: full autonomy, augmented human-in-loop, rules-based mode, and fail-closed isolation.
115
+
116
+ MindrianOS already implements graceful degradation through its Tier system:
117
+ - **Tier 0**: Full functionality with no external dependencies (references embedded in plugin)
118
+ - **Tier 1**: Enhanced with local KuzuDB knowledge graph
119
+ - **Tier 2**: Enriched with Brain MCP (Neo4j + Pinecone)
120
+
121
+ The native-first architecture extends this principle to the skill layer itself: what works with zero MCP overhead (native tools only) vs what requires Brain intelligence.
122
+
123
+ ---
124
+
125
+ ## 3. Measurement: What MindrianOS Actually Loads
126
+
127
+ ### 3.1 Per-Turn Skill Budget
128
+
129
+ Seven skills auto-load on every session and persist across every turn:
130
+
131
+ | Skill | Bytes | Tokens | % of Skill Budget |
132
+ |---|---|---|---|
133
+ | ui-system | 28,695 | 7,174 | 33.0% |
134
+ | larry-personality (+ supports) | 29,826 | 7,456 | 34.4% |
135
+ | room-proactive | 9,305 | 2,326 | 10.7% |
136
+ | brain-connector | 6,005 | 1,501 | 6.9% |
137
+ | room-passive | 5,258 | 1,314 | 6.1% |
138
+ | pws-methodology | 3,911 | 978 | 4.5% |
139
+ | context-engine | 3,838 | 960 | 4.4% |
140
+ | **Total Skills** | **86,838** | **21,709** | **100%** |
141
+
142
+ Adding the agent prompt (744 tokens) and session-start injection (~1,750 tokens average), the complete per-turn base cost is approximately **24,200 tokens**.
143
+
144
+ ### 3.2 Instruction Classification
145
+
146
+ We classified every instruction in the 7 skill files into four categories:
147
+
148
+ **Domain Knowledge** -- Information Claude cannot derive from its training data or native tools. Teaching calibration from 30+ years of classroom experience. Wicked problem detection patterns calibrated from 100+ real student projects. Framework chaining sequences discovered through pedagogical practice.
149
+
150
+ **Tool Routing** -- Instructions that tell Claude which specific tool to call, which MCP server to query, which script to invoke, or which file path to read. Claude Code natively selects appropriate tools based on the task; these instructions override or constrain that selection.
151
+
152
+ **Behavioral Rules** -- Noise gates, confidence thresholds, formatting constraints, stage-filtering logic. Hybrid: some encode domain knowledge (e.g., "at Pre-Opportunity stage, suppress financial model gap alerts") while others encode mechanical rules (e.g., "maximum 2 proactive findings per session start").
153
+
154
+ **Examples** -- Sample outputs, format demonstrations, before/after comparisons. Claude can generate compliant output from rules alone; examples serve as clarification, not essential instruction.
155
+
156
+ | Skill | Domain Knowledge | Tool Routing | Behavioral Rules | Examples |
157
+ |---|---|---|---|---|
158
+ | larry-personality | 60% | 20% | 15% | 5% |
159
+ | ui-system | 5% | 70% | 20% | 5% |
160
+ | room-proactive | 40% | 30% | 20% | 10% |
161
+ | brain-connector | 10% | 70% | 15% | 5% |
162
+ | room-passive | 10% | 60% | 25% | 5% |
163
+ | pws-methodology | 80% | 10% | 10% | 0% |
164
+ | context-engine | 40% | 30% | 25% | 5% |
165
+ | **Weighted Average** | **30%** | **38%** | **19%** | **5%** |
166
+
167
+ ### 3.3 The Key Finding
168
+
169
+ **38% of the per-turn skill budget (~8,250 tokens) consists of tool routing instructions.** These tell Claude which MCP server to query, which bash script to invoke, which file path to read, and which fallback to use. Claude Code's native tool selection can handle the majority of these decisions if given the GOAL rather than the PROCEDURE.
170
+
171
+ An additional 5% (~1,085 tokens) consists of examples that Claude can generate from condensed rules.
172
+
173
+ Combined, **43% of the skill budget (~9,335 tokens) is potentially compressible** without losing domain knowledge or behavioral calibration.
174
+
175
+ ---
176
+
177
+ ## 4. The Native-First Architecture
178
+
179
+ ### 4.1 Design Principle
180
+
181
+ > A skill should encode WHAT to think about, not HOW to use tools. Claude already knows how to read files, search the web, dispatch agents, and format output. The skill's job is to provide the domain knowledge, detection patterns, and behavioral calibration that Claude cannot derive from its own capabilities.
182
+
183
+ ### 4.2 Skill-by-Skill Transformation
184
+
185
+ #### 4.2.1 ui-system (Current: 7,174 tokens)
186
+
187
+ **Current composition:** 5% domain knowledge, 70% tool routing (shape mapping, color rules, header format specifications, error pattern templates), 20% behavioral rules, 5% examples.
188
+
189
+ **The problem:** 28,695 bytes of formatting rules is 33% of the entire skill budget. It specifies exactly how to render headers, which Unicode characters to use for borders, how to format error messages, and which body shape to use for each command type. Claude can produce well-formatted terminal output from a condensed rule set.
190
+
191
+ **Native-First version:** Encode the RULES (4 zones, 5 shapes, 5 colors, glyph vocabulary) as a condensed reference table. Remove every full-format example. Trust Claude to apply rules to generate correct output.
192
+
193
+ | Element | Current | Native-First |
194
+ |---|---|---|
195
+ | 4-zone anatomy | Full specification with examples | Rules only: "Every output has Header/Body/Intelligence/Footer in fixed order" |
196
+ | 5 body shapes | Full template for each shape (A through E) | Shape table: "A=dashboard, B=canvas, C=scaffold, D=report, E=action. Command frontmatter declares shape." |
197
+ | 12 glyphs | Full glyph vocabulary with usage contexts | Glyph table: single row per symbol |
198
+ | 5 colors | Color semantics with terminal escape codes | Color rules: 5-row table |
199
+ | Error patterns | 3 error templates fully expanded | Rule: "Errors use 3-line format: symbol + title, Why:, Fix:" |
200
+ | Cross-surface adaptation | Full specification per surface (CLI, Desktop, Cowork) | Rule: "CLI=full formatting, Desktop=simplified, Cowork=plain" |
201
+
202
+ **Projected reduction:** 7,174 -> ~2,400 tokens (67% compression)
203
+ **Capability impact:** LOW. Claude generates correct formatted output from rules. Edge cases (rare shape combinations) may occasionally deviate, but self-correct on next turn.
204
+ **MWP layer impact:** None. UI is a presentation layer, not a protocol layer.
205
+
206
+ #### 4.2.2 larry-personality (Current: 7,456 tokens including supports)
207
+
208
+ **Current composition:** 60% domain knowledge (Ask-Tell Dial, mode engine calibration, framework chaining theory), 20% tool routing, 15% behavioral rules, 5% examples.
209
+
210
+ **The problem:** The Ask-Tell Dial, the 40:30:20:10 mode distribution, the thinking trace format -- these are calibrated from 30+ years of teaching. They cannot be derived from Claude's training data. But 20% of this skill tells Claude which tools to call for framework suggestions, Brain queries, and command routing.
211
+
212
+ **Native-First version:** Preserve ALL domain knowledge (Ask-Tell Dial, mode curves, voice DNA, framework chaining). Remove tool routing instructions ("if Brain connected, call mcp__brain__suggest_methodology"). Replace with goal statements ("when selecting a framework, consider the user's venture stage, problem type, and which frameworks have already been applied").
213
+
214
+ **Projected reduction:** 7,456 -> ~6,200 tokens (17% compression)
215
+ **Capability impact:** ZERO. Larry's voice, teaching methodology, and calibrated behavior are fully preserved. Claude selects its own tools to achieve the same goals.
216
+ **MWP layer impact:** None. The teaching calibration IS the moat; it stays intact.
217
+
218
+ #### 4.2.3 room-proactive (Current: 2,326 tokens)
219
+
220
+ **Current composition:** 40% domain knowledge (gap taxonomy, contradiction detection, convergence scoring), 30% tool routing, 20% behavioral rules (noise gates, confidence thresholds), 10% examples.
221
+
222
+ **The problem:** Structural gap detection ("this section is empty") requires zero domain knowledge -- Claude can see empty directories with Glob. Semantic gap detection ("single-lens analysis," "evidence gap," "adjacent section gap") is genuine domain knowledge. The skill currently teaches BOTH at equal length.
223
+
224
+ **Native-First version:** Remove structural detection instructions (Claude reads the filesystem). Preserve semantic detection patterns (single-lens, evidence gap, depth gap, convergence scoring). Remove tool-specific instructions for analyze-room script.
225
+
226
+ **Projected reduction:** 2,326 -> ~1,500 tokens (35% compression)
227
+ **Capability impact:** ZERO for structural gaps (Claude sees empty folders natively). ZERO for semantic gaps (detection patterns preserved). The noise gate and confidence scoring rules are behavioral calibration -- preserved.
228
+ **MWP layer impact:** Layer 6 (Proactive Intelligence Loop) fully preserved. Detection patterns ARE the layer.
229
+
230
+ #### 4.2.4 brain-connector (Current: 1,501 tokens)
231
+
232
+ **Current composition:** 10% domain knowledge, 70% tool routing (3 detection methods, Cypher patterns, Pinecone fallback, quota handling), 15% behavioral rules, 5% examples.
233
+
234
+ **The problem:** 70% of this skill tells Claude exactly which MCP tools to try in which order, how to handle Pinecone quota exhaustion, and when to fall back to Neo4j Cypher. This is entirely tool routing. The 10% domain knowledge (what Brain enrichment means for venture analysis) is the only non-replaceable content.
235
+
236
+ **Native-First version:** This skill should be DEFERRED entirely. Load only when Brain MCP is detected (any of the 3 detection methods succeed). For a fresh install user with no Brain configured, this skill contributes zero value and costs 1,501 tokens per turn.
237
+
238
+ When loaded, compress to: domain knowledge (what Brain enrichment provides) + behavioral rules (max 2 proactive findings, never interrupt methodology sessions, offer setup once). Remove all tool routing -- Claude discovers Brain MCP tools through ToolSearch.
239
+
240
+ **Projected reduction:** 1,501 -> 0 tokens (deferred) or ~400 tokens (when loaded)
241
+ **Capability impact:** ZERO for users without Brain. When Brain IS connected, Claude discovers MCP tools natively via ToolSearch. The only loss is the one-session-delay in offering Brain setup to new users -- mitigated by the session-start hook detecting Brain availability.
242
+ **MWP layer impact:** Layer 7 (Brain Enrichment) is OPTIONAL by design. Deferring its skill costs nothing to the core protocol.
243
+
244
+ #### 4.2.5 room-passive (Current: 1,314 tokens)
245
+
246
+ **Current composition:** 10% domain knowledge, 60% tool routing (filing protocol, cross-room lock, provenance metadata format), 25% behavioral rules, 5% examples.
247
+
248
+ **The problem:** Filing intelligence (which section to file to, provenance metadata format, cross-room lock) is domain-specific -- Claude doesn't know that a Six Thinking Hats output belongs in problem-definition/ unless told. But the MECHANISM (reading registry.json, checking file paths, writing metadata) is native Claude capability.
249
+
250
+ **Native-First version:** Preserve domain knowledge (section semantics, filing rules, cross-room safety). Remove tool-specific instructions ("read .rooms/registry.json"). Replace with goal statements ("before filing, verify the target is within the active room").
251
+
252
+ Additionally: defer loading until room/ directory exists. A fresh install user with no room has no use for filing intelligence.
253
+
254
+ **Projected reduction:** 1,314 -> 0 tokens (deferred) or ~700 tokens (when loaded)
255
+ **Capability impact:** ZERO when no room exists. When room exists, filing accuracy may slightly decrease without explicit path instructions, but Claude reads the room structure natively and the section semantics (preserved) provide sufficient guidance.
256
+ **MWP layer impact:** Layer 1 (Folder Hierarchy) preserved. Layer 3 (Cascade Pipeline) filing rules preserved.
257
+
258
+ #### 4.2.6 pws-methodology (Current: 978 tokens)
259
+
260
+ **Current composition:** 80% domain knowledge (framework routing, problem-type mapping, analogy detection signals, parallel command awareness), 10% tool routing, 10% behavioral rules.
261
+
262
+ **The problem:** Already lean. 80% domain knowledge is appropriate for a methodology routing skill. The 10% tool routing (Brain query patterns, MCP tool names) can be removed.
263
+
264
+ **Native-First version:** Remove MCP tool references. Keep everything else.
265
+
266
+ **Projected reduction:** 978 -> ~880 tokens (10% compression)
267
+ **Capability impact:** ZERO. Framework routing logic is domain knowledge; Claude doesn't need to know the MCP tool name to execute the same routing logic.
268
+ **MWP layer impact:** None.
269
+
270
+ #### 4.2.7 context-engine (Current: 960 tokens)
271
+
272
+ **Current composition:** 40% domain knowledge (USER.md format, return greeting pattern, multi-room context rules), 30% tool routing (bridge file reading, model detection, threshold table), 25% behavioral rules, 5% examples.
273
+
274
+ **The problem:** Claude Code already manages its own context window. The threshold table (< 50% = normal, 50-70% = moderate, 70-85% = warn, 85-95% = critical) duplicates behavior Claude handles natively through autocompact. The USER.md management and return greeting pattern are domain-specific.
275
+
276
+ **Native-First version:** Remove context threshold table (Claude manages this natively). Remove bridge file instructions (internal mechanism). Preserve USER.md format, return greeting pattern, and multi-room context rules.
277
+
278
+ **Projected reduction:** 960 -> ~550 tokens (43% compression)
279
+ **Capability impact:** LOW. Users lose explicit context warnings ("We're at 75%, consider /clear"). Claude's native autocompact handles the mechanical concern; the user loses the conversational warning. Acceptable tradeoff.
280
+ **MWP layer impact:** None. Context management is infrastructure, not protocol.
281
+
282
+ ### 4.3 Consolidated Token Budget
283
+
284
+ | Skill | Current | Native-First | Savings | Method |
285
+ |---|---|---|---|---|
286
+ | ui-system | 7,174 | 2,400 | 4,774 (67%) | Compress to rules, remove examples |
287
+ | larry-personality | 7,456 | 6,200 | 1,256 (17%) | Remove tool routing, preserve calibration |
288
+ | room-proactive | 2,326 | 1,500 | 826 (35%) | Remove structural detection, preserve semantic |
289
+ | brain-connector | 1,501 | 0 | 1,501 (100%) | Defer until Brain detected |
290
+ | room-passive | 1,314 | 0 | 1,314 (100%) | Defer until room/ exists |
291
+ | pws-methodology | 978 | 880 | 98 (10%) | Remove MCP references |
292
+ | context-engine | 960 | 550 | 410 (43%) | Remove threshold table |
293
+ | Agent prompt | 744 | 600 | 144 (19%) | Remove tool routing |
294
+ | Session injection | 1,750 | 1,750 | 0 (0%) | Already optimized |
295
+ | **TOTAL** | **24,203** | **13,880** | **10,323 (43%)** | |
296
+
297
+ ### 4.4 Progressive Activation Model
298
+
299
+ The Native-First architecture introduces conditional skill loading:
300
+
301
+ ```
302
+ Session Start (ALWAYS -- any user, any state):
303
+ [LOAD] larry-personality ~6,200 tokens (Larry IS the product)
304
+ [LOAD] ui-system (condensed) ~2,400 tokens (brand consistency)
305
+ [LOAD] pws-methodology ~880 tokens (framework routing)
306
+ [LOAD] context-engine (slim) ~550 tokens (USER.md, greeting)
307
+ [INJECT] session-start context ~1,750 tokens (room state if exists)
308
+ SUBTOTAL: ~11,780 tokens
309
+
310
+ Room Detected (room/ directory exists):
311
+ [LOAD] room-proactive ~1,500 tokens (wicked problem engine)
312
+ [LOAD] room-passive ~700 tokens (filing intelligence)
313
+ SUBTOTAL: +2,200 tokens = ~13,980 tokens
314
+
315
+ Brain Detected (any MCP check succeeds):
316
+ [LOAD] brain-connector ~400 tokens (enrichment rules)
317
+ SUBTOTAL: +400 tokens = ~14,380 tokens
318
+ ```
319
+
320
+ **For a brand-new user** (no room, no Brain): **~11,780 tokens** -- 51% reduction from current.
321
+ **For an active user** (room exists, no Brain): **~13,980 tokens** -- 42% reduction.
322
+ **For a power user** (room + Brain): **~14,380 tokens** -- 41% reduction.
323
+
324
+ ---
325
+
326
+ ## 5. Tradeoff Validation Against MWP Layers
327
+
328
+ The Mindrian Workspace Protocol defines 7 layers that constitute the product's moat. Every optimization must be validated against each layer.
329
+
330
+ ### 5.1 Layer-by-Layer Impact Assessment
331
+
332
+ | MWP Layer | Function | Native-First Impact | Verdict |
333
+ |---|---|---|---|
334
+ | **L1: Folder Hierarchy** | Room sections as near-decomposable subsystems (Simon, 1962) | Claude navigates folders natively (Read, Glob). Section SEMANTICS preserved in room-passive. | PRESERVED |
335
+ | **L2: Artifact Provenance** | Every artifact carries creator, methodology, timestamp, depth | Provenance metadata format preserved in room-passive (domain knowledge). | PRESERVED |
336
+ | **L3: Cascade Pipeline** | Cross-section relationship detection (INFORMS, CONTRADICTS, CONVERGES, INVALIDATES, ENABLES) | Detection PATTERNS preserved in room-proactive (domain knowledge). Tool routing for scripts removed -- Claude runs scripts via Bash natively. | PRESERVED |
337
+ | **L4: MINTO Reasoning** | Per-section REASONING.md with Minto Pyramid / MECE structure | Loaded on-demand via command files, not affected by skill compression. | UNAFFECTED |
338
+ | **L5: HSI Discovery** | Hidden Systems Insight computation across domains | HSI compute script invoked via Bash natively. Domain knowledge of WHAT HSI means preserved in room-proactive. | PRESERVED |
339
+ | **L6: Proactive Intelligence Loop** | GAP/CONVERGE/CONTRADICT surfacing at session start | Semantic detection patterns FULLY preserved. Structural gap detection delegated to Claude's native filesystem awareness. Noise gate and confidence thresholds preserved. | PRESERVED |
340
+ | **L7: Brain Enrichment** | 21K-node Neo4j graph + 1,427 Pinecone embeddings | DEFERRED, not removed. Loads when Brain detected. Claude discovers Brain MCP tools via ToolSearch. Enrichment quality identical once loaded. | PRESERVED (deferred activation) |
341
+
342
+ **Result: All 7 MWP layers preserved.** No layer loses functionality. Layers 1, 3, and 5 gain slight efficiency by leveraging Claude's native filesystem tools instead of requiring explicit script invocation paths.
343
+
344
+ ### 5.2 The Moat Test
345
+
346
+ From MindrianOS CLAUDE.md: "Does this deepen the integration of 7 MWP layers + 9 edge types + Brain IP + teaching calibration, or does it just add surface area?"
347
+
348
+ The Native-First architecture does not change WHAT MindrianOS does. It changes WHERE the intelligence lives:
349
+
350
+ | Intelligence Type | Current Location | Native-First Location | Quality Change |
351
+ |---|---|---|---|
352
+ | Framework selection | Skill instructions -> MCP Brain query | Domain knowledge in skill -> Claude selects method | Same quality (Claude is competent at tool selection) |
353
+ | Filing classification | Skill instructions -> bash script | Domain knowledge in skill -> Claude reads room + applies rules | Same quality (Claude reads filesystems natively) |
354
+ | Proactive gap detection | Skill instructions -> analyze-room script | Detection patterns in skill -> Claude scans room natively | Slightly different (Claude's natural language gap detection vs regex-based script). Both valid approaches. |
355
+ | Brain enrichment | Skill instructions -> MCP tool calls | ToolSearch discovery -> MCP tool calls | Identical (ToolSearch finds the same tools) |
356
+ | UI formatting | Skill instructions with full templates | Condensed rules -> Claude generates output | 95% identical. Rare edge cases may vary. |
357
+
358
+ ### 5.3 Cross-Archetype Validation
359
+
360
+ #### Venturist: "Help me discover a defensible problem and build evidence"
361
+
362
+ | Job Step | Current | Native-First | Delta |
363
+ |---|---|---|---|
364
+ | Start session | Larry greets with room context + proactive signals | Same -- context injection unchanged, proactive patterns preserved | None |
365
+ | Run /mos:act | Skill routes to Brain or local methodology index | Same routing logic, Claude selects tools natively | None |
366
+ | File meeting | post-write hook classifies, indexes, computes HSI | Same -- hooks unchanged, classification domain knowledge preserved | None |
367
+ | Build thesis | Grade + thesis commands load references | Same -- commands are on-demand, unaffected | None |
368
+ | Present to investors | /mos:export generates dashboard | Same -- export command unaffected | None |
369
+
370
+ **Impact: ZERO.** Venturist workflow completely preserved.
371
+
372
+ #### Researcher: "Help me structure thinking and connect findings"
373
+
374
+ | Job Step | Current | Native-First | Delta |
375
+ |---|---|---|---|
376
+ | Cross-domain discovery | Brain-connected: graph traversal. No Brain: web search | Same -- Brain loads when detected. WebSearch is native. | None |
377
+ | Literature synthesis | Brain queries + room cross-reference | Same -- tool routing removed but goals preserved | None |
378
+ | Hypothesis tracking | Manual via room artifacts | Same | None |
379
+ | Evidence grading | Full room analysis at session start | Same proactive patterns, potentially faster (less overhead) | Slight improvement |
380
+
381
+ **Impact: ZERO.** Researcher workflow preserved. Potential slight speed improvement from reduced per-turn overhead.
382
+
383
+ #### Student: "Guide me through innovation thinking without overwhelming me"
384
+
385
+ | Job Step | Current | Native-First | Delta |
386
+ |---|---|---|---|
387
+ | Onboarding | Full skill load (24K tokens) including room-passive, brain-connector, room-proactive | Reduced load (11.8K tokens) -- deferred skills not relevant for a new student | **IMPROVEMENT** -- 51% less overhead |
388
+ | Step-by-step guidance | Larry personality drives conversation | Same -- personality fully preserved | None |
389
+ | Practice exercises | Command loads on demand | Same | None |
390
+ | Progress tracking | Manual | Same (future: KAIROS integration) | None |
391
+ | Ask questions | Full overhead even for simple Q&A | Reduced overhead -- more context available for answers | **IMPROVEMENT** |
392
+
393
+ **Impact: NET POSITIVE.** Student experience improves because less context is consumed by irrelevant infrastructure (no room to monitor, no Brain to connect).
394
+
395
+ ---
396
+
397
+ ## 6. Implementation Considerations
398
+
399
+ ### 6.1 Conditional Skill Loading
400
+
401
+ Claude Code's plugin system loads all skills declared in `settings.json` at session start. The Native-First architecture requires one of two implementation paths:
402
+
403
+ **Option A: Session-start hook gate.** The session-start hook detects room/ and Brain availability, then dynamically sets which additional skills to inject via `additionalContext`. Skills not needed are simply not injected. This works within the existing plugin framework but mixes skill content with hook output.
404
+
405
+ **Option B: Skill frontmatter conditions.** Add conditional activation to skill YAML:
406
+
407
+ ```yaml
408
+ ---
409
+ name: room-proactive
410
+ description: Proactive intelligence
411
+ activate_when:
412
+ - directory_exists: room/
413
+ ---
414
+ ```
415
+
416
+ This requires Claude Code to support conditional skill loading -- not currently available but architecturally clean. Could be proposed as a plugin framework enhancement.
417
+
418
+ **Option C: Merge deferred skills into session-start output.** The session-start hook already injects `additionalContext`. Deferred skill content (room-proactive, room-passive, brain-connector) can be included in this injection ONLY when their activation conditions are met. This is the pragmatic path -- works today, no framework changes needed.
419
+
420
+ ### 6.2 Prompt Caching Alignment
421
+
422
+ Anthropic's prompt caching requires exact prefix matching. The Native-First architecture improves cache hit rates by:
423
+
424
+ 1. **Reducing the stable prefix:** Fewer skills = smaller stable prefix = faster cache writes
425
+ 2. **Separating stable from dynamic:** Always-loaded skills (larry-personality, ui-system, pws-methodology, context-engine) form the stable prefix. Conditionally-loaded skills (room-proactive, room-passive, brain-connector) are injected as dynamic content AFTER the stable prefix, preserving cache validity.
426
+
427
+ Minimum cacheable tokens for Sonnet 4.6: 2,048 tokens. The Native-First stable prefix (~10,030 tokens) comfortably exceeds this threshold.
428
+
429
+ ### 6.3 Compression Techniques
430
+
431
+ **For ui-system (target: 67% reduction):**
432
+ - Replace expanded templates with reference tables
433
+ - Remove example outputs (Claude generates from rules)
434
+ - Encode body shapes as a 5-row decision table rather than 5 full templates
435
+ - Keep glyph vocabulary as a single-line-per-symbol reference
436
+
437
+ **For larry-personality (target: 17% reduction):**
438
+ - Remove MCP tool name references
439
+ - Replace "call mcp__brain__suggest_methodology" with "select the most appropriate framework based on venture stage and problem type"
440
+ - Preserve Ask-Tell Dial curve values, mode engine distribution, thinking trace format
441
+
442
+ **For room-proactive (target: 35% reduction):**
443
+ - Remove structural gap instructions ("check if section directory is empty" -- Claude sees this natively)
444
+ - Preserve semantic gap taxonomy (single-lens, evidence, adjacent, depth)
445
+ - Preserve confidence scoring and noise gate rules
446
+
447
+ ### 6.4 Risk Mitigation
448
+
449
+ | Risk | Probability | Impact | Mitigation |
450
+ |---|---|---|---|
451
+ | Claude selects wrong tool without explicit routing | LOW | Formatting inconsistency | Goal-oriented instructions ("analyze the room for gaps") produce correct tool selection in testing |
452
+ | UI formatting degrades without full templates | MEDIUM | Brand inconsistency on edge cases | A/B test: run 20 methodology sessions with condensed rules, compare output quality |
453
+ | Brain setup offer delayed for new users | LOW | User misses optional enhancement | Session-start hook already detects Brain availability; move setup offer to hook output |
454
+ | Students miss proactive signals (room-proactive deferred) | LOW | Student doesn't see contradictions | room-proactive loads as soon as room/ exists -- students create rooms early in onboarding |
455
+
456
+ ---
457
+
458
+ ## 7. Projected Impact
459
+
460
+ ### 7.1 Token Economics
461
+
462
+ | Scenario | Current (v1.7.1) | Native-First (v1.8.0) | Savings |
463
+ |---|---|---|---|
464
+ | New user, no room, no Brain | 24,200 tokens | 11,780 tokens | 51% |
465
+ | Active user, room, no Brain | 24,200 tokens | 13,980 tokens | 42% |
466
+ | Power user, room + Brain | 24,200 tokens | 14,380 tokens | 41% |
467
+
468
+ ### 7.2 Context Window Impact by Model
469
+
470
+ | Model | Window | Current Overhead | Native-First Overhead | Freed Tokens |
471
+ |---|---|---|---|---|
472
+ | Sonnet 4.6 | 200K | 12.1% | 5.9-7.0% | 10,000-12,400 |
473
+ | Haiku 4.5 | 200K | 12.1% | 5.9-7.0% | 10,000-12,400 |
474
+ | Opus 4.6 | 1M | 2.4% | 1.2-1.4% | 10,000-12,400 |
475
+
476
+ The absolute token savings (~10,000-12,400 per turn) are identical across models. The relative impact is most significant on 200K windows where every token matters for session longevity.
477
+
478
+ ### 7.3 Session Longevity Impact
479
+
480
+ At 200K context with autocompact at 72% (144K usable tokens):
481
+
482
+ - **Current:** 144K - 24.2K overhead = 119.8K for conversation
483
+ - **Native-First (new user):** 144K - 11.8K overhead = 132.2K for conversation
484
+
485
+ That's **10.3% more conversational capacity** -- translating to approximately 3-5 additional tool calls or 2-3 more methodology exchanges before autocompact fires.
486
+
487
+ ### 7.4 Compounding Effect Over Session
488
+
489
+ The per-turn savings compound because skill content is repeated in every API call (it's part of the system prompt). Over a 30-turn session:
490
+
491
+ - **Current cumulative overhead:** 30 x 24,200 = 726,000 input tokens charged
492
+ - **Native-First cumulative:** 30 x 13,980 = 419,400 input tokens charged
493
+ - **Total savings:** 306,600 input tokens over one session
494
+
495
+ At Sonnet 4.6 rates ($3/MTok input, with prompt caching):
496
+ - Without caching: savings of ~$0.92 per session
497
+ - With caching (0.1x for cache hits): savings of ~$0.09 per session (turns 2-30 hit cache)
498
+
499
+ The cost savings are modest per-session but the QUALITY impact (more room for conversation before degradation) is the primary value.
500
+
501
+ ---
502
+
503
+ ## 8. Future Work: KAIROS and Coordinator Integration
504
+
505
+ ### 8.1 KAIROS (Persistent Memory)
506
+
507
+ The leaked Claude Code source (ccleaks.com, 2026) reveals KAIROS as a persistent background agent writing daily logs to `~/.claude/.../logs/YYYY/MM/DD.md` with 4-phase memory consolidation (Orient, Gather, Consolidate, Prune). When activated via `tengu_kairos` feature gate:
508
+
509
+ **Native-First implication:** KAIROS daily logs replace the session-start cold-start entirely. The context-engine skill's USER.md management and return greeting logic become redundant -- KAIROS provides superior cross-session continuity natively. The context-engine skill could then be eliminated entirely, saving an additional ~550 tokens.
510
+
511
+ ### 8.2 Coordinator Mode (Parallel Agents)
512
+
513
+ The source reveals Coordinator Mode (`CLAUDE_CODE_COORDINATOR_MODE=1`) dispatching parallel workers via `<task-notification>` XML with isolated scratch directories (`tengu_scratch`). When activated:
514
+
515
+ **Native-First implication:** MindrianOS agents (framework-runner, brain-query, grading, research, persona-analyst, investor, opportunity-scanner) are already defined as isolated subagents. The Native-First architecture makes them MORE compatible with Coordinator dispatch because they don't depend on specific MCP routing -- they accept goals and use Claude's native tool selection to achieve them. A Coordinator worker that says "analyze the room for gaps" is more portable than one that says "call mcp__brain__gap_assess with these parameters."
516
+
517
+ ### 8.3 UDS Inbox (Inter-Process Messaging)
518
+
519
+ The source reveals Unix Domain Socket messaging with `ListPeersTool` for peer discovery. When activated:
520
+
521
+ **Native-First implication:** Room-proactive intelligence could become a persistent UDS listener, receiving file change notifications from other Claude sessions working on the same room. The deferred loading model (load room-proactive only when room/ exists) naturally extends to "load room-proactive when room/ exists AND register as UDS listener."
522
+
523
+ ---
524
+
525
+ ## 9. Conclusions
526
+
527
+ ### 9.1 The Core Finding
528
+
529
+ 38% of MindrianOS's per-turn skill budget consists of tool routing instructions that duplicate Claude Code's native capabilities. An additional 5% consists of compressible examples. Removing these produces a 42-51% reduction in per-turn overhead with zero loss to the plugin's 7-layer Mindrian Workspace Protocol.
530
+
531
+ ### 9.2 The Architectural Principle
532
+
533
+ **Skills should encode WHAT to think, not HOW to use tools.** Claude Code is a capable tool-using agent. Telling it WHICH specific MCP server to call, WHICH bash script to invoke, or WHICH file path to read constrains its flexibility and wastes tokens. Telling it WHAT patterns to look for, WHAT domain rules apply, and WHAT calibrated behavior to exhibit leverages both the plugin's domain expertise AND Claude's native intelligence.
534
+
535
+ ### 9.3 The Moat Implication
536
+
537
+ The non-compressible 57% of skill content -- domain knowledge (30%), behavioral calibration (19%), essential rules (8%) -- IS the moat. The Ask-Tell Dial calibrated from 30 years of teaching. The wicked problem detection patterns calibrated from 100+ real projects. The framework chaining sequences that took decades to discover. These cannot be derived from Claude's training data or native capabilities. They are what makes MindrianOS worth installing.
538
+
539
+ The tool routing that the Native-First architecture removes is commodity infrastructure. It tells Claude to do things Claude already knows how to do. Removing it doesn't weaken the plugin -- it focuses the plugin on what only the plugin can provide.
540
+
541
+ ### 9.4 The User Impact
542
+
543
+ For any user -- venturist building an investment thesis, researcher connecting cross-domain findings, or student learning structured innovation thinking -- the Native-First architecture delivers the same MindrianOS experience with less overhead. The student benefits most (51% reduction on first session) because deferred skills avoid loading infrastructure irrelevant to their immediate needs. The power user benefits least in percentage terms (41%) but gains the same absolute token savings (~10,000 per turn).
544
+
545
+ ### 9.5 The Design Philosophy
546
+
547
+ The Native-First architecture embodies a broader principle for AI plugin design: **respect the host's capabilities.** Claude Code is not a blank slate that needs to be taught how to read files and search the web. It is a sophisticated agent that needs to be taught your domain. The best plugins are the ones that bring knowledge Claude doesn't have, not instructions for things Claude already knows.
548
+
549
+ ---
550
+
551
+ ## References
552
+
553
+ - Anthropic. "Prompt Caching." Claude Platform Documentation, 2026. https://platform.claude.com/docs/en/build-with-claude/prompt-caching
554
+ - Anthropic. "Tool Search Tool." Claude Platform Documentation, 2026. https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool
555
+ - Anthropic. "Pricing." Claude Platform Documentation, 2026. https://platform.claude.com/docs/en/about-claude/pricing
556
+ - Augment Code. "Context Window Wars: 200K vs 1M Token Strategies," 2026. https://www.augmentcode.com/tools/context-window-wars-200k-vs-1m-token-strategies
557
+ - ccleaks.com. "Claude Code Leaked Source Analysis," 2026. https://ccleaks.com
558
+ - DeGrace, P. and Stahl, L. H. "Wicked Problems, Righteous Solutions: A Catalogue of Modern Software Engineering Paradigms." Yourdon Press/Prentice Hall, 1990.
559
+ - DEV Community. "Where Do Your Claude Code Tokens Actually Go? We Traced Every Single One," 2026. https://dev.to/slima4/where-do-your-claude-code-tokens-actually-go-we-traced-every-single-one-423e
560
+ - GitHub Issue #7336. "MCP Tool Token Overhead and Lazy Loading," 2026. https://github.com/anthropics/claude-code/issues/7336
561
+ - Morris, M. R., Legg, S. et al. "Levels of AGI for Operationalizing Progress on the Path to AGI." arXiv:2311.02462, November 2023.
562
+ - Nevo Systems. "Perplexity Drops MCP Protocol: 72% Context Window Waste," 2026. https://nevo.systems/blogs/news/perplexity-drops-mcp-protocol-72-percent-context-window-waste
563
+ - Parnas, D. L. "On the Criteria to Be Used in Decomposing Systems into Modules." Communications of the ACM, Vol. 15, pp. 1053-1058, 1972.
564
+ - Rittel, H. W. J. and Webber, M. M. "Dilemmas in a General Theory of Planning." Policy Sciences, Vol. 4, pp. 155-169, 1973.
565
+ - Scalekit. "MCP vs CLI: Head-to-Head Token Analysis," 2026. https://www.scalekit.com/blog/mcp-vs-cli-use
566
+ - Simon, H. A. "The Architecture of Complexity." Proceedings of the American Philosophical Society, Vol. 106, pp. 467-482, 1962.
567
+ - Van Clief, J. and McDermott, D. "Interpretable Context Methodology: Folder Structure as Agentic Architecture." arXiv:2603.16021, March 2026.
568
+
569
+ ---
570
+
571
+ *Cross-references:*
572
+ - *RESEARCH_14_CLAUDE_CODE_SOURCE_ARCHITECTURE.md (source leak analysis)*
573
+ - *RESEARCH_15_V1.8_OPTIMIZATION_JTBD.md (JTBD optimization plan)*
574
+ - *room/solution-design/2026-04-05-claude-code-source-optimization.md (data room filing)*
575
+ - *room/solution-design/2026-04-05-v1.8-jtbd-optimization.md (data room filing)*