principles-disciple 1.8.1 → 1.8.3

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 (508) hide show
  1. package/ADVANCED_CONFIG_ZH.md +97 -0
  2. package/AGENT_INSTALL.md +173 -0
  3. package/AGENT_INSTALL_EN.md +173 -0
  4. package/INSTALL.md +256 -0
  5. package/SKILL.md +63 -0
  6. package/docs/COMMAND_REFERENCE.md +76 -0
  7. package/docs/COMMAND_REFERENCE_EN.md +79 -0
  8. package/esbuild.config.js +75 -0
  9. package/openclaw.plugin.json +4 -4
  10. package/package.json +11 -13
  11. package/scripts/build-web.mjs +46 -0
  12. package/scripts/install-dependencies.cjs +47 -0
  13. package/scripts/sync-plugin.mjs +802 -0
  14. package/scripts/verify-build.mjs +109 -0
  15. package/src/agents/nocturnal-dreamer.md +152 -0
  16. package/src/agents/nocturnal-philosopher.md +138 -0
  17. package/src/agents/nocturnal-reflector.md +126 -0
  18. package/src/agents/nocturnal-scribe.md +164 -0
  19. package/src/commands/capabilities.ts +85 -0
  20. package/{dist/commands/context.js → src/commands/context.ts} +78 -38
  21. package/src/commands/evolution-status.ts +146 -0
  22. package/src/commands/export.ts +111 -0
  23. package/src/commands/focus.ts +533 -0
  24. package/src/commands/nocturnal-review.ts +311 -0
  25. package/src/commands/nocturnal-rollout.ts +763 -0
  26. package/src/commands/nocturnal-train.ts +1002 -0
  27. package/{dist/commands/pain.js → src/commands/pain.ts} +68 -49
  28. package/src/commands/principle-rollback.ts +27 -0
  29. package/{dist/commands/rollback.js → src/commands/rollback.ts} +44 -12
  30. package/src/commands/samples.ts +60 -0
  31. package/src/commands/strategy.ts +38 -0
  32. package/{dist/commands/thinking-os.js → src/commands/thinking-os.ts} +59 -36
  33. package/src/commands/workflow-debug.ts +128 -0
  34. package/{dist/config/defaults/runtime.js → src/config/defaults/runtime.ts} +12 -5
  35. package/src/config/errors.ts +163 -0
  36. package/{dist/config/index.d.ts → src/config/index.ts} +2 -1
  37. package/src/constants/diagnostician.ts +66 -0
  38. package/src/constants/tools.ts +62 -0
  39. package/src/core/adaptive-thresholds.ts +476 -0
  40. package/{dist/core/config-service.js → src/core/config-service.ts} +7 -4
  41. package/{dist/core/config.js → src/core/config.ts} +158 -46
  42. package/src/core/control-ui-db.ts +435 -0
  43. package/{dist/core/detection-funnel.js → src/core/detection-funnel.ts} +36 -21
  44. package/{dist/core/detection-service.js → src/core/detection-service.ts} +7 -4
  45. package/{dist/core/dictionary-service.js → src/core/dictionary-service.ts} +7 -4
  46. package/{dist/core/dictionary.js → src/core/dictionary.ts} +57 -34
  47. package/src/core/empathy-keyword-matcher.ts +327 -0
  48. package/src/core/empathy-types.ts +218 -0
  49. package/src/core/event-log.ts +544 -0
  50. package/src/core/evolution-engine.ts +612 -0
  51. package/src/core/evolution-logger.ts +353 -0
  52. package/src/core/evolution-migration.ts +77 -0
  53. package/src/core/evolution-reducer.ts +731 -0
  54. package/src/core/evolution-types.ts +456 -0
  55. package/src/core/external-training-contract.ts +527 -0
  56. package/src/core/focus-history.ts +1458 -0
  57. package/src/core/hygiene/tracker.ts +117 -0
  58. package/{dist/core/init.js → src/core/init.ts} +39 -26
  59. package/src/core/local-worker-routing.ts +617 -0
  60. package/{dist/core/migration.js → src/core/migration.ts} +18 -11
  61. package/src/core/model-deployment-registry.ts +722 -0
  62. package/src/core/model-training-registry.ts +813 -0
  63. package/src/core/nocturnal-arbiter.ts +706 -0
  64. package/src/core/nocturnal-candidate-scoring.ts +392 -0
  65. package/src/core/nocturnal-compliance.ts +1075 -0
  66. package/src/core/nocturnal-dataset.ts +668 -0
  67. package/src/core/nocturnal-executability.ts +428 -0
  68. package/src/core/nocturnal-export.ts +390 -0
  69. package/{dist/core/nocturnal-paths.js → src/core/nocturnal-paths.ts} +49 -23
  70. package/src/core/nocturnal-trajectory-extractor.ts +484 -0
  71. package/src/core/nocturnal-trinity.ts +1384 -0
  72. package/src/core/pain.ts +122 -0
  73. package/{dist/core/path-resolver.js → src/core/path-resolver.ts} +157 -36
  74. package/{dist/core/paths.js → src/core/paths.ts} +13 -4
  75. package/src/core/principle-training-state.ts +450 -0
  76. package/src/core/profile.ts +226 -0
  77. package/src/core/promotion-gate.ts +822 -0
  78. package/{dist/core/risk-calculator.js → src/core/risk-calculator.ts} +42 -16
  79. package/{dist/core/session-tracker.js → src/core/session-tracker.ts} +175 -62
  80. package/src/core/shadow-observation-registry.ts +534 -0
  81. package/{dist/core/system-logger.js → src/core/system-logger.ts} +9 -5
  82. package/src/core/thinking-models.ts +217 -0
  83. package/src/core/training-program.ts +630 -0
  84. package/src/core/trajectory-types.ts +243 -0
  85. package/src/core/trajectory.ts +1673 -0
  86. package/{dist/core/workspace-context.js → src/core/workspace-context.ts} +57 -32
  87. package/src/hooks/bash-risk.ts +171 -0
  88. package/src/hooks/edit-verification.ts +295 -0
  89. package/src/hooks/gate-block-helper.ts +160 -0
  90. package/src/hooks/gate.ts +210 -0
  91. package/src/hooks/gfi-gate.ts +177 -0
  92. package/src/hooks/lifecycle.ts +326 -0
  93. package/{dist/hooks/llm.js → src/hooks/llm.ts} +160 -80
  94. package/src/hooks/message-sanitize.ts +45 -0
  95. package/src/hooks/pain.ts +384 -0
  96. package/src/hooks/progressive-trust-gate.ts +174 -0
  97. package/src/hooks/prompt.ts +920 -0
  98. package/src/hooks/subagent.ts +207 -0
  99. package/src/hooks/thinking-checkpoint.ts +73 -0
  100. package/src/hooks/trajectory-collector.ts +290 -0
  101. package/src/http/principles-console-route.ts +716 -0
  102. package/src/i18n/commands.ts +117 -0
  103. package/src/index.ts +694 -0
  104. package/src/service/central-database.ts +831 -0
  105. package/src/service/control-ui-query-service.ts +888 -0
  106. package/src/service/evolution-query-service.ts +405 -0
  107. package/src/service/evolution-worker.ts +1646 -0
  108. package/src/service/health-query-service.ts +836 -0
  109. package/{dist/service/nocturnal-runtime.js → src/service/nocturnal-runtime.ts} +235 -79
  110. package/src/service/nocturnal-service.ts +1015 -0
  111. package/src/service/nocturnal-target-selector.ts +532 -0
  112. package/src/service/phase3-input-filter.ts +237 -0
  113. package/src/service/runtime-summary-service.ts +757 -0
  114. package/src/service/subagent-workflow/deep-reflect-workflow-manager.ts +513 -0
  115. package/{dist/service/subagent-workflow/empathy-observer-workflow-manager.js → src/service/subagent-workflow/empathy-observer-workflow-manager.ts} +240 -117
  116. package/src/service/subagent-workflow/index.ts +51 -0
  117. package/src/service/subagent-workflow/nocturnal-workflow-manager.ts +856 -0
  118. package/src/service/subagent-workflow/runtime-direct-driver.ts +166 -0
  119. package/{dist/service/subagent-workflow/types.d.ts → src/service/subagent-workflow/types.ts} +137 -18
  120. package/src/service/subagent-workflow/workflow-store.ts +328 -0
  121. package/src/service/trajectory-service.ts +15 -0
  122. package/{dist/tools/critique-prompt.js → src/tools/critique-prompt.ts} +25 -8
  123. package/src/tools/deep-reflect.ts +349 -0
  124. package/{dist/tools/model-index.js → src/tools/model-index.ts} +33 -17
  125. package/src/types/event-types.ts +453 -0
  126. package/src/types/hygiene-types.ts +31 -0
  127. package/src/types/principle-tree-schema.ts +244 -0
  128. package/src/types/runtime-summary.ts +49 -0
  129. package/src/types.ts +74 -0
  130. package/src/utils/file-lock.ts +391 -0
  131. package/{dist/utils/glob-match.js → src/utils/glob-match.ts} +21 -20
  132. package/{dist/utils/hashing.js → src/utils/hashing.ts} +6 -4
  133. package/src/utils/io.ts +110 -0
  134. package/{dist/utils/nlp.js → src/utils/nlp.ts} +19 -12
  135. package/{dist/utils/plugin-logger.js → src/utils/plugin-logger.ts} +33 -8
  136. package/src/utils/subagent-probe.ts +94 -0
  137. package/templates/langs/en/skills/ai-sprint-orchestration/EXAMPLES.md +63 -0
  138. package/templates/langs/en/skills/ai-sprint-orchestration/REFERENCE.md +136 -0
  139. package/templates/langs/en/skills/ai-sprint-orchestration/SKILL.md +67 -0
  140. package/templates/langs/en/skills/ai-sprint-orchestration/references/agent-registry.json +214 -0
  141. package/templates/langs/en/skills/ai-sprint-orchestration/references/specs/bugfix-complex-template.json +107 -0
  142. package/templates/langs/en/skills/ai-sprint-orchestration/references/specs/feature-complex-template.json +107 -0
  143. package/templates/langs/en/skills/ai-sprint-orchestration/references/specs/workflow-validation-minimal-verify.json +105 -0
  144. package/templates/langs/en/skills/ai-sprint-orchestration/references/specs/workflow-validation-minimal.json +108 -0
  145. package/templates/langs/en/skills/ai-sprint-orchestration/references/workflow-v1-acceptance-checklist.md +58 -0
  146. package/templates/langs/en/skills/ai-sprint-orchestration/references/workflow-v1.4-work-unit-handoff.md +190 -0
  147. package/templates/langs/en/skills/ai-sprint-orchestration/runtime/.gitignore +2 -0
  148. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/lib/archive.mjs +310 -0
  149. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/lib/contract-enforcement.mjs +683 -0
  150. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/lib/decision.mjs +604 -0
  151. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/lib/state-store.mjs +32 -0
  152. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/lib/task-specs.mjs +707 -0
  153. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/run.mjs +3419 -0
  154. package/templates/langs/zh/skills/ai-sprint-orchestration/EXAMPLES.md +63 -0
  155. package/templates/langs/zh/skills/ai-sprint-orchestration/REFERENCE.md +136 -0
  156. package/templates/langs/zh/skills/ai-sprint-orchestration/SKILL.md +67 -0
  157. package/templates/langs/zh/skills/ai-sprint-orchestration/references/agent-registry.json +214 -0
  158. package/templates/langs/zh/skills/ai-sprint-orchestration/references/specs/bugfix-complex-template.json +107 -0
  159. package/templates/langs/zh/skills/ai-sprint-orchestration/references/specs/feature-complex-template.json +107 -0
  160. package/templates/langs/zh/skills/ai-sprint-orchestration/references/specs/workflow-validation-minimal-verify.json +105 -0
  161. package/templates/langs/zh/skills/ai-sprint-orchestration/references/specs/workflow-validation-minimal.json +108 -0
  162. package/templates/langs/zh/skills/ai-sprint-orchestration/references/workflow-v1-acceptance-checklist.md +58 -0
  163. package/templates/langs/zh/skills/ai-sprint-orchestration/references/workflow-v1.4-work-unit-handoff.md +190 -0
  164. package/templates/langs/zh/skills/ai-sprint-orchestration/runtime/.gitignore +2 -0
  165. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/lib/archive.mjs +310 -0
  166. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/lib/contract-enforcement.mjs +683 -0
  167. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/lib/decision.mjs +604 -0
  168. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/lib/state-store.mjs +32 -0
  169. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/lib/task-specs.mjs +707 -0
  170. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/run.mjs +3419 -0
  171. package/templates/langs/zh/skills/ai-sprint-orchestration/test/archive.test.mjs +230 -0
  172. package/templates/langs/zh/skills/ai-sprint-orchestration/test/contract-enforcement.test.mjs +672 -0
  173. package/templates/langs/zh/skills/ai-sprint-orchestration/test/decision.test.mjs +1321 -0
  174. package/templates/langs/zh/skills/ai-sprint-orchestration/test/run.test.mjs +1419 -0
  175. package/templates/langs/zh/skills/pd-diagnostician/SKILL.md +70 -1
  176. package/templates/pain_settings.json +2 -1
  177. package/tests/README.md +120 -0
  178. package/tests/build-artifacts.test.ts +111 -0
  179. package/tests/commands/evolution-status.test.ts +222 -0
  180. package/tests/commands/evolver.test.ts +22 -0
  181. package/tests/commands/export.test.ts +78 -0
  182. package/tests/commands/nocturnal-review.test.ts +448 -0
  183. package/tests/commands/nocturnal-train.test.ts +97 -0
  184. package/tests/commands/pain.test.ts +108 -0
  185. package/tests/commands/samples.test.ts +65 -0
  186. package/tests/commands/strategy.test.ts +34 -0
  187. package/tests/commands/thinking-os.test.ts +88 -0
  188. package/tests/core/adaptive-thresholds.test.ts +261 -0
  189. package/tests/core/config-service.test.ts +89 -0
  190. package/tests/core/config.test.ts +90 -0
  191. package/tests/core/control-ui-db.test.ts +75 -0
  192. package/tests/core/core-template-guidance.test.ts +21 -0
  193. package/tests/core/detection-funnel.test.ts +63 -0
  194. package/tests/core/detection-service.test.ts +50 -0
  195. package/tests/core/dictionary-service.test.ts +116 -0
  196. package/tests/core/dictionary.test.ts +168 -0
  197. package/tests/core/empathy-keyword-matcher.test.ts +209 -0
  198. package/tests/core/event-log.test.ts +181 -0
  199. package/tests/core/evolution-e2e.test.ts +58 -0
  200. package/tests/core/evolution-engine-gate-integration.test.ts +543 -0
  201. package/tests/core/evolution-engine.test.ts +562 -0
  202. package/tests/core/evolution-logger.test.ts +148 -0
  203. package/tests/core/evolution-migration.test.ts +50 -0
  204. package/tests/core/evolution-paths.test.ts +21 -0
  205. package/tests/core/evolution-reducer.detector-metadata.test.ts +602 -0
  206. package/tests/core/evolution-reducer.test.ts +180 -0
  207. package/tests/core/evolution-types-loop.test.ts +48 -0
  208. package/tests/core/evolution-user-stories.e2e.test.ts +249 -0
  209. package/tests/core/external-training-contract.test.ts +463 -0
  210. package/tests/core/focus-history.test.ts +682 -0
  211. package/tests/core/init-flatten.test.ts +69 -0
  212. package/tests/core/init-refactor.test.ts +87 -0
  213. package/tests/core/init-v1.3.test.ts +46 -0
  214. package/tests/core/init.test.ts +190 -0
  215. package/tests/core/local-worker-routing.test.ts +757 -0
  216. package/tests/core/migration.test.ts +84 -0
  217. package/tests/core/model-deployment-registry.test.ts +845 -0
  218. package/tests/core/model-training-registry.test.ts +889 -0
  219. package/tests/core/nocturnal-arbiter.test.ts +494 -0
  220. package/tests/core/nocturnal-candidate-scoring.test.ts +400 -0
  221. package/tests/core/nocturnal-compliance.test.ts +646 -0
  222. package/tests/core/nocturnal-dataset.test.ts +892 -0
  223. package/tests/core/nocturnal-executability.test.ts +357 -0
  224. package/tests/core/nocturnal-export.test.ts +462 -0
  225. package/tests/core/nocturnal-reviewed-subset-comparison.test.ts +428 -0
  226. package/tests/core/nocturnal-trajectory-extractor.test.ts +634 -0
  227. package/tests/core/nocturnal-trinity.test.ts +953 -0
  228. package/tests/core/pain.test.ts +33 -0
  229. package/tests/core/path-resolver.test.ts +57 -0
  230. package/tests/core/paths-refactor.test.ts +42 -0
  231. package/tests/core/phase7-rollout-integration.test.ts +477 -0
  232. package/tests/core/principle-training-state.test.ts +712 -0
  233. package/tests/core/profile.test.ts +56 -0
  234. package/tests/core/promotion-gate.test.ts +556 -0
  235. package/tests/core/risk-calculator.test.ts +168 -0
  236. package/tests/core/session-tracker.test.ts +191 -0
  237. package/tests/core/training-program.test.ts +472 -0
  238. package/tests/core/trajectory.test.ts +265 -0
  239. package/tests/core/workspace-context-factory.test.ts +18 -0
  240. package/tests/core/workspace-context.test.ts +134 -0
  241. package/tests/fixtures/nocturnal-reviewed-subset.json +183 -0
  242. package/tests/fixtures/production-compatibility.test.ts +147 -0
  243. package/tests/fixtures/production-mock-generator.ts +282 -0
  244. package/tests/hooks/bash-risk-integration.test.ts +137 -0
  245. package/tests/hooks/bash-risk.test.ts +81 -0
  246. package/tests/hooks/edit-verification.test.ts +678 -0
  247. package/tests/hooks/gate-edit-verification-p1.test.ts +632 -0
  248. package/tests/hooks/gate-edit-verification.test.ts +435 -0
  249. package/tests/hooks/gate-pipeline-integration.test.ts +404 -0
  250. package/tests/hooks/gate.test.ts +271 -0
  251. package/tests/hooks/gfi-gate-unit.test.ts +422 -0
  252. package/tests/hooks/gfi-gate.test.ts +669 -0
  253. package/tests/hooks/lifecycle.test.ts +248 -0
  254. package/tests/hooks/llm.test.ts +308 -0
  255. package/tests/hooks/message-sanitize.test.ts +36 -0
  256. package/tests/hooks/pain.test.ts +141 -0
  257. package/tests/hooks/progressive-trust-gate.test.ts +277 -0
  258. package/tests/hooks/prompt.test.ts +1411 -0
  259. package/tests/hooks/subagent.test.ts +467 -0
  260. package/tests/hooks/thinking-gate.test.ts +313 -0
  261. package/tests/http/principles-console-route.test.ts +140 -0
  262. package/tests/hygiene-tracker.test.ts +77 -0
  263. package/tests/index.integration.test.ts +179 -0
  264. package/tests/index.shadow-routing.integration.test.ts +140 -0
  265. package/tests/index.test.ts +9 -0
  266. package/tests/integration/empathy-workflow-integration.test.ts +627 -0
  267. package/tests/service/control-ui-query-service.test.ts +121 -0
  268. package/tests/service/empathy-observer-workflow-manager.test.ts +176 -0
  269. package/tests/service/evolution-worker.test.ts +585 -0
  270. package/tests/service/nocturnal-runtime.test.ts +470 -0
  271. package/tests/service/nocturnal-service.test.ts +577 -0
  272. package/tests/service/nocturnal-target-selector.test.ts +615 -0
  273. package/tests/service/nocturnal-workflow-manager.test.ts +439 -0
  274. package/tests/service/phase3-input-filter.test.ts +289 -0
  275. package/tests/service/runtime-summary-service.test.ts +919 -0
  276. package/tests/task-compliance.test.ts +166 -0
  277. package/tests/test-utils.ts +48 -0
  278. package/tests/tools/critique-prompt.test.ts +260 -0
  279. package/tests/tools/deep-reflect.test.ts +232 -0
  280. package/tests/tools/model-index.test.ts +246 -0
  281. package/tests/ui/app.test.tsx +114 -0
  282. package/tests/utils/file-lock.test.ts +407 -0
  283. package/tests/utils/hashing.test.ts +32 -0
  284. package/tests/utils/io.test.ts +39 -0
  285. package/tests/utils/nlp.test.ts +53 -0
  286. package/tests/utils/plugin-logger.test.ts +156 -0
  287. package/tsconfig.json +16 -0
  288. package/tsconfig.tsbuildinfo +1 -0
  289. package/ui/src/App.tsx +45 -0
  290. package/ui/src/api.ts +216 -0
  291. package/ui/src/charts.tsx +586 -0
  292. package/ui/src/components/ErrorState.tsx +6 -0
  293. package/ui/src/components/Loading.tsx +13 -0
  294. package/ui/src/components/ProtectedRoute.tsx +12 -0
  295. package/ui/src/components/Shell.tsx +91 -0
  296. package/ui/src/components/WorkspaceConfig.tsx +146 -0
  297. package/ui/src/components/index.ts +5 -0
  298. package/ui/src/context/auth.tsx +80 -0
  299. package/ui/src/context/theme.tsx +66 -0
  300. package/ui/src/hooks/useAutoRefresh.ts +39 -0
  301. package/ui/src/i18n/ui.ts +363 -0
  302. package/ui/src/main.tsx +16 -0
  303. package/ui/src/pages/EvolutionPage.tsx +352 -0
  304. package/ui/src/pages/FeedbackPage.tsx +140 -0
  305. package/ui/src/pages/GateMonitorPage.tsx +136 -0
  306. package/ui/src/pages/LoginPage.tsx +88 -0
  307. package/ui/src/pages/OverviewPage.tsx +238 -0
  308. package/ui/src/pages/SamplesPage.tsx +174 -0
  309. package/ui/src/pages/ThinkingModelsPage.tsx +127 -0
  310. package/ui/src/styles.css +1661 -0
  311. package/ui/src/types.ts +368 -0
  312. package/ui/src/utils/format.ts +15 -0
  313. package/vitest.config.ts +23 -0
  314. package/dist/commands/capabilities.d.ts +0 -3
  315. package/dist/commands/capabilities.js +0 -73
  316. package/dist/commands/context.d.ts +0 -5
  317. package/dist/commands/evolution-status.d.ts +0 -4
  318. package/dist/commands/evolution-status.js +0 -117
  319. package/dist/commands/evolver.d.ts +0 -9
  320. package/dist/commands/evolver.js +0 -26
  321. package/dist/commands/export.d.ts +0 -2
  322. package/dist/commands/export.js +0 -98
  323. package/dist/commands/focus.d.ts +0 -14
  324. package/dist/commands/focus.js +0 -457
  325. package/dist/commands/nocturnal-review.d.ts +0 -24
  326. package/dist/commands/nocturnal-review.js +0 -265
  327. package/dist/commands/nocturnal-rollout.d.ts +0 -27
  328. package/dist/commands/nocturnal-rollout.js +0 -671
  329. package/dist/commands/nocturnal-train.d.ts +0 -25
  330. package/dist/commands/nocturnal-train.js +0 -919
  331. package/dist/commands/pain.d.ts +0 -5
  332. package/dist/commands/principle-rollback.d.ts +0 -4
  333. package/dist/commands/principle-rollback.js +0 -22
  334. package/dist/commands/rollback.d.ts +0 -19
  335. package/dist/commands/samples.d.ts +0 -2
  336. package/dist/commands/samples.js +0 -55
  337. package/dist/commands/strategy.d.ts +0 -3
  338. package/dist/commands/strategy.js +0 -29
  339. package/dist/commands/thinking-os.d.ts +0 -2
  340. package/dist/config/defaults/runtime.d.ts +0 -40
  341. package/dist/config/errors.d.ts +0 -84
  342. package/dist/config/errors.js +0 -94
  343. package/dist/config/index.js +0 -7
  344. package/dist/constants/diagnostician.d.ts +0 -12
  345. package/dist/constants/diagnostician.js +0 -56
  346. package/dist/constants/tools.d.ts +0 -17
  347. package/dist/constants/tools.js +0 -54
  348. package/dist/core/adaptive-thresholds.d.ts +0 -186
  349. package/dist/core/adaptive-thresholds.js +0 -300
  350. package/dist/core/config-service.d.ts +0 -15
  351. package/dist/core/config.d.ts +0 -129
  352. package/dist/core/control-ui-db.d.ts +0 -95
  353. package/dist/core/control-ui-db.js +0 -292
  354. package/dist/core/detection-funnel.d.ts +0 -33
  355. package/dist/core/detection-service.d.ts +0 -15
  356. package/dist/core/dictionary-service.d.ts +0 -15
  357. package/dist/core/dictionary.d.ts +0 -38
  358. package/dist/core/event-log.d.ts +0 -82
  359. package/dist/core/event-log.js +0 -463
  360. package/dist/core/evolution-engine.d.ts +0 -118
  361. package/dist/core/evolution-engine.js +0 -464
  362. package/dist/core/evolution-logger.d.ts +0 -137
  363. package/dist/core/evolution-logger.js +0 -256
  364. package/dist/core/evolution-migration.d.ts +0 -5
  365. package/dist/core/evolution-migration.js +0 -65
  366. package/dist/core/evolution-reducer.d.ts +0 -98
  367. package/dist/core/evolution-reducer.js +0 -465
  368. package/dist/core/evolution-types.d.ts +0 -287
  369. package/dist/core/evolution-types.js +0 -78
  370. package/dist/core/external-training-contract.d.ts +0 -276
  371. package/dist/core/external-training-contract.js +0 -269
  372. package/dist/core/focus-history.d.ts +0 -210
  373. package/dist/core/focus-history.js +0 -1185
  374. package/dist/core/hygiene/tracker.d.ts +0 -22
  375. package/dist/core/hygiene/tracker.js +0 -106
  376. package/dist/core/init.d.ts +0 -12
  377. package/dist/core/local-worker-routing.d.ts +0 -175
  378. package/dist/core/local-worker-routing.js +0 -525
  379. package/dist/core/migration.d.ts +0 -6
  380. package/dist/core/model-deployment-registry.d.ts +0 -218
  381. package/dist/core/model-deployment-registry.js +0 -503
  382. package/dist/core/model-training-registry.d.ts +0 -295
  383. package/dist/core/model-training-registry.js +0 -475
  384. package/dist/core/nocturnal-arbiter.d.ts +0 -159
  385. package/dist/core/nocturnal-arbiter.js +0 -534
  386. package/dist/core/nocturnal-candidate-scoring.d.ts +0 -137
  387. package/dist/core/nocturnal-candidate-scoring.js +0 -266
  388. package/dist/core/nocturnal-compliance.d.ts +0 -175
  389. package/dist/core/nocturnal-compliance.js +0 -824
  390. package/dist/core/nocturnal-dataset.d.ts +0 -224
  391. package/dist/core/nocturnal-dataset.js +0 -443
  392. package/dist/core/nocturnal-executability.d.ts +0 -85
  393. package/dist/core/nocturnal-executability.js +0 -331
  394. package/dist/core/nocturnal-export.d.ts +0 -124
  395. package/dist/core/nocturnal-export.js +0 -275
  396. package/dist/core/nocturnal-paths.d.ts +0 -124
  397. package/dist/core/nocturnal-trajectory-extractor.d.ts +0 -242
  398. package/dist/core/nocturnal-trajectory-extractor.js +0 -307
  399. package/dist/core/nocturnal-trinity.d.ts +0 -311
  400. package/dist/core/nocturnal-trinity.js +0 -880
  401. package/dist/core/pain.d.ts +0 -4
  402. package/dist/core/pain.js +0 -70
  403. package/dist/core/path-resolver.d.ts +0 -46
  404. package/dist/core/paths.d.ts +0 -65
  405. package/dist/core/principle-training-state.d.ts +0 -121
  406. package/dist/core/principle-training-state.js +0 -321
  407. package/dist/core/profile.d.ts +0 -62
  408. package/dist/core/profile.js +0 -210
  409. package/dist/core/promotion-gate.d.ts +0 -238
  410. package/dist/core/promotion-gate.js +0 -529
  411. package/dist/core/risk-calculator.d.ts +0 -22
  412. package/dist/core/session-tracker.d.ts +0 -101
  413. package/dist/core/shadow-observation-registry.d.ts +0 -217
  414. package/dist/core/shadow-observation-registry.js +0 -308
  415. package/dist/core/system-logger.d.ts +0 -8
  416. package/dist/core/thinking-models.d.ts +0 -38
  417. package/dist/core/thinking-models.js +0 -170
  418. package/dist/core/training-program.d.ts +0 -233
  419. package/dist/core/training-program.js +0 -433
  420. package/dist/core/trajectory.d.ts +0 -411
  421. package/dist/core/trajectory.js +0 -1307
  422. package/dist/core/workspace-context.d.ts +0 -71
  423. package/dist/hooks/bash-risk.d.ts +0 -57
  424. package/dist/hooks/bash-risk.js +0 -137
  425. package/dist/hooks/edit-verification.d.ts +0 -62
  426. package/dist/hooks/edit-verification.js +0 -256
  427. package/dist/hooks/gate-block-helper.d.ts +0 -44
  428. package/dist/hooks/gate-block-helper.js +0 -119
  429. package/dist/hooks/gate.d.ts +0 -24
  430. package/dist/hooks/gate.js +0 -173
  431. package/dist/hooks/gfi-gate.d.ts +0 -40
  432. package/dist/hooks/gfi-gate.js +0 -113
  433. package/dist/hooks/lifecycle.d.ts +0 -5
  434. package/dist/hooks/lifecycle.js +0 -284
  435. package/dist/hooks/llm.d.ts +0 -13
  436. package/dist/hooks/message-sanitize.d.ts +0 -3
  437. package/dist/hooks/message-sanitize.js +0 -37
  438. package/dist/hooks/pain.d.ts +0 -5
  439. package/dist/hooks/pain.js +0 -301
  440. package/dist/hooks/progressive-trust-gate.d.ts +0 -52
  441. package/dist/hooks/progressive-trust-gate.js +0 -134
  442. package/dist/hooks/prompt.d.ts +0 -49
  443. package/dist/hooks/prompt.js +0 -905
  444. package/dist/hooks/subagent.d.ts +0 -10
  445. package/dist/hooks/subagent.js +0 -387
  446. package/dist/hooks/thinking-checkpoint.d.ts +0 -37
  447. package/dist/hooks/thinking-checkpoint.js +0 -51
  448. package/dist/hooks/trajectory-collector.d.ts +0 -32
  449. package/dist/hooks/trajectory-collector.js +0 -256
  450. package/dist/http/principles-console-route.d.ts +0 -9
  451. package/dist/http/principles-console-route.js +0 -681
  452. package/dist/i18n/commands.d.ts +0 -26
  453. package/dist/i18n/commands.js +0 -116
  454. package/dist/index.d.ts +0 -7
  455. package/dist/index.js +0 -581
  456. package/dist/service/central-database.d.ts +0 -104
  457. package/dist/service/central-database.js +0 -649
  458. package/dist/service/control-ui-query-service.d.ts +0 -221
  459. package/dist/service/control-ui-query-service.js +0 -543
  460. package/dist/service/empathy-observer-manager.d.ts +0 -88
  461. package/dist/service/empathy-observer-manager.js +0 -414
  462. package/dist/service/evolution-query-service.d.ts +0 -155
  463. package/dist/service/evolution-query-service.js +0 -258
  464. package/dist/service/evolution-worker.d.ts +0 -101
  465. package/dist/service/evolution-worker.js +0 -975
  466. package/dist/service/health-query-service.d.ts +0 -170
  467. package/dist/service/health-query-service.js +0 -662
  468. package/dist/service/nocturnal-runtime.d.ts +0 -183
  469. package/dist/service/nocturnal-service.d.ts +0 -163
  470. package/dist/service/nocturnal-service.js +0 -787
  471. package/dist/service/nocturnal-target-selector.d.ts +0 -145
  472. package/dist/service/nocturnal-target-selector.js +0 -315
  473. package/dist/service/phase3-input-filter.d.ts +0 -73
  474. package/dist/service/phase3-input-filter.js +0 -172
  475. package/dist/service/runtime-summary-service.d.ts +0 -122
  476. package/dist/service/runtime-summary-service.js +0 -485
  477. package/dist/service/subagent-workflow/empathy-observer-workflow-manager.d.ts +0 -48
  478. package/dist/service/subagent-workflow/index.d.ts +0 -4
  479. package/dist/service/subagent-workflow/index.js +0 -3
  480. package/dist/service/subagent-workflow/runtime-direct-driver.d.ts +0 -77
  481. package/dist/service/subagent-workflow/runtime-direct-driver.js +0 -75
  482. package/dist/service/subagent-workflow/types.js +0 -11
  483. package/dist/service/subagent-workflow/workflow-store.d.ts +0 -26
  484. package/dist/service/subagent-workflow/workflow-store.js +0 -165
  485. package/dist/service/trajectory-service.d.ts +0 -2
  486. package/dist/service/trajectory-service.js +0 -15
  487. package/dist/tools/critique-prompt.d.ts +0 -14
  488. package/dist/tools/deep-reflect.d.ts +0 -39
  489. package/dist/tools/deep-reflect.js +0 -350
  490. package/dist/tools/model-index.d.ts +0 -9
  491. package/dist/types/event-types.d.ts +0 -306
  492. package/dist/types/event-types.js +0 -106
  493. package/dist/types/hygiene-types.d.ts +0 -20
  494. package/dist/types/hygiene-types.js +0 -12
  495. package/dist/types/runtime-summary.d.ts +0 -47
  496. package/dist/types/runtime-summary.js +0 -1
  497. package/dist/types.d.ts +0 -50
  498. package/dist/types.js +0 -22
  499. package/dist/utils/file-lock.d.ts +0 -71
  500. package/dist/utils/file-lock.js +0 -309
  501. package/dist/utils/glob-match.d.ts +0 -28
  502. package/dist/utils/hashing.d.ts +0 -9
  503. package/dist/utils/io.d.ts +0 -6
  504. package/dist/utils/io.js +0 -106
  505. package/dist/utils/nlp.d.ts +0 -9
  506. package/dist/utils/plugin-logger.d.ts +0 -39
  507. package/dist/utils/subagent-probe.d.ts +0 -34
  508. package/dist/utils/subagent-probe.js +0 -81
