@polderlabs/bizar 6.2.5 → 7.0.0

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 (540) hide show
  1. package/.claude/CLAUDE.md +15 -0
  2. package/.claude/agents/_shared/AGENT_BASELINE.md +168 -0
  3. package/.claude/agents/_shared/CLAUDE_TOOLS.md +412 -0
  4. package/.claude/agents/_shared/SKILLS.md +109 -0
  5. package/.claude/agents/agent-browser.md +80 -0
  6. package/.claude/agents/baldr.md +49 -0
  7. package/.claude/agents/forseti.md +51 -0
  8. package/.claude/agents/frigg.md +42 -0
  9. package/.claude/agents/heimdall.md +33 -0
  10. package/.claude/agents/hermod.md +53 -0
  11. package/.claude/agents/mimir.md +49 -0
  12. package/.claude/agents/odin.md +287 -0
  13. package/.claude/agents/quick.md +34 -0
  14. package/.claude/agents/semble-search.md +50 -0
  15. package/.claude/agents/thor.md +53 -0
  16. package/.claude/agents/tyr.md +56 -0
  17. package/.claude/agents/vidarr.md +54 -0
  18. package/.claude/agents/vor.md +53 -0
  19. package/.claude/commands/audit.md +25 -0
  20. package/.claude/commands/bizar.md +22 -0
  21. package/.claude/commands/explain.md +17 -0
  22. package/.claude/commands/init.md +29 -0
  23. package/.claude/commands/learn.md +44 -0
  24. package/.claude/commands/plan.md +35 -0
  25. package/.claude/commands/plow-through.md +50 -0
  26. package/.claude/commands/pr-review.md +49 -0
  27. package/.claude/commands/setup-provider.md +96 -0
  28. package/.claude/commands/tailscale-serve.md +100 -0
  29. package/.claude/commands/team.md +132 -0
  30. package/.claude/commands/test.md +62 -0
  31. package/.claude/commands/validate.md +68 -0
  32. package/.claude/commands/visual-plan.md +24 -0
  33. package/.claude/hooks/README.md +92 -0
  34. package/.claude/hooks/posttooluse-editwrite.mjs +91 -0
  35. package/.claude/hooks/pretooluse-bash.mjs +81 -0
  36. package/.claude/hooks/pretooluse-editwrite.mjs +139 -0
  37. package/.claude/hooks/sessionend-recall.mjs +74 -0
  38. package/.claude/hooks/sessionstart-prime.mjs +80 -0
  39. package/.claude/hooks/userpromptsubmit-tag.mjs +80 -0
  40. package/.claude/hooks/worker-suggest.mjs +110 -0
  41. package/.claude/settings.json +125 -0
  42. package/.claude/skills/9router/SKILL.md +80 -0
  43. package/.claude/skills/9router-chat/SKILL.md +73 -0
  44. package/.claude/skills/9router-embeddings/SKILL.md +69 -0
  45. package/.claude/skills/9router-image/SKILL.md +86 -0
  46. package/.claude/skills/9router-stt/SKILL.md +79 -0
  47. package/.claude/skills/9router-tts/SKILL.md +80 -0
  48. package/.claude/skills/9router-web-fetch/SKILL.md +99 -0
  49. package/.claude/skills/9router-web-search/SKILL.md +91 -0
  50. package/.claude/skills/bizar/README.md +9 -0
  51. package/.claude/skills/bizar/SKILL.md +450 -0
  52. package/.claude/skills/cpp-coding-standards/README.md +28 -0
  53. package/.claude/skills/cpp-coding-standards/SKILL.md +634 -0
  54. package/.claude/skills/cpp-coding-standards/references/concurrency.md +320 -0
  55. package/.claude/skills/cpp-coding-standards/references/error-handling.md +229 -0
  56. package/.claude/skills/cpp-coding-standards/references/memory-safety.md +216 -0
  57. package/.claude/skills/cpp-coding-standards/references/modern-idioms.md +282 -0
  58. package/.claude/skills/cpp-coding-standards/references/review-checklist.md +96 -0
  59. package/.claude/skills/cpp-testing/README.md +28 -0
  60. package/.claude/skills/cpp-testing/SKILL.md +304 -0
  61. package/.claude/skills/cpp-testing/references/coverage.md +370 -0
  62. package/.claude/skills/cpp-testing/references/framework-compare.md +175 -0
  63. package/.claude/skills/cpp-testing/references/host-test-for-embedded.md +499 -0
  64. package/.claude/skills/cpp-testing/references/mocking.md +364 -0
  65. package/.claude/skills/cpp-testing/references/tdd-workflow.md +308 -0
  66. package/.claude/skills/cubesandbox/SKILL.md +148 -0
  67. package/.claude/skills/embedded-esp-idf/README.md +41 -0
  68. package/.claude/skills/embedded-esp-idf/SKILL.md +439 -0
  69. package/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +214 -0
  70. package/.claude/skills/embedded-esp-idf/references/host-tests.md +164 -0
  71. package/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +157 -0
  72. package/.claude/skills/embedded-esp-idf/references/kconfig.md +159 -0
  73. package/.claude/skills/embedded-esp-idf/references/logging-discipline.md +118 -0
  74. package/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +137 -0
  75. package/.claude/skills/embedded-esp-idf/references/nvs.md +121 -0
  76. package/.claude/skills/embedded-esp-idf/references/packed-structs.md +192 -0
  77. package/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +47 -0
  78. package/.claude/skills/embedded-esp-idf/scripts/size_check.sh +77 -0
  79. package/.claude/skills/glyph/SKILL.md +163 -0
  80. package/.claude/skills/harness-engineering/SKILL.md +143 -0
  81. package/.claude/skills/lightrag/SKILL.md +81 -0
  82. package/.claude/skills/memory-protocol/SKILL.md +105 -0
  83. package/.claude/skills/obsidian/SKILL.md +306 -0
  84. package/.claude/skills/read-the-damn-docs/SKILL.md +113 -0
  85. package/.claude/skills/self-improvement/SKILL.md +64 -0
  86. package/README.md +87 -59
  87. package/bizar-dash/dist/assets/{EnvVarsSection-DXM8gRm_.js → EnvVarsSection-CW6fWKds.js} +3 -3
  88. package/bizar-dash/dist/assets/{EnvVarsSection-DXM8gRm_.js.map → EnvVarsSection-CW6fWKds.js.map} +1 -1
  89. package/bizar-dash/dist/assets/MobileChat-D7zRhU9K.js +1 -0
  90. package/bizar-dash/dist/assets/{MobileChat-BnKN_Ks_.js.map → MobileChat-D7zRhU9K.js.map} +1 -1
  91. package/bizar-dash/dist/assets/MobileSettings-K-sNsn_r.js +1 -0
  92. package/bizar-dash/dist/assets/{MobileSettings-DjCPxC-Q.js.map → MobileSettings-K-sNsn_r.js.map} +1 -1
  93. package/bizar-dash/dist/assets/{Toast-Cpl6-E63.js → Toast-WTxc3m2g.js} +1 -1
  94. package/bizar-dash/dist/assets/{Toast-Cpl6-E63.js.map → Toast-WTxc3m2g.js.map} +1 -1
  95. package/bizar-dash/dist/assets/flow-BpU0-gK2.js +1 -0
  96. package/bizar-dash/dist/assets/flow-BpU0-gK2.js.map +1 -0
  97. package/bizar-dash/dist/assets/fuzzy-l0sNRNKZ.js +1 -0
  98. package/bizar-dash/dist/assets/fuzzy-l0sNRNKZ.js.map +1 -0
  99. package/bizar-dash/dist/assets/{icons-Do5N2jmX.js → icons-B0AKnYI3.js} +98 -103
  100. package/bizar-dash/dist/assets/icons-B0AKnYI3.js.map +1 -0
  101. package/bizar-dash/dist/assets/main-C-Md3DaY.css +1 -0
  102. package/bizar-dash/dist/assets/main-CO8fIxQK.js +18 -0
  103. package/bizar-dash/dist/assets/main-CO8fIxQK.js.map +1 -0
  104. package/bizar-dash/dist/assets/markdown-w2bDDkAH.js +1 -0
  105. package/bizar-dash/dist/assets/{markdown-C6mXtQxD.js.map → markdown-w2bDDkAH.js.map} +1 -1
  106. package/bizar-dash/dist/assets/mobile-DXYCA0hC.js +1 -0
  107. package/bizar-dash/dist/assets/{mobile-CMHqtLV2.js.map → mobile-DXYCA0hC.js.map} +1 -1
  108. package/bizar-dash/dist/assets/mobile-layout-DSmtNPja.js +2 -0
  109. package/bizar-dash/dist/assets/mobile-layout-DSmtNPja.js.map +1 -0
  110. package/bizar-dash/dist/assets/react-vendor-BnuhLJ6X.css +1 -0
  111. package/bizar-dash/dist/assets/react-vendor-D3pra6w-.js +46 -0
  112. package/bizar-dash/dist/assets/react-vendor-D3pra6w-.js.map +1 -0
  113. package/bizar-dash/dist/assets/useSlashCommands-3DFLOfpk.js +2 -0
  114. package/bizar-dash/dist/assets/useSlashCommands-3DFLOfpk.js.map +1 -0
  115. package/bizar-dash/dist/assets/vendor-Di7Cp-rw.js +45 -0
  116. package/bizar-dash/dist/assets/vendor-Di7Cp-rw.js.map +1 -0
  117. package/bizar-dash/dist/index.html +12 -10
  118. package/bizar-dash/dist/mobile.html +7 -4
  119. package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  120. package/bizar-dash/src/server/api.mjs +15 -4
  121. package/bizar-dash/src/server/background-store.mjs +15 -16
  122. package/bizar-dash/src/server/bg-poller.mjs +25 -35
  123. package/bizar-dash/src/server/bg-retry.mjs +66 -194
  124. package/bizar-dash/src/server/claude-bg-spawner.mjs +390 -0
  125. package/bizar-dash/src/server/claude-info.mjs +412 -0
  126. package/bizar-dash/src/server/{cline-runner.mjs → claude-runner.mjs} +53 -48
  127. package/bizar-dash/src/server/claude-sdk.mjs +191 -0
  128. package/bizar-dash/src/server/memory-consolidator.mjs +218 -0
  129. package/bizar-dash/src/server/memory-distillation.mjs +296 -0
  130. package/bizar-dash/src/server/providers-store.mjs +22 -49
  131. package/bizar-dash/src/server/routes/background.mjs +24 -20
  132. package/bizar-dash/src/server/routes/chat.mjs +223 -326
  133. package/bizar-dash/src/server/routes/claude-session-detail.mjs +329 -0
  134. package/bizar-dash/src/server/routes/claude-sessions.mjs +259 -0
  135. package/bizar-dash/src/server/routes/distill.mjs +129 -0
  136. package/bizar-dash/src/server/routes/goal-planner.mjs +236 -0
  137. package/bizar-dash/src/server/routes/tasks.mjs +20 -28
  138. package/bizar-dash/src/server/task-delegator.mjs +76 -77
  139. package/bizar-dash/src/web/App.tsx +4 -0
  140. package/bizar-dash/src/web/components/Tag.tsx +18 -5
  141. package/bizar-dash/src/web/components/Topbar.tsx +3 -0
  142. package/bizar-dash/src/web/components/agents/CommunicationLog.tsx +126 -0
  143. package/bizar-dash/src/web/components/agents/DependencyGraph.tsx +163 -0
  144. package/bizar-dash/src/web/components/agents/QualityGates.tsx +123 -0
  145. package/bizar-dash/src/web/components/agents/RealTimeEventLog.tsx +127 -0
  146. package/bizar-dash/src/web/components/agents/RoutingDecisions.test.tsx +148 -0
  147. package/bizar-dash/src/web/components/agents/RoutingDecisions.tsx +160 -0
  148. package/bizar-dash/src/web/components/chat/useChat.ts +23 -27
  149. package/bizar-dash/src/web/components/goals/GoalInput.tsx +86 -0
  150. package/bizar-dash/src/web/components/goals/PlanVisualization.tsx +111 -0
  151. package/bizar-dash/src/web/lib/goapPlanner.ts +614 -0
  152. package/bizar-dash/src/web/lib/types.ts +25 -0
  153. package/bizar-dash/src/web/styles/agents-redesign.css +311 -0
  154. package/bizar-dash/src/web/styles/main.css +251 -0
  155. package/bizar-dash/src/web/styles/tasks-redesign.css +231 -0
  156. package/bizar-dash/src/web/ui/controls/Button.tsx +77 -0
  157. package/bizar-dash/src/web/ui/controls/Checkbox.tsx +95 -0
  158. package/bizar-dash/src/web/ui/controls/IconButton.tsx +66 -0
  159. package/bizar-dash/src/web/ui/controls/Kbd.tsx +24 -0
  160. package/bizar-dash/src/web/ui/controls/NumberInput.tsx +77 -0
  161. package/bizar-dash/src/web/ui/controls/RadioGroup.tsx +109 -0
  162. package/bizar-dash/src/web/ui/controls/SearchInput.tsx +91 -0
  163. package/bizar-dash/src/web/ui/controls/Select.tsx +92 -0
  164. package/bizar-dash/src/web/ui/controls/Slider.tsx +70 -0
  165. package/bizar-dash/src/web/ui/controls/TextInput.tsx +67 -0
  166. package/bizar-dash/src/web/ui/controls/Toggle.tsx +79 -0
  167. package/bizar-dash/src/web/ui/controls/controls.css +454 -0
  168. package/bizar-dash/src/web/ui/controls/index.ts +33 -0
  169. package/bizar-dash/src/web/ui/data/BarChart.tsx +60 -0
  170. package/bizar-dash/src/web/ui/data/DataTable.tsx +216 -0
  171. package/bizar-dash/src/web/ui/data/EmptyState.tsx +60 -0
  172. package/bizar-dash/src/web/ui/data/ErrorState.tsx +56 -0
  173. package/bizar-dash/src/web/ui/data/KeyValueList.tsx +106 -0
  174. package/bizar-dash/src/web/ui/data/LoadingState.tsx +65 -0
  175. package/bizar-dash/src/web/ui/data/Sparkline.tsx +87 -0
  176. package/bizar-dash/src/web/ui/data/StatTile.tsx +87 -0
  177. package/bizar-dash/src/web/ui/data/data.css +535 -0
  178. package/bizar-dash/src/web/ui/data/index.ts +31 -0
  179. package/bizar-dash/src/web/ui/feedback/Badge.tsx +49 -0
  180. package/bizar-dash/src/web/ui/feedback/Dialog.tsx +209 -0
  181. package/bizar-dash/src/web/ui/feedback/ProgressBar.tsx +69 -0
  182. package/bizar-dash/src/web/ui/feedback/StatusDot.tsx +50 -0
  183. package/bizar-dash/src/web/ui/feedback/Toast.tsx +200 -0
  184. package/bizar-dash/src/web/ui/feedback/Tooltip.tsx +126 -0
  185. package/bizar-dash/src/web/ui/feedback/feedback.css +314 -0
  186. package/bizar-dash/src/web/ui/feedback/index.ts +43 -0
  187. package/bizar-dash/src/web/ui/index.ts +56 -0
  188. package/bizar-dash/src/web/ui/layout/AppShell.tsx +51 -0
  189. package/bizar-dash/src/web/ui/layout/Breadcrumbs.tsx +97 -0
  190. package/bizar-dash/src/web/ui/layout/Panel.tsx +73 -0
  191. package/bizar-dash/src/web/ui/layout/PanelHeader.tsx +39 -0
  192. package/bizar-dash/src/web/ui/layout/Sidebar.tsx +131 -0
  193. package/bizar-dash/src/web/ui/layout/Tabs.tsx +133 -0
  194. package/bizar-dash/src/web/ui/layout/Topbar.tsx +42 -0
  195. package/bizar-dash/src/web/ui/layout/index.ts +33 -0
  196. package/bizar-dash/src/web/ui/layout/layout.css +413 -0
  197. package/bizar-dash/src/web/ui/navigation/CommandPalette.tsx +199 -0
  198. package/bizar-dash/src/web/ui/navigation/NavGroup.tsx +95 -0
  199. package/bizar-dash/src/web/ui/navigation/NavLink.tsx +93 -0
  200. package/bizar-dash/src/web/ui/navigation/index.ts +17 -0
  201. package/bizar-dash/src/web/ui/navigation/navigation.css +343 -0
  202. package/bizar-dash/src/web/ui/primitives/Box.tsx +91 -0
  203. package/bizar-dash/src/web/ui/primitives/Grid.tsx +49 -0
  204. package/bizar-dash/src/web/ui/primitives/Inline.tsx +55 -0
  205. package/bizar-dash/src/web/ui/primitives/Separator.tsx +46 -0
  206. package/bizar-dash/src/web/ui/primitives/Stack.tsx +54 -0
  207. package/bizar-dash/src/web/ui/primitives/VisuallyHidden.tsx +26 -0
  208. package/bizar-dash/src/web/ui/primitives/index.ts +23 -0
  209. package/bizar-dash/src/web/ui/primitives/primitives.css +183 -0
  210. package/bizar-dash/src/web/ui/styles/globals.css +86 -0
  211. package/bizar-dash/src/web/ui/styles/reset.css +125 -0
  212. package/bizar-dash/src/web/ui/styles/tokens.css +195 -0
  213. package/bizar-dash/src/web/ui/theme/ThemeProvider.tsx +142 -0
  214. package/bizar-dash/src/web/ui/theme/tokens.ts +131 -0
  215. package/bizar-dash/src/web/ui/theme/useTheme.ts +22 -0
  216. package/bizar-dash/src/web/ui/utils/cx.ts +42 -0
  217. package/bizar-dash/src/web/views/Agents.tsx +506 -266
  218. package/bizar-dash/src/web/views/Chat.tsx +8 -8
  219. package/bizar-dash/src/web/views/GoalPlanner.tsx +158 -0
  220. package/bizar-dash/src/web/views/Overview.tsx +996 -448
  221. package/bizar-dash/src/web/views/Tasks.tsx +277 -273
  222. package/bizar-dash/tests/communication-log.test.tsx +67 -0
  223. package/bizar-dash/tests/dep-graph.test.tsx +40 -0
  224. package/bizar-dash/tests/event-log.test.tsx +61 -0
  225. package/bizar-dash/tests/goal-input.test.tsx +72 -0
  226. package/bizar-dash/tests/goap-planner.test.ts +68 -0
  227. package/bizar-dash/tests/quality-gates.test.tsx +59 -0
  228. package/bizar-dash/tests/setup.ts +31 -1
  229. package/bizar-dash/tests/ui/controls/Button.test.tsx +50 -0
  230. package/bizar-dash/tests/ui/controls/Checkbox.test.tsx +44 -0
  231. package/bizar-dash/tests/ui/controls/IconButton.test.tsx +37 -0
  232. package/bizar-dash/tests/ui/controls/Kbd.test.tsx +39 -0
  233. package/bizar-dash/tests/ui/controls/NumberInput.test.tsx +56 -0
  234. package/bizar-dash/tests/ui/controls/RadioGroup.test.tsx +58 -0
  235. package/bizar-dash/tests/ui/controls/SearchInput.test.tsx +52 -0
  236. package/bizar-dash/tests/ui/controls/Select.test.tsx +66 -0
  237. package/bizar-dash/tests/ui/controls/Slider.test.tsx +41 -0
  238. package/bizar-dash/tests/ui/controls/TextInput.test.tsx +44 -0
  239. package/bizar-dash/tests/ui/controls/Toggle.test.tsx +39 -0
  240. package/bizar-dash/tests/ui/data/BarChart.test.tsx +55 -0
  241. package/bizar-dash/tests/ui/data/DataTable.test.tsx +112 -0
  242. package/bizar-dash/tests/ui/data/EmptyState.test.tsx +57 -0
  243. package/bizar-dash/tests/ui/data/ErrorState.test.tsx +47 -0
  244. package/bizar-dash/tests/ui/data/KeyValueList.test.tsx +59 -0
  245. package/bizar-dash/tests/ui/data/LoadingState.test.tsx +37 -0
  246. package/bizar-dash/tests/ui/data/Sparkline.test.tsx +56 -0
  247. package/bizar-dash/tests/ui/data/StatTile.test.tsx +69 -0
  248. package/bizar-dash/tests/ui/feedback/Badge.test.tsx +41 -0
  249. package/bizar-dash/tests/ui/feedback/Dialog.test.tsx +99 -0
  250. package/bizar-dash/tests/ui/feedback/ProgressBar.test.tsx +66 -0
  251. package/bizar-dash/tests/ui/feedback/StatusDot.test.tsx +41 -0
  252. package/bizar-dash/tests/ui/feedback/Toast.test.tsx +124 -0
  253. package/bizar-dash/tests/ui/feedback/Tooltip.test.tsx +102 -0
  254. package/bizar-dash/tests/ui/layout/AppShell.test.tsx +50 -0
  255. package/bizar-dash/tests/ui/layout/Breadcrumbs.test.tsx +85 -0
  256. package/bizar-dash/tests/ui/layout/Panel.test.tsx +52 -0
  257. package/bizar-dash/tests/ui/layout/PanelHeader.test.tsx +32 -0
  258. package/bizar-dash/tests/ui/layout/Sidebar.test.tsx +95 -0
  259. package/bizar-dash/tests/ui/layout/Tabs.test.tsx +87 -0
  260. package/bizar-dash/tests/ui/layout/Topbar.test.tsx +41 -0
  261. package/bizar-dash/tests/ui/navigation/CommandPalette.test.tsx +105 -0
  262. package/bizar-dash/tests/ui/navigation/NavGroup.test.tsx +55 -0
  263. package/bizar-dash/tests/ui/navigation/NavLink.test.tsx +61 -0
  264. package/bizar-dash/tests/ui/primitives/Box.test.tsx +49 -0
  265. package/bizar-dash/tests/ui/primitives/Grid.test.tsx +37 -0
  266. package/bizar-dash/tests/ui/primitives/Inline.test.tsx +33 -0
  267. package/bizar-dash/tests/ui/primitives/Separator.test.tsx +34 -0
  268. package/bizar-dash/tests/ui/primitives/Stack.test.tsx +45 -0
  269. package/bizar-dash/tests/ui/primitives/VisuallyHidden.test.tsx +27 -0
  270. package/bizar-dash/tests/views/Agents.test.tsx +359 -0
  271. package/bizar-dash/tests/views/Overview.test.tsx +413 -0
  272. package/bizar-dash/tests/views/Tasks.test.tsx +250 -0
  273. package/bizar-dash/vitest.config.ts +3 -1
  274. package/cli/__tests__/cost-gate.test.mjs +301 -0
  275. package/cli/__tests__/feature-list-bridge.test.mjs +371 -0
  276. package/cli/bin.mjs +55 -18
  277. package/cli/commands/claim.mjs +282 -0
  278. package/cli/commands/claude-cmd.mjs +348 -0
  279. package/cli/commands/cost.mjs +279 -0
  280. package/cli/commands/install.mjs +12 -11
  281. package/cli/commands/validate.mjs +252 -325
  282. package/cli/cost-gate.mjs +501 -0
  283. package/cli/dev-link.test.mjs +11 -11
  284. package/cli/doctor.mjs +131 -213
  285. package/cli/feature-list-bridge.mjs +400 -0
  286. package/cli/install.mjs +33 -37
  287. package/cli/install.test.mjs +9 -9
  288. package/cli/memory-constants.mjs +17 -0
  289. package/cli/provision-claude.mjs +893 -0
  290. package/cli/provision.mjs +224 -227
  291. package/cli/utils.mjs +72 -58
  292. package/cli/worker-dispatcher.mjs +259 -0
  293. package/cli/worker-dispatcher.test.mjs +204 -0
  294. package/config/AGENTS.md +28 -28
  295. package/config/trigger-patterns.json +186 -0
  296. package/install.sh +66 -44
  297. package/package.json +19 -11
  298. package/packages/sdk/ARCHITECTURE.md +40 -36
  299. package/packages/sdk/package.json +15 -5
  300. package/packages/sdk/src/agent-registry.ts +304 -0
  301. package/packages/sdk/src/consensus/byzantine.ts +587 -0
  302. package/packages/sdk/src/consensus/index.ts +147 -0
  303. package/packages/sdk/src/consensus/queen.ts +173 -0
  304. package/packages/sdk/src/consensus/types.ts +199 -0
  305. package/{plugins/bizar → packages/sdk}/src/dangerous-patterns.ts +6 -28
  306. package/packages/sdk/src/federation/audit.ts +156 -0
  307. package/packages/sdk/src/federation/budget.ts +269 -0
  308. package/packages/sdk/src/federation/envelope.ts +144 -0
  309. package/packages/sdk/src/federation/hmac.ts +160 -0
  310. package/packages/sdk/src/federation/index.ts +443 -0
  311. package/packages/sdk/src/federation/pii.ts +241 -0
  312. package/packages/sdk/src/federation/policy.ts +112 -0
  313. package/packages/sdk/src/federation/trust.ts +146 -0
  314. package/packages/sdk/src/fingerprint.ts +0 -0
  315. package/packages/sdk/src/index.ts +101 -69
  316. package/packages/sdk/src/mcp/bin.ts +51 -0
  317. package/packages/sdk/src/mcp/server.ts +848 -0
  318. package/{plugins/bizar/src/memory-vault.ts → packages/sdk/src/memory/index.ts} +18 -21
  319. package/packages/sdk/src/router/codemod-intent.ts +125 -0
  320. package/packages/sdk/src/router/index.ts +247 -0
  321. package/packages/sdk/src/router/memory-distillation-shim.mjs +18 -0
  322. package/packages/sdk/src/router/memory-distillation.ts +249 -0
  323. package/packages/sdk/src/router/model-router.ts +235 -0
  324. package/packages/sdk/src/router/q-learning-router.ts +304 -0
  325. package/packages/sdk/src/swarm-topology.ts +279 -0
  326. package/packages/sdk/tests/agent-registry.test.ts +285 -0
  327. package/packages/sdk/tests/consensus.test.ts +376 -0
  328. package/packages/sdk/tests/federation/audit.test.ts +164 -0
  329. package/packages/sdk/tests/federation/budget.test.ts +189 -0
  330. package/packages/sdk/tests/federation/envelope.test.ts +120 -0
  331. package/packages/sdk/tests/federation/hmac.test.ts +194 -0
  332. package/packages/sdk/tests/federation/orchestrator.test.ts +176 -0
  333. package/packages/sdk/tests/federation/pii.test.ts +106 -0
  334. package/packages/sdk/tests/federation/policy.test.ts +140 -0
  335. package/packages/sdk/tests/federation/trust.test.ts +124 -0
  336. package/packages/sdk/tests/mcp-tools.test.ts +204 -0
  337. package/packages/sdk/tests/memory-distillation.test.mjs +186 -0
  338. package/packages/sdk/tests/model-router.test.mjs +108 -0
  339. package/packages/sdk/tests/q-learning-router.test.mjs +100 -0
  340. package/packages/sdk/tests/router-orchestrator.test.mjs +172 -0
  341. package/packages/sdk/tests/router.test.mjs +91 -0
  342. package/packages/sdk/tests/sdk.test.mjs +172 -0
  343. package/packages/sdk/tests/swarm-topology.test.ts +258 -0
  344. package/packages/sdk/vitest.config.ts +1 -1
  345. package/scripts/bh-full-e2e.mjs +167 -368
  346. package/scripts/check-deps.mjs +28 -46
  347. package/scripts/mirror-claude-md.sh +78 -0
  348. package/scripts/test-in-container.sh +31 -9
  349. package/templates/clean-state-checklist.md +3 -3
  350. package/templates/sprint-contract.md +2 -2
  351. package/bizar-dash/.bizar/activity.log +0 -3
  352. package/bizar-dash/.omx/logs/omx-2026-07-07.jsonl +0 -1
  353. package/bizar-dash/.omx/state/session.json +0 -10
  354. package/bizar-dash/bizar-design/EXPLANATION.md +0 -307
  355. package/bizar-dash/bizar-design/INSTRUCTIONS.md +0 -149
  356. package/bizar-dash/bizar-design/canvas.html +0 -281
  357. package/bizar-dash/bizar-design/canvas.html.artifact.json +0 -19
  358. package/bizar-dash/bizar-design/components.css +0 -1665
  359. package/bizar-dash/bizar-design/components.html +0 -557
  360. package/bizar-dash/bizar-design/components.html.artifact.json +0 -19
  361. package/bizar-dash/bizar-design/desktop/agents.html +0 -74
  362. package/bizar-dash/bizar-design/desktop/agents.html.artifact.json +0 -19
  363. package/bizar-dash/bizar-design/desktop/memory.html +0 -75
  364. package/bizar-dash/bizar-design/desktop/memory.html.artifact.json +0 -19
  365. package/bizar-dash/bizar-design/desktop/metrics.html +0 -63
  366. package/bizar-dash/bizar-design/desktop/metrics.html.artifact.json +0 -19
  367. package/bizar-dash/bizar-design/desktop/overview.html +0 -95
  368. package/bizar-dash/bizar-design/desktop/overview.html.artifact.json +0 -19
  369. package/bizar-dash/bizar-design/desktop/settings.html +0 -70
  370. package/bizar-dash/bizar-design/desktop/settings.html.artifact.json +0 -19
  371. package/bizar-dash/bizar-design/icons.svg +0 -44
  372. package/bizar-dash/bizar-design/index.html +0 -192
  373. package/bizar-dash/bizar-design/index.html.artifact.json +0 -19
  374. package/bizar-dash/bizar-design/mobile/agents.html +0 -29
  375. package/bizar-dash/bizar-design/mobile/agents.html.artifact.json +0 -19
  376. package/bizar-dash/bizar-design/mobile/memory.html +0 -28
  377. package/bizar-dash/bizar-design/mobile/memory.html.artifact.json +0 -19
  378. package/bizar-dash/bizar-design/mobile/metrics.html +0 -29
  379. package/bizar-dash/bizar-design/mobile/metrics.html.artifact.json +0 -19
  380. package/bizar-dash/bizar-design/mobile/overview.html +0 -33
  381. package/bizar-dash/bizar-design/mobile/overview.html.artifact.json +0 -19
  382. package/bizar-dash/bizar-design/mobile/settings.html +0 -28
  383. package/bizar-dash/bizar-design/mobile/settings.html.artifact.json +0 -19
  384. package/bizar-dash/bizar-design/prototype.js +0 -114
  385. package/bizar-dash/bizar-design/tokens.css +0 -106
  386. package/bizar-dash/dist/assets/MobileChat-BnKN_Ks_.js +0 -1
  387. package/bizar-dash/dist/assets/MobileSettings-DjCPxC-Q.js +0 -1
  388. package/bizar-dash/dist/assets/icons-Do5N2jmX.js.map +0 -1
  389. package/bizar-dash/dist/assets/main-DYiZqMrn.js +0 -18
  390. package/bizar-dash/dist/assets/main-DYiZqMrn.js.map +0 -1
  391. package/bizar-dash/dist/assets/main-ietCEg_R.css +0 -1
  392. package/bizar-dash/dist/assets/markdown-C6mXtQxD.js +0 -1
  393. package/bizar-dash/dist/assets/mobile-CMHqtLV2.js +0 -1
  394. package/bizar-dash/dist/assets/mobile-layout-3jIhHX_p.js +0 -2
  395. package/bizar-dash/dist/assets/mobile-layout-3jIhHX_p.js.map +0 -1
  396. package/bizar-dash/dist/assets/react-vendor-Dn4wqh4Z.js +0 -40
  397. package/bizar-dash/dist/assets/react-vendor-Dn4wqh4Z.js.map +0 -1
  398. package/bizar-dash/dist/assets/useSlashCommands-DtITw8Xv.js +0 -2
  399. package/bizar-dash/dist/assets/useSlashCommands-DtITw8Xv.js.map +0 -1
  400. package/bizar-dash/dist/assets/vendor-CeHGtduv.js +0 -29
  401. package/bizar-dash/dist/assets/vendor-CeHGtduv.js.map +0 -1
  402. package/bizar-dash/node_modules/.package-lock.json +0 -6
  403. package/bizar-dash/package-lock.json +0 -6
  404. package/bizar-dash/src/server/cline-sdk.mjs +0 -132
  405. package/bizar-dash/src/server/routes/cline-session-detail.mjs +0 -559
  406. package/bizar-dash/src/server/routes/cline-sessions.mjs +0 -291
  407. package/cli/commands/cline-cmd.mjs +0 -289
  408. package/cli/commands/validate.test.mjs +0 -379
  409. package/cli/doctor.test.mjs +0 -350
  410. package/config/cline.json.template +0 -342
  411. package/packages/sdk/src/client.ts +0 -188
  412. package/packages/sdk/src/cline-events.ts +0 -134
  413. package/packages/sdk/src/cline-types.ts +0 -66
  414. package/packages/sdk/src/cline.ts +0 -339
  415. package/packages/sdk/src/errors.ts +0 -129
  416. package/packages/sdk/src/events.ts +0 -153
  417. package/packages/sdk/src/types.ts +0 -176
  418. package/packages/sdk/tests/client.test.ts +0 -217
  419. package/packages/sdk/tests/errors.test.ts +0 -108
  420. package/packages/sdk/tests/events.test.ts +0 -139
  421. package/packages/sdk/tests/fixtures/fetch-mock.ts +0 -152
  422. package/packages/sdk/tests/fixtures/sse-mock.ts +0 -30
  423. package/plugins/bizar/ARCHITECTURE.md +0 -142
  424. package/plugins/bizar/CONSTRAINTS.md +0 -67
  425. package/plugins/bizar/LICENSE +0 -21
  426. package/plugins/bizar/README.md +0 -448
  427. package/plugins/bizar/index.ts +0 -925
  428. package/plugins/bizar/package.json +0 -39
  429. package/plugins/bizar/scripts/check-forbidden-imports.sh +0 -33
  430. package/plugins/bizar/src/background-state.ts +0 -641
  431. package/plugins/bizar/src/background.ts +0 -1806
  432. package/plugins/bizar/src/cline-runner.ts +0 -203
  433. package/plugins/bizar/src/clineruntime.ts +0 -227
  434. package/plugins/bizar/src/commands-impl.ts +0 -151
  435. package/plugins/bizar/src/commands.ts +0 -1799
  436. package/plugins/bizar/src/compaction.d.mts +0 -48
  437. package/plugins/bizar/src/compaction.mjs +0 -192
  438. package/plugins/bizar/src/dashboard-client.ts +0 -233
  439. package/plugins/bizar/src/event-stream.ts +0 -606
  440. package/plugins/bizar/src/fingerprint.ts +0 -120
  441. package/plugins/bizar/src/handoff.ts +0 -79
  442. package/plugins/bizar/src/hooks/memory-flush-on-compact.ts +0 -123
  443. package/plugins/bizar/src/hooks/memory-inject.ts +0 -247
  444. package/plugins/bizar/src/hooks/memory-write-on-end.ts +0 -188
  445. package/plugins/bizar/src/hooks/skill-curator.ts +0 -180
  446. package/plugins/bizar/src/http-client.ts +0 -467
  447. package/plugins/bizar/src/key-rotation.ts +0 -218
  448. package/plugins/bizar/src/logger.ts +0 -144
  449. package/plugins/bizar/src/loop-engineering.ts +0 -241
  450. package/plugins/bizar/src/loop.ts +0 -176
  451. package/plugins/bizar/src/mistake-recovery.ts +0 -98
  452. package/plugins/bizar/src/odin.ts +0 -227
  453. package/plugins/bizar/src/options.ts +0 -470
  454. package/plugins/bizar/src/plan-fs.ts +0 -323
  455. package/plugins/bizar/src/reasoning-clean.ts +0 -454
  456. package/plugins/bizar/src/report.ts +0 -178
  457. package/plugins/bizar/src/research-prompt.ts +0 -35
  458. package/plugins/bizar/src/serve-info.ts +0 -228
  459. package/plugins/bizar/src/serve.ts +0 -496
  460. package/plugins/bizar/src/settings.ts +0 -349
  461. package/plugins/bizar/src/state.ts +0 -298
  462. package/plugins/bizar/src/tool-discipline.ts +0 -105
  463. package/plugins/bizar/src/tools/agent-browser.ts +0 -315
  464. package/plugins/bizar/src/tools/bg-collect.ts +0 -131
  465. package/plugins/bizar/src/tools/bg-get-comments.ts +0 -266
  466. package/plugins/bizar/src/tools/bg-kill.ts +0 -116
  467. package/plugins/bizar/src/tools/bg-pause.ts +0 -99
  468. package/plugins/bizar/src/tools/bg-report-progress.ts +0 -115
  469. package/plugins/bizar/src/tools/bg-resume.ts +0 -94
  470. package/plugins/bizar/src/tools/bg-send-message.ts +0 -223
  471. package/plugins/bizar/src/tools/bg-spawn.ts +0 -502
  472. package/plugins/bizar/src/tools/bg-status.ts +0 -130
  473. package/plugins/bizar/src/tools/graph-query.ts +0 -278
  474. package/plugins/bizar/src/tools/loop-engineering.ts +0 -193
  475. package/plugins/bizar/src/tools/memory-list.ts +0 -43
  476. package/plugins/bizar/src/tools/memory-read.ts +0 -69
  477. package/plugins/bizar/src/tools/memory-search.ts +0 -47
  478. package/plugins/bizar/src/tools/memory-write.ts +0 -54
  479. package/plugins/bizar/src/tools/open-kb.ts +0 -198
  480. package/plugins/bizar/src/tools/plan-action.ts +0 -785
  481. package/plugins/bizar/src/tools/read-glyph-feedback.ts +0 -191
  482. package/plugins/bizar/src/tools/sandbox.ts +0 -232
  483. package/plugins/bizar/src/tools/team-spawn.ts +0 -73
  484. package/plugins/bizar/src/tools/team-status.ts +0 -76
  485. package/plugins/bizar/src/tools/wait-for-feedback.ts +0 -415
  486. package/plugins/bizar/src/trajectory.ts +0 -104
  487. package/plugins/bizar/tests/README.md +0 -99
  488. package/plugins/bizar/tests/attach-handler-bug.test.ts +0 -169
  489. package/plugins/bizar/tests/background-state.test.ts +0 -277
  490. package/plugins/bizar/tests/background.test.ts +0 -402
  491. package/plugins/bizar/tests/block.test.ts +0 -195
  492. package/plugins/bizar/tests/canonical-key-order.test.ts +0 -75
  493. package/plugins/bizar/tests/clineruntime-config.test.ts +0 -283
  494. package/plugins/bizar/tests/commands-impl.test.ts +0 -316
  495. package/plugins/bizar/tests/commands.test.ts +0 -584
  496. package/plugins/bizar/tests/compaction.test.ts +0 -264
  497. package/plugins/bizar/tests/config.test.ts +0 -128
  498. package/plugins/bizar/tests/dashboard-client.test.ts +0 -159
  499. package/plugins/bizar/tests/dispose.test.ts +0 -336
  500. package/plugins/bizar/tests/event-stream.test.ts +0 -409
  501. package/plugins/bizar/tests/event.test.ts +0 -262
  502. package/plugins/bizar/tests/fingerprint.test.ts +0 -190
  503. package/plugins/bizar/tests/http-client.test.ts +0 -404
  504. package/plugins/bizar/tests/init-helpers.test.ts +0 -203
  505. package/plugins/bizar/tests/integration/slash-command.test.ts +0 -349
  506. package/plugins/bizar/tests/integration/tool-routing.test.ts +0 -98
  507. package/plugins/bizar/tests/key-rotation.test.ts +0 -396
  508. package/plugins/bizar/tests/loop-engineering.test.ts +0 -168
  509. package/plugins/bizar/tests/loop.test.ts +0 -397
  510. package/plugins/bizar/tests/memory-write-on-end.test.ts +0 -92
  511. package/plugins/bizar/tests/mistake-recovery.test.ts +0 -116
  512. package/plugins/bizar/tests/odin.test.ts +0 -125
  513. package/plugins/bizar/tests/options.test.ts +0 -329
  514. package/plugins/bizar/tests/reasoning-clean.test.ts +0 -422
  515. package/plugins/bizar/tests/safety.test.ts +0 -281
  516. package/plugins/bizar/tests/serve.test.ts +0 -339
  517. package/plugins/bizar/tests/settings.test.ts +0 -351
  518. package/plugins/bizar/tests/stall-think.test.ts +0 -750
  519. package/plugins/bizar/tests/state.test.ts +0 -276
  520. package/plugins/bizar/tests/tool-discipline.test.ts +0 -77
  521. package/plugins/bizar/tests/tools/agent-browser.test.ts +0 -98
  522. package/plugins/bizar/tests/tools/bg-collect.test.ts +0 -337
  523. package/plugins/bizar/tests/tools/bg-get-comments.test.ts +0 -485
  524. package/plugins/bizar/tests/tools/bg-kill.test.ts +0 -235
  525. package/plugins/bizar/tests/tools/bg-pause.test.ts +0 -61
  526. package/plugins/bizar/tests/tools/bg-report-progress.test.ts +0 -79
  527. package/plugins/bizar/tests/tools/bg-resume.test.ts +0 -40
  528. package/plugins/bizar/tests/tools/bg-send-message.test.ts +0 -116
  529. package/plugins/bizar/tests/tools/bg-spawn-delegation.test.ts +0 -147
  530. package/plugins/bizar/tests/tools/bg-spawn-http.test.ts +0 -233
  531. package/plugins/bizar/tests/tools/bg-spawn.test.ts +0 -311
  532. package/plugins/bizar/tests/tools/bg-status.test.ts +0 -217
  533. package/plugins/bizar/tests/tools/cline-runner.test.ts +0 -115
  534. package/plugins/bizar/tests/tools/plan-action.test.ts +0 -599
  535. package/plugins/bizar/tests/tools/read-glyph-feedback.test.ts +0 -253
  536. package/plugins/bizar/tests/tools/sandbox.test.ts +0 -117
  537. package/plugins/bizar/tests/tools/wait-for-feedback.test.ts +0 -390
  538. package/plugins/bizar/tests/update-deadlock.test.ts +0 -151
  539. package/plugins/bizar/tsconfig.json +0 -29
  540. package/scripts/mirror-agents-md.sh +0 -69