@@ -1,10 +1,29 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
+
4
+ export interface PluginLogger {
5
+ info(message: string, meta?: Record<string, unknown>): void;
6
+ warn(message: string, meta?: Record<string, unknown>): void;
7
+ error(message: string, meta?: Record<string, unknown>): void;
8
+ debug(message: string, meta?: Record<string, unknown>): void;
9
+ }
10
+
11
+ export interface PluginLoggerConfig {
12
+ /** Directory to store log files (typically stateDir) */
13
+ logDir: string;
14
+ /** Plugin identifier for log file naming */
15
+ pluginId: string;
16
+ /** Console logger from OpenClaw API (for dual output) */
17
+ consoleLogger?: PluginLogger;
18
+ /** Whether to also output to console */
19
+ echoToConsole?: boolean;
20
+ }
21
+
3
22
  /**
4
23
  * Creates a plugin-specific logger that writes to its own log file.
5
- *
24
+ *
6
25
  * Log file location: {logDir}/logs/{pluginId}.log
7
- *
26
+ *
8
27
  * Example:
9
28
  * ```
10
29
  * const logger = createPluginLogger({
@@ -13,28 +32,32 @@ import * as path from 'path';
13
32
  * consoleLogger: api.logger,
14
33
  * echoToConsole: true
15
34
  * });
16
- *
35
+ *
17
36
  * logger.info('Evolution task completed', { taskId: 'abc123' });
18
37
  * ```
19
38
  */
20
- export function createPluginLogger(config) {
39
+ export function createPluginLogger(config: PluginLoggerConfig): PluginLogger {
21
40
  const { logDir, pluginId, consoleLogger, echoToConsole = true } = config;
41
+
22
42
  // Ensure logs directory exists
23
43
  const logsDir = path.join(logDir, 'logs');
24
44
  if (!fs.existsSync(logsDir)) {
25
45
  fs.mkdirSync(logsDir, { recursive: true });
26
46
  }
47
+
27
48
  const logFile = path.join(logsDir, `${pluginId}.log`);
28
- const writeLog = (level, message, meta) => {
49
+
50
+ const writeLog = (level: string, message: string, meta?: Record<string, unknown>) => {
29
51
  const timestamp = new Date().toISOString();
30
52
  const metaStr = meta ? ` ${JSON.stringify(meta)}` : '';
31
53
  const logLine = `${timestamp} [${level.toUpperCase()}] ${message}${metaStr}\n`;
54
+
32
55
  try {
33
56
  fs.appendFileSync(logFile, logLine, 'utf-8');
34
- }
35
- catch {
57
+ } catch {
36
58
  // Silently fail if log write fails
37
59
  }
60
+
38
61
  // Also echo to console if enabled
39
62
  if (echoToConsole && consoleLogger) {
40
63
  const consoleMessage = `[${pluginId}] ${message}`;
@@ -54,6 +77,7 @@ export function createPluginLogger(config) {
54
77
  }
55
78
  }
56
79
  };
80
+
57
81
  return {
58
82
  info: (message, meta) => writeLog('info', message, meta),
59
83
  warn: (message, meta) => writeLog('warn', message, meta),
@@ -61,10 +85,11 @@ export function createPluginLogger(config) {
61
85
  debug: (message, meta) => writeLog('debug', message, meta),
62
86
  };
63
87
  }
88
+
64
89
  /**
65
90
  * Log file path for the plugin.
66
91
  * Returns the path where plugin logs are stored.
67
92
  */
68
- export function getPluginLogPath(logDir, pluginId) {
93
+ export function getPluginLogPath(logDir: string, pluginId: string): string {
69
94
  return path.join(logDir, 'logs', `${pluginId}.log`);
70
95
  }
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Subagent Runtime Availability Probe
3
+ *
4
+ * OpenClaw has two runtime modes:
5
+ * - Gateway mode: api.runtime.subagent methods are real async functions
6
+ * - Embedded mode: api.runtime.subagent is a Proxy that throws synchronously
7
+ *
8
+ * This utility provides a reliable way to detect which mode we're in.
9
+ */
10
+
11
+ import type { OpenClawPluginApi } from '../openclaw-sdk.js';
12
+
13
+ type SubagentRuntime = NonNullable<OpenClawPluginApi['runtime']>['subagent'];
14
+
15
+ /**
16
+ * Try to access the global gateway subagent runtime.
17
+ * This is a fallback for cases where the plugin was loaded with
18
+ * allowGatewaySubagentBinding but the late-binding proxy isn't working.
19
+ */
20
+ function getGlobalGatewaySubagent(): SubagentRuntime | null {
21
+ try {
22
+ // Access the global symbol that OpenClaw uses for gateway subagent
23
+ const symbol = Symbol.for('openclaw.plugin.gatewaySubagentRuntime');
24
+ const globalState = (globalThis as any)[symbol];
25
+ return globalState?.subagent ?? null;
26
+ } catch {
27
+ return null;
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Check if the subagent runtime is actually functional.
33
+ *
34
+ * In gateway mode, subagent.run is an AsyncFunction (constructor.name === 'AsyncFunction').
35
+ * In embedded mode, subagent.run is a regular Function that throws synchronously.
36
+ *
37
+ * We use constructor check first because it's fast and has no side effects.
38
+ *
39
+ * @param subagent - The subagent runtime object from api.runtime.subagent
40
+ * @returns true if the runtime is functional (gateway mode), false otherwise
41
+ */
42
+ export function isSubagentRuntimeAvailable(
43
+ subagent: { run?: unknown } | undefined
44
+ ): boolean {
45
+ if (!subagent) return false;
46
+
47
+ try {
48
+ const runFn = subagent.run;
49
+ if (typeof runFn !== 'function') return false;
50
+
51
+ // In gateway mode, methods are AsyncFunction instances
52
+ // In embedded mode, methods are regular Function instances that throw
53
+ const isAsync = runFn.constructor?.name === 'AsyncFunction';
54
+
55
+ if (isAsync) return true;
56
+
57
+ // Fallback: Check if it's a Proxy that might late-bind to the gateway subagent
58
+ // This handles the case where the plugin was loaded with allowGatewaySubagentBinding
59
+ // but the proxy hasn't resolved yet
60
+ const globalGateway = getGlobalGatewaySubagent();
61
+ if (globalGateway && typeof globalGateway.run === 'function') {
62
+ return globalGateway.run.constructor?.name === 'AsyncFunction';
63
+ }
64
+
65
+ return false;
66
+ } catch {
67
+ // Any error means unavailable
68
+ return false;
69
+ }
70
+ }
71
+
72
+ /**
73
+ * Get the actual subagent runtime, preferring the global gateway subagent
74
+ * if the passed one is not available.
75
+ *
76
+ * This is useful for cases where the plugin was loaded with allowGatewaySubagentBinding
77
+ * but the late-binding proxy isn't resolving correctly.
78
+ */
79
+ export function getAvailableSubagentRuntime(
80
+ subagent: SubagentRuntime | undefined
81
+ ): SubagentRuntime | undefined {
82
+ // First check if the passed subagent is available
83
+ if (isSubagentRuntimeAvailable(subagent)) {
84
+ return subagent;
85
+ }
86
+
87
+ // Fallback to global gateway subagent
88
+ const globalGateway = getGlobalGatewaySubagent();
89
+ if (globalGateway && isSubagentRuntimeAvailable(globalGateway)) {
90
+ return globalGateway;
91
+ }
92
+
93
+ return undefined;
94
+ }
@@ -0,0 +1,63 @@
1
+ # AI Sprint Orchestration Examples
2
+
3
+ ## Example 1: baseline + validation
4
+
5
+ ```powershell
6
+ node scripts/run.mjs --self-check
7
+ node scripts/run.mjs --help
8
+ node scripts/run.mjs --task workflow-validation-minimal
9
+ node scripts/run.mjs --task workflow-validation-minimal-verify
10
+ ```
11
+
12
+ ## Example 2: custom runtime root
13
+
14
+ ```powershell
15
+ node scripts/run.mjs --task workflow-validation-minimal --runtime-root D:/Temp/ai-sprint-runtime
16
+ ```
17
+
18
+ ## Example 3: classify a failure
19
+
20
+ - `workflow bug`: package-local script still writes to repo-root `ops/ai-sprints`
21
+ - `agent behavior issue`: reviewer omits `VERDICT` or malformed `DIMENSIONS`
22
+ - `environment issue`: `acpx` missing or workspace not writable
23
+ - `sample-spec issue`: validation spec asks for a field that the current product sample does not implement
24
+
25
+ ## Example 4: when to stop
26
+
27
+ Stop the iteration after classification if:
28
+
29
+ - the issue belongs to `packages/openclaw-plugin`
30
+ - the issue depends on `D:/Code/openclaw`
31
+ - the fix would require dashboard/stageGraph/self-optimization sprint expansion
32
+ - the problem is a sample-side or product-side gap rather than workflow plumbing
33
+
34
+ ## Example 5: start from a complex bugfix template
35
+
36
+ 1. Copy `references/specs/bugfix-complex-template.json`
37
+ 2. Replace every placeholder in `taskContract`
38
+ 3. Narrow `executionScope` to the smallest useful round
39
+ 4. Run the packaged entrypoint with the edited spec:
40
+
41
+ ```powershell
42
+ node scripts/run.mjs --task custom-bugfix --task-spec D:/path/to/your-bugfix-spec.json
43
+ ```
44
+
45
+ ## Example 6: start from a complex feature template
46
+
47
+ 1. Copy `references/specs/feature-complex-template.json`
48
+ 2. Fill `Goal`, `In scope`, `Out of scope`, `Validation commands`, and `Expected artifacts`
49
+ 3. Confirm the spec does not require product-side closure outside this milestone
50
+ 4. Run:
51
+
52
+ ```powershell
53
+ node scripts/run.mjs --task custom-feature --task-spec D:/path/to/your-feature-spec.json
54
+ ```
55
+
56
+ ## Example 7: inspect checkpoint summary before continuation
57
+
58
+ When a round ends in `revise`, inspect:
59
+
60
+ - `stages/<stage>/checkpoint-summary.md`
61
+ - `stages/<stage>/handoff.json`
62
+
63
+ The next round should use the checkpoint summary as the primary carry-forward context and only fall back to full prior decision text when needed.
@@ -0,0 +1,136 @@
1
+ # AI Sprint Orchestration Reference
2
+
3
+ ## Package layout
4
+
5
+ - `scripts/run.mjs`: package-local orchestrator entrypoint
6
+ - `scripts/lib/`: decision, contract validation, state store, spec loading, archive helpers
7
+ - `references/specs/`: built-in validation specs
8
+ - `references/agent-registry.json`: package-local agent/model registry
9
+ - `references/workflow-v1-acceptance-checklist.md`: handoff checklist
10
+ - `runtime/`: default location for run artifacts
11
+
12
+ ## Runtime layout
13
+
14
+ Default runtime root:
15
+
16
+ - `packages/openclaw-plugin/templates/langs/<lang>/skills/ai-sprint-orchestration/runtime`
17
+
18
+ Subdirectories:
19
+
20
+ - `runs/<run-id>/`
21
+ - `archive/<run-id>/`
22
+ - `tmp/sprint-agent/<run-id>/...`
23
+
24
+ Override with either:
25
+
26
+ - `--runtime-root <path>`
27
+ - `AI_SPRINT_RUNTIME_ROOT=<path>`
28
+
29
+ ## Self check
30
+
31
+ Run this first in a newly installed environment:
32
+
33
+ - `node scripts/run.mjs --self-check`
34
+
35
+ It verifies:
36
+
37
+ - package-local references exist
38
+ - built-in specs load
39
+ - `agent-registry.json` exists
40
+ - `acpx` is callable
41
+ - runtime root is writable
42
+
43
+ ## Built-in specs
44
+
45
+ - `workflow-validation-minimal`
46
+ - `workflow-validation-minimal-verify`
47
+ - `bugfix-complex-template` (copy and fill before use)
48
+ - `feature-complex-template` (copy and fill before use)
49
+
50
+ These built-in specs are package self-checks. They validate the workflow package itself, not product features.
51
+
52
+ ## Key artifacts
53
+
54
+ For each run, inspect:
55
+
56
+ - `sprint.json`
57
+ - `timeline.md`
58
+ - `latest-summary.md`
59
+ - `decision.md`
60
+ - `scorecard.json`
61
+
62
+ Important persisted fields:
63
+
64
+ - `outputQuality`
65
+ - `qualityReasons`
66
+ - `validation`
67
+ - `nextRunRecommendation`
68
+ - `failureClassification`
69
+ - `failureSource`
70
+ - `recommendedNextAction`
71
+
72
+ Per-stage carry-forward artifact:
73
+
74
+ - `checkpoint-summary.md`
75
+
76
+ The next round should prefer `checkpoint-summary.md` as carry-forward context before falling back to a full prior `decision.md` or `handoff.json`.
77
+
78
+ ## Failure classification
79
+
80
+ Use exactly one:
81
+
82
+ - `workflow bug`: orchestration logic, artifact layout, CLI, validation, persistence
83
+ - `agent behavior issue`: output quality or format drift despite correct workflow prompts/contracts
84
+ - `environment issue`: missing binaries, permissions, filesystem, PATH, runtime access
85
+ - `sample-spec issue`: the spec itself, or sample-side/product-side gaps that should not be fixed in this workflow milestone
86
+
87
+ ## Minimum task contract for complex work
88
+
89
+ Complex bugfix and feature specs must explicitly provide:
90
+
91
+ - `Goal`
92
+ - `In scope`
93
+ - `Out of scope`
94
+ - `Validation commands`
95
+ - `Expected artifacts`
96
+
97
+ If any of these are missing or left as placeholders, the packaged skill refuses to start the sprint.
98
+
99
+ ## Execution scope limits
100
+
101
+ Complex specs may define:
102
+
103
+ - `maxFiles`
104
+ - `maxChecks`
105
+ - `maxDeliverables`
106
+
107
+ The producer should declare `PLANNED_FILES`, `PLANNED_CHECKS`, and `DELIVERABLES` in the worklog before editing code. If one round would exceed scope, narrow the round or continue in a later round instead of forcing a large change through one execution.
108
+
109
+ ## Synchronization rule
110
+
111
+ Source of truth remains:
112
+
113
+ - the repository copy at `packages/openclaw-plugin/templates/langs/zh/skills/ai-sprint-orchestration`
114
+
115
+ Sync the packaged copy only when the change affects:
116
+
117
+ - package-local CLI behavior
118
+ - validation behavior
119
+ - artifact layout
120
+ - package-local references or runtime assumptions
121
+
122
+ Do not blindly mirror every upstream orchestrator edit into this package.
123
+
124
+ ## Current work-unit direction
125
+
126
+ This package now supports a finer-grained `work-unit` layer to force tighter context boundaries between bounded units:
127
+
128
+ - `workUnitId`
129
+ - `workUnitGoal`
130
+ - `allowedFiles`
131
+ - `unitChecks`
132
+ - `unitDeliverables`
133
+ - `unitSummary`
134
+ - `carryForwardSummary`
135
+
136
+ Continuation should prefer the shorter `carryForwardSummary` before falling back to a full prior decision or handoff. The goal is to minimize cross-unit context while preserving the smallest necessary state for the next unit.
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: ai-sprint-orchestration
3
+ description: Run long-form coding work through the packaged AI sprint orchestrator with baseline checks, validation runs, failure classification, and workflow-only iteration discipline.
4
+ ---
5
+
6
+ # AI Sprint Orchestration
7
+
8
+ Use this skill when a task is large, multi-stage, or likely to need repeated review and continuation. The skill packages a local copy of the orchestrator so an agent can start from this skill directory instead of hunting through repo internals.
9
+
10
+ ## Use this skill for
11
+
12
+ - Complex bug fixes that need investigation, implementation, and review
13
+ - Feature work that benefits from explicit producer/reviewer decision gates
14
+ - Workflow self-validation using the built-in validation specs
15
+ - Long-running tasks where artifact persistence and resumability matter
16
+
17
+ ## Do not use this skill for
18
+
19
+ - Tiny single-file edits or trivial docs fixes
20
+ - Product-side sample gaps in `packages/openclaw-plugin`
21
+ - Changes that require editing `D:/Code/openclaw`
22
+ - Dashboard, stageGraph, self-optimizing sprint, or parallel orchestrator expansion
23
+
24
+ ## Quick start
25
+
26
+ Run these commands from the skill package root:
27
+
28
+ 1. Package smoke check:
29
+ `node scripts/run.mjs --self-check`
30
+ `node scripts/run.mjs --help`
31
+ 2. Package-local validation:
32
+ `node scripts/run.mjs --task workflow-validation-minimal`
33
+ `node scripts/run.mjs --task workflow-validation-minimal-verify`
34
+ 3. Inspect artifacts under:
35
+ `runtime/`
36
+
37
+ Internal smoke standard:
38
+
39
+ - `node scripts/run.mjs --self-check` passes
40
+ - `workflow-validation-minimal` reaches producer completion and produces a structured decision or classified halt
41
+ - `workflow-validation-minimal-verify` reaches producer completion and any reviewer failure is classified, not left opaque
42
+
43
+ If you also have the source repository available, you may additionally run the source baseline tests from `packages/openclaw-plugin/templates/langs/zh/skills/ai-sprint-orchestration/test/`.
44
+
45
+ ## Execution rules
46
+
47
+ - Treat `packages/openclaw-plugin/templates/langs/zh/skills/ai-sprint-orchestration` as the canonical code source.
48
+ - Treat this English package as a mirrored delivery copy of that canonical implementation.
49
+ - If a run fails, classify it as exactly one of:
50
+ - `workflow bug`
51
+ - `agent behavior issue`
52
+ - `environment issue`
53
+ - `sample-spec issue`
54
+ - If the failure is product-side or sample-side, stop after classification. Do not continue into product closure work.
55
+ - Only fix one workflow-only issue per iteration, then rerun baseline and validation.
56
+ - Always run `node scripts/run.mjs --self-check` before the first validation run in a new environment.
57
+ - For complex bugfix or feature work, start from a copied template spec and fill the minimum task contract before launching the sprint.
58
+
59
+ ## Output expectation
60
+
61
+ Each iteration should report only:
62
+
63
+ - what changed
64
+ - what ran
65
+ - what failed
66
+ - failure classification
67
+ - the single next recommended iteration
@@ -0,0 +1,214 @@
1
+ {
2
+ "$schema": "agent-registry-v1",
3
+ "description": "Registry of available agents and their supported models for AI sprint orchestrator. All models are FREE. Updated: 2026-04-04.",
4
+ "lastUpdated": "2026-04-04",
5
+
6
+ "agents": {
7
+ "iflow": {
8
+ "command": "iflow --experimental-acp",
9
+ "description": "iFlow CLI with ACP support (智谱 Code Plan / MiniMax Code Plan 付费套餐更稳定,但以下模型全部免费)",
10
+ "version": "0.5.18",
11
+ "models": {
12
+ "glm-4.7": {
13
+ "description": "GLM-4.7 — official recommended model, fast",
14
+ "pricing": "free",
15
+ "recommendedTimeoutSeconds": 1200,
16
+ "features": ["recommended", "fast"],
17
+ "notes": "官方推荐模型,速度快"
18
+ },
19
+ "glm-5": {
20
+ "description": "GLM-5 — 744B parameters, long-context",
21
+ "pricing": "free",
22
+ "recommendedTimeoutSeconds": 1800,
23
+ "features": ["slow", "needs-extra-time"],
24
+ "notes": "744B 参数,运行明显较慢。Review 任务超时必须 ≥ 1800s"
25
+ },
26
+ "qwen3-coder-plus": {
27
+ "description": "Qwen3-Coder-Plus — efficient coding model",
28
+ "pricing": "free",
29
+ "recommendedTimeoutSeconds": 1200,
30
+ "features": ["fast", "coding-optimized"],
31
+ "notes": "通义编码模型"
32
+ },
33
+ "deepseek-v3.2": {
34
+ "description": "DeepSeek V3.2",
35
+ "pricing": "free",
36
+ "recommendedTimeoutSeconds": 1200,
37
+ "features": ["fast"],
38
+ "notes": ""
39
+ },
40
+ "minimax-m2.5": {
41
+ "description": "MiniMax M2.5",
42
+ "pricing": "free",
43
+ "recommendedTimeoutSeconds": 1200,
44
+ "features": ["fast"],
45
+ "notes": ""
46
+ },
47
+ "kimi-k2-thinking": {
48
+ "description": "Kimi K2 Thinking",
49
+ "pricing": "free",
50
+ "recommendedTimeoutSeconds": 1800,
51
+ "features": ["reasoning"],
52
+ "notes": "推理型模型"
53
+ },
54
+ "kimi-k2.5": {
55
+ "description": "Kimi K2.5",
56
+ "pricing": "free",
57
+ "recommendedTimeoutSeconds": 1200,
58
+ "features": ["fast"],
59
+ "notes": ""
60
+ },
61
+ "kimi-k2-0905": {
62
+ "description": "Kimi K2 0905",
63
+ "pricing": "free",
64
+ "recommendedTimeoutSeconds": 1200,
65
+ "features": ["fast"],
66
+ "notes": ""
67
+ },
68
+ "iflow-rome-30ba3b": {
69
+ "description": "iFlow ROME 30BA3B",
70
+ "pricing": "free",
71
+ "recommendedTimeoutSeconds": 1200,
72
+ "features": ["preview"],
73
+ "notes": "预览版本"
74
+ }
75
+ }
76
+ },
77
+
78
+ "opencode": {
79
+ "command": "npx -y opencode-ai acp",
80
+ "description": "OpenCode ACP adapter",
81
+ "version": "1.3.13",
82
+ "models": {
83
+ "minimax-cn-coding-plan/MiniMax-M2.7": {
84
+ "description": "MiniMax M2.7 (Chinese coding plan)",
85
+ "pricing": "free",
86
+ "recommendedTimeoutSeconds": 1200,
87
+ "features": ["fast", "coding-optimized", "stable"],
88
+ "notes": "最稳定的模型,默认 producer 选择"
89
+ },
90
+ "minimax-cn-coding-plan/MiniMax-M2.5": {
91
+ "description": "MiniMax M2.5 (Chinese coding plan)",
92
+ "pricing": "free",
93
+ "recommendedTimeoutSeconds": 1200,
94
+ "features": ["fast", "coding-optimized"],
95
+ "notes": "能力略弱于 M2.7"
96
+ },
97
+ "minimax-cn-coding-plan/MiniMax-M2.7-highspeed": {
98
+ "description": "MiniMax M2.7 highspeed variant",
99
+ "pricing": "free",
100
+ "recommendedTimeoutSeconds": 900,
101
+ "features": ["fast", "highspeed"],
102
+ "notes": "高速变体"
103
+ },
104
+ "minimax-cn-coding-plan/MiniMax-M2": {
105
+ "description": "MiniMax M2 (Chinese coding plan)",
106
+ "pricing": "free",
107
+ "recommendedTimeoutSeconds": 1200,
108
+ "features": ["fast"],
109
+ "notes": "旧版本"
110
+ },
111
+ "minimax-cn-coding-plan/MiniMax-M2.1": {
112
+ "description": "MiniMax M2.1 (Chinese coding plan)",
113
+ "pricing": "free",
114
+ "recommendedTimeoutSeconds": 1200,
115
+ "features": ["fast"],
116
+ "notes": "旧版本"
117
+ }
118
+ }
119
+ },
120
+
121
+ "gemini": {
122
+ "command": "gemini --acp",
123
+ "description": "Gemini CLI with ACP support (全部免费)",
124
+ "models": {
125
+ "gemini-2.5-pro": {
126
+ "description": "Gemini 2.5 Pro — high reasoning capability",
127
+ "pricing": "free",
128
+ "recommendedTimeoutSeconds": 1800,
129
+ "features": ["high-reasoning"],
130
+ "notes": "高推理能力"
131
+ },
132
+ "gemini-2.5-flash": {
133
+ "description": "Gemini 2.5 Flash — fast response",
134
+ "pricing": "free",
135
+ "recommendedTimeoutSeconds": 1200,
136
+ "features": ["fast"],
137
+ "notes": "快速响应"
138
+ },
139
+ "gemini-2.5-flash-lite": {
140
+ "description": "Gemini 2.5 Flash Lite — lightweight",
141
+ "pricing": "free",
142
+ "recommendedTimeoutSeconds": 900,
143
+ "features": ["fast", "lite"],
144
+ "notes": "轻量版本"
145
+ },
146
+ "gemini-3-pro-preview": {
147
+ "description": "Gemini 3 Pro Preview — high reasoning, limited quota",
148
+ "pricing": "free",
149
+ "recommendedTimeoutSeconds": 1800,
150
+ "features": ["high-reasoning", "slow", "limited-quota"],
151
+ "notes": "高推理,但额度有限、很慢"
152
+ },
153
+ "gemini-3-flash-preview": {
154
+ "description": "Gemini 3 Flash Preview",
155
+ "pricing": "free",
156
+ "recommendedTimeoutSeconds": 1200,
157
+ "features": ["fast", "preview"],
158
+ "notes": "预览版本"
159
+ },
160
+ "gemini-3.1-pro-preview": {
161
+ "description": "Gemini 3.1 Pro Preview — high reasoning, limited quota",
162
+ "pricing": "free",
163
+ "recommendedTimeoutSeconds": 1800,
164
+ "features": ["high-reasoning", "slow", "limited-quota"],
165
+ "notes": "高推理,但额度有限、很慢"
166
+ },
167
+ "gemini-3.1-flash-lite-preview": {
168
+ "description": "Gemini 3.1 Flash Lite Preview — lightweight preview",
169
+ "pricing": "free",
170
+ "recommendedTimeoutSeconds": 900,
171
+ "features": ["fast", "lite", "preview"],
172
+ "notes": "轻量预览版本"
173
+ }
174
+ }
175
+ },
176
+
177
+ "qwen": {
178
+ "command": "qwen --acp",
179
+ "description": "Qwen Code CLI with ACP support (全部免费)",
180
+ "models": {
181
+ "qwen3.6-plus": {
182
+ "description": "Qwen 3.6 Plus — efficient hybrid model with leading coding performance, 1M context window",
183
+ "pricing": "free",
184
+ "recommendedTimeoutSeconds": 1200,
185
+ "features": ["fast", "coding-optimized", "long-context"],
186
+ "notes": "高效混合模型,领先编码性能,100 万 token 上下文窗口"
187
+ }
188
+ }
189
+ },
190
+
191
+ "claude": {
192
+ "command": "claude",
193
+ "description": "Claude Code (Anthropic)",
194
+ "version": "2.1.81",
195
+ "models": {
196
+ "GLM-5.1": {
197
+ "description": "GLM-5.1 via Claude Code adapter",
198
+ "pricing": "free",
199
+ "recommendedTimeoutSeconds": 1800,
200
+ "features": ["slow"],
201
+ "notes": "保留给 escalation/global-reviewer 角色。注意:智谱 Code Plan 限额较高,容易触发限流"
202
+ }
203
+ }
204
+ }
205
+ },
206
+
207
+ "_notes": {
208
+ "paid_plans": "智谱 Code Plan 和 MiniMax Code Plan 是付费套餐,但本 registry 只登记免费可用的模型。付费套餐更稳定但不改变模型列表。",
209
+ "codex": "codex-acp 在当前环境无法使用,不登记。",
210
+ "kilocode": "kilocode ACP 是 server 模式(监听端口),不是 headless prompt-response,不兼容 acpx,不登记。",
211
+ "qodercli": "qodercli 没有 --acp 标志,不登记。",
212
+ "model_discovery": "opencode 可通过 'opencode models' 自动列出模型。其他 agent(iflow, gemini, qwen)没有 CLI 列表命令,需手动维护。"
213
+ }
214
+ }