@@ -2,14 +2,19 @@
2
2
  /**
3
3
  * scripts/check-deps.mjs
4
4
  *
5
- * v3.22.0 — Cross-platform dependency detector for BizarHarness.
5
+ * v6.3.0 — Cross-platform dependency detector for BizarHarness.
6
+ *
7
+ * Migrated to Claude Code: the previous Cline binary check has been
8
+ * replaced with a Claude Code CLI check (`claude` binary). All other
9
+ * tools (node, bun, tmux, git) are unchanged.
6
10
  *
7
11
  * Exports a single async function `checkDeps({ strict })` that probes the
8
- * environment for required tools (node, bun, cline, tmux, git) and returns
9
- * a structured JSON report. Also runs as a CLI entry: `node check-deps.mjs`.
12
+ * environment for required tools (node, bun, claude, tmux, git) and
13
+ * returns a structured JSON report. Also runs as a CLI entry:
14
+ * `node check-deps.mjs`.
10
15
  *
11
16
  * Design:
12
- * - No destructive shell-outs. Only reads `--version` via execFileSync.
17
+ * - No destructive shell-outs. Only reads `--version` via execFileSync.
13
18
  * - Cross-platform `which(cmd)` helper respects PATHEXT on Windows.
14
19
  * - Semver comparison using Node's built-in `node:semver` (available >= 20)
15
20
  * with a tiny fallback for 18.x.
@@ -120,8 +125,8 @@ function readBunVersion() {
120
125
  return m ? m[1] : raw.split(' ')[0];
121
126
  }
122
127
 
123
- function readClineVersion() {
124
- const raw = safeExec('cline');
128
+ function readClaudeVersion() {
129
+ const raw = safeExec('claude');
125
130
  if (!raw) return null;
126
131
  const m = raw.match(/(\d+\.\d+\.\d+)/);
127
132
  return m ? m[1] : raw.split(' ')[0];
@@ -161,13 +166,6 @@ function readSembleVersion() {
161
166
  return m ? m[1] : raw.split(' ')[0];
162
167
  }
163
168
 
164
- function readSkillsVersion() {
165
- const raw = safeExec('skills', ['--version']);
166
- if (!raw) return null;
167
- const m = raw.match(/(\d+\.\d+\.\d+)/);
168
- return m ? m[1] : raw.split(' ')[0];
169
- }
170
-
171
169
  // ── Install command builders ───────────────────────────────────────────────────
172
170
 
173
171
  function installCmdFor(name) {
@@ -182,7 +180,7 @@ function windowsInstallCmd(name) {
182
180
  switch (name) {
183
181
  case 'node': return 'winget install OpenJS.NodeJS.LTS 2>nul || choco install nodejs -y 2>nul || npm install -g n 2>nul';
184
182
  case 'bun': return 'powershell -c "iwr bun.sh/install.ps1 -useb | iex"';
185
- case 'cline': return 'winget install ClineAI.Cline 2>nul || npm install -g @cline/cli 2>nul';
183
+ case 'claude': return 'npm install -g @anthropic-ai/claude-code 2>nul';
186
184
  case 'tmux': return 'winget install mintty.tmux 2>nul || choco install tmux -y 2>nul';
187
185
  case 'git': return 'winget install Git.Git 2>nul || choco install git -y 2>nul';
188
186
  case 'python3': return 'winget install Python.Python.3.12 2>nul || choco install python -y 2>nul';
@@ -190,8 +188,7 @@ function windowsInstallCmd(name) {
190
188
  case 'jq': return 'winget install jqlang.jq 2>nul || choco install jq -y 2>nul';
191
189
  case 'gh': return 'winget install GitHub.cli 2>nul || choco install gh -y 2>nul';
192
190
  case 'headroom':
193
- case 'semble':
194
- case 'skills': return 'npm install -g ' + name + ' 2>nul';
191
+ case 'semble': return 'npm install -g ' + name + ' 2>nul';
195
192
  default: return null;
196
193
  }
197
194
  }
@@ -200,7 +197,7 @@ function macInstallCmd(name) {
200
197
  switch (name) {
201
198
  case 'node': return 'brew install node@18';
202
199
  case 'bun': return 'brew install oven-sh/bun/bun';
203
- case 'cline': return 'brew install clineai/tap/cline';
200
+ case 'claude': return 'npm install -g @anthropic-ai/claude-code';
204
201
  case 'tmux': return 'brew install tmux';
205
202
  case 'git': return null; // pre-installed on macOS
206
203
  case 'python3': return 'brew install python@3.12';
@@ -208,8 +205,7 @@ function macInstallCmd(name) {
208
205
  case 'jq': return 'brew install jq';
209
206
  case 'gh': return 'brew install gh';
210
207
  case 'headroom':
211
- case 'semble':
212
- case 'skills': return 'npm install -g ' + name;
208
+ case 'semble': return 'npm install -g ' + name;
213
209
  default: return null;
214
210
  }
215
211
  }
@@ -224,8 +220,7 @@ function linuxInstallCmd(name) {
224
220
  case 'git': return 'nix-shell -p git';
225
221
  case 'gh': return 'nix-shell -p gh';
226
222
  case 'headroom':
227
- case 'semble':
228
- case 'skills': return `nix-env -iA nixpkgs.${name}`;
223
+ case 'semble': return `nix-env -iA nixpkgs.${name}`;
229
224
  default: return null;
230
225
  }
231
226
  }
@@ -246,8 +241,9 @@ function linuxInstallCmd(name) {
246
241
  }
247
242
  case 'bun':
248
243
  return 'curl -fsSL https://bun.sh/install | bash';
249
- case 'cline':
250
- return 'curl -fsSL https://docs.cline.bot/install | sh';
244
+ case 'claude':
245
+ // Claude Code CLI is npm-published; works on any distro with node + npm.
246
+ return `npm install -g @anthropic-ai/claude-code`;
251
247
  case 'tmux':
252
248
  return `${sudo}${pm} install -y tmux`;
253
249
  case 'git':
@@ -270,7 +266,6 @@ function linuxInstallCmd(name) {
270
266
  return `${sudo}${pm} install -y gh`;
271
267
  case 'headroom':
272
268
  case 'semble':
273
- case 'skills':
274
269
  return `npm install -g ${name}`;
275
270
  default:
276
271
  return null;
@@ -281,8 +276,8 @@ function linuxInstallCmd(name) {
281
276
 
282
277
  const REQUIRED = {
283
278
  node: { raw: '>=18', min: '18.0.0' },
284
- bun: { raw: '>=1.0.0', min: '1.0.0' },
285
- cline: { raw: '>=0.4.0', min: '0.4.0' },
279
+ bun: { raw: '>=1.1.0', min: '1.1.0' },
280
+ claude: { raw: '>=1.0.0', min: '1.0.0' },
286
281
  };
287
282
 
288
283
  // ── Main check ─────────────────────────────────────────────────────────────────
@@ -329,17 +324,17 @@ export async function checkDeps({ strict = false } = {}) {
329
324
  }
330
325
  }
331
326
 
332
- // --- cline ---
327
+ // --- claude ---
333
328
  {
334
- const current = readClineVersion();
335
- const entry = { name: 'cline', status: 'missing', current, required: REQUIRED.cline.raw };
329
+ const current = readClaudeVersion();
330
+ const entry = { name: 'claude', status: 'missing', current, required: REQUIRED.claude.raw };
336
331
  if (!current) {
337
332
  entry.status = 'missing';
338
- entry.installCmd = installCmdFor('cline');
333
+ entry.installCmd = installCmdFor('claude');
339
334
  missing.push(entry);
340
- } else if (!satisfies(current, REQUIRED.cline.min)) {
335
+ } else if (!satisfies(current, REQUIRED.claude.min)) {
341
336
  entry.status = 'outdated';
342
- entry.installCmd = installCmdFor('cline');
337
+ entry.installCmd = installCmdFor('claude');
343
338
  missing.push(entry);
344
339
  } else {
345
340
  entry.status = 'present';
@@ -456,19 +451,6 @@ export async function checkDeps({ strict = false } = {}) {
456
451
  }
457
452
  }
458
453
 
459
- // --- skills CLI ---
460
- {
461
- const current = readSkillsVersion();
462
- const entry = { name: 'skills', status: 'missing', current, required: 'recommended' };
463
- if (which('skills')) {
464
- entry.status = 'present';
465
- present.push(entry);
466
- } else {
467
- entry.installCmd = installCmdFor('skills');
468
- missing.push(entry);
469
- }
470
- }
471
-
472
454
  const ok = strict
473
455
  ? missing.filter(d => d.name !== 'tmux').length === 0
474
456
  : true;
@@ -507,4 +489,4 @@ if (isMain) {
507
489
  console.error(JSON.stringify({ error: err.message }));
508
490
  process.exit(1);
509
491
  });
510
- }
492
+ }
@@ -0,0 +1,78 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # scripts/mirror-claude-md.sh — keep .claude/CLAUDE.md in sync with AGENTS.md.
4
+ #
5
+ # Both files are part of the walkinglabs/awesome-harness-engineering
6
+ # convention. AGENTS.md is the canonical source; .claude/CLAUDE.md is
7
+ # the mirror for tools that hard-code `CLAUDE.md` as the entry point.
8
+ #
9
+ # Usage: ./scripts/mirror-claude-md.sh [--check]
10
+ #
11
+ # --check exits 1 if .claude/CLAUDE.md is out of sync (for CI).
12
+ #
13
+ # v6.3.0 — Migrated from mirror-agents-md.sh to mirror-claude-md.sh.
14
+ # The mirror now lives at .claude/CLAUDE.md (Claude Code's standard
15
+ # project-scope settings dir) instead of the repo root.
16
+
17
+ set -euo pipefail
18
+
19
+ cd "$(dirname "$0")/.."
20
+
21
+ CHECK=0
22
+ for arg in "$@"; do
23
+ case "$arg" in
24
+ --check) CHECK=1 ;;
25
+ *) echo "unknown arg: $arg" >&2; exit 2 ;;
26
+ esac
27
+ done
28
+
29
+ if [[ ! -f AGENTS.md ]]; then
30
+ echo "AGENTS.md missing — cannot mirror" >&2
31
+ exit 1
32
+ fi
33
+
34
+ MIRROR_DIR=".claude"
35
+ MIRROR="$MIRROR_DIR/CLAUDE.md"
36
+
37
+ mkdir -p "$MIRROR_DIR"
38
+
39
+ # Mirror script: extract everything from AGENTS.md past the first `# `
40
+ # heading, prepend a banner. Idempotent.
41
+ BODY=$(awk '/^# / { if (seen) exit; seen=1; next } { print }' AGENTS.md)
42
+
43
+ TMP=$(mktemp)
44
+ trap "rm -f '$TMP'" EXIT
45
+
46
+ cat > "$TMP" <<EOF
47
+ # CLAUDE.md — Mirror of AGENTS.md for Claude Code compatibility
48
+
49
+ > **This file is auto-mirrored from \`AGENTS.md\` for tools that look for
50
+ > \`CLAUDE.md\` (Claude Code, walkinglabs/learn-harness-engineering,
51
+ > external agents following the AGENTS.md convention). DO NOT EDIT THIS
52
+ > FILE DIRECTLY — edit \`AGENTS.md\` and run \`make mirror-claude-md\`.
53
+ >
54
+ > Source: \`AGENTS.md\` (canonical)
55
+ > Mirrored: $(date -Iseconds) by \`scripts/mirror-claude-md.sh\`
56
+
57
+ ---
58
+
59
+ $BODY
60
+ EOF
61
+
62
+ if [[ $CHECK -eq 1 ]]; then
63
+ if [[ ! -f "$MIRROR" ]] || ! cmp -s "$TMP" "$MIRROR"; then
64
+ echo "$MIRROR is out of sync with AGENTS.md" >&2
65
+ diff "$MIRROR" "$TMP" | head -40 || true
66
+ exit 1
67
+ fi
68
+ echo "$MIRROR is in sync"
69
+ exit 0
70
+ fi
71
+
72
+ if [[ ! -f "$MIRROR" ]] || ! cmp -s "$TMP" "$MIRROR"; then
73
+ mv "$TMP" "$MIRROR"
74
+ echo "✓ $MIRROR updated from AGENTS.md"
75
+ else
76
+ echo "✓ $MIRROR already in sync"
77
+ rm "$TMP"
78
+ fi
@@ -6,14 +6,16 @@
6
6
  #
7
7
  # v6.3.0 — synthesizes walkinglabs/awesome-harness-engineering L11
8
8
  # "observability belongs inside the harness" + the CubeSandbox deep
9
- # dive.
9
+ # dive. Migrated to Claude Code: the container also installs the
10
+ # `claude` CLI (npm) and verifies `claude --version` is reachable.
10
11
  #
11
12
  # What we run inside the container:
12
13
  # - bun install (workspace bootstrap)
13
- # - bunx tsc --noEmit (plugin + sdk)
14
- # - bun test (plugin + sdk)
14
+ # - claude CLI install (npm install -g @anthropic-ai/claude-code)
15
+ # - bunx tsc --noEmit (sdk)
16
+ # - bun test (sdk)
15
17
  # - node --test (CLI tests)
16
- # - bizar validate (24 health checks)
18
+ # - bizar validate (health checks)
17
19
  # - bizar sandbox doctor (CubeSandbox smoke test)
18
20
  #
19
21
  # Verifies Bizar builds and tests cleanly on a fresh, rootless podman.
@@ -88,6 +90,14 @@ ${RUNTIME} run "${COMMON_FLAGS[@]}" "$USE_IMAGE" sh -lc '
88
90
  echo "② install"
89
91
  bun install --no-save 2>&1 | tail -5 || echo " bun install had warnings"
90
92
 
93
+ # ---- Stage ②.5 Claude Code CLI install (npm) ----
94
+ echo "②.5 claude CLI"
95
+ if ! command -v claude >/dev/null 2>&1; then
96
+ npm install -g @anthropic-ai/claude-code 2>&1 | tail -3 || echo " ⚠ claude install failed (lenient)"
97
+ fi
98
+ echo " claude: $(command -v claude >/dev/null 2>&1 && claude --version || echo missing)"
99
+
100
+ # ---- Stage ③ typecheck (L1 — Makefile) ----
91
101
  echo "③ typecheck"
92
102
  if ./node_modules/.bin/tsc --noEmit > /tmp/tsc.log 2>&1; then
93
103
  echo " ✓ typecheck passed"
@@ -97,8 +107,9 @@ ${RUNTIME} run "${COMMON_FLAGS[@]}" "$USE_IMAGE" sh -lc '
97
107
  exit 1
98
108
  fi
99
109
 
100
- echo "④ plugin + sdk tests"
101
- if bun test plugins/bizar packages/sdk > /tmp/bun-test.log 2>&1; then
110
+ # ---- Stage ④ sdk tests (L2 — bun) ----
111
+ echo "④ sdk tests"
112
+ if bun test packages/sdk > /tmp/bun-test.log 2>&1; then
102
113
  tail -5 /tmp/bun-test.log
103
114
  if grep -q " 0 fail" /tmp/bun-test.log; then
104
115
  echo " ✓ bun tests passed"
@@ -112,6 +123,7 @@ ${RUNTIME} run "${COMMON_FLAGS[@]}" "$USE_IMAGE" sh -lc '
112
123
  exit 1
113
124
  fi
114
125
 
126
+ # ---- Stage ⑤ CLI tests (L2 — node --test) ----
115
127
  echo "⑤ CLI tests"
116
128
  if command -v node >/dev/null 2>&1; then
117
129
  if node --test cli/install.test.mjs cli/provision.test.mjs cli/commands/validate.test.mjs cli/commands/setup-provider.test.mjs cli/commands/rca.test.mjs > /tmp/cli-test.log 2>&1; then
@@ -119,16 +131,26 @@ ${RUNTIME} run "${COMMON_FLAGS[@]}" "$USE_IMAGE" sh -lc '
119
131
  echo " ✓ CLI tests passed"
120
132
  else
121
133
  tail -30 /tmp/cli-test.log
122
- echo " ⚠ CLI tests had failures"
134
+ echo " ⚠ CLI tests had failures (continuing to next stage)"
123
135
  fi
124
136
  fi
125
137
 
138
+ # ---- Stage ⑥ cube-sandbox doctor smoke ----
139
+ # Does not require the CubeSandbox server; just verifies the SDK and
140
+ # CLI surface. Lenient exit (warn, not fail) if SDK or control node
141
+ # are missing — that is the expected state in a clean container.
126
142
  echo "⑥ sandbox smoke test"
127
143
  if command -v bun >/dev/null 2>&1; then
128
- bun cli/bin.mjs sandbox doctor 2>&1 | tail -6 || echo " ⚠ sandbox doctor failed (expected without CubeSandbox server)"
144
+ bun cli/bin.mjs sandbox doctor 2>&1 | tail -6 || echo " ⚠ sandbox doctor returned non-zero (lenient)"
145
+ fi
146
+
147
+ # ---- Stage ⑦ bizar validate end-to-end ----
148
+ echo "⑦ bizar validate"
149
+ if command -v bun >/dev/null 2>&1; then
150
+ bun cli/bin.mjs validate 2>&1 | tail -10 || echo " ⚠ bizar validate returned non-zero (lenient)"
129
151
  fi
130
152
 
131
- echo "⑦ done"
153
+ echo "⑧ done"
132
154
  ' 2>&1 | tee "$LOG"
133
155
 
134
156
  echo
@@ -38,9 +38,9 @@
38
38
  ### 5. Startup path works
39
39
 
40
40
  - [ ] `make e2e` exits 0
41
- - [ ] Plugin loads in Cline host without errors
42
- - [ ] All 19 tools register
43
- - [ ] All 4 hooks wired
41
+ - [ ] Bizar MCP server registers in Claude Code without errors
42
+ - [ ] All SDK tools register (≥15 in `BIZAR_TOOLS`)
43
+ - [ ] All Claude Code lifecycle hooks wired (SessionStart / PreToolUse / PostToolUse / UserPromptSubmit)
44
44
  - [ ] Memory tools round-trip (write → read → list → search)
45
45
 
46
46
  ## Dual-mode cleanup strategy
@@ -37,9 +37,9 @@ The feature is `passing` only when ALL of:
37
37
 
38
38
  ## Architecture constraints
39
39
 
40
- - [ ] No `import` from `bizar-dash/` in `plugins/bizar/`
40
+ - [ ] No `import` from `bizar-dash/` in `packages/sdk/`
41
41
  - [ ] No `fetch('http://127.0.0.1:...')` for memory operations
42
- - [ ] No `cline serve` subprocess spawn
42
+ - [ ] No `claude` daemon subprocess spawn unless explicitly opted in via `claude --bg`
43
43
  - [ ] New architectural rule added to `.harness/arch-rules.json` (if applicable)
44
44
 
45
45
  ## Risk / unknowns
@@ -1,3 +0,0 @@
1
- {"ts":"2026-06-19T08:39:29.113Z","kind":"settings.update"}
2
- {"ts":"2026-06-19T08:39:37.682Z","kind":"settings.update"}
3
- {"ts":"2026-06-19T08:39:44.191Z","kind":"settings.update"}
@@ -1 +0,0 @@
1
- {"event":"session_start","session_id":"019f3ed8-46df-7603-95cd-888f805514c7","native_session_id":"019f3ed8-46df-7603-95cd-888f805514c7","pid":1695074,"timestamp":"2026-07-07T23:09:51.188Z","_ts":"2026-07-07T23:09:51.188Z"}
@@ -1,10 +0,0 @@
1
- {
2
- "session_id": "019f3ed8-46df-7603-95cd-888f805514c7",
3
- "native_session_id": "019f3ed8-46df-7603-95cd-888f805514c7",
4
- "started_at": "2026-07-07T23:09:51.188Z",
5
- "cwd": "/home/drb0rk/Projects/BizarHarness/bizar-dash",
6
- "pid": 1695074,
7
- "platform": "linux",
8
- "pid_start_ticks": 11316930,
9
- "pid_cmdline": "/home/drb0rk/.local/npm/lib/node_modules/@openai/codex/node_modules/@openai/codex-linux-x64/vendor/x86_64-unknown-linux-musl/bin/codex exec --json --skip-git-repo-check --sandbox workspace-write -c sandbox_workspace_write.network_access=true -C /home/drb0rk/Projects/BizarHarness/bizar-dash --model gpt-5.3-codex -c model_reasoning_effort=\"medium\""
10
- }