@namewta/speculo 1.0.22 → 2.0.1

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 (1079) hide show
  1. package/README.md +31 -100
  2. package/THIRD-PARTY-NOTICES.md +69 -0
  3. package/dist/src/agent-files.js +9 -36
  4. package/dist/src/agent-files.js.map +1 -1
  5. package/dist/src/agent-skills.d.ts +22 -48
  6. package/dist/src/agent-skills.js +146 -508
  7. package/dist/src/agent-skills.js.map +1 -1
  8. package/dist/src/assets.d.ts +21 -0
  9. package/dist/src/assets.js +111 -0
  10. package/dist/src/assets.js.map +1 -0
  11. package/dist/src/cli.js +10 -11
  12. package/dist/src/cli.js.map +1 -1
  13. package/dist/src/coordination.d.ts +23 -0
  14. package/dist/src/coordination.js +60 -0
  15. package/dist/src/coordination.js.map +1 -0
  16. package/dist/src/doctor.js +39 -20
  17. package/dist/src/doctor.js.map +1 -1
  18. package/dist/src/index.d.ts +3 -2
  19. package/dist/src/index.js +28 -28
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/media-state.d.ts +2 -0
  22. package/dist/src/media-state.js +52 -0
  23. package/dist/src/media-state.js.map +1 -0
  24. package/dist/src/paths.d.ts +17 -4
  25. package/dist/src/paths.js +103 -17
  26. package/dist/src/paths.js.map +1 -1
  27. package/dist/src/refresh.d.ts +16 -2
  28. package/dist/src/refresh.js +66 -85
  29. package/dist/src/refresh.js.map +1 -1
  30. package/dist/src/runtime-entry.d.ts +4 -0
  31. package/dist/src/runtime-entry.js +5 -0
  32. package/dist/src/runtime-entry.js.map +1 -0
  33. package/dist/src/specdev-artifacts.d.ts +77 -0
  34. package/dist/src/specdev-artifacts.js +323 -0
  35. package/dist/src/specdev-artifacts.js.map +1 -0
  36. package/dist/src/structured.d.ts +1 -7
  37. package/dist/src/structured.js +20 -242
  38. package/dist/src/structured.js.map +1 -1
  39. package/dist/src/transaction.d.ts +3 -10
  40. package/dist/src/transaction.js +94 -176
  41. package/dist/src/transaction.js.map +1 -1
  42. package/dist/src/workflows.js +25 -87
  43. package/dist/src/workflows.js.map +1 -1
  44. package/package.json +19 -9
  45. package/template/.speculo/README.md +24 -27
  46. package/template/.speculo/refresh-contract.json +4 -6
  47. package/template/.speculo/workspace.json +10 -7
  48. package/template/AGENTS.md +8 -5
  49. package/template/canonical/README.md +6 -0
  50. package/template/canonical/canonical-learning-lesson.md +116 -0
  51. package/template/canonical/canonical-learning-question.md +185 -0
  52. package/template/canonical/canonical-media-content.md +50 -0
  53. package/template/canonical/canonical-media-operations.md +53 -0
  54. package/template/canonical/canonical-media-video.md +48 -0
  55. package/template/canonical/canonical-media-visual.md +94 -0
  56. package/template/canonical/canonical-specdev-goal-plan.md +2927 -864
  57. package/template/canonical/canonical-specdev-grill-with-docs.md +2559 -421
  58. package/template/canonical/canonical-specdev-spec.md +2398 -321
  59. package/template/canonical/canonical-specdev-tickets.md +2392 -543
  60. package/template/canonical/canonical-specdev-wayfinder.md +2897 -463
  61. package/template/commands/archive-and-consolidate/COMMAND.md +30 -0
  62. package/template/commands/docs-sync/COMMAND.md +25 -0
  63. package/template/commands/docs-sync/assets/agents-template.md +19 -0
  64. package/template/commands/docs-sync/assets/report-template.md +32 -0
  65. package/template/commands/docs-sync/references/agents-contract.md +27 -0
  66. package/template/commands/docs-sync/references/changelog-contract.md +39 -0
  67. package/template/commands/docs-sync/references/git-state-contract.md +39 -0
  68. package/template/commands/docs-sync/references/handbook-discovery.md +11 -0
  69. package/template/commands/docs-sync/references/operation-contract.md +62 -0
  70. package/template/commands/docs-sync/references/readme-contract.md +24 -0
  71. package/template/commands/docs-sync/references/workflow-scope-contract.md +32 -0
  72. package/template/commands/engineering-standards-builder/COMMAND.md +163 -0
  73. package/template/commands/engineering-standards-builder/manifest.txt +118 -0
  74. package/template/commands/engineering-standards-builder/scripts/validate-builder.mjs +268 -0
  75. package/template/commands/git-history-squash/COMMAND.md +72 -0
  76. package/template/commands/git-history-squash/references/operation-contract.md +99 -0
  77. package/template/commands/git-history-squash/references/rewrite-contract.md +127 -0
  78. package/template/commands/git-history-squash/scripts/git-history-squash.mjs +1210 -0
  79. package/template/commands/git-repository-audit/COMMAND.md +80 -0
  80. package/template/commands/handoff/COMMAND.md +61 -0
  81. package/template/commands/manifest.json +15 -0
  82. package/template/commands/retro/COMMAND.md +72 -0
  83. package/template/commands/source-code-zip/COMMAND.md +58 -0
  84. package/template/commands/status/COMMAND.md +14 -0
  85. package/template/commands/upstream-fork-sync/COMMAND.md +85 -0
  86. package/template/commands/upstream-fork-sync/references/report-contract.md +40 -0
  87. package/template/commands/upstream-fork-sync/references/repository-contract.md +54 -0
  88. package/template/commands/upstream-fork-sync/references/state-schema.md +55 -0
  89. package/template/lib/design-validators.mjs +5460 -0
  90. package/template/lib/legacy-status-validator.cjs +3238 -0
  91. package/template/lib/speculo-runtime.mjs +7949 -0
  92. package/template/references/coordination/coordination-contract.md +50 -0
  93. package/template/references/coordination/exchange/external-web.md +132 -0
  94. package/template/references/coordination/exchange/source-package.md +239 -0
  95. package/template/references/coordination/modes/cli.md +11 -0
  96. package/template/references/coordination/modes/herdr.md +12 -0
  97. package/template/references/coordination/modes/orca.md +13 -0
  98. package/template/references/coordination/project-facts.example.json +5 -0
  99. package/template/references/coordination/project-facts.schema.json +113 -0
  100. package/template/references/coordination/result-and-recovery.md +36 -0
  101. package/template/references/coordination/task-brief.md +43 -0
  102. package/template/references/retrospective/references/issue-drafting-sop.md +69 -0
  103. package/template/references/retrospective/retrospective-contract.md +37 -0
  104. package/template/references/writing-for-agents/GLOSSARY.md +201 -0
  105. package/template/references/writing-for-agents/references/current-facts-docs.md +35 -0
  106. package/template/references/writing-for-agents/references/document-contract.md +25 -0
  107. package/template/references/writing-for-agents/writing-contract.md +17 -0
  108. package/template/workflows/learning/SKILL.md +40 -0
  109. package/template/workflows/learning/common/rules/artifact-layouts.md +5 -0
  110. package/template/workflows/learning/common/rules/domain-runtime.md +94 -0
  111. package/template/workflows/learning/common/rules/inquiry-depth-policy.md +31 -0
  112. package/template/workflows/learning/common/rules/lesson-contract.md +9 -1
  113. package/template/workflows/learning/common/rules/portable-learning-runtime.md +95 -0
  114. package/template/workflows/learning/common/rules/production-inquiry.md +24 -0
  115. package/template/workflows/learning/common/rules/question-map-contract.md +28 -0
  116. package/template/workflows/learning/common/rules/questioning-policy.md +12 -2
  117. package/template/workflows/learning/common/rules/teaching-policy.md +4 -0
  118. package/template/workflows/learning/common/skills/socratic-questioning/SKILL.md +2 -2
  119. package/template/workflows/learning/common/skills/topic-synthesis/SKILL.md +2 -0
  120. package/template/workflows/learning/common/tools/validate-learning.mjs +38 -50
  121. package/template/workflows/learning/learning-a-archive/SKILL.md +32 -0
  122. package/template/workflows/learning/learning-a-assess-and-plan/SKILL.md +40 -0
  123. package/template/workflows/learning/learning-c-consolidate/SKILL.md +40 -0
  124. package/template/workflows/learning/learning-g-goal/SKILL.md +63 -0
  125. package/template/workflows/learning/learning-g-goal/assets/goal-plan-template.md +310 -0
  126. package/template/workflows/learning/learning-g-goal/assets/probe-template.md +64 -0
  127. package/template/workflows/learning/learning-g-goal/assets/progress-template.md +19 -0
  128. package/template/workflows/learning/learning-g-goal/references/coverage-bar.md +36 -0
  129. package/template/workflows/learning/learning-g-goal/references/external-goal-runner.md +54 -0
  130. package/template/workflows/learning/learning-g-goal/references/lead-orchestration.md +52 -0
  131. package/template/workflows/learning/learning-g-goal/references/orchestration-protocol.md +26 -0
  132. package/template/workflows/learning/learning-g-goal/references/planning-modes.md +19 -0
  133. package/template/workflows/learning/learning-h-homework/SKILL.md +38 -0
  134. package/template/workflows/learning/learning-i-init-setup/SKILL.md +34 -0
  135. package/template/workflows/learning/learning-l-lesson/SKILL.md +43 -0
  136. package/template/workflows/learning/learning-l-lesson/assets/lesson-template.md +55 -0
  137. package/template/workflows/learning/learning-q-question/SKILL.md +48 -0
  138. package/template/workflows/learning/learning-q-question/assets/exploration-template.md +28 -0
  139. package/template/workflows/learning/learning-q-question/assets/inquiry-template.md +75 -0
  140. package/template/workflows/learning/learning-q-question/assets/question-map-template.json +4 -0
  141. package/template/workflows/learning/learning-q-question/references/exploration-mode.md +35 -0
  142. package/template/workflows/learning/learning-q-question/references/tutor-mode.md +31 -0
  143. package/template/workflows/learning/learning-q-question/scripts/validate-exploration.mjs +190 -0
  144. package/template/workflows/learning/learning-r-review/SKILL.md +37 -0
  145. package/template/workflows/learning/manifest.json +103 -1
  146. package/template/workflows/media/SKILL.md +37 -0
  147. package/template/workflows/media/_state/archive/.gitkeep +1 -0
  148. package/template/workflows/media/_state/changes/.gitkeep +1 -0
  149. package/template/workflows/media/_state/context/INDEX.md +6 -0
  150. package/template/workflows/media/_state/status.json +6 -0
  151. package/template/workflows/media/common/rules/activation-and-memory.md +7 -0
  152. package/template/workflows/media/common/rules/artifact-contract.md +17 -0
  153. package/template/workflows/media/common/rules/content-method.md +18 -0
  154. package/template/workflows/media/common/rules/domain-runtime.md +66 -0
  155. package/template/workflows/media/common/rules/external-skills.md +33 -0
  156. package/template/workflows/media/common/rules/operations-method.md +21 -0
  157. package/template/workflows/media/common/rules/safety-and-recovery.md +15 -0
  158. package/template/workflows/media/common/rules/video-method.md +16 -0
  159. package/template/workflows/media/common/rules/visual-method.md +16 -0
  160. package/template/workflows/media/common/schemas/change-status.schema.json +75 -0
  161. package/template/workflows/media/common/schemas/status.schema.json +35 -0
  162. package/template/workflows/media/common/tests/media-tools.test.mjs +91 -0
  163. package/template/workflows/media/common/tools/media-tools.mjs +235 -0
  164. package/template/workflows/media/common/tools/validate-media.mjs +57 -0
  165. package/template/workflows/media/manifest.json +126 -0
  166. package/template/workflows/media/media-b-brief/SKILL.md +19 -0
  167. package/template/workflows/media/media-b-brief/assets/brief-template.json +32 -0
  168. package/template/workflows/media/media-d-deconstruct/SKILL.md +19 -0
  169. package/template/workflows/media/media-h-hand-drawn/SKILL.md +19 -0
  170. package/template/workflows/media/media-h-hand-drawn/references/production.md +9 -0
  171. package/template/workflows/media/media-h-hand-drawn/references/style-catalog.json +226 -0
  172. package/template/workflows/media/media-i-init-setup/SKILL.md +19 -0
  173. package/template/workflows/media/media-p-publish-draft/SKILL.md +19 -0
  174. package/template/workflows/media/media-p-publish-draft/assets/draft-request-template.json +14 -0
  175. package/template/workflows/media/media-r-retro/SKILL.md +19 -0
  176. package/template/workflows/media/media-r-retro/assets/retro-template.md +13 -0
  177. package/template/workflows/media/media-v-video/SKILL.md +19 -0
  178. package/template/workflows/media/media-v-video/assets/review-template.json +27 -0
  179. package/template/workflows/media/media-v-video/assets/shot-plan-template.json +18 -0
  180. package/template/workflows/media/media-v-video/references/production.md +9 -0
  181. package/template/workflows/media/media-v-video/scripts/render_preview.py +168 -0
  182. package/template/workflows/media/runtime-contract.json +10 -0
  183. package/template/workflows/ops/SKILL.md +37 -0
  184. package/template/workflows/ops/common/WORKSPACE-USAGE.md +2 -2
  185. package/template/workflows/ops/common/rules/domain-runtime.md +54 -0
  186. package/template/workflows/ops/common/tests/test_ops.mjs +12 -10
  187. package/template/workflows/ops/common/tests/test_ops_bootstrap.mjs +10 -10
  188. package/template/workflows/ops/common/tests/test_ops_onboarding.mjs +2 -2
  189. package/template/workflows/ops/common/tests/test_ops_workspace.mjs +6 -6
  190. package/template/workflows/ops/common/tools/opslib/workspace.mjs +2 -2
  191. package/template/workflows/ops/common/tools/validate-ops.mjs +4 -4
  192. package/template/workflows/ops/manifest.json +17 -2
  193. package/template/workflows/ops/ops-d-project-deploy/SKILL.md +41 -0
  194. package/template/workflows/ops/ops-h-host-manage/SKILL.md +35 -0
  195. package/template/workflows/ops/ops-i-initialize/SKILL.md +29 -0
  196. package/template/workflows/ops/ops-s-server-connect/SKILL.md +29 -0
  197. package/template/workflows/ops/ops-v-inventory-view/SKILL.md +33 -0
  198. package/template/workflows/person/SKILL.md +32 -0
  199. package/template/workflows/person/manifest.json +57 -1
  200. package/template/workflows/person/person-m-mao-zedong-cognitive-os/SKILL.md +43 -0
  201. package/template/workflows/person/person-m-mao-zedong-cognitive-os/books/README.md +17 -0
  202. package/template/workflows/person/person-m-mao-zedong-cognitive-os/books/src/SUMMARY.md +231 -0
  203. package/template/workflows/person/person-m-mao-zedong-cognitive-os/books/src//347/233/256/345/275/225.md +243 -0
  204. package/template/workflows/person/person-m-mao-zedong-cognitive-os/references/activate.md +83 -0
  205. package/template/workflows/person/person-m-mao-zedong-cognitive-os/references/deliver.md +116 -0
  206. package/template/workflows/person/person-m-mao-zedong-cognitive-os/references/diagnose.md +83 -0
  207. package/template/workflows/person/person-m-mao-zedong-cognitive-os/references/mobilize.md +85 -0
  208. package/template/workflows/person/person-m-mao-zedong-cognitive-os/references/strategize.md +76 -0
  209. package/template/workflows/person/person-s-steelman-deliberation/SKILL.md +114 -0
  210. package/template/workflows/person/person-s-steelman-deliberation/assets/canonical-body.md +518 -0
  211. package/template/workflows/person/person-s-steelman-deliberation/references/state-and-publication.md +86 -0
  212. package/template/workflows/person/{S-steelman-deliberation/tools → person-s-steelman-deliberation/scripts}/validate-steelman-change.mjs +0 -0
  213. package/template/workflows/specdev/SKILL.md +51 -0
  214. package/template/workflows/specdev/common/README.md +11 -3
  215. package/template/workflows/specdev/common/rules/activation-and-memory.md +5 -1
  216. package/template/workflows/specdev/common/rules/adr-format.md +3 -3
  217. package/template/workflows/specdev/common/rules/agent-experience.md +29 -0
  218. package/template/workflows/specdev/common/rules/artifact-contract.md +28 -15
  219. package/template/workflows/specdev/common/rules/change-completion.md +24 -5
  220. package/template/workflows/specdev/common/rules/codebase-design.md +16 -14
  221. package/template/workflows/specdev/common/rules/design-contract.md +51 -0
  222. package/template/workflows/specdev/common/rules/design-it-twice.md +9 -9
  223. package/template/workflows/specdev/common/rules/design-portability.md +48 -0
  224. package/template/workflows/specdev/common/rules/deviation-control.md +3 -3
  225. package/template/workflows/specdev/common/rules/documentation-standard.md +33 -0
  226. package/template/workflows/specdev/common/rules/domain-modeling.md +1 -1
  227. package/template/workflows/specdev/common/rules/domain-runtime.md +35 -0
  228. package/template/workflows/specdev/common/rules/engineering-evidence.md +31 -0
  229. package/template/workflows/specdev/common/rules/error-handling.md +40 -0
  230. package/template/workflows/specdev/common/rules/evidence-and-verification.md +17 -1
  231. package/template/workflows/specdev/common/rules/operating-governance.md +3 -3
  232. package/template/workflows/specdev/common/rules/parent-implementation-orchestration.md +3 -3
  233. package/template/workflows/specdev/common/rules/path-ownership.md +5 -5
  234. package/template/workflows/specdev/common/rules/path-reference-contract.md +15 -6
  235. package/template/workflows/specdev/common/rules/readiness-and-depth.md +6 -1
  236. package/template/workflows/specdev/common/rules/test-reliability.md +37 -0
  237. package/template/workflows/specdev/common/rules/workflow-routing.md +15 -2
  238. package/template/workflows/specdev/common/rules/workflow-state-and-lifecycle.md +26 -75
  239. package/template/workflows/specdev/common/schemas/change-design.schema.json +254 -0
  240. package/template/workflows/specdev/common/schemas/config.schema.json +4 -4
  241. package/template/workflows/specdev/common/schemas/goal-plan.schema.json +144 -23
  242. package/template/workflows/specdev/common/schemas/implementation-plan.schema.json +139 -24
  243. package/template/workflows/specdev/common/schemas/project-design.schema.json +164 -0
  244. package/template/workflows/specdev/common/schemas/prototype-browser-evidence.schema.json +153 -0
  245. package/template/workflows/specdev/common/schemas/ticket.schema.json +40 -0
  246. package/template/workflows/specdev/common/skills/code-review/SKILL.md +12 -6
  247. package/template/workflows/specdev/common/skills/code-review/references/result-reuse.md +2 -2
  248. package/template/workflows/specdev/common/skills/code-review/references/reviewer-contracts.md +2 -2
  249. package/template/workflows/specdev/common/skills/code-review/references/source-discovery.md +3 -1
  250. package/template/workflows/specdev/common/skills/dev-worktree/references/create.md +1 -1
  251. package/template/workflows/specdev/common/skills/dev-worktree/references/finalize.md +1 -1
  252. package/template/workflows/specdev/common/skills/plan-quality-review/SKILL.md +1 -1
  253. package/template/workflows/specdev/common/skills/research/SKILL.md +1 -1
  254. package/template/workflows/specdev/common/tools/README.md +31 -5
  255. package/template/workflows/specdev/common/tools/change-artifacts.mjs +170 -0
  256. package/template/workflows/specdev/common/tools/design-artifacts.mjs +277 -0
  257. package/template/workflows/specdev/common/tools/engineering-evidence.mjs +150 -0
  258. package/template/workflows/specdev/common/tools/plan-contract.mjs +160 -17
  259. package/template/workflows/specdev/common/tools/publish-design.mjs +341 -0
  260. package/template/workflows/specdev/common/tools/review-scope.mjs +125 -0
  261. package/template/workflows/specdev/common/tools/tests/engineering.test.mjs +265 -0
  262. package/template/workflows/specdev/common/tools/tests/review-source-files.test.mjs +74 -0
  263. package/template/workflows/specdev/common/tools/ticket-control.mjs +19 -25
  264. package/template/workflows/specdev/common/tools/validate-specdev.mjs +292 -503
  265. package/template/workflows/specdev/manifest.json +52 -3
  266. package/template/workflows/specdev/runtime-contract.json +6 -6
  267. package/template/workflows/specdev/specdev-a-archive-and-consolidate/SKILL.md +39 -0
  268. package/template/workflows/specdev/specdev-a-archive-and-consolidate/assets/archive-plan-template.md +32 -0
  269. package/template/workflows/specdev/specdev-a-archive-and-consolidate/assets/cleanup-candidate-template.md +69 -0
  270. package/template/workflows/specdev/specdev-a-archive-and-consolidate/assets/consolidation-plan-template.md +78 -0
  271. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/archive-receipt-contract.md +40 -0
  272. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/archive-rules.md +20 -0
  273. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/cleanup-rules.md +79 -0
  274. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/consolidation-interview.md +67 -0
  275. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/consolidation-rules.md +86 -0
  276. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/design-knowledge-gateway.md +61 -0
  277. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/knowledge-graduation.md +58 -0
  278. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/operation-contract.md +48 -0
  279. package/template/workflows/specdev/specdev-c-code-review/SKILL.md +55 -0
  280. package/template/workflows/specdev/specdev-c-code-review/assets/code-review-template.md +53 -0
  281. package/template/workflows/specdev/specdev-c-code-review/references/source-files-review.md +14 -0
  282. package/template/workflows/specdev/specdev-d-diagnose-bugs/SKILL.md +84 -0
  283. package/template/workflows/specdev/specdev-d-diagnose-bugs/assets/diagnosis-template.md +72 -0
  284. package/template/workflows/specdev/specdev-d-diagnose-bugs/references/feedback-loop.md +43 -0
  285. package/template/workflows/specdev/specdev-d-diagnose-bugs/references/hypothesis-and-instrumentation.md +36 -0
  286. package/template/workflows/specdev/specdev-d-diagnose-bugs/references/incident-evidence.md +21 -0
  287. package/template/workflows/specdev/specdev-g-grill-with-docs/SKILL.md +34 -0
  288. package/template/workflows/specdev/specdev-g-grill-with-docs/references/grilling-protocol.md +30 -0
  289. package/template/workflows/specdev/specdev-g-grill-with-docs/references/interview-procedure.md +138 -0
  290. package/template/workflows/specdev/specdev-i-implement/SKILL.md +49 -0
  291. package/template/workflows/specdev/specdev-i-implement/assets/evidence-template.md +153 -0
  292. package/template/workflows/specdev/specdev-i-implement/references/documentation-procedure.md +23 -0
  293. package/template/workflows/specdev/specdev-i-implement/references/execution-preflight.md +51 -0
  294. package/template/workflows/specdev/specdev-i-implement/references/implementation-procedure.md +170 -0
  295. package/template/workflows/specdev/specdev-i-implement/references/merge-conflict-protocol.md +21 -0
  296. package/template/workflows/specdev/specdev-i-implement/references/tdd-mocking.md +23 -0
  297. package/template/workflows/specdev/specdev-i-implement/references/tdd-rules.md +25 -0
  298. package/template/workflows/specdev/specdev-i-implement/references/tdd-test-design.md +29 -0
  299. package/template/workflows/specdev/specdev-i-init-setup/SKILL.md +31 -0
  300. package/template/workflows/specdev/specdev-i-init-setup/assets/change-readme-template.md +32 -0
  301. package/template/workflows/specdev/specdev-i-init-setup/assets/config-template.json +31 -0
  302. package/template/workflows/specdev/specdev-i-init-setup/assets/domain-layout-template.md +29 -0
  303. package/template/workflows/specdev/specdev-i-init-setup/assets/tracking-template.md +13 -0
  304. package/template/workflows/specdev/specdev-i-init-setup/references/change-record-examples.md +62 -0
  305. package/template/workflows/specdev/specdev-i-init-setup/references/first-setup.md +11 -0
  306. package/template/workflows/specdev/specdev-l-learn-change/SKILL.md +33 -0
  307. package/template/workflows/specdev/specdev-l-learn-change/references/lesson-format.md +51 -0
  308. package/template/workflows/specdev/specdev-p-goal-plan/SKILL.md +71 -0
  309. package/template/workflows/specdev/specdev-p-goal-plan/assets/goal-plan-template.md +150 -0
  310. package/template/workflows/specdev/specdev-p-goal-plan/assets/lightweight-goal-plan-template.md +21 -0
  311. package/template/workflows/specdev/specdev-p-goal-plan/references/completion-control.md +47 -0
  312. package/template/workflows/specdev/specdev-p-goal-plan/references/goal-lifecycle.md +35 -0
  313. package/template/workflows/specdev/specdev-p-goal-plan/references/goal-tickets-map-template.md +15 -0
  314. package/template/workflows/specdev/specdev-p-goal-plan/references/lead-orchestration.md +44 -0
  315. package/template/workflows/specdev/specdev-p-goal-plan/references/map-control.md +28 -0
  316. package/template/workflows/specdev/specdev-p-goal-plan/references/multi-change-plan.md +126 -0
  317. package/template/workflows/specdev/specdev-p-goal-plan/references/multi-execution-loop.md +31 -0
  318. package/template/workflows/specdev/specdev-p-goal-plan/references/multi-input-readiness.md +25 -0
  319. package/template/workflows/specdev/specdev-p-goal-plan/references/multi-super-dag.md +27 -0
  320. package/template/workflows/specdev/specdev-p-goal-plan/references/orchestration-protocol.md +58 -0
  321. package/template/workflows/specdev/specdev-p-goal-plan/references/planning-modes.md +78 -0
  322. package/template/workflows/specdev/specdev-p-goal-plan/references/replan-and-recovery.md +15 -0
  323. package/template/workflows/specdev/specdev-p-goal-plan/references/single-change-plan.md +157 -0
  324. package/template/workflows/specdev/specdev-p-prototype/SKILL.md +56 -0
  325. package/template/workflows/specdev/specdev-p-prototype/assets/change-design-template.md +68 -0
  326. package/template/workflows/specdev/specdev-p-prototype/assets/design-package.schema.json +248 -0
  327. package/template/workflows/specdev/specdev-p-prototype/assets/design-system-template.md +307 -0
  328. package/template/workflows/specdev/specdev-p-prototype/assets/project-design-template.md +60 -0
  329. package/template/workflows/specdev/specdev-p-prototype/design-library/INDEX.md +50 -0
  330. package/template/workflows/specdev/specdev-p-prototype/design-library/catalog.json +384 -0
  331. package/template/workflows/specdev/specdev-p-prototype/design-library/catalog.schema.json +42 -0
  332. package/template/workflows/specdev/specdev-p-prototype/design-library/color-and-theme.md +65 -0
  333. package/template/workflows/specdev/specdev-p-prototype/design-library/composition.md +39 -0
  334. package/template/workflows/specdev/specdev-p-prototype/design-library/foundations.md +66 -0
  335. package/template/workflows/specdev/specdev-p-prototype/design-library/gallery.html +14 -0
  336. package/template/workflows/specdev/specdev-p-prototype/design-library/gallery.js +55 -0
  337. package/template/workflows/specdev/specdev-p-prototype/design-library/interaction-patterns.md +61 -0
  338. package/template/workflows/specdev/specdev-p-prototype/design-library/product-pattern-index.md +73 -0
  339. package/template/workflows/specdev/specdev-p-prototype/design-library/research-provenance.md +60 -0
  340. package/template/workflows/specdev/specdev-p-prototype/design-library/responsive-and-platforms.md +53 -0
  341. package/template/workflows/specdev/specdev-p-prototype/design-library/style-index.md +47 -0
  342. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/assets/prototypes.css +13 -0
  343. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/assets/prototypes.js +146 -0
  344. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/brand-editorial.html +18 -0
  345. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/brand-editorial.md +25 -0
  346. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/commerce-service.html +10 -0
  347. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/commerce-service.md +25 -0
  348. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/cross-platform-workspace.md +25 -0
  349. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/dense-ide.md +25 -0
  350. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/enterprise-data.html +21 -0
  351. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/enterprise-data.md +25 -0
  352. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/local-first-content.md +25 -0
  353. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/marketing-conversion.html +13 -0
  354. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/marketing-conversion.md +25 -0
  355. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/media-first.md +25 -0
  356. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/mobile-supervisor.md +25 -0
  357. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/monochrome-console.md +25 -0
  358. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/responsive-web.md +25 -0
  359. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/soft-personal-ai.md +25 -0
  360. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/LICENSE +21 -0
  361. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/README.md +14 -0
  362. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/airbnb/DESIGN.md +545 -0
  363. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/apple/DESIGN.md +562 -0
  364. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/figma/DESIGN.md +578 -0
  365. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/ibm/DESIGN.md +550 -0
  366. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/linear/DESIGN.md +548 -0
  367. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/mintlify/DESIGN.md +852 -0
  368. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/notion/DESIGN.md +821 -0
  369. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/provenance.json +95 -0
  370. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/spotify/DESIGN.md +246 -0
  371. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/stripe/DESIGN.md +487 -0
  372. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/vercel/DESIGN.md +736 -0
  373. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/airbnb.md +27 -0
  374. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/apple.md +27 -0
  375. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/figma.md +27 -0
  376. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/ibm.md +29 -0
  377. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/linear.md +27 -0
  378. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/mintlify.md +27 -0
  379. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/notion.md +27 -0
  380. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/spotify.md +27 -0
  381. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/stripe.md +27 -0
  382. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/vercel.md +29 -0
  383. package/template/workflows/specdev/specdev-p-prototype/references/detect-existing-style.md +53 -0
  384. package/template/workflows/specdev/specdev-p-prototype/references/generate-design-package.md +78 -0
  385. package/template/workflows/specdev/specdev-p-prototype/references/logic-protocol.md +11 -0
  386. package/template/workflows/specdev/specdev-p-prototype/references/project-preview-protocol.md +9 -0
  387. package/template/workflows/specdev/specdev-p-prototype/references/style-selection-protocol.md +36 -0
  388. package/template/workflows/specdev/specdev-p-prototype/scripts/validate-design-package.mjs +133 -0
  389. package/template/workflows/specdev/specdev-r-retro/SKILL.md +31 -0
  390. package/template/workflows/specdev/specdev-r-retro/assets/retro-template.md +31 -0
  391. package/template/workflows/specdev/specdev-r-review-architecture/SKILL.md +104 -0
  392. package/template/workflows/specdev/specdev-r-review-architecture/assets/architecture-review-template.md +73 -0
  393. package/template/workflows/specdev/specdev-r-review-architecture/references/performance-review.md +27 -0
  394. package/template/workflows/specdev/specdev-r-review-architecture/references/proposal-to-ticket.md +13 -0
  395. package/template/workflows/specdev/specdev-r-review-architecture/references/review-rubric.md +56 -0
  396. package/template/workflows/specdev/specdev-r-review-architecture/references/selected-design.md +27 -0
  397. package/template/workflows/specdev/specdev-s-spec/SKILL.md +43 -0
  398. package/template/workflows/specdev/specdev-s-spec/assets/spec-template.md +99 -0
  399. package/template/workflows/specdev/specdev-s-spec/references/spec-readiness.md +17 -0
  400. package/template/workflows/specdev/specdev-t-tickets/SKILL.md +51 -0
  401. package/template/workflows/specdev/specdev-t-tickets/assets/ticket-template.md +157 -0
  402. package/template/workflows/specdev/specdev-t-tickets/assets/tickets-map-template.md +102 -0
  403. package/template/workflows/specdev/specdev-t-tickets/references/decomposition-rules.md +60 -0
  404. package/template/workflows/specdev/specdev-t-tickets/references/planning-procedure.md +235 -0
  405. package/template/workflows/specdev/specdev-t-tickets/references/ticket-readiness.md +56 -0
  406. package/template/workflows/specdev/specdev-t-triage/SKILL.md +58 -0
  407. package/template/workflows/specdev/specdev-t-triage/assets/capture-template.md +42 -0
  408. package/template/workflows/specdev/specdev-t-triage/assets/close-comment-template.md +42 -0
  409. package/template/workflows/specdev/specdev-t-triage/assets/issue-body-template.md +34 -0
  410. package/template/workflows/specdev/specdev-t-triage/assets/issue-record-template.md +27 -0
  411. package/template/workflows/specdev/specdev-t-triage/assets/triage-template.md +57 -0
  412. package/template/workflows/specdev/specdev-t-triage/references/capture-protocol.md +89 -0
  413. package/template/workflows/specdev/specdev-t-triage/references/ci-security-protocol.md +15 -0
  414. package/template/workflows/specdev/specdev-t-triage/references/intake-protocol.md +63 -0
  415. package/template/workflows/specdev/specdev-t-triage/references/issue-pr-policy.md +23 -0
  416. package/template/workflows/specdev/specdev-t-triage/references/pr-delivery-protocol.md +17 -0
  417. package/template/workflows/specdev/specdev-t-triage/references/publish-protocol.md +92 -0
  418. package/template/workflows/specdev/specdev-t-triage/references/queue-protocol.md +7 -0
  419. package/template/workflows/specdev/specdev-t-triage/references/reconcile-protocol.md +34 -0
  420. package/template/workflows/specdev/specdev-t-triage/references/release-preflight.md +17 -0
  421. package/template/workflows/specdev/specdev-t-triage/references/release-protocol.md +16 -0
  422. package/template/workflows/specdev/specdev-t-triage/references/release-recovery.md +22 -0
  423. package/template/workflows/specdev/specdev-t-triage/references/remote-operations.md +25 -0
  424. package/template/workflows/specdev/specdev-t-triage/scripts/capture-status.mjs +126 -0
  425. package/template/workflows/specdev/specdev-t-triage/scripts/publish-status.mjs +137 -0
  426. package/template/workflows/specdev/specdev-w-wayfinder/SKILL.md +49 -0
  427. package/template/workflows/specdev/specdev-w-wayfinder/assets/investigation-ticket-template.md +20 -0
  428. package/template/workflows/specdev/specdev-w-wayfinder/assets/wayfinder-map-template.md +33 -0
  429. package/template/workflows/specdev/specdev-w-wayfinder/references/initiative-discovery.md +29 -0
  430. package/template/workflows/specdev/specdev-w-wayfinder/references/local-tracker-contract.md +33 -0
  431. package/template/workflows/specdev/specdev-w-wayfinder/references/map-traversal.md +120 -0
  432. package/scripts/validate-skills.mjs +0 -56
  433. package/template/commands/archive-and-consolidate.md +0 -72
  434. package/template/commands/docs-sync.md +0 -28
  435. package/template/commands/git-history-squash.md +0 -76
  436. package/template/commands/git-repository-audit.md +0 -83
  437. package/template/commands/handoff.md +0 -66
  438. package/template/commands/retro.md +0 -75
  439. package/template/commands/status.md +0 -17
  440. package/template/skills/archive-and-consolidate/SKILL.md +0 -175
  441. package/template/skills/archive-and-consolidate/assets/archive-plan-template.md +0 -35
  442. package/template/skills/archive-and-consolidate/assets/cleanup-candidate-template.md +0 -69
  443. package/template/skills/archive-and-consolidate/assets/consolidation-plan-template.md +0 -67
  444. package/template/skills/archive-and-consolidate/references/archive-rules.md +0 -48
  445. package/template/skills/archive-and-consolidate/references/cleanup-rules.md +0 -73
  446. package/template/skills/archive-and-consolidate/references/consolidation-rules.md +0 -69
  447. package/template/skills/archive-and-consolidate/references/knowledge-graduation.md +0 -53
  448. package/template/skills/docs-sync/SKILL.md +0 -32
  449. package/template/skills/docs-sync/assets/report-template.md +0 -46
  450. package/template/skills/docs-sync/references/agents/agent-writing.md +0 -75
  451. package/template/skills/docs-sync/references/agents/claude-redirect.md +0 -39
  452. package/template/skills/docs-sync/references/agents/content-contract.md +0 -213
  453. package/template/skills/docs-sync/references/agents/evidence-collection.md +0 -184
  454. package/template/skills/docs-sync/references/agents/manifest-discovery.md +0 -126
  455. package/template/skills/docs-sync/references/agents/role-classification.md +0 -141
  456. package/template/skills/docs-sync/references/agents/templates/aggregator-AGENTS.md +0 -69
  457. package/template/skills/docs-sync/references/agents/templates/capability-module-AGENTS.md +0 -68
  458. package/template/skills/docs-sync/references/agents/templates/contract-module-AGENTS.md +0 -65
  459. package/template/skills/docs-sync/references/agents/templates/repo-root-AGENTS.md +0 -71
  460. package/template/skills/docs-sync/references/agents/templates/runnable-app-AGENTS.md +0 -69
  461. package/template/skills/docs-sync/references/agents/templates/scripts-docs-AGENTS.md +0 -51
  462. package/template/skills/docs-sync/references/agents/writing-style.md +0 -145
  463. package/template/skills/docs-sync/references/agents-contract.md +0 -67
  464. package/template/skills/docs-sync/references/changelog-contract.md +0 -39
  465. package/template/skills/docs-sync/references/document-lifecycle-contract.md +0 -40
  466. package/template/skills/docs-sync/references/git-state-contract.md +0 -67
  467. package/template/skills/docs-sync/references/mode-contract.md +0 -21
  468. package/template/skills/docs-sync/references/readme-contract.md +0 -46
  469. package/template/skills/docs-sync/references/readme-writing-guide.md +0 -294
  470. package/template/skills/docs-sync/references/workflow-scope-contract.md +0 -52
  471. package/template/skills/engineering-standards-builder/SKILL.md +0 -161
  472. package/template/skills/engineering-standards-builder/manifest.txt +0 -118
  473. package/template/skills/engineering-standards-builder/scripts/validate-builder.mjs +0 -272
  474. package/template/skills/git-history-squash/SKILL.md +0 -99
  475. package/template/skills/git-history-squash/references/rewrite-contract.md +0 -123
  476. package/template/skills/git-history-squash/scripts/git-history-squash.mjs +0 -1171
  477. package/template/skills/retrospective/SKILL.md +0 -43
  478. package/template/skills/retrospective/references/issue-drafting-sop.md +0 -69
  479. package/template/skills/source-code-zip/SKILL.md +0 -54
  480. package/template/skills/upstream-fork-sync/SKILL.md +0 -82
  481. package/template/skills/upstream-fork-sync/references/report-contract.md +0 -40
  482. package/template/skills/upstream-fork-sync/references/repository-contract.md +0 -54
  483. package/template/skills/upstream-fork-sync/references/state-schema.md +0 -55
  484. package/template/skills/writing-for-agents/GLOSSARY.md +0 -201
  485. package/template/skills/writing-for-agents/SKILL.md +0 -22
  486. package/template/skills/writing-for-agents/agents/openai.yaml +0 -2
  487. package/template/skills/writing-for-agents/references/document-contract.md +0 -23
  488. package/template/workflows/learning/A-archive/A-archive.md +0 -31
  489. package/template/workflows/learning/A-assess-and-plan/A-assess-and-plan.md +0 -39
  490. package/template/workflows/learning/C-consolidate/C-consolidate.md +0 -39
  491. package/template/workflows/learning/G-goal/G-goal.md +0 -62
  492. package/template/workflows/learning/G-goal/goal-plan-template.md +0 -310
  493. package/template/workflows/learning/G-goal/orchestration-protocol.md +0 -26
  494. package/template/workflows/learning/G-goal/planning-modes.md +0 -19
  495. package/template/workflows/learning/G-goal/probe-template.md +0 -62
  496. package/template/workflows/learning/G-goal/progress-template.md +0 -19
  497. package/template/workflows/learning/G-goal/references/coverage-bar.md +0 -32
  498. package/template/workflows/learning/G-goal/references/external-goal-runner.md +0 -54
  499. package/template/workflows/learning/G-goal/references/lead-orchestration.md +0 -52
  500. package/template/workflows/learning/H-homework/H-homework.md +0 -37
  501. package/template/workflows/learning/I-init-setup/I-init-setup.md +0 -33
  502. package/template/workflows/learning/INDEX.md +0 -26
  503. package/template/workflows/learning/L-lesson/L-lesson.md +0 -38
  504. package/template/workflows/learning/L-lesson/lesson-template.md +0 -51
  505. package/template/workflows/learning/Q-question/Q-question.md +0 -55
  506. package/template/workflows/learning/Q-question/inquiry-template.md +0 -71
  507. package/template/workflows/learning/R-review/R-review.md +0 -36
  508. package/template/workflows/learning/README.md +0 -94
  509. package/template/workflows/ops/D-project-deploy/D-project-deploy.md +0 -40
  510. package/template/workflows/ops/H-host-manage/H-host-manage.md +0 -34
  511. package/template/workflows/ops/I-initialize/I-initialize.md +0 -28
  512. package/template/workflows/ops/INDEX.md +0 -36
  513. package/template/workflows/ops/README.md +0 -62
  514. package/template/workflows/ops/S-server-connect/S-server-connect.md +0 -28
  515. package/template/workflows/ops/V-inventory-view/V-inventory-view.md +0 -32
  516. package/template/workflows/person/INDEX.md +0 -15
  517. package/template/workflows/person/M-mao-zedong-cognitive-os/M-mao-zedong-cognitive-os.md +0 -42
  518. package/template/workflows/person/M-mao-zedong-cognitive-os/activate.md +0 -81
  519. package/template/workflows/person/M-mao-zedong-cognitive-os/books/README.md +0 -17
  520. package/template/workflows/person/M-mao-zedong-cognitive-os/books/src/SUMMARY.md +0 -231
  521. package/template/workflows/person/M-mao-zedong-cognitive-os/books/src//347/233/256/345/275/225.md +0 -243
  522. package/template/workflows/person/M-mao-zedong-cognitive-os/deliver.md +0 -114
  523. package/template/workflows/person/M-mao-zedong-cognitive-os/diagnose.md +0 -83
  524. package/template/workflows/person/M-mao-zedong-cognitive-os/mobilize.md +0 -85
  525. package/template/workflows/person/M-mao-zedong-cognitive-os/strategize.md +0 -76
  526. package/template/workflows/person/S-steelman-deliberation/S-steelman-deliberation.md +0 -113
  527. package/template/workflows/person/S-steelman-deliberation/references/state-and-publication.md +0 -86
  528. package/template/workflows/specdev/A-archive-and-consolidate/A-archive-and-consolidate.md +0 -50
  529. package/template/workflows/specdev/A-archive-and-consolidate/consolidation-interview.md +0 -63
  530. package/template/workflows/specdev/C-code-review/C-code-review.md +0 -40
  531. package/template/workflows/specdev/C-code-review/code-review-template.md +0 -46
  532. package/template/workflows/specdev/D-diagnose-bugs/D-diagnose-bugs.md +0 -77
  533. package/template/workflows/specdev/D-diagnose-bugs/diagnosis-template.md +0 -68
  534. package/template/workflows/specdev/D-diagnose-bugs/feedback-loop.md +0 -41
  535. package/template/workflows/specdev/D-diagnose-bugs/hypothesis-and-instrumentation.md +0 -32
  536. package/template/workflows/specdev/G-grill-with-docs/G-grill-with-docs.md +0 -27
  537. package/template/workflows/specdev/G-grill-with-docs/grilling-protocol.md +0 -26
  538. package/template/workflows/specdev/G-grill-with-docs/references/interview-procedure.md +0 -134
  539. package/template/workflows/specdev/I-implement/I-implement.md +0 -30
  540. package/template/workflows/specdev/I-implement/evidence-template.md +0 -141
  541. package/template/workflows/specdev/I-implement/execution-preflight.md +0 -44
  542. package/template/workflows/specdev/I-implement/merge-conflict-protocol.md +0 -21
  543. package/template/workflows/specdev/I-implement/references/implementation-procedure.md +0 -158
  544. package/template/workflows/specdev/I-implement/tdd-mocking.md +0 -19
  545. package/template/workflows/specdev/I-implement/tdd-rules.md +0 -21
  546. package/template/workflows/specdev/I-implement/tdd-test-design.md +0 -25
  547. package/template/workflows/specdev/I-init-setup/I-init-setup.md +0 -41
  548. package/template/workflows/specdev/I-init-setup/change-status-template.json +0 -28
  549. package/template/workflows/specdev/I-init-setup/config-template.json +0 -31
  550. package/template/workflows/specdev/I-init-setup/domain-layout-template.md +0 -23
  551. package/template/workflows/specdev/I-init-setup/references/first-setup.md +0 -46
  552. package/template/workflows/specdev/I-init-setup/status-template.json +0 -6
  553. package/template/workflows/specdev/I-init-setup/tracking-template.md +0 -13
  554. package/template/workflows/specdev/INDEX.md +0 -26
  555. package/template/workflows/specdev/L-learn-change/L-learn-change.md +0 -28
  556. package/template/workflows/specdev/L-learn-change/references/lesson-format.md +0 -47
  557. package/template/workflows/specdev/P-goal-plan/P-goal-plan.md +0 -52
  558. package/template/workflows/specdev/P-goal-plan/completion-control.md +0 -43
  559. package/template/workflows/specdev/P-goal-plan/goal-plan-template.md +0 -146
  560. package/template/workflows/specdev/P-goal-plan/lead-orchestration.md +0 -38
  561. package/template/workflows/specdev/P-goal-plan/orchestration-protocol.md +0 -56
  562. package/template/workflows/specdev/P-goal-plan/planning-modes.md +0 -74
  563. package/template/workflows/specdev/P-goal-plan/references/goal-lifecycle.md +0 -35
  564. package/template/workflows/specdev/P-goal-plan/references/goal-tickets-map-template.md +0 -15
  565. package/template/workflows/specdev/P-goal-plan/references/map-control.md +0 -28
  566. package/template/workflows/specdev/P-goal-plan/references/multi-change-plan.md +0 -126
  567. package/template/workflows/specdev/P-goal-plan/references/multi-execution-loop.md +0 -31
  568. package/template/workflows/specdev/P-goal-plan/references/multi-input-readiness.md +0 -25
  569. package/template/workflows/specdev/P-goal-plan/references/multi-super-dag.md +0 -27
  570. package/template/workflows/specdev/P-goal-plan/references/replan-and-recovery.md +0 -21
  571. package/template/workflows/specdev/P-goal-plan/references/single-change-plan.md +0 -151
  572. package/template/workflows/specdev/P-prototype/P-prototype.md +0 -49
  573. package/template/workflows/specdev/P-prototype/design-library/INDEX.md +0 -43
  574. package/template/workflows/specdev/P-prototype/design-library/color-and-theme.md +0 -65
  575. package/template/workflows/specdev/P-prototype/design-library/foundations.md +0 -66
  576. package/template/workflows/specdev/P-prototype/design-library/interaction-patterns.md +0 -61
  577. package/template/workflows/specdev/P-prototype/design-library/product-pattern-index.md +0 -73
  578. package/template/workflows/specdev/P-prototype/design-library/research-provenance.md +0 -54
  579. package/template/workflows/specdev/P-prototype/design-library/responsive-and-platforms.md +0 -53
  580. package/template/workflows/specdev/P-prototype/design-library/style-index.md +0 -32
  581. package/template/workflows/specdev/P-prototype/design-package.schema.json +0 -70
  582. package/template/workflows/specdev/P-prototype/design-system-template.md +0 -366
  583. package/template/workflows/specdev/P-prototype/detect-existing-style.md +0 -53
  584. package/template/workflows/specdev/P-prototype/generate-design-package.md +0 -50
  585. package/template/workflows/specdev/P-prototype/logic-protocol.md +0 -11
  586. package/template/workflows/specdev/P-prototype/project-preview-protocol.md +0 -9
  587. package/template/workflows/specdev/P-prototype/style-selection-protocol.md +0 -41
  588. package/template/workflows/specdev/P-prototype/tools/validate-design-package.mjs +0 -155
  589. package/template/workflows/specdev/R-retro/R-retro.md +0 -26
  590. package/template/workflows/specdev/R-retro/retro-template.md +0 -27
  591. package/template/workflows/specdev/R-review-architecture/R-review-architecture.md +0 -93
  592. package/template/workflows/specdev/R-review-architecture/architecture-review-template.md +0 -69
  593. package/template/workflows/specdev/R-review-architecture/proposal-to-ticket.md +0 -13
  594. package/template/workflows/specdev/R-review-architecture/references/selected-design.md +0 -23
  595. package/template/workflows/specdev/R-review-architecture/review-rubric.md +0 -52
  596. package/template/workflows/specdev/README.md +0 -97
  597. package/template/workflows/specdev/S-spec/S-spec.md +0 -34
  598. package/template/workflows/specdev/S-spec/spec-readiness.md +0 -16
  599. package/template/workflows/specdev/S-spec/spec-template.md +0 -95
  600. package/template/workflows/specdev/T-tickets/T-tickets.md +0 -40
  601. package/template/workflows/specdev/T-tickets/decomposition-rules.md +0 -56
  602. package/template/workflows/specdev/T-tickets/references/planning-procedure.md +0 -233
  603. package/template/workflows/specdev/T-tickets/ticket-readiness.md +0 -50
  604. package/template/workflows/specdev/T-tickets/ticket-template.md +0 -151
  605. package/template/workflows/specdev/T-tickets/tickets-map-template.md +0 -102
  606. package/template/workflows/specdev/T-triage/T-triage.md +0 -51
  607. package/template/workflows/specdev/T-triage/capture-protocol.md +0 -89
  608. package/template/workflows/specdev/T-triage/capture-template.md +0 -42
  609. package/template/workflows/specdev/T-triage/ci-security-protocol.md +0 -11
  610. package/template/workflows/specdev/T-triage/close-comment-template.md +0 -42
  611. package/template/workflows/specdev/T-triage/intake-protocol.md +0 -63
  612. package/template/workflows/specdev/T-triage/issue-body-template.md +0 -34
  613. package/template/workflows/specdev/T-triage/issue-record-template.md +0 -27
  614. package/template/workflows/specdev/T-triage/pr-delivery-protocol.md +0 -13
  615. package/template/workflows/specdev/T-triage/publish-protocol.md +0 -92
  616. package/template/workflows/specdev/T-triage/queue-protocol.md +0 -7
  617. package/template/workflows/specdev/T-triage/reconcile-protocol.md +0 -34
  618. package/template/workflows/specdev/T-triage/references/issue-pr-policy.md +0 -23
  619. package/template/workflows/specdev/T-triage/release-preflight.md +0 -13
  620. package/template/workflows/specdev/T-triage/release-protocol.md +0 -12
  621. package/template/workflows/specdev/T-triage/release-recovery.md +0 -18
  622. package/template/workflows/specdev/T-triage/remote-operations.md +0 -25
  623. package/template/workflows/specdev/T-triage/tools/capture-status.mjs +0 -125
  624. package/template/workflows/specdev/T-triage/tools/publish-status.mjs +0 -148
  625. package/template/workflows/specdev/T-triage/triage-template.md +0 -57
  626. package/template/workflows/specdev/W-wayfinder/W-wayfinder.md +0 -42
  627. package/template/workflows/specdev/W-wayfinder/investigation-ticket-template.md +0 -16
  628. package/template/workflows/specdev/W-wayfinder/local-tracker-contract.md +0 -35
  629. package/template/workflows/specdev/W-wayfinder/references/initiative-discovery.md +0 -29
  630. package/template/workflows/specdev/W-wayfinder/references/map-traversal.md +0 -120
  631. package/template/workflows/specdev/W-wayfinder/wayfinder-map-template.md +0 -33
  632. package/template/workflows/specdev/_state/archive/.gitkeep +0 -0
  633. package/template/workflows/specdev/_state/changes/.gitkeep +0 -0
  634. package/template/workflows/specdev/_state/status.json +0 -6
  635. package/template/workflows/specdev/common/skills/subagent-delivery/SKILL.md +0 -51
  636. package/template/workflows/specdev/common/skills/subagent-delivery/references/dispatch-and-accept.md +0 -87
  637. package/template/workflows/specdev/common/skills/subagent-delivery/references/external-web-subagent.md +0 -132
  638. package/template/workflows/specdev/common/skills/subagent-delivery/references/native-subagent.md +0 -28
  639. package/template/workflows/specdev/common/skills/subagent-delivery/references/source-package.md +0 -239
  640. /package/template/{skills → commands}/docs-sync/assets/state-template.json +0 -0
  641. /package/template/{skills → commands}/docs-sync/assets/workflow-scope-template.json +0 -0
  642. /package/template/{skills → commands}/engineering-standards-builder/README.md +0 -0
  643. /package/template/{skills → commands}/engineering-standards-builder/agents/openai.yaml +0 -0
  644. /package/template/{skills → commands}/engineering-standards-builder/examples/README.md +0 -0
  645. /package/template/{skills → commands}/engineering-standards-builder/examples/fallback/kotlin-gradle/build.gradle.kts +0 -0
  646. /package/template/{skills → commands}/engineering-standards-builder/examples/fallback/kotlin-gradle/expected.json +0 -0
  647. /package/template/{skills → commands}/engineering-standards-builder/examples/fallback/kotlin-gradle/src/main/kotlin/example/App.kt +0 -0
  648. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/.golangci.yml +0 -0
  649. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/cmd/api/main.go +0 -0
  650. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/expected.json +0 -0
  651. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/go.mod +0 -0
  652. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/internal/service/service.go +0 -0
  653. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/internal/service/service_test.go +0 -0
  654. /package/template/{skills → commands}/engineering-standards-builder/examples/java/spring-boot-maven/expected.json +0 -0
  655. /package/template/{skills → commands}/engineering-standards-builder/examples/java/spring-boot-maven/pom.xml +0 -0
  656. /package/template/{skills → commands}/engineering-standards-builder/examples/java/spring-boot-maven/src/main/java/dev/speculo/orders/OrdersApplication.java +0 -0
  657. /package/template/{skills → commands}/engineering-standards-builder/examples/java/spring-boot-maven/src/test/java/dev/speculo/orders/OrdersApplicationTest.java +0 -0
  658. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/.github/workflows/ci.yml +0 -0
  659. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/apps/web/package.json +0 -0
  660. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/apps/web/src/App.vue +0 -0
  661. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/apps/web/tsconfig.json +0 -0
  662. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/expected.json +0 -0
  663. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/package.json +0 -0
  664. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/pnpm-workspace.yaml +0 -0
  665. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/services/orders/pom.xml +0 -0
  666. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/services/orders/src/main/java/dev/speculo/orders/OrdersApplication.java +0 -0
  667. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/services/worker/go.mod +0 -0
  668. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/services/worker/main.go +0 -0
  669. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/Cargo.toml +0 -0
  670. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/crates/cli/Cargo.toml +0 -0
  671. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/crates/cli/src/main.rs +0 -0
  672. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/crates/core/Cargo.toml +0 -0
  673. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/crates/core/src/lib.rs +0 -0
  674. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/expected.json +0 -0
  675. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/rust-toolchain.toml +0 -0
  676. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/expected.json +0 -0
  677. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/package.json +0 -0
  678. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/src/App.test.tsx +0 -0
  679. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/src/App.tsx +0 -0
  680. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/src/main.tsx +0 -0
  681. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/tsconfig.json +0 -0
  682. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/expected.json +0 -0
  683. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/package.json +0 -0
  684. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/src/App.test.ts +0 -0
  685. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/src/App.vue +0 -0
  686. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/src/main.ts +0 -0
  687. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/tsconfig.json +0 -0
  688. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/vite.config.ts +0 -0
  689. /package/template/{skills → commands}/engineering-standards-builder/references/go/00-detection-and-scope.md +0 -0
  690. /package/template/{skills → commands}/engineering-standards-builder/references/go/01-language-and-idioms.md +0 -0
  691. /package/template/{skills → commands}/engineering-standards-builder/references/go/02-modules-packages-and-layout.md +0 -0
  692. /package/template/{skills → commands}/engineering-standards-builder/references/go/03-errors-context-and-concurrency.md +0 -0
  693. /package/template/{skills → commands}/engineering-standards-builder/references/go/04-testing-tooling-quality-gates.md +0 -0
  694. /package/template/{skills → commands}/engineering-standards-builder/references/go/README.md +0 -0
  695. /package/template/{skills → commands}/engineering-standards-builder/references/java/00-detection-and-scope.md +0 -0
  696. /package/template/{skills → commands}/engineering-standards-builder/references/java/01-language-packages-and-api.md +0 -0
  697. /package/template/{skills → commands}/engineering-standards-builder/references/java/02-build-modules-and-dependencies.md +0 -0
  698. /package/template/{skills → commands}/engineering-standards-builder/references/java/03-errors-nullability-resources-concurrency.md +0 -0
  699. /package/template/{skills → commands}/engineering-standards-builder/references/java/04-testing-tooling-quality-gates.md +0 -0
  700. /package/template/{skills → commands}/engineering-standards-builder/references/java/README.md +0 -0
  701. /package/template/{skills → commands}/engineering-standards-builder/references/java/frameworks/spring-boot.md +0 -0
  702. /package/template/{skills → commands}/engineering-standards-builder/references/rules/00-governance-and-precedence.md +0 -0
  703. /package/template/{skills → commands}/engineering-standards-builder/references/rules/01-project-discovery.md +0 -0
  704. /package/template/{skills → commands}/engineering-standards-builder/references/rules/02-evidence-topology-and-scope.md +0 -0
  705. /package/template/{skills → commands}/engineering-standards-builder/references/rules/03-interview-and-decisions.md +0 -0
  706. /package/template/{skills → commands}/engineering-standards-builder/references/rules/04-architecture-and-dependency-boundaries.md +0 -0
  707. /package/template/{skills → commands}/engineering-standards-builder/references/rules/05-files-directories-and-naming.md +0 -0
  708. /package/template/{skills → commands}/engineering-standards-builder/references/rules/06-apis-errors-resources-and-concurrency.md +0 -0
  709. /package/template/{skills → commands}/engineering-standards-builder/references/rules/07-documentation-and-comments.md +0 -0
  710. /package/template/{skills → commands}/engineering-standards-builder/references/rules/08-testing-strategy.md +0 -0
  711. /package/template/{skills → commands}/engineering-standards-builder/references/rules/09-mechanical-guardrails.md +0 -0
  712. /package/template/{skills → commands}/engineering-standards-builder/references/rules/09-security-configuration-and-data.md +0 -0
  713. /package/template/{skills → commands}/engineering-standards-builder/references/rules/10-performance-observability-and-i18n.md +0 -0
  714. /package/template/{skills → commands}/engineering-standards-builder/references/rules/11-tooling-quality-gates-and-ci.md +0 -0
  715. /package/template/{skills → commands}/engineering-standards-builder/references/rules/12-git-review-and-delivery.md +0 -0
  716. /package/template/{skills → commands}/engineering-standards-builder/references/rules/13-adoption-exceptions-and-ratchets.md +0 -0
  717. /package/template/{skills → commands}/engineering-standards-builder/references/rules/14-generation-contract.md +0 -0
  718. /package/template/{skills → commands}/engineering-standards-builder/references/rules/15-validation-contract.md +0 -0
  719. /package/template/{skills → commands}/engineering-standards-builder/references/rules/16-language-adapter-contract.md +0 -0
  720. /package/template/{skills → commands}/engineering-standards-builder/references/rules/README.md +0 -0
  721. /package/template/{skills → commands}/engineering-standards-builder/references/rust/00-detection-and-scope.md +0 -0
  722. /package/template/{skills → commands}/engineering-standards-builder/references/rust/01-language-api-and-safety.md +0 -0
  723. /package/template/{skills → commands}/engineering-standards-builder/references/rust/02-crates-workspaces-and-layout.md +0 -0
  724. /package/template/{skills → commands}/engineering-standards-builder/references/rust/03-errors-ownership-and-concurrency.md +0 -0
  725. /package/template/{skills → commands}/engineering-standards-builder/references/rust/04-testing-tooling-quality-gates.md +0 -0
  726. /package/template/{skills → commands}/engineering-standards-builder/references/rust/README.md +0 -0
  727. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/00-detection-and-scope.md +0 -0
  728. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/01-language-and-type-system.md +0 -0
  729. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/02-modules-packages-and-runtime-boundaries.md +0 -0
  730. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/03-functions-async-errors-resources.md +0 -0
  731. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/04-testing-tooling-quality-gates.md +0 -0
  732. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/README.md +0 -0
  733. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/app-types/cli.md +0 -0
  734. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/app-types/library.md +0 -0
  735. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/frameworks/react.md +0 -0
  736. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/frameworks/vue.md +0 -0
  737. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/runtimes/browser.md +0 -0
  738. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/runtimes/electron.md +0 -0
  739. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/runtimes/node.md +0 -0
  740. /package/template/{skills → commands}/engineering-standards-builder/scripts/discover-project.mjs +0 -0
  741. /package/template/{skills → commands}/engineering-standards-builder/scripts/self-test.mjs +0 -0
  742. /package/template/{skills → commands}/engineering-standards-builder/scripts/sync-manifest.mjs +0 -0
  743. /package/template/{skills → commands}/engineering-standards-builder/scripts/validate-generated-skill.mjs +0 -0
  744. /package/template/{skills → commands}/engineering-standards-builder/templates/README.md +0 -0
  745. /package/template/{skills → commands}/engineering-standards-builder/templates/compatibility/agents-typescript--standards.md +0 -0
  746. /package/template/{skills → commands}/engineering-standards-builder/templates/compatibility/agents-typescript-standards.md +0 -0
  747. /package/template/{skills → commands}/engineering-standards-builder/templates/compatibility/claude-engineering-standards.md +0 -0
  748. /package/template/{skills → commands}/engineering-standards-builder/templates/compatibility/claude-typescript-standards.md +0 -0
  749. /package/template/{skills → commands}/engineering-standards-builder/templates/domain-skill/SKILL.md.template +0 -0
  750. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/SKILL.md.template +0 -0
  751. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/generated-skill-set.json.template +0 -0
  752. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/00-project-profile.md.template +0 -0
  753. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/01-module-map.md.template +0 -0
  754. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/02-decisions-and-exceptions.md.template +0 -0
  755. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/03-skill-map.md.template +0 -0
  756. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/04-source-and-template-map.md.template +0 -0
  757. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/review-checklist.md.template +0 -0
  758. /package/template/{skills → commands}/git-history-squash/agents/openai.yaml +0 -0
  759. /package/template/{skills → commands}/git-history-squash/assets/request-template.json +0 -0
  760. /package/template/{skills → commands}/git-history-squash/references/recovery-contract.md +0 -0
  761. /package/template/{skills → commands}/git-history-squash/references/submodule-contract.md +0 -0
  762. /package/template/commands/{references/git-repository-audit-procedure.md → git-repository-audit/references/procedure.md} +0 -0
  763. /package/template/{skills → commands}/source-code-zip/references/cli-reference.md +0 -0
  764. /package/template/{skills → commands}/source-code-zip/scripts/zip_source_code.js +0 -0
  765. /package/template/{skills → commands}/upstream-fork-sync/scripts/upstream-sync.mjs +0 -0
  766. /package/template/{skills → references}/retrospective/references/friction-taxonomy.md +0 -0
  767. /package/template/{skills → references}/writing-for-agents/references/authoring-principles.md +0 -0
  768. /package/template/workflows/learning/{A-assess-and-plan → learning-a-assess-and-plan/assets}/background-template.md +0 -0
  769. /package/template/workflows/learning/{A-assess-and-plan → learning-a-assess-and-plan/assets}/change-status-template.json +0 -0
  770. /package/template/workflows/learning/{A-assess-and-plan → learning-a-assess-and-plan/assets}/course-template.md +0 -0
  771. /package/template/workflows/learning/{G-goal → learning-g-goal/assets}/chain-template.md +0 -0
  772. /package/template/workflows/learning/{G-goal → learning-g-goal/assets}/coverage-matrix-template.md +0 -0
  773. /package/template/workflows/learning/{G-goal → learning-g-goal}/references/mine-unit.md +0 -0
  774. /package/template/workflows/learning/{G-goal → learning-g-goal}/references/split-rules.md +0 -0
  775. /package/template/workflows/learning/{G-goal → learning-g-goal}/references/stop-rules.md +0 -0
  776. /package/template/workflows/learning/{H-homework → learning-h-homework/assets}/homework-template.md +0 -0
  777. /package/template/workflows/learning/{I-init-setup → learning-i-init-setup/assets}/context-index-template.md +0 -0
  778. /package/template/workflows/learning/{I-init-setup → learning-i-init-setup/assets}/learner-profile-template.md +0 -0
  779. /package/template/workflows/learning/{I-init-setup → learning-i-init-setup/assets}/review-index-template.md +0 -0
  780. /package/template/workflows/learning/{Q-question → learning-q-question/assets}/lightweight-course-template.md +0 -0
  781. /package/template/workflows/learning/{Q-question/tools → learning-q-question/scripts}/validate-inquiry.mjs +0 -0
  782. /package/template/workflows/learning/{R-review → learning-r-review/assets}/review-template.md +0 -0
  783. /package/template/workflows/ops/{H-host-manage → ops-h-host-manage}/references/host-profiles.md +0 -0
  784. /package/template/workflows/person/{M-mao-zedong-cognitive-os/_templates → person-m-mao-zedong-cognitive-os/assets/templates}/mao-consultation-output-template.md +0 -0
  785. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/000-/344/270/255/345/233/275/347/244/276/344/274/232/345/220/204/351/230/266/347/272/247/347/232/204/345/210/206/346/236/220.md" +0 -0
  786. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/001-/346/271/226/345/215/227/345/206/234/346/260/221/350/277/220/345/212/250/350/200/203/345/257/237/346/212/245/345/221/212.md" +0 -0
  787. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/002-/344/270/255/345/233/275/347/232/204/347/272/242/350/211/262/346/224/277/346/235/203/344/270/272/344/273/200/344/271/210/350/203/275/345/244/237/345/255/230/345/234/250/357/274/237.md" +0 -0
  788. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/003-/344/272/225/345/206/210/345/261/261/347/232/204/346/226/227/344/272/211.md" +0 -0
  789. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/004-/345/205/263/344/272/216/347/272/240/346/255/243/345/205/232/345/206/205/347/232/204/351/224/231/350/257/257/346/200/235/346/203/263.md" +0 -0
  790. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/005-/346/230/237/346/230/237/344/271/213/347/201/253/357/274/214/345/217/257/344/273/245/347/207/216/345/216/237.md" +0 -0
  791. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/006-/345/217/215/345/257/271/346/234/254/346/234/254/344/270/273/344/271/211.md" +0 -0
  792. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/007-/345/277/205/351/241/273/346/263/250/346/204/217/347/273/217/346/265/216/345/267/245/344/275/234.md" +0 -0
  793. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/008-/346/200/216/346/240/267/345/210/206/346/236/220/345/206/234/346/235/221/351/230/266/347/272/247.md" +0 -0
  794. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/009-/346/210/221/344/273/254/347/232/204/347/273/217/346/265/216/346/224/277/347/255/226.md" +0 -0
  795. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/010-/345/205/263/345/277/203/347/276/244/344/274/227/347/224/237/346/264/273/357/274/214/346/263/250/346/204/217/345/267/245/344/275/234/346/226/271/346/263/225.md" +0 -0
  796. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/011-/350/256/272/345/217/215/345/257/271/346/227/245/346/234/254/345/270/235/345/233/275/344/270/273/344/271/211/347/232/204/347/255/226/347/225/245.md" +0 -0
  797. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/012-/344/270/255/345/233/275/351/235/251/345/221/275/346/210/230/344/272/211/347/232/204/346/210/230/347/225/245/351/227/256/351/242/230.md" +0 -0
  798. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/013-/345/205/263/344/272/216/350/222/213/344/273/213/347/237/263/345/243/260/346/230/216/347/232/204/345/243/260/346/230/216.md" +0 -0
  799. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/014-/344/270/255/345/233/275/345/205/261/344/272/247/345/205/232/345/234/250/346/212/227/346/227/245/346/227/266/346/234/237/347/232/204/344/273/273/345/212/241.md" +0 -0
  800. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/015-/344/270/272/344/272/211/345/217/226/345/215/203/347/231/276/344/270/207/347/276/244/344/274/227/350/277/233/345/205/245/346/212/227/346/227/245/346/260/221/346/227/217/347/273/237/344/270/200/346/210/230/347/272/277/350/200/214/346/226/227/344/272/211.md" +0 -0
  801. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/016-/345/256/236/350/267/265/350/256/272.md" +0 -0
  802. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/017-/347/237/233/347/233/276/350/256/272.md" +0 -0
  803. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/018-/345/217/215/345/257/271/346/227/245/346/234/254/350/277/233/346/224/273/347/232/204/346/226/271/351/222/210/343/200/201/345/212/236/346/263/225/345/222/214/345/211/215/351/200/224.md" +0 -0
  804. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/019-/344/270/272/345/212/250/345/221/230/344/270/200/345/210/207/345/212/233/351/207/217/344/272/211/345/217/226/346/212/227/346/210/230/350/203/234/345/210/251/350/200/214/346/226/227/344/272/211.md" +0 -0
  805. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/020-/345/217/215/345/257/271/350/207/252/347/224/261/344/270/273/344/271/211.md" +0 -0
  806. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/021-/345/233/275/345/205/261/345/220/210/344/275/234/346/210/220/347/253/213/345/220/216/347/232/204/350/277/253/345/210/207/344/273/273/345/212/241.md" +0 -0
  807. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/022-/345/222/214/350/213/261/345/233/275/350/256/260/350/200/205/350/264/235/347/211/271/345/205/260/347/232/204/350/260/210/350/257/235.md" +0 -0
  808. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/023-/344/270/212/346/265/267/345/244/252/345/216/237/345/244/261/351/231/267/344/273/245/345/220/216/346/212/227/346/227/245/346/210/230/344/272/211/347/232/204/345/275/242/345/212/277/345/222/214/344/273/273/345/212/241.md" +0 -0
  809. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/024-/351/231/225/347/224/230/345/256/201/350/276/271/345/214/272/346/224/277/345/272/234/347/254/254/345/205/253/350/267/257/345/206/233/345/220/216/346/226/271/347/225/231/345/256/210/345/244/204/345/270/203/345/221/212.md" +0 -0
  810. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/025-/346/212/227/346/227/245/346/270/270/345/207/273/346/210/230/344/272/211/347/232/204/346/210/230/347/225/245/351/227/256/351/242/230.md" +0 -0
  811. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/026-/350/256/272/346/214/201/344/271/205/346/210/230.md" +0 -0
  812. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/027-/344/270/255/345/233/275/345/205/261/344/272/247/345/205/232/345/234/250/346/260/221/346/227/217/346/210/230/344/272/211/344/270/255/347/232/204/345/234/260/344/275/215.md" +0 -0
  813. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/028-/347/273/237/344/270/200/346/210/230/347/272/277/344/270/255/347/232/204/347/213/254/347/253/213/350/207/252/344/270/273/351/227/256/351/242/230.md" +0 -0
  814. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/029-/346/210/230/344/272/211/345/222/214/346/210/230/347/225/245/351/227/256/351/242/230.md" +0 -0
  815. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/030-/344/272/224/345/233/233/350/277/220/345/212/250.md" +0 -0
  816. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/031-/351/235/222/345/271/264/350/277/220/345/212/250/347/232/204/346/226/271/345/220/221.md" +0 -0
  817. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/032-/345/217/215/345/257/271/346/212/225/351/231/215/346/264/273/345/212/250.md" +0 -0
  818. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/033-/345/277/205/351/241/273/345/210/266/350/243/201/345/217/215/345/212/250/346/264/276.md" +0 -0
  819. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/034-/345/205/263/344/272/216/345/233/275/351/231/205/346/226/260/345/275/242/345/212/277/345/257/271/346/226/260/345/215/216/346/227/245/346/212/245/350/256/260/350/200/205/347/232/204/350/260/210/350/257/235.md" +0 -0
  820. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/035-/345/222/214/344/270/255/345/244/256/347/244/276/343/200/201/346/211/253/350/215/241/346/212/245/343/200/201/346/226/260/346/260/221/346/212/245/344/270/211/350/256/260/350/200/205/347/232/204/350/260/210/350/257/235.md" +0 -0
  821. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/036-/350/213/217/350/201/224/345/210/251/347/233/212/345/222/214/344/272/272/347/261/273/345/210/251/347/233/212/347/232/204/344/270/200/350/207/264.md" +0 -0
  822. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/037-/343/200/212/345/205/261/344/272/247/345/205/232/344/272/272/343/200/213/345/217/221/345/210/212/350/257/215.md" +0 -0
  823. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/038-/347/233/256/345/211/215/345/275/242/345/212/277/345/222/214/345/205/232/347/232/204/344/273/273/345/212/241.md" +0 -0
  824. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/039-/345/244/247/351/207/217/345/220/270/346/224/266/347/237/245/350/257/206/345/210/206/345/255/220.md" +0 -0
  825. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/040-/344/270/255/345/233/275/351/235/251/345/221/275/345/222/214/344/270/255/345/233/275/345/205/261/344/272/247/345/205/232.md" +0 -0
  826. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/041-/346/226/257/345/244/247/346/236/227/346/230/257/344/270/255/345/233/275/344/272/272/346/260/221/347/232/204/346/234/213/345/217/213.md" +0 -0
  827. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/042-/347/272/252/345/277/265/347/231/275/346/261/202/346/201/251.md" +0 -0
  828. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/043-/346/226/260/346/260/221/344/270/273/344/270/273/344/271/211/350/256/272.md" +0 -0
  829. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/044-/345/205/213/346/234/215/346/212/225/351/231/215/345/215/261/351/231/251/357/274/214/345/212/233/344/272/211/346/227/266/345/261/200/345/245/275/350/275/254.md" +0 -0
  830. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/045-/345/233/242/347/273/223/344/270/200/345/210/207/346/212/227/346/227/245/345/212/233/351/207/217/357/274/214/345/217/215/345/257/271/345/217/215/345/205/261/351/241/275/345/233/272/346/264/276.md" +0 -0
  831. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/046-/345/220/221/345/233/275/346/260/221/345/205/232/347/232/204/345/215/201/347/202/271/350/246/201/346/261/202.md" +0 -0
  832. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/047-/343/200/212/344/270/255/345/233/275/345/267/245/344/272/272/343/200/213/345/217/221/345/210/212/350/257/215.md" +0 -0
  833. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/048-/345/277/205/351/241/273/345/274/272/350/260/203/345/233/242/347/273/223/345/222/214/350/277/233/346/255/245.md" +0 -0
  834. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/049-/346/226/260/346/260/221/344/270/273/344/270/273/344/271/211/347/232/204/345/256/252/346/224/277.md" +0 -0
  835. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/050-/346/212/227/346/227/245/346/240/271/346/215/256/345/234/260/347/232/204/346/224/277/346/235/203/351/227/256/351/242/230.md" +0 -0
  836. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/051-/347/233/256/345/211/215/346/212/227/346/227/245/347/273/237/344/270/200/346/210/230/347/272/277/344/270/255/347/232/204/347/255/226/347/225/245/351/227/256/351/242/230.md" +0 -0
  837. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/052-/346/224/276/346/211/213/345/217/221/345/261/225/346/212/227/346/227/245/345/212/233/351/207/217/357/274/214/346/212/265/346/212/227/345/217/215/345/205/261/351/241/275/345/233/272/346/264/276/347/232/204/350/277/233/346/224/273.md" +0 -0
  838. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/053-/345/233/242/347/273/223/345/210/260/345/272/225.md" +0 -0
  839. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/054-/350/256/272/346/224/277/347/255/226.md" +0 -0
  840. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/055-/344/270/272/347/232/226/345/215/227/344/272/213/345/217/230/345/217/221/350/241/250/347/232/204/345/221/275/344/273/244/345/222/214/350/260/210/350/257/235.md" +0 -0
  841. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/056-/346/211/223/351/200/200/347/254/254/344/272/214/346/254/241/345/217/215/345/205/261/351/253/230/346/275/256/345/220/216/347/232/204/346/227/266/345/261/200.md" +0 -0
  842. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/057-/345/205/263/344/272/216/346/211/223/351/200/200/347/254/254/344/272/214/346/254/241/345/217/215/345/205/261/351/253/230/346/275/256/347/232/204/346/200/273/347/273/223.md" +0 -0
  843. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/058-/343/200/212/345/206/234/346/235/221/350/260/203/346/237/245/343/200/213/347/232/204/345/272/217/350/250/200/345/222/214/350/267/213.md" +0 -0
  844. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/059-/346/224/271/351/200/240/346/210/221/344/273/254/347/232/204/345/255/246/344/271/240.md" +0 -0
  845. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/060-/346/217/255/347/240/264/350/277/234/344/270/234/346/205/225/345/260/274/351/273/221/347/232/204/351/230/264/350/260/213.md" +0 -0
  846. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/061-/345/205/263/344/272/216/345/217/215/346/263/225/350/245/277/346/226/257/347/232/204/345/233/275/351/231/205/347/273/237/344/270/200/346/210/230/347/272/277.md" +0 -0
  847. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/062-/345/234/250/351/231/225/347/224/230/345/256/201/350/276/271/345/214/272/345/217/202/350/256/256/344/274/232/347/232/204/346/274/224/350/257/264.md" +0 -0
  848. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/063-/346/225/264/351/241/277/345/205/232/347/232/204/344/275/234/351/243/216.md" +0 -0
  849. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/064-/345/217/215/345/257/271/345/205/232/345/205/253/350/202/241.md" +0 -0
  850. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/065-/345/234/250/345/273/266/345/256/211/346/226/207/350/211/272/345/272/247/350/260/210/344/274/232/344/270/212/347/232/204/350/256/262/350/257/235.md" +0 -0
  851. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/066-/344/270/200/344/270/252/346/236/201/345/205/266/351/207/215/350/246/201/347/232/204/346/224/277/347/255/226.md" +0 -0
  852. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/067-/347/254/254/344/272/214/346/254/241/344/270/226/347/225/214/345/244/247/346/210/230/347/232/204/350/275/254/346/212/230/347/202/271.md" +0 -0
  853. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/068-/347/245/235/345/215/201/346/234/210/351/235/251/345/221/275/344/272/214/345/215/201/344/272/224/345/221/250/345/271/264.md" +0 -0
  854. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/069-/346/212/227/346/227/245/346/227/266/346/234/237/347/232/204/347/273/217/346/265/216/351/227/256/351/242/230/345/222/214/350/264/242/346/224/277/351/227/256/351/242/230.md" +0 -0
  855. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/070-/345/205/263/344/272/216/351/242/206/345/257/274/346/226/271/346/263/225/347/232/204/350/213/245/345/271/262/351/227/256/351/242/230.md" +0 -0
  856. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/071-/350/264/250/351/227/256/345/233/275/346/260/221/345/205/232.md" +0 -0
  857. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/072-/345/274/200/345/261/225/346/240/271/346/215/256/345/234/260/347/232/204/345/207/217/347/247/237/343/200/201/347/224/237/344/272/247/345/222/214/346/213/245/346/224/277/347/210/261/346/260/221/350/277/220/345/212/250.md" +0 -0
  858. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/073-/350/257/204/345/233/275/346/260/221/345/205/232/345/215/201/344/270/200/344/270/255/345/205/250/344/274/232/345/222/214/344/270/211/345/261/212/344/272/214/346/254/241/345/233/275/346/260/221/345/217/202/346/224/277/344/274/232.md" +0 -0
  859. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/074-/347/273/204/347/273/207/350/265/267/346/235/245.md" +0 -0
  860. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/075-/345/255/246/344/271/240/345/222/214/346/227/266/345/261/200.md" +0 -0
  861. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/076-/344/270/272/344/272/272/346/260/221/346/234/215/345/212/241.md" +0 -0
  862. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/077-/350/257/204/350/222/213/344/273/213/347/237/263/345/234/250/345/217/214/345/215/201/350/212/202/347/232/204/346/274/224/350/257/264.md" +0 -0
  863. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/078-/346/226/207/345/214/226/345/267/245/344/275/234/344/270/255/347/232/204/347/273/237/344/270/200/346/210/230/347/272/277.md" +0 -0
  864. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/079-/345/277/205/351/241/273/345/255/246/344/274/232/345/201/232/347/273/217/346/265/216/345/267/245/344/275/234.md" +0 -0
  865. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/080-/346/270/270/345/207/273/345/214/272/344/271/237/350/203/275/345/244/237/350/277/233/350/241/214/347/224/237/344/272/247.md" +0 -0
  866. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/081-/344/270/244/344/270/252/344/270/255/345/233/275/344/271/213/345/221/275/350/277/220.md" +0 -0
  867. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/082-/350/256/272/350/201/224/345/220/210/346/224/277/345/272/234.md" +0 -0
  868. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/083-/346/204/232/345/205/254/347/247/273/345/261/261.md" +0 -0
  869. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/084-/350/256/272/345/206/233/351/230/237/347/224/237/344/272/247/350/207/252/347/273/231/357/274/214/345/205/274/350/256/272/346/225/264/351/243/216/345/222/214/347/224/237/344/272/247/344/270/244/345/244/247/350/277/220/345/212/250/347/232/204/351/207/215/350/246/201/346/200/247.md" +0 -0
  870. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/085-/350/265/253/345/260/224/345/210/251/345/222/214/350/222/213/344/273/213/347/237/263/347/232/204/345/217/214/347/260/247/345/267/262/347/273/217/347/240/264/344/272/247.md" +0 -0
  871. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/086-/350/257/204/350/265/253/345/260/224/345/210/251/346/224/277/347/255/226/347/232/204/345/215/261/351/231/251.md" +0 -0
  872. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/087-/347/273/231/347/246/217/346/226/257/347/211/271/345/220/214/345/277/227/347/232/204/347/224/265/346/212/245.md" +0 -0
  873. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/088-/345/257/271/346/227/245/345/257/207/347/232/204/346/234/200/345/220/216/344/270/200/346/210/230.md" +0 -0
  874. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/089-/346/212/227/346/227/245/346/210/230/344/272/211/350/203/234/345/210/251/345/220/216/347/232/204/346/227/266/345/261/200/345/222/214/346/210/221/344/273/254/347/232/204/346/226/271/351/222/210.md" +0 -0
  875. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/090-/350/222/213/344/273/213/347/237/263/345/234/250/346/214/221/345/212/250/345/206/205/346/210/230.md" +0 -0
  876. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/091-/347/254/254/345/215/201/345/205/253/351/233/206/345/233/242/345/206/233/346/200/273/345/217/270/344/273/244/347/273/231/350/222/213/344/273/213/347/237/263/347/232/204/344/270/244/344/270/252/347/224/265/346/212/245.md" +0 -0
  877. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/092-/350/257/204/350/222/213/344/273/213/347/237/263/345/217/221/350/250/200/344/272/272/350/260/210/350/257/235.md" +0 -0
  878. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/093-/344/270/255/345/205/261/344/270/255/345/244/256/345/205/263/344/272/216/345/220/214/345/233/275/346/260/221/345/205/232/350/277/233/350/241/214/345/222/214/345/271/263/350/260/210/345/210/244/347/232/204/351/200/232/347/237/245.md" +0 -0
  879. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/094-/345/205/263/344/272/216/351/207/215/345/272/206/350/260/210/345/210/244.md" +0 -0
  880. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/095-/345/233/275/346/260/221/345/205/232/350/277/233/346/224/273/347/232/204/347/234/237/347/233/270.md" +0 -0
  881. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/096-/345/207/217/347/247/237/345/222/214/347/224/237/344/272/247/346/230/257/344/277/235/345/215/253/350/247/243/346/224/276/345/214/272/347/232/204/344/270/244/344/273/266/345/244/247/344/272/213.md" +0 -0
  882. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/097-/344/270/200/344/271/235/345/233/233/345/205/255/345/271/264/350/247/243/346/224/276/345/214/272/345/267/245/344/275/234/347/232/204/346/226/271/351/222/210.md" +0 -0
  883. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/098-/345/273/272/347/253/213/345/267/251/345/233/272/347/232/204/344/270/234/345/214/227/346/240/271/346/215/256/345/234/260.md" +0 -0
  884. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/099-/345/205/263/344/272/216/347/233/256/345/211/215/345/233/275/351/231/205/345/275/242/345/212/277/347/232/204/345/207/240/347/202/271/344/274/260/350/256/241.md" +0 -0
  885. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/100-/344/273/245/350/207/252/345/215/253/346/210/230/344/272/211/347/262/211/347/242/216/350/222/213/344/273/213/347/237/263/347/232/204/350/277/233/346/224/273.md" +0 -0
  886. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/101-/345/222/214/347/276/216/345/233/275/350/256/260/350/200/205/345/256/211/345/250/234/302/267/350/267/257/346/230/223/346/226/257/302/267/346/226/257/347/211/271/346/234/227/347/232/204/350/260/210/350/257/235.md" +0 -0
  887. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/102-/351/233/206/344/270/255/344/274/230/345/212/277/345/205/265/345/212/233/357/274/214/345/220/204/344/270/252/346/255/274/347/201/255/346/225/214/344/272/272.md" +0 -0
  888. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/103-/347/276/216/345/233/275/342/200/234/350/260/203/350/247/243/342/200/235/347/234/237/347/233/270/345/222/214/344/270/255/345/233/275/345/206/205/346/210/230/345/211/215/351/200/224.md" +0 -0
  889. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/104-/344/270/211/344/270/252/346/234/210/346/200/273/347/273/223.md" +0 -0
  890. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/105-/350/277/216/346/216/245/344/270/255/345/233/275/351/235/251/345/221/275/347/232/204/346/226/260/351/253/230/346/275/256.md" +0 -0
  891. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/106-/344/270/255/345/205/261/344/270/255/345/244/256/345/205/263/344/272/216/346/232/202/346/227/266/346/224/276/345/274/203/345/273/266/345/256/211/345/222/214/344/277/235/345/215/253/351/231/225/347/224/230/345/256/201/350/276/271/345/214/272/347/232/204/344/270/244/344/270/252/346/226/207/344/273/266.md" +0 -0
  892. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/107-/345/205/263/344/272/216/350/245/277/345/214/227/346/210/230/345/234/272/347/232/204/344/275/234/346/210/230/346/226/271/351/222/210.md" +0 -0
  893. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/108-/350/222/213/344/273/213/347/237/263/346/224/277/345/272/234/345/267/262/345/244/204/345/234/250/345/205/250/346/260/221/347/232/204/345/214/205/345/233/264/344/270/255.md" +0 -0
  894. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/109-/350/247/243/346/224/276/346/210/230/344/272/211/347/254/254/344/272/214/345/271/264/347/232/204/346/210/230/347/225/245/346/226/271/351/222/210.md" +0 -0
  895. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/110-/344/270/255/345/233/275/344/272/272/346/260/221/350/247/243/346/224/276/345/206/233/345/256/243/350/250/200.md" +0 -0
  896. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/111-/344/270/255/345/233/275/344/272/272/346/260/221/350/247/243/346/224/276/345/206/233/346/200/273/351/203/250/345/205/263/344/272/216/351/207/215/350/241/214/351/242/201/345/270/203/344/270/211/345/244/247/347/272/252/345/276/213/345/205/253/351/241/271/346/263/250/346/204/217/347/232/204/350/256/255/344/273/244.md" +0 -0
  897. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/112-/347/233/256/345/211/215/345/275/242/345/212/277/345/222/214/346/210/221/344/273/254/347/232/204/344/273/273/345/212/241.md" +0 -0
  898. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/113-/345/205/263/344/272/216/345/273/272/347/253/213/346/212/245/345/221/212/345/210/266/345/272/246.md" +0 -0
  899. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/114-/345/205/263/344/272/216/347/233/256/345/211/215/345/205/232/347/232/204/346/224/277/347/255/226/344/270/255/347/232/204/345/207/240/344/270/252/351/207/215/350/246/201/351/227/256/351/242/230.md" +0 -0
  900. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/115-/345/206/233/351/230/237/345/206/205/351/203/250/347/232/204/346/260/221/344/270/273/350/277/220/345/212/250.md" +0 -0
  901. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/116-/345/234/250/344/270/215/345/220/214/345/234/260/345/214/272/345/256/236/346/226/275/345/234/237/345/234/260/346/263/225/347/232/204/344/270/215/345/220/214/347/255/226/347/225/245.md" +0 -0
  902. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/117-/347/272/240/346/255/243/345/234/237/345/234/260/346/224/271/351/235/251/345/256/243/344/274/240/344/270/255/347/232/204/342/200/234/345/267/246/342/200/235/345/200/276/351/224/231/350/257/257.md" +0 -0
  903. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/118-/346/226/260/350/247/243/346/224/276/345/214/272/345/234/237/345/234/260/346/224/271/351/235/251/350/246/201/347/202/271.md" +0 -0
  904. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/119-/345/205/263/344/272/216/345/267/245/345/225/206/344/270/232/346/224/277/347/255/226.md" +0 -0
  905. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/120-/345/205/263/344/272/216/346/260/221/346/227/217/350/265/204/344/272/247/351/230/266/347/272/247/345/222/214/345/274/200/346/230/216/347/273/205/345/243/253/351/227/256/351/242/230.md" +0 -0
  906. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/121-/350/257/204/350/245/277/345/214/227/345/244/247/346/215/267/345/205/274/350/256/272/350/247/243/346/224/276/345/206/233/347/232/204/346/226/260/345/274/217/346/225/264/345/206/233/350/277/220/345/212/250.md" +0 -0
  907. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/122-/345/205/263/344/272/216/346/203/205/345/206/265/347/232/204/351/200/232/346/212/245.md" +0 -0
  908. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/123-/345/234/250/346/231/213/347/273/245/345/271/262/351/203/250/344/274/232/350/256/256/344/270/212/347/232/204/350/256/262/350/257/235.md" +0 -0
  909. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/124-/345/257/271/346/231/213/347/273/245/346/227/245/346/212/245/347/274/226/350/276/221/344/272/272/345/221/230/347/232/204/350/260/210/350/257/235.md" +0 -0
  910. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/125-/345/206/215/345/205/213/346/264/233/351/230/263/345/220/216/347/273/231/346/264/233/351/230/263/345/211/215/347/272/277/346/214/207/346/214/245/351/203/250/347/232/204/347/224/265/346/212/245.md" +0 -0
  911. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/126-/346/226/260/350/247/243/346/224/276/345/214/272/345/206/234/346/235/221/345/267/245/344/275/234/347/232/204/347/255/226/347/225/245/351/227/256/351/242/230.md" +0 -0
  912. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/127-/344/270/200/344/271/235/345/233/233/345/205/253/345/271/264/347/232/204/345/234/237/345/234/260/346/224/271/351/235/251/345/267/245/344/275/234/345/222/214/346/225/264/345/205/232/345/267/245/344/275/234.md" +0 -0
  913. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/128-/345/205/263/344/272/216/350/276/275/346/262/210/346/210/230/345/275/271/347/232/204/344/275/234/346/210/230/346/226/271/351/222/210.md" +0 -0
  914. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/129-/345/205/263/344/272/216/345/201/245/345/205/250/345/205/232/345/247/224/345/210/266.md" +0 -0
  915. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/130-/344/270/255/345/205/261/344/270/255/345/244/256/345/205/263/344/272/216/344/271/235/346/234/210/344/274/232/350/256/256/347/232/204/351/200/232/347/237/245.md" +0 -0
  916. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/131-/345/205/263/344/272/216/346/267/256/346/265/267/346/210/230/345/275/271/347/232/204/347/232/204/344/275/234/346/210/230/346/226/271/351/222/210.md" +0 -0
  917. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/132-/345/205/250/344/270/226/347/225/214/351/235/251/345/221/275/345/212/233/351/207/217/345/233/242/347/273/223/350/265/267/346/235/245/357/274/214/345/217/215/345/257/271/345/270/235/345/233/275/344/270/273/344/271/211/347/232/204/344/276/265/347/225/245.md" +0 -0
  918. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/133-/344/270/255/345/233/275/345/206/233/344/272/213/345/275/242/345/212/277/347/232/204/351/207/215/345/244/247/345/217/230/345/214/226.md" +0 -0
  919. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/134-/345/205/263/344/272/216/345/271/263/346/264/245/346/210/230/345/275/271/347/232/204/344/275/234/346/210/230/346/226/271/351/222/210.md" +0 -0
  920. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/135-/346/225/246/344/277/203/346/235/234/350/201/277/346/230/216/347/255/211/346/212/225/351/231/215/344/271/246.md" +0 -0
  921. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/136-/345/260/206/351/235/251/345/221/275/350/277/233/350/241/214/345/210/260/345/272/225.md" +0 -0
  922. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/137-/350/257/204/346/210/230/347/212/257/346/261/202/345/222/214.md" +0 -0
  923. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/138-/344/270/255/345/205/261/344/270/255/345/244/256/346/257/233/346/263/275/344/270/234/344/270/273/345/270/255/345/205/263/344/272/216/346/227/266/345/261/200/347/232/204/345/243/260/346/230/216.md" +0 -0
  924. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/139-/344/270/255/345/205/261/345/217/221/350/250/200/344/272/272/350/257/204/345/215/227/344/272/254/350/241/214/346/224/277/351/231/242/347/232/204/345/206/263/350/256/256.md" +0 -0
  925. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/140-/344/270/255/345/205/261/345/217/221/350/250/200/344/272/272/345/205/263/344/272/216/345/221/275/344/273/244/345/233/275/346/260/221/345/205/232/345/217/215/345/212/250/346/224/277/345/272/234/351/207/215/346/226/260/351/200/256/346/215/225/345/211/215/346/227/245/346/234/254/344/276/265/345/215/216/345/206/233/346/200/273/345/217/270/344/273/244/345/206/210/346/235/221/345/256/201/346/254/241/345/222/214/351/200/256/346/215/225/345/233/275/346/260/221/345/205/232/345/206/205/346/210/230/347/275/252/347/212/257/347/232/204/350/260/210/350/257/235.md" +0 -0
  926. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/141-/344/270/255/345/205/261/345/217/221/350/250/200/344/272/272/345/205/263/344/272/216/345/222/214/345/271/263/346/235/241/344/273/266/345/277/205/351/241/273/345/214/205/346/213/254/346/203/251/345/212/236/346/227/245/346/234/254/346/210/230/347/212/257/345/222/214/345/233/275/346/260/221/345/205/232/346/210/230/347/212/257/347/232/204/345/243/260/346/230/216.md" +0 -0
  927. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/142-/346/212/212/345/206/233/351/230/237/345/217/230/344/270/272/345/267/245/344/275/234/351/230/237.md" +0 -0
  928. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/143-/345/233/233/345/210/206/344/272/224/350/243/202/347/232/204/345/217/215/345/212/250/346/264/276/344/270/272/344/273/200/344/271/210/350/277/230/350/246/201/347/251/272/345/226/212/342/200/234/345/205/250/351/235/242/345/222/214/345/271/263/342/200/235/357/274/237.md" +0 -0
  929. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/144-/345/233/275/346/260/221/345/205/232/345/217/215/345/212/250/346/264/276/347/224/261/342/200/234/345/221/274/345/220/201/345/222/214/345/271/263/342/200/235/345/217/230/344/270/272/345/221/274/345/220/201/346/210/230/344/272/211.md" +0 -0
  930. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/145-/350/257/204/345/233/275/346/260/221/345/205/232/345/257/271/346/210/230/344/272/211/350/264/243/344/273/273/351/227/256/351/242/230/347/232/204/345/207/240/347/247/215/347/255/224/346/241/210.md" +0 -0
  931. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/146-/345/234/250/344/270/255/345/233/275/345/205/261/344/272/247/345/205/232/347/254/254/344/270/203/345/261/212/344/270/255/345/244/256/345/247/224/345/221/230/344/274/232/347/254/254/344/272/214/346/254/241/345/205/250/344/275/223/344/274/232/350/256/256/344/270/212/347/232/204/346/212/245/345/221/212.md" +0 -0
  932. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/147-/345/205/232/345/247/224/344/274/232/347/232/204/345/267/245/344/275/234/346/226/271/346/263/225.md" +0 -0
  933. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/148-/345/215/227/344/272/254/346/224/277/345/272/234/345/220/221/344/275/225/345/244/204/345/216/273/357/274/237.md" +0 -0
  934. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/149-/345/220/221/345/205/250/345/233/275/350/277/233/345/206/233/347/232/204/345/221/275/344/273/244.md" +0 -0
  935. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/150-/344/270/255/345/233/275/344/272/272/346/260/221/350/247/243/346/224/276/345/206/233/345/270/203/345/221/212.md" +0 -0
  936. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/151-/344/270/255/345/233/275/344/272/272/346/260/221/350/247/243/346/224/276/345/206/233/346/200/273/351/203/250/345/217/221/350/250/200/344/272/272/344/270/272/350/213/261/345/233/275/345/206/233/350/210/260/346/232/264/350/241/214/345/217/221/350/241/250/347/232/204/345/243/260/346/230/216.md" +0 -0
  937. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/152-/345/234/250/346/226/260/346/224/277/346/262/273/345/215/217/345/225/206/344/274/232/350/256/256/347/255/271/345/244/207/344/274/232/344/270/212/347/232/204/350/256/262/350/257/235.md" +0 -0
  938. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/153-/350/256/272/344/272/272/346/260/221/346/260/221/344/270/273/344/270/223/346/224/277--/347/272/252/345/277/265/344/270/255/345/233/275/345/205/261/344/272/247/345/205/232/344/272/214/345/215/201/345/205/253/345/221/250/345/271/264.md" +0 -0
  939. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/154-/344/270/242/346/216/211/345/271/273/346/203/263/357/274/214/345/207/206/345/244/207/346/226/227/344/272/211.md" +0 -0
  940. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/155-/345/210/253/344/272/206/357/274/214/345/217/270/345/276/222/351/233/267/347/231/273.md" +0 -0
  941. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/156-/342/200/234/345/217/213/350/260/212/342/200/235/357/274/214/350/277/230/346/230/257/344/276/265/347/225/245/357/274/237.md" +0 -0
  942. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/157-/344/270/272/344/273/200/344/271/210/350/246/201/350/256/250/350/256/272/347/231/275/347/232/256/344/271/246/357/274/237.md" +0 -0
  943. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/158-/345/224/257/345/277/203/345/216/206/345/217/262/350/247/202/347/232/204/347/240/264/344/272/247.md" +0 -0
  944. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/159-/344/270/255/345/233/275/344/272/272/346/260/221/347/253/231/350/265/267/346/235/245/344/272/206.md" +0 -0
  945. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/160-/344/270/255/345/233/275/344/272/272/346/260/221/345/244/247/345/233/242/347/273/223/344/270/207/345/262/201.md" +0 -0
  946. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/161-/344/272/272/346/260/221/350/213/261/351/233/204/344/273/254/346/260/270/345/236/202/344/270/215/346/234/275.md" +0 -0
  947. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/162-/346/260/270/350/277/234/344/277/235/346/214/201/350/211/260/350/213/246/345/245/213/346/226/227/347/232/204/344/275/234/351/243/216.md" +0 -0
  948. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/163-/345/276/201/350/257/242/345/257/271/345/276/205/345/257/214/345/206/234/347/255/226/347/225/245/351/227/256/351/242/230/347/232/204/346/204/217/350/247/201.md" +0 -0
  949. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/164-/344/270/272/344/272/211/345/217/226/345/233/275/345/256/266/350/264/242/346/224/277/347/273/217/346/265/216/347/212/266/345/206/265/347/232/204/345/237/272/346/234/254/345/245/275/350/275/254/350/200/214/346/226/227/344/272/211.md" +0 -0
  950. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/165-/344/270/215/350/246/201/345/233/233/351/235/242/345/207/272/345/207/273.md" +0 -0
  951. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/166-/345/201/232/344/270/200/344/270/252/345/256/214/345/205/250/347/232/204/351/235/251/345/221/275/346/264/276.md" +0 -0
  952. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/167-/344/275/240/344/273/254/346/230/257/345/205/250/346/260/221/346/227/217/347/232/204/346/250/241/350/214/203/344/272/272/347/211/251.md" +0 -0
  953. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/168-/347/273/231/344/270/255/345/233/275/344/272/272/346/260/221/345/277/227/346/204/277/345/206/233/347/232/204/345/221/275/344/273/244.md" +0 -0
  954. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/169-/344/270/255/345/233/275/344/272/272/346/260/221/345/277/227/346/204/277/345/206/233/350/246/201/347/210/261/346/212/244/346/234/235/351/262/234/347/232/204/344/270/200/345/261/261/344/270/200/346/260/264/344/270/200/350/215/211/344/270/200/346/234/250.md" +0 -0
  955. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/170-/344/270/255/345/205/261/344/270/255/345/244/256/346/224/277/346/262/273/345/261/200/346/211/251/345/244/247/344/274/232/350/256/256/345/206/263/350/256/256/350/246/201/347/202/271.md" +0 -0
  956. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/171-/351/225/207/345/216/213/345/217/215/351/235/251/345/221/275/345/277/205/351/241/273/345/256/236/350/241/214/345/205/232/347/232/204/347/276/244/344/274/227/350/267/257/347/272/277.md" +0 -0
  957. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/172-/351/225/207/345/216/213/345/217/215/351/235/251/345/221/275/345/277/205/351/241/273/346/211/223/345/276/227/347/250/263/357/274/214/346/211/223/345/276/227/345/207/206/357/274/214/346/211/223/345/276/227/347/213/240.md" +0 -0
  958. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/173-/345/272/224/345/275/223/351/207/215/350/247/206/347/224/265/345/275/261/343/200/212/346/255/246/350/256/255/344/274/240/343/200/213/347/232/204/350/256/250/350/256/272.md" +0 -0
  959. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/174-/344/270/211/345/244/247/350/277/220/345/212/250/347/232/204/344/274/237/345/244/247/350/203/234/345/210/251.md" +0 -0
  960. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/175-/345/205/263/344/272/216/342/200/234/344/270/211/345/217/215/342/200/235/343/200/201/342/200/234/344/272/224/345/217/215/342/200/235/347/232/204/346/226/227/344/272/211.md" +0 -0
  961. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/176-/346/212/212/345/206/234/344/270/232/344/272/222/345/212/251/345/220/210/344/275/234/345/275/223/344/275/234/344/270/200/344/273/266/345/244/247/344/272/213/345/216/273/345/201/232.md" +0 -0
  962. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/177-/345/205/203/346/227/246/347/245/235/350/257/215.md" +0 -0
  963. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/178-/344/270/255/345/205/261/344/270/255/345/244/256/345/205/263/344/272/216/350/245/277/350/227/217/345/267/245/344/275/234/346/226/271/351/222/210/347/232/204/346/214/207/347/244/272.md" +0 -0
  964. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/179-/345/267/245/344/272/272/351/230/266/347/272/247/344/270/216/350/265/204/344/272/247/351/230/266/347/272/247/347/232/204/347/237/233/347/233/276/346/230/257/345/233/275/345/206/205/347/232/204/344/270/273/350/246/201/347/237/233/347/233/276.md" +0 -0
  965. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/180-/345/233/242/347/273/223/350/265/267/346/235/245/357/274/214/345/210/222/346/270/205/346/225/214/346/210/221/347/225/214/351/231/220.md" +0 -0
  966. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/181-/347/245/235/350/264/272/344/270/255/345/233/275/344/272/272/346/260/221/345/277/227/346/204/277/345/206/233/347/232/204/351/207/215/345/244/247/350/203/234/345/210/251.md" +0 -0
  967. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/182-/345/217/215/345/257/271/345/256/230/345/203/232/344/270/273/344/271/211/343/200/201/345/221/275/344/273/244/344/270/273/344/271/211/345/222/214/350/277/235/346/263/225/344/271/261/347/272/252.md" +0 -0
  968. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/183-/346/211/271/345/210/244/345/244/247/346/261/211/346/227/217/344/270/273/344/271/211.md" +0 -0
  969. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/184-/350/247/243/345/206/263/342/200/234/344/272/224/345/244/232/342/200/235/351/227/256/351/242/230.md" +0 -0
  970. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/185-/345/257/271/345/210/230/345/260/221/345/245/207/343/200/201/346/235/250/345/260/232/346/230/206/347/240/264/345/235/217/347/272/252/345/276/213/346/223/205/350/207/252/344/273/245/344/270/255/345/244/256/345/220/215/344/271/211/345/217/221/345/207/272/346/226/207/344/273/266/347/232/204/346/211/271/350/257/204.md" +0 -0
  971. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/186-/346/211/271/345/210/244/347/246/273/345/274/200/346/200/273/350/267/257/347/272/277/347/232/204/345/217/263/345/200/276/350/247/202/347/202/271.md" +0 -0
  972. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/187-/351/235/222/345/271/264/345/233/242/347/232/204/345/267/245/344/275/234/350/246/201/347/205/247/351/241/276/351/235/222/345/271/264/347/232/204/347/211/271/347/202/271.md" +0 -0
  973. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/188-/345/205/263/344/272/216/345/233/275/345/256/266/350/265/204/346/234/254/344/270/273/344/271/211.md" +0 -0
  974. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/189-/345/205/232/345/234/250/350/277/207/346/270/241/346/227/266/346/234/237/347/232/204/346/200/273/350/267/257/347/272/277.md" +0 -0
  975. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/190-/345/217/215/345/257/271/345/205/232/345/206/205/347/232/204/350/265/204/344/272/247/351/230/266/347/272/247/346/200/235/346/203/263.md" +0 -0
  976. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/191-/346/224/271/351/200/240/350/265/204/346/234/254/344/270/273/344/271/211/345/267/245/345/225/206/344/270/232/347/232/204/345/277/205/347/273/217/344/271/213/350/267/257.md" +0 -0
  977. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/192-/346/212/227/347/276/216/346/217/264/346/234/235/347/232/204/344/274/237/345/244/247/350/203/234/345/210/251/345/222/214/344/273/212/345/220/216/347/232/204/344/273/273/345/212/241.md" +0 -0
  978. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/193-/346/211/271/345/210/244/346/242/201/346/274/261/346/272/237/347/232/204/345/217/215/345/212/250/346/200/235/346/203/263.md" +0 -0
  979. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/194-/345/205/263/344/272/216/345/206/234/344/270/232/344/272/222/345/212/251/345/220/210/344/275/234/347/232/204/344/270/244/346/254/241/350/260/210/350/257/235.md" +0 -0
  980. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/195-/345/205/263/344/272/216/344/270/255/345/215/216/344/272/272/346/260/221/345/205/261/345/222/214/345/233/275/345/256/252/346/263/225/350/215/211/346/241/210.md" +0 -0
  981. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/196-/344/270/272/345/273/272/350/256/276/344/270/200/344/270/252/344/274/237/345/244/247/347/232/204/347/244/276/344/274/232/344/270/273/344/271/211/345/233/275/345/256/266/350/200/214/345/245/213/346/226/227.md" +0 -0
  982. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/197-/345/205/263/344/272/216/343/200/212/347/272/242/346/245/274/346/242/246/343/200/213/347/240/224/347/251/266/351/227/256/351/242/230/347/232/204/344/277/241.md" +0 -0
  983. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/198-/345/216/237/345/255/220/345/274/271/345/220/223/344/270/215/345/200/222/344/270/255/345/233/275/344/272/272/346/260/221.md" +0 -0
  984. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/199-/345/234/250/344/270/255/345/233/275/345/205/261/344/272/247/345/205/232/345/205/250/345/233/275/344/273/243/350/241/250/344/274/232/350/256/256/344/270/212/347/232/204/350/256/262/350/257/235.md" +0 -0
  985. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/200-/351/251/263/342/200/234/350/210/206/350/256/272/344/270/200/345/276/213/342/200/235.md" +0 -0
  986. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/201-/343/200/212/345/205/263/344/272/216/350/203/241/351/243/216/345/217/215/351/235/251/345/221/275/351/233/206/345/233/242/347/232/204/346/235/220/346/226/231/343/200/213/347/232/204/345/272/217/350/250/200/345/222/214/346/214/211/350/257/255.md" +0 -0
  987. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/202-/345/205/263/344/272/216/345/206/234/344/270/232/345/220/210/344/275/234/345/214/226/351/227/256/351/242/230.md" +0 -0
  988. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/203-/345/206/234/344/270/232/345/220/210/344/275/234/345/214/226/345/277/205/351/241/273/344/276/235/351/235/240/345/205/232/345/233/242/345/221/230/345/222/214/350/264/253/345/206/234/344/270/213/344/270/255/345/206/234.md" +0 -0
  989. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/204-/345/206/234/344/270/232/345/220/210/344/275/234/345/214/226/347/232/204/344/270/200/345/234/272/350/276/251/350/256/272/345/222/214/345/275/223/345/211/215/347/232/204/351/230/266/347/272/247/346/226/227/344/272/211.md" +0 -0
  990. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/205-/343/200/212/344/270/255/345/233/275/345/206/234/346/235/221/347/232/204/347/244/276/344/274/232/344/270/273/344/271/211/351/253/230/346/275/256/343/200/213/347/232/204/345/272/217/350/250/200.md" +0 -0
  991. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/206-/343/200/212/344/270/255/345/233/275/345/206/234/346/235/221/347/232/204/347/244/276/344/274/232/344/270/273/344/271/211/351/253/230/346/275/256/343/200/213/347/232/204/346/214/211/350/257/255.md" +0 -0
  992. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/207-/345/276/201/350/257/242/345/257/271/345/206/234/344/270/232/345/215/201/344/270/203/346/235/241/347/232/204/346/204/217/350/247/201.md" +0 -0
  993. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/208-/345/212/240/345/277/253/346/211/213/345/267/245/344/270/232/347/232/204/347/244/276/344/274/232/344/270/273/344/271/211/346/224/271/351/200/240.md" +0 -0
  994. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/209-/350/256/272/345/215/201/345/244/247/345/205/263/347/263/273.md" +0 -0
  995. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/210-/347/276/216/345/270/235/345/233/275/344/270/273/344/271/211/346/230/257/347/272/270/350/200/201/350/231/216.md" +0 -0
  996. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/211-/345/242/236/345/274/272/345/205/232/347/232/204/345/233/242/347/273/223/357/274/214/347/273/247/346/211/277/345/205/232/347/232/204/344/274/240/347/273/237.md" +0 -0
  997. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/212-/346/210/221/344/273/254/345/205/232/347/232/204/342/200/224/344/272/233/345/216/206/345/217/262/347/273/217/351/252/214.md" +0 -0
  998. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/213-/347/272/252/345/277/265/345/255/231/344/270/255/345/261/261/345/205/210/347/224/237.md" +0 -0
  999. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/214-/345/234/250/344/270/255/345/233/275/345/205/261/344/272/247/345/205/232/347/254/254/345/205/253/345/261/212/344/270/255/345/244/256/345/247/224/345/221/230/344/274/232/347/254/254/344/272/214/346/254/241/345/205/250/344/275/223/344/274/232/350/256/256/344/270/212/347/232/204/350/256/262/350/257/235.md" +0 -0
  1000. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/215-/345/234/250/347/234/201/345/270/202/350/207/252/346/262/273/345/214/272/345/205/232/345/247/224/344/271/246/350/256/260/344/274/232/350/256/256/344/270/212/347/232/204/350/256/262/350/257/235.md" +0 -0
  1001. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/216-/345/205/263/344/272/216/346/255/243/347/241/256/345/244/204/347/220/206/344/272/272/346/260/221/345/206/205/351/203/250/347/237/233/347/233/276/347/232/204/351/227/256/351/242/230.md" +0 -0
  1002. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/217-/345/234/250/344/270/255/345/233/275/345/205/261/344/272/247/345/205/232/345/205/250/345/233/275/345/256/243/344/274/240/345/267/245/344/275/234/344/274/232/350/256/256/344/270/212/347/232/204/350/256/262/350/257/235.md" +0 -0
  1003. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/218-/345/235/232/346/214/201/350/211/260/350/213/246/345/245/213/346/226/227/357/274/214/345/257/206/345/210/207/350/201/224/347/263/273/347/276/244/344/274/227.md" +0 -0
  1004. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/219-/344/272/213/346/203/205/346/255/243/345/234/250/350/265/267/345/217/230/345/214/226.md" +0 -0
  1005. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/220-/344/270/255/345/233/275/345/205/261/344/272/247/345/205/232/346/230/257/345/205/250/344/270/255/345/233/275/344/272/272/346/260/221/347/232/204/351/242/206/345/257/274/346/240/270/345/277/203.md" +0 -0
  1006. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/221-/347/273/204/347/273/207/345/212/233/351/207/217/345/217/215/345/207/273/345/217/263/346/264/276/345/210/206/345/255/220/347/232/204/347/214/226/347/213/202/350/277/233/346/224/273.md" +0 -0
  1007. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/222-/346/226/207/346/261/207/346/212/245/347/232/204/350/265/204/344/272/247/351/230/266/347/272/247/346/226/271/345/220/221/345/272/224/345/275/223/346/211/271/345/210/244.md" +0 -0
  1008. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/223-/346/211/223/351/200/200/350/265/204/344/272/247/351/230/266/347/272/247/345/217/263/346/264/276/347/232/204/350/277/233/346/224/273.md" +0 -0
  1009. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/224-/344/270/200/344/271/235/344/272/224/344/270/203/345/271/264/345/244/217/345/255/243/347/232/204/345/275/242/345/212/277.md" +0 -0
  1010. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/225-/345/201/232/351/235/251/345/221/275/347/232/204/344/277/203/350/277/233/346/264/276.md" +0 -0
  1011. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/226-/345/235/232/345/256/232/345/234/260/347/233/270/344/277/241/347/276/244/344/274/227/347/232/204/345/244/247/345/244/232/346/225/260.md" +0 -0
  1012. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/227-/345/205/232/345/206/205/345/233/242/347/273/223/347/232/204/350/276/251/350/257/201/346/226/271/346/263/225.md" +0 -0
  1013. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/books/src/228-/344/270/200/345/210/207/345/217/215/345/212/250/346/264/276/351/203/275/346/230/257/347/272/270/350/200/201/350/231/216.md" +0 -0
  1014. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/10-personality-profile.md +0 -0
  1015. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/11-analysis-frameworks.md +0 -0
  1016. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/12-strategy-frameworks.md +0 -0
  1017. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/13-organization-action.md +0 -0
  1018. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/14-voice-and-dialogue.md +0 -0
  1019. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/15-quote-bank.md +0 -0
  1020. /package/template/workflows/person/{S-steelman-deliberation/_templates → person-s-steelman-deliberation/assets/templates}/decision-template.md +0 -0
  1021. /package/template/workflows/person/{S-steelman-deliberation/_templates → person-s-steelman-deliberation/assets/templates}/steelman-dossier-template.md +0 -0
  1022. /package/template/workflows/person/{S-steelman-deliberation → person-s-steelman-deliberation/references}/deliberate.md +0 -0
  1023. /package/template/workflows/person/{S-steelman-deliberation → person-s-steelman-deliberation/references}/evidence-gate.md +0 -0
  1024. /package/template/workflows/person/{S-steelman-deliberation → person-s-steelman-deliberation/references}/judge.md +0 -0
  1025. /package/template/workflows/specdev/{D-diagnose-bugs → specdev-d-diagnose-bugs}/scripts/hitl-loop.template.sh +0 -0
  1026. /package/template/workflows/specdev/{G-grill-with-docs → specdev-g-grill-with-docs/assets}/design-tree-template.json +0 -0
  1027. /package/template/workflows/specdev/{G-grill-with-docs → specdev-g-grill-with-docs/references}/log-format.md +0 -0
  1028. /package/template/workflows/specdev/{G-grill-with-docs → specdev-g-grill-with-docs/references}/stakeholder-questionnaire.md +0 -0
  1029. /package/template/workflows/specdev/{P-goal-plan → specdev-p-goal-plan}/references/multi-conflict-and-drift.md +0 -0
  1030. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype/assets}/logic-template.md +0 -0
  1031. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/METHODOLOGY.md +0 -0
  1032. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/README.md +0 -0
  1033. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/data/extended-projects.json +0 -0
  1034. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/data/projects.json +0 -0
  1035. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/reference/USAGE.md +0 -0
  1036. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/reference/design-tokens.css +0 -0
  1037. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/report/OPEN_SOURCE_UI_RESEARCH_2026.md +0 -0
  1038. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/PROJECT_TEMPLATE.md +0 -0
  1039. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/README.md +0 -0
  1040. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/claude-code-modern-clients.md +0 -0
  1041. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/creative-ai-communication.md +0 -0
  1042. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/data-dev-tools.md +0 -0
  1043. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/personal-multiplatform-apps.md +0 -0
  1044. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/productivity-collaboration.md +0 -0
  1045. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/01-dense-ide.html +0 -0
  1046. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/02-monochrome-console.html +0 -0
  1047. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/03-soft-personal-ai.html +0 -0
  1048. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/04-responsive-web.html +0 -0
  1049. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/05-mobile-supervisor.html +0 -0
  1050. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/06-cross-platform-workspace.html +0 -0
  1051. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/07-local-first-content.html +0 -0
  1052. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/08-media-first.html +0 -0
  1053. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/README.md +0 -0
  1054. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/assets/ATTRIBUTION.md +0 -0
  1055. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/assets/landscape.jpg +0 -0
  1056. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/assets/lucide.js +0 -0
  1057. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/assets/mountain.jpg +0 -0
  1058. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/assets/workspace.jpg +0 -0
  1059. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/index.html +0 -0
  1060. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/package-lock.json +0 -0
  1061. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/package.json +0 -0
  1062. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/screenshots/index-desktop.png +0 -0
  1063. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/scripts/gallery.js +0 -0
  1064. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/styles/base.css +0 -0
  1065. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/styles/pages.css +0 -0
  1066. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/tests/gallery.spec.js +0 -0
  1067. /package/template/workflows/specdev/{P-prototype/tools → specdev-p-prototype/scripts}/materialize-prototype.mjs +0 -0
  1068. /package/template/workflows/specdev/{T-triage → specdev-t-triage/assets}/pr-record-template.md +0 -0
  1069. /package/template/workflows/specdev/{T-triage → specdev-t-triage/assets}/publish-template.md +0 -0
  1070. /package/template/workflows/specdev/{T-triage → specdev-t-triage/assets}/source-template.md +0 -0
  1071. /package/template/workflows/specdev/{T-triage → specdev-t-triage/assets}/triage-run-template.md +0 -0
  1072. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/references/classification-map.md +0 -0
  1073. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/references/public-projection.md +0 -0
  1074. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/references/release-authentication.md +0 -0
  1075. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/references/release-notes-injection.md +0 -0
  1076. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/references/workflow-yaml-reference.md +0 -0
  1077. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/scripts/github-transport.mjs +0 -0
  1078. /package/template/workflows/specdev/{W-wayfinder → specdev-w-wayfinder/assets}/solution-comment-template.md +0 -0
  1079. /package/template/workflows/specdev/{W-wayfinder → specdev-w-wayfinder}/references/initiative-template.json +0 -0
@@ -19,44 +19,51 @@ import {
19
19
  import { execFileSync } from "node:child_process";
20
20
  import { dirname, basename, extname, join, relative, resolve, sep, isAbsolute } from "node:path";
21
21
  import { fileURLToPath } from "node:url";
22
+ import { parseFrontmatter as parseYaml, validateSkill } from "../../../../lib/speculo-runtime.mjs";
23
+
24
+ import * as runtime from "../../../../lib/speculo-runtime.mjs";
22
25
 
23
26
  import {
24
27
  validateTicketPlan, validatePlanMap, validateInvocationCoverage,
25
- validateGoalMap, validateInitiative, resolveProjectSource,
28
+ validateGoalMap, validateInitiative, resolveProjectSource, readChangeExecution, readSpecification, resolveToolContext, validateExecutionPolicy, canonicalToolPath, resolveSnapshotContext, readLightweightGoal, validateAcceptanceEvidence,
26
29
  } from "./plan-contract.mjs";
27
30
 
31
+ import { validateChangeClosure } from "./change-artifacts.mjs";
28
32
  import { validateRecord, validateRecords } from "./delivery-artifacts.mjs";
33
+ import { reviewScopeCLI } from "./review-scope.mjs";
34
+ import { ENGINEERING_KINDS, validateEngineeringArtifacts, validateEngineeringPackage } from "./engineering-evidence.mjs";
29
35
 
30
36
  const DOMAIN_SCHEMA_VERSION = 3;
31
- const CONFIG_SCHEMA_VERSION = 6;
32
- const GOAL_PLAN_SCHEMA_VERSION = 6;
37
+ const CONFIG_SCHEMA_VERSION = 7;
38
+ const GOAL_PLAN_SCHEMA_VERSION = 7;
33
39
  const IMPLEMENTATION_MAP_SCHEMA_VERSION = 1;
34
- const IMPLEMENTATION_PLAN_SCHEMA_VERSION = 1;
40
+ const IMPLEMENTATION_PLAN_SCHEMA_VERSION = 2;
35
41
  const CHANGE_STATUS_SCHEMA_VERSION = 6;
36
42
  const GLOBAL_STATUS_SCHEMA_VERSION = 5;
37
43
  const WORKFLOW_PREFIX = "{roots.workflows}/specdev/";
38
44
  const STATE_PREFIX = "{roots.state}/specdev/";
39
45
  const STATE_ROOT_PREFIX = "{roots.state}/";
46
+ const REFERENCES_PREFIX = "{roots.references}/";
40
47
  const SKILLS_PREFIX = "{roots.skills}/";
41
48
  const COMMANDS_PREFIX = "{roots.commands}/";
42
49
  const CHANGE_NAME = /^[0-9]{4}-[0-9]{2}-[0-9]{2}-[a-z0-9]+(?:-[a-z0-9]+)*$/;
43
50
 
44
51
  const EXPECTED_WORKS = new Set([
45
- "A-archive-and-consolidate",
46
- "C-code-review",
47
- "D-diagnose-bugs",
48
- "G-grill-with-docs",
49
- "I-implement",
50
- "I-init-setup",
51
- "L-learn-change",
52
- "P-goal-plan",
53
- "P-prototype",
54
- "R-review-architecture",
55
- "R-retro",
56
- "S-spec",
57
- "T-tickets",
58
- "T-triage",
59
- "W-wayfinder",
52
+ "specdev-a-archive-and-consolidate",
53
+ "specdev-c-code-review",
54
+ "specdev-d-diagnose-bugs",
55
+ "specdev-g-grill-with-docs",
56
+ "specdev-i-implement",
57
+ "specdev-i-init-setup",
58
+ "specdev-l-learn-change",
59
+ "specdev-p-goal-plan",
60
+ "specdev-p-prototype",
61
+ "specdev-r-review-architecture",
62
+ "specdev-r-retro",
63
+ "specdev-s-spec",
64
+ "specdev-t-tickets",
65
+ "specdev-t-triage",
66
+ "specdev-w-wayfinder",
60
67
  ]);
61
68
  const EXPECTED_COMMON_DIRS = new Set(["rules", "schemas", "skills", "tools"]);
62
69
  const VALID_TICKET_STATUS = new Set([
@@ -172,6 +179,8 @@ const VALID_STAGES = new Set([
172
179
  "prototype",
173
180
  "wayfinder",
174
181
  "complete",
182
+ "archive-ready",
183
+ "archived",
175
184
  ]);
176
185
  const REQUIRED_TICKET_KEYS = new Set([
177
186
  "schema_version",
@@ -212,7 +221,7 @@ const REQUIRED_GOAL_PLAN_SECTIONS = new Set([
212
221
  ]);
213
222
  const REQUIRED_LEAD_GOAL_PLAN_MARKERS = [
214
223
  "### Lead Orchestration",
215
- "Implementation subagents",
224
+ "Concurrent implementations",
216
225
  "Read-only agents",
217
226
  "execution-time dynamic",
218
227
  "### Ticket Workspace and Integration",
@@ -267,7 +276,7 @@ function toPosix(value) {
267
276
  }
268
277
 
269
278
  function readText(path) {
270
- return readFileSync(path, "utf8");
279
+ return runtime.readUtf8ArtifactSync(path);
271
280
  }
272
281
 
273
282
  function isFile(path) {
@@ -289,196 +298,17 @@ function walk(root) {
289
298
  return paths;
290
299
  }
291
300
 
292
- function parseScalar(raw) {
293
- const value = raw.trim();
294
- if (value === "true" || value === "True") return true;
295
- if (value === "false" || value === "False") return false;
296
- if (value === "null" || value === "Null" || value === "~") return null;
297
- if (/^-?\d+$/.test(value)) return Number(value);
298
- if (
299
- (value.startsWith('"') && value.endsWith('"')) ||
300
- (value.startsWith("'") && value.endsWith("'"))
301
- ) {
302
- return value.slice(1, -1);
303
- }
304
- if (value.startsWith("[") && value.endsWith("]")) {
305
- // JSON object arrays are used by the additive Skill invocation contract.
306
- // Keep the existing plain YAML scalar-list form for old artifacts.
307
- try { return JSON.parse(value); } catch { /* legacy scalar list below */ }
308
- const inner = value.slice(1, -1).trim();
309
- if (inner.startsWith("{")) throw new Error("invalid JSON object array in frontmatter");
310
- if (!inner) return [];
311
- return inner.split(",").map((item) => parseScalar(item));
312
- }
313
- if (value.startsWith("{") && value.endsWith("}")) {
314
- try {
315
- return JSON.parse(value);
316
- } catch {
317
- return value;
318
- }
319
- }
320
- return value;
321
- }
322
-
323
- function findSpecdevConfigByAncestry(change) {
324
- let current = resolve(change);
325
- while (true) {
326
- const candidate = join(current, ".speculo", "specdev", "config.json");
327
- if (isFile(candidate)) {
328
- try {
329
- return JSON.parse(readText(candidate));
330
- } catch {
331
- return null;
332
- }
333
- }
334
- const parent = dirname(current);
335
- if (parent === current) return null;
336
- current = parent;
337
- }
338
- }
339
-
340
- function uniqueResolved(paths) {
341
- const seen = new Set();
342
- const result = [];
343
- for (const path of paths) {
344
- const resolved = resolve(path);
345
- if (seen.has(resolved)) continue;
346
- seen.add(resolved);
347
- result.push(resolved);
348
- }
349
- return result;
350
- }
351
-
352
- function ancestorsOf(start) {
353
- const dirs = [];
354
- let current = resolve(start);
355
- while (true) {
356
- dirs.push(current);
357
- const parent = dirname(current);
358
- if (parent === current) break;
359
- current = parent;
360
- }
361
- return dirs;
362
- }
363
-
364
- function parseWorkspaceCandidate(filePath, projectRoot) {
365
- if (!isFile(filePath)) return null;
366
- let data;
301
+ function resolveWorkspaceContract(repoRoot, change, options = {}) {
367
302
  try {
368
- data = JSON.parse(readText(filePath));
369
- } catch {
370
- return null;
371
- }
372
- if (!data || typeof data !== "object" || Array.isArray(data)) return null;
373
- if (data.schema_version !== 1 || data.path_base !== "project-root") return null;
374
- const state = data.roots?.state;
375
- if (typeof state !== "string" || !state.trim()) return null;
376
- const declared = toPosix(state).replace(/^\.?\//, "").replace(/\/$/, "");
377
- if (
378
- !declared ||
379
- declared.split("/").includes("..") ||
380
- isAbsolute(declared) ||
381
- ABSOLUTE_MACHINE_PATH_RE.test(declared)
382
- ) {
383
- return null;
384
- }
385
- const expected = resolve(projectRoot, declared, "workspace.json");
386
- if (expected !== resolve(filePath)) return null;
387
- return {
388
- filePath: resolve(filePath),
389
- projectRoot: resolve(projectRoot),
390
- stateDeclared: declared,
391
- stateRoot: resolve(projectRoot, declared),
392
- data,
393
- };
394
- }
395
-
396
- function workspaceProbes(projectRoot) {
397
- const root = resolve(projectRoot);
398
- return [
399
- { projectRoot: root, filePath: join(root, "speculo", ".speculo", "workspace.json") },
400
- { projectRoot: root, filePath: join(root, ".speculo", "workspace.json") },
401
- ];
402
- }
403
-
404
- function collectWorkspaceCandidates(repoRoot, change) {
405
- const probes = [];
406
- if (repoRoot) {
407
- probes.push(...workspaceProbes(repoRoot));
408
- } else {
409
- for (const dir of uniqueResolved([...ancestorsOf(change), ...ancestorsOf(process.cwd())])) {
410
- probes.push(...workspaceProbes(dir));
411
- }
412
- }
413
- const found = new Map();
414
- for (const probe of probes) {
415
- const parsed = parseWorkspaceCandidate(probe.filePath, probe.projectRoot);
416
- if (!parsed) continue;
417
- if (!found.has(parsed.filePath)) found.set(parsed.filePath, parsed);
418
- }
419
- return [...found.values()];
420
- }
421
-
422
- function isLegalChangeLocation(changeAbs, stateRoot) {
423
- const name = basename(changeAbs);
424
- if (resolve(stateRoot, "specdev", "changes", name) === changeAbs) return true;
425
- const monthDir = dirname(changeAbs);
426
- const archiveRoot = dirname(monthDir);
427
- return (
428
- /^\d{4}-\d{2}$/.test(basename(monthDir)) &&
429
- resolve(stateRoot, "specdev", "archive") === archiveRoot &&
430
- basename(changeAbs) === name
431
- );
432
- }
433
-
434
- function resolveWorkspaceContract(repoRoot, change) {
435
- const changeAbs = resolve(change);
436
- const candidates = collectWorkspaceCandidates(repoRoot, changeAbs);
437
- if (!candidates.length) {
438
- return { mode: "legacy", errors: [], config: null, specdevRoot: null, stateDeclared: null };
439
- }
440
- const uniqueRoots = uniqueResolved(candidates.map((candidate) => candidate.stateRoot));
441
- if (uniqueRoots.length > 1) {
442
- const declared = [...new Set(candidates.map((candidate) => candidate.stateDeclared))].sort();
443
- return {
444
- mode: "strict",
445
- errors: [`conflicting workspace.json roots.state (${declared.join(" vs ")})`],
446
- config: null,
447
- specdevRoot: null,
448
- stateDeclared: null,
449
- };
450
- }
451
- const workspace = candidates[0];
452
- const specdevRoot = join(workspace.stateRoot, "specdev");
453
- const errors = [];
454
- if (!isLegalChangeLocation(changeAbs, workspace.stateRoot)) {
455
- errors.push(
456
- `change is outside workspace roots.state (${workspace.stateDeclared}/specdev); project-root .speculo/specdev is illegal`,
457
- );
458
- }
459
- let config = null;
460
- const configPath = join(specdevRoot, "config.json");
461
- if (isFile(configPath)) {
462
- try {
463
- config = JSON.parse(readText(configPath));
464
- } catch {
465
- config = null;
466
- }
467
- }
468
- return {
469
- mode: "strict",
470
- errors,
471
- config,
472
- specdevRoot,
473
- stateDeclared: workspace.stateDeclared,
474
- };
475
- }
476
-
477
- function findSpecdevConfig(change, repoRoot = null) {
478
- const contract = resolveWorkspaceContract(repoRoot, change);
479
- if (contract.mode === "strict") return contract.config;
480
- return findSpecdevConfigByAncestry(change);
303
+ const context = options.readOnlySnapshot ? resolveSnapshotContext(options.readOnlySnapshot) : resolveToolContext(change, { ...options, repoRoot });
304
+ const location = runtime.resolveChangeSync(context, basename(change), { includeArchived: true });
305
+ const errors = canonicalToolPath(context, change) === location.root ? [] : ["change is outside the declared state root"];
306
+ const configPath = join(context.specdevRoot, "config.json");
307
+ const config = existsSync(configPath) ? JSON.parse(readText(runtime.safeWorkPathSync(context.specdevRoot, 'config.json', {mustExist:true,type:'file'}))) : null;
308
+ return { context, errors, config, specdevRoot:context.specdevRoot, stateDeclared:relative(context.projectRoot,context.stateRoot) };
309
+ } catch(error) { return {errors:[String(error)],config:null,specdevRoot:null}; }
481
310
  }
311
+ function findSpecdevConfig(change,repoRoot=null,options={}) {return resolveWorkspaceContract(repoRoot,change,options).config;}
482
312
 
483
313
  function positiveConfigLimit(config, key, fallback) {
484
314
  const value = config?.execution?.[key];
@@ -486,37 +316,10 @@ function positiveConfigLimit(config, key, fallback) {
486
316
  }
487
317
 
488
318
  function parseFrontmatter(path) {
489
- const text = readText(path);
490
- const lines = text.split(/\r?\n/);
491
- if (lines[0]?.trim() !== "---") return { meta: {}, body: text };
492
- const end = lines.findIndex((line, index) => index > 0 && line.trim() === "---");
493
- if (end < 0) return { meta: {}, body: text };
494
-
495
- const meta = {};
496
- let currentListKey = null;
497
- for (const line of lines.slice(1, end)) {
498
- const stripped = line.trim();
499
- if (!stripped || stripped.startsWith("#")) continue;
500
- if (currentListKey && /^\s+-\s+/.test(line)) {
501
- meta[currentListKey].push(parseScalar(line.replace(/^\s+-\s+/, "")));
502
- continue;
503
- }
504
- currentListKey = null;
505
- const colon = line.indexOf(":");
506
- if (colon < 0) continue;
507
- const key = line.slice(0, colon).trim();
508
- if (["__proto__", "constructor", "prototype"].includes(key) || Object.hasOwn(meta, key)) {
509
- throw new Error(`${path}: duplicate or unsafe frontmatter key ${key}`);
510
- }
511
- const raw = line.slice(colon + 1).trim();
512
- if (!raw) {
513
- meta[key] = [];
514
- currentListKey = key;
515
- } else {
516
- meta[key] = parseScalar(raw);
517
- }
518
- }
519
- return { meta, body: lines.slice(end + 1).join("\n") };
319
+ const text=readText(path);
320
+ if(!text.startsWith("---"))return {meta:{},body:text};
321
+ const parsed=parseYaml(text);
322
+ return {meta:parsed.fields,body:parsed.body};
520
323
  }
521
324
 
522
325
  function escapeRegExp(value) {
@@ -659,7 +462,7 @@ function validatePathValue(value, { allowProject = true } = {}) {
659
462
  }
660
463
  return null;
661
464
  }
662
- for (const [prefix, name] of [[SKILLS_PREFIX, "skills"], [COMMANDS_PREFIX, "commands"]]) {
465
+ for (const [prefix, name] of [[SKILLS_PREFIX, "skills"], [REFERENCES_PREFIX,"references"], [COMMANDS_PREFIX, "commands"]]) {
663
466
  if (value.startsWith(prefix)) {
664
467
  const suffix = value.slice(prefix.length);
665
468
  if (
@@ -696,12 +499,13 @@ function validateDocumentReferences(root) {
696
499
  const entries = walk(root);
697
500
  const frozenResearchRoot = join(
698
501
  root,
699
- "P-prototype",
502
+ "specdev-p-prototype",
700
503
  "design-library",
701
504
  "research-snapshot",
702
505
  );
506
+ const upstreamRoot = join(root, "specdev-p-prototype", "design-library", "upstream");
703
507
  const governedEntries = entries.filter(
704
- (path) => path !== frozenResearchRoot && !path.startsWith(`${frozenResearchRoot}${sep}`),
508
+ (path) => ![frozenResearchRoot, upstreamRoot].some(frozen => path === frozen || path.startsWith(`${frozen}${sep}`)),
705
509
  );
706
510
  const knownFiles = new Set(governedEntries.filter(isFile).map((path) => basename(path)));
707
511
  const knownDirectories = new Set(governedEntries.filter(isDirectory).map((path) => basename(path)));
@@ -748,13 +552,13 @@ function validateDocumentReferences(root) {
748
552
  );
749
553
  }
750
554
  }
751
- } else if (payload.startsWith(SKILLS_PREFIX) || payload.startsWith(COMMANDS_PREFIX)) {
752
- const isSkill = payload.startsWith(SKILLS_PREFIX);
753
- const prefix = isSkill ? SKILLS_PREFIX : COMMANDS_PREFIX;
555
+ } else if (payload.startsWith(REFERENCES_PREFIX) || payload.startsWith(COMMANDS_PREFIX)) {
556
+ const isSkill = payload.startsWith(REFERENCES_PREFIX);
557
+ const prefix = isSkill ? REFERENCES_PREFIX : COMMANDS_PREFIX;
754
558
  const referenced = payload.slice(prefix.length);
755
559
  if (!PLACEHOLDER_RE.test(referenced)) {
756
560
  const templateRoot = resolve(root, "..", "..");
757
- const target = join(templateRoot, isSkill ? "skills" : "commands", referenced);
561
+ const target = join(templateRoot, isSkill ? "references" : "commands", referenced);
758
562
  if (!existsSync(target)) {
759
563
  errors.push(`${label}:${lineNumber(text, match.index)}: broken public Path ${payload}`);
760
564
  }
@@ -769,15 +573,29 @@ function validateDocumentReferences(root) {
769
573
  }
770
574
  }
771
575
 
576
+ const workSegment = toPosix(relative(root, path)).split("/")[0];
577
+ const skillRoot = EXPECTED_WORKS.has(workSegment) ? join(root, workSegment) : null;
578
+ const acceptedLinks = [];
772
579
  for (const match of text.matchAll(RELATIVE_MD_LINK_RE)) {
773
- errors.push(
774
- `${label}:${lineNumber(text, match.index)}: relative Markdown link is forbidden: ${match[1]}`,
775
- );
580
+ const target = resolve(dirname(path), match[1].split("#")[0]);
581
+ if (skillRoot && target.startsWith(`${skillRoot}${sep}`) && existsSync(target)) acceptedLinks.push(match[0]);
582
+ else errors.push(`${label}:${lineNumber(text, match.index)}: relative Markdown link crosses its Skill package or is missing: ${match[1]}`);
583
+ }
584
+ // Browser assets need executable relative href/src values, not agent Path
585
+ // tags. Accept only existing targets inside the same Work package.
586
+ if (extname(path).toLowerCase() === ".html" && skillRoot) {
587
+ for (const match of text.matchAll(/(?:href|src)=["']([^"'#]+)(?:#[^"']*)?["']/g)) {
588
+ if (/^[a-z]+:|^\/\//i.test(match[1])) continue;
589
+ const target = resolve(dirname(path), match[1]);
590
+ if (target.startsWith(`${skillRoot}${sep}`) && existsSync(target)) acceptedLinks.push(match[0]);
591
+ else errors.push(`${label}: browser asset link crosses its Skill package or is missing: ${match[1]}`);
592
+ }
776
593
  }
777
594
 
778
595
  let withoutTags = text
779
596
  .replace(/`?\s*<Path>.*?<\/Path>\s*`?/gs, "")
780
597
  .replace(/`?\s*<Url>.*?<\/Url>\s*`?/gs, "");
598
+ for (const link of acceptedLinks) withoutTags = withoutTags.replaceAll(link, "");
781
599
 
782
600
  for (const match of withoutTags.matchAll(/\{roots\.(?:workflows|state)\}/g)) {
783
601
  errors.push(
@@ -850,29 +668,8 @@ function validateJsonFiles(root) {
850
668
 
851
669
  function validateGlobalStatusAssets(root) {
852
670
  const errors = [];
853
- const paths = [join(root, "I-init-setup", "status-template.json")];
854
- if (isDirectory(join(root, "_state"))) {
855
- paths.unshift(join(root, "_state", "status.json"));
856
- }
857
- for (const path of paths) {
858
- if (!isFile(path)) {
859
- errors.push(`missing global status seed ${toPosix(relative(root, path))}`);
860
- continue;
861
- }
862
- const data = JSON.parse(readText(path));
863
- const keys = Object.keys(data).sort();
864
- const expected = ["active", "archived", "schema_version", "workflow"];
865
- if (JSON.stringify(keys) !== JSON.stringify(expected)) {
866
- errors.push(`${toPosix(relative(root, path))}: global status must contain only ${expected.join(", ")}`);
867
- }
868
- if (
869
- data.schema_version !== GLOBAL_STATUS_SCHEMA_VERSION ||
870
- data.workflow !== "specdev" ||
871
- !Array.isArray(data.active) ||
872
- !Array.isArray(data.archived)
873
- ) {
874
- errors.push(`${toPosix(relative(root, path))}: invalid SpecDev global status v5 seed`);
875
- }
671
+ for (const path of [join(root,"_state/status.json"),join(root,"specdev-i-init-setup/assets/status-template.json"),join(root,"specdev-i-init-setup/assets/change-status-template.json")]) {
672
+ if (existsSync(path)) errors.push(`retired business status must not be distributed as a new seed: ${toPosix(relative(root,path))}`);
876
673
  }
877
674
 
878
675
  const schemaPath = join(root, "common", "schemas", "status.schema.json");
@@ -898,8 +695,7 @@ function validateGlobalStatusAssets(root) {
898
695
 
899
696
  function validateExecutionContractAssets(root) {
900
697
  const errors = [];
901
- const configTemplatePath = join(root, "I-init-setup", "config-template.json");
902
- const changeTemplatePath = join(root, "I-init-setup", "change-status-template.json");
698
+ const configTemplatePath = join(root, "specdev-i-init-setup", "assets/config-template.json");
903
699
  const configSchemaPath = join(root, "common", "schemas", "config.schema.json");
904
700
  const goalPlanSchemaPath = join(root, "common", "schemas", "goal-plan.schema.json");
905
701
  const changeSchemaPath = join(root, "common", "schemas", "change-status.schema.json");
@@ -908,7 +704,6 @@ function validateExecutionContractAssets(root) {
908
704
 
909
705
  for (const path of [
910
706
  configTemplatePath,
911
- changeTemplatePath,
912
707
  configSchemaPath,
913
708
  goalPlanSchemaPath,
914
709
  changeSchemaPath,
@@ -922,8 +717,8 @@ function validateExecutionContractAssets(root) {
922
717
  const configTemplate = JSON.parse(readText(configTemplatePath));
923
718
  if (
924
719
  configTemplate.schema_version !== CONFIG_SCHEMA_VERSION ||
925
- !Number.isInteger(configTemplate.execution?.max_implementation_agents) ||
926
- configTemplate.execution.max_implementation_agents < 1 ||
720
+ !Number.isInteger(configTemplate.execution?.max_concurrent_implementations) ||
721
+ configTemplate.execution.max_concurrent_implementations < 1 ||
927
722
  !Number.isInteger(configTemplate.execution?.max_integration_attempts) ||
928
723
  configTemplate.execution.max_integration_attempts < 1 ||
929
724
  !Number.isInteger(configTemplate.planning?.ui_design_default_candidates) ||
@@ -932,7 +727,7 @@ function validateExecutionContractAssets(root) {
932
727
  configTemplate.planning.ui_design_max_candidates > 4 ||
933
728
  configTemplate.planning.ui_design_max_candidates < configTemplate.planning.ui_design_default_candidates
934
729
  ) {
935
- errors.push("config-template.json must define SpecDev config v6 with positive execution limits and valid UI design candidate bounds");
730
+ errors.push("config-template.json must define SpecDev config v7 with positive execution limits and valid UI design candidate bounds");
936
731
  }
937
732
  for (const obsolete of ["auto_commit", "worktree_for_parallel", "max_parallel"]) {
938
733
  if (JSON.stringify(configTemplate).includes(`\"${obsolete}\"`)) {
@@ -941,38 +736,29 @@ function validateExecutionContractAssets(root) {
941
736
  }
942
737
 
943
738
  const configSchema = JSON.parse(readText(configSchemaPath));
944
- const limit = configSchema.properties?.execution?.properties?.max_implementation_agents;
739
+ const limit = configSchema.properties?.execution?.properties?.max_concurrent_implementations;
945
740
  if (
946
- configSchema.$id !== "urn:speculo:specdev:config:v6" ||
741
+ configSchema.$id !== "urn:speculo:specdev:config:v7" ||
947
742
  configSchema.properties?.schema_version?.const !== CONFIG_SCHEMA_VERSION ||
948
743
  limit?.minimum !== 1 ||
949
744
  configSchema.properties?.execution?.properties?.max_integration_attempts?.minimum !== 1 ||
950
745
  configSchema.additionalProperties !== false
951
746
  ) {
952
- errors.push("config.schema.json must define the strict SpecDev config v6 execution contract");
747
+ errors.push("config.schema.json must define the strict SpecDev config v7 execution contract");
953
748
  }
954
749
 
955
750
  const goalPlanSchema = JSON.parse(readText(goalPlanSchemaPath));
956
751
  if (
957
- goalPlanSchema.$id !== "urn:speculo:specdev:goal-plan:v6" ||
752
+ goalPlanSchema.$id !== "urn:speculo:specdev:goal-plan:v7" ||
958
753
  goalPlanSchema.properties?.schema_version?.const !== GOAL_PLAN_SCHEMA_VERSION ||
959
754
  goalPlanSchema.properties?.orchestration?.const !== "lead-directed" ||
960
- goalPlanSchema.properties?.implementation_agent_limit?.minimum !== 1 ||
755
+ goalPlanSchema.properties?.concurrent_implementation_limit?.minimum !== 1 ||
961
756
  goalPlanSchema.properties?.integration_attempt_limit?.minimum !== 1 ||
962
757
  !["current", "required"].every((value) => goalPlanSchema.properties?.ticket_workspace_policy?.enum?.includes(value)) ||
963
758
  !["direct-parent", "candidate-merge"].every((value) => goalPlanSchema.properties?.integration_gate?.enum?.includes(value)) ||
964
759
  goalPlanSchema.additionalProperties !== false
965
760
  ) {
966
- errors.push("goal-plan.schema.json must define the strict Lead-directed Goal Plan v6 workspace strategy contract");
967
- }
968
-
969
- const changeTemplate = JSON.parse(readText(changeTemplatePath));
970
- if (
971
- changeTemplate.schema_version !== CHANGE_STATUS_SCHEMA_VERSION ||
972
- changeTemplate.artifact !== "change-status" ||
973
- !Array.isArray(changeTemplate.worktrees)
974
- ) {
975
- errors.push("change-status-template.json must define the SpecDev change-status v6 seed");
761
+ errors.push("goal-plan.schema.json must define the strict Lead-directed Goal Plan v7 workspace strategy contract");
976
762
  }
977
763
 
978
764
  const changeSchema = JSON.parse(readText(changeSchemaPath));
@@ -999,10 +785,10 @@ function validateExecutionContractAssets(root) {
999
785
  }
1000
786
  const implementationPlanSchema = JSON.parse(readText(implementationPlanSchemaPath));
1001
787
  if (
1002
- implementationPlanSchema.$id !== "urn:speculo:specdev:implementation-plan:v1" ||
788
+ implementationPlanSchema.$id !== "urn:speculo:specdev:implementation-plan:v2" ||
1003
789
  implementationPlanSchema.properties?.schema_version?.const !== IMPLEMENTATION_PLAN_SCHEMA_VERSION ||
1004
790
  implementationPlanSchema.properties?.orchestration?.const !== "lead-directed" ||
1005
- implementationPlanSchema.properties?.implementation_agent_limit?.minimum !== 1 ||
791
+ implementationPlanSchema.properties?.concurrent_implementation_limit?.minimum !== 1 ||
1006
792
  implementationPlanSchema.properties?.integration_attempt_limit?.minimum !== 1 ||
1007
793
  !["current", "required"].every((value) => implementationPlanSchema.properties?.ticket_workspace_policy?.enum?.includes(value)) ||
1008
794
  implementationPlanSchema.additionalProperties !== false
@@ -1017,12 +803,12 @@ function capabilityChecks(root) {
1017
803
  [
1018
804
  "init",
1019
805
  [
1020
- join(root, "I-init-setup", "I-init-setup.md"),
806
+ join(root, "specdev-i-init-setup", "SKILL.md"),
1021
807
  [
1022
- "tracking-template",
1023
- "domain-layout-template",
1024
- "config-template",
1025
- "change-status-template",
808
+ "first-setup.md",
809
+ "current-facts-docs.md",
810
+ "必要偏好",
811
+ "README",
1026
812
  "specdev-worktree/",
1027
813
  ],
1028
814
  ],
@@ -1030,28 +816,28 @@ function capabilityChecks(root) {
1030
816
  [
1031
817
  "triage",
1032
818
  [
1033
- join(root, "T-triage", "T-triage.md"),
819
+ join(root, "specdev-t-triage", "SKILL.md"),
1034
820
  ["intake", "reconcile", "publish", "capture", "capture.md", "pr-delivery", "ci-security", "release-preflight", "recover", "remote-operations.md"],
1035
821
  ],
1036
822
  ],
1037
823
  [
1038
824
  "spec",
1039
825
  [
1040
- join(root, "S-spec", "S-spec.md"),
1041
- ["用户故事", "验收合同", "代码", "CONTEXT", "ADR", "验证接缝", "ready_for_tickets"],
826
+ join(root, "specdev-s-spec", "SKILL.md"),
827
+ ["用户端到端行为", "验收合同", "代码", "CONTEXT", "ADR", "验证接缝", "ready_for_tickets"],
1042
828
  ],
1043
829
  ],
1044
830
  [
1045
831
  "tickets",
1046
832
  [
1047
- join(root, "T-tickets", "T-tickets.md"),
833
+ join(root, "specdev-t-tickets", "SKILL.md"),
1048
834
  ["Prefactor", "垂直切片", "Expand", "与用户核对", "Definition of Ready"],
1049
835
  ],
1050
836
  ],
1051
837
  [
1052
838
  "goal-plan",
1053
839
  [
1054
- join(root, "P-goal-plan", "P-goal-plan.md"),
840
+ join(root, "specdev-p-goal-plan", "SKILL.md"),
1055
841
  [
1056
842
  "Outcome",
1057
843
  "权威来源",
@@ -1059,7 +845,7 @@ function capabilityChecks(root) {
1059
845
  "Gate",
1060
846
  "Wave",
1061
847
  "lead-directed",
1062
- "implementation_agent_limit",
848
+ "concurrent_implementation_limit",
1063
849
  "candidate-merge",
1064
850
  "lead-orchestration.md",
1065
851
  "Definition of Done",
@@ -1069,70 +855,70 @@ function capabilityChecks(root) {
1069
855
  [
1070
856
  "implement",
1071
857
  [
1072
- join(root, "I-implement", "I-implement.md"),
1073
- ["codebase-design", "design-it-twice", "TDD", "双轴审查", "Evidence", "parent-candidate", "subagent-delivery", "实现 commit"],
858
+ join(root, "specdev-i-implement", "SKILL.md"),
859
+ ["codebase-design", "design-it-twice", "TDD", "双轴审查", "Evidence", "parent-candidate", "共享编排方法", "实现 commit"],
1074
860
  ],
1075
861
  ],
1076
862
  [
1077
863
  "code-review",
1078
864
  [
1079
- join(root, "C-code-review", "C-code-review.md"),
1080
- ["git diff <fixed>...<head>", "固定点", "标准轴", "规范轴", "未合并排名", "reviews/CR-###.md"],
865
+ join(root, "specdev-c-code-review", "SKILL.md"),
866
+ ["--review-scope", "baseline", "range", "commit", "pr", "no-diff", "固定点", "标准轴", "规范轴", "未合并排名", "reviews/CR-###.md"],
1081
867
  ],
1082
868
  ],
1083
869
  [
1084
870
  "prototype",
1085
871
  [
1086
- join(root, "P-prototype", "P-prototype.md"),
872
+ join(root, "specdev-p-prototype", "SKILL.md"),
1087
873
  ["设计定向", "风格", "design-system.md", "comparison", "HTML/CSS/JS", "design-library/INDEX.md"],
1088
874
  ],
1089
875
  ],
1090
876
  [
1091
877
  "learn-change",
1092
878
  [
1093
- join(root, "L-learn-change", "L-learn-change.md"),
879
+ join(root, "specdev-l-learn-change", "SKILL.md"),
1094
880
  ["开发完成后", "零专业背景", "$ARGUMENTS", "ASCII", "learning/index.md", "{number}_{topic}.md", "{roots.state}/learning/"],
1095
881
  ],
1096
882
  ],
1097
883
  [
1098
884
  "wayfinder",
1099
885
  [
1100
- join(root, "W-wayfinder", "W-wayfinder.md"),
1101
- ["共享地图", "claimed_investigations", "wayfinder:prototype", "wayfinder:grilling", "solution comment", "每个会话"],
886
+ join(root, "specdev-w-wayfinder", "SKILL.md"),
887
+ ["共享地图", "调查认领", "wayfinder:prototype", "wayfinder:grilling", "solution comment", "每个会话"],
1102
888
  ],
1103
889
  ],
1104
890
  [
1105
891
  "architecture-review",
1106
892
  [
1107
- join(root, "R-review-architecture", "R-review-architecture.md"),
893
+ join(root, "specdev-r-review-architecture", "SKILL.md"),
1108
894
  ["结构性坏味道", "code-judo", "删除测试", "高置信候选", "最佳推荐"],
1109
895
  ],
1110
896
  ],
1111
897
  [
1112
898
  "architecture-review-rubric",
1113
899
  [
1114
- join(root, "R-review-architecture", "review-rubric.md"),
900
+ join(root, "specdev-r-review-architecture", "references/review-rubric.md"),
1115
901
  ["删除测试", "文件大小", "高置信候选", "spaghetti growth"],
1116
902
  ],
1117
903
  ],
1118
904
  [
1119
905
  "archive",
1120
906
  [
1121
- join(root, "A-archive-and-consolidate", "A-archive-and-consolidate.md"),
907
+ join(root, "specdev-a-archive-and-consolidate", "SKILL.md"),
1122
908
  ["archive-single", "dry-run", "external_action", "publish_action", "consolidate-from-code", "archive-and-consolidate"],
1123
909
  ],
1124
910
  ],
1125
911
  [
1126
912
  "grill",
1127
913
  [
1128
- join(root, "G-grill-with-docs", "G-grill-with-docs.md"),
914
+ join(root, "specdev-g-grill-with-docs", "SKILL.md"),
1129
915
  ["完整 frontier", "design-tree.json", "LOG.md", "CONTEXT.md", "ADR.md", "推荐答案", "永久 namespace 对 G 只读"],
1130
916
  ],
1131
917
  ],
1132
918
  [
1133
919
  "diagnosis",
1134
920
  [
1135
- join(root, "D-diagnose-bugs", "D-diagnose-bugs.md"),
921
+ join(root, "specdev-d-diagnose-bugs", "SKILL.md"),
1136
922
  ["红灯", "反馈回路", "最小化", "可证伪", "根因", "回归测试"],
1137
923
  ],
1138
924
  ],
@@ -1154,35 +940,35 @@ function capabilityChecks(root) {
1154
940
  "common/rules/codebase-design.md",
1155
941
  "common/schemas/design-tree.schema.json",
1156
942
  "common/schemas/wayfinder-ticket.schema.json",
1157
- "G-grill-with-docs/design-tree-template.json",
1158
- "W-wayfinder/local-tracker-contract.md",
1159
- "W-wayfinder/solution-comment-template.md",
943
+ "specdev-g-grill-with-docs/assets/design-tree-template.json",
944
+ "specdev-w-wayfinder/references/local-tracker-contract.md",
945
+ "specdev-w-wayfinder/assets/solution-comment-template.md",
1160
946
  "common/rules/parent-implementation-orchestration.md",
1161
947
  "common/schemas/implementation-map.schema.json",
1162
948
  "common/schemas/implementation-plan.schema.json",
1163
949
  "common/schemas/capture.schema.json",
1164
- "T-triage/capture-protocol.md",
1165
- "T-triage/capture-template.md",
1166
- "T-triage/issue-record-template.md",
1167
- "T-triage/tools/capture-status.mjs",
950
+ "specdev-t-triage/references/capture-protocol.md",
951
+ "specdev-t-triage/assets/capture-template.md",
952
+ "specdev-t-triage/assets/issue-record-template.md",
953
+ "specdev-t-triage/scripts/capture-status.mjs",
1168
954
  ]) {
1169
955
  if (!isFile(join(root, required))) errors.push(`missing architecture/wayfinding contract ${required}`);
1170
956
  }
1171
957
 
1172
- const mapTemplate = join(root, "W-wayfinder", "wayfinder-map-template.md");
958
+ const mapTemplate = join(root, "specdev-w-wayfinder", "assets/wayfinder-map-template.md");
1173
959
  if (isFile(mapTemplate) && /^## (?:开放 Tickets|调查清单)/m.test(readText(mapTemplate))) {
1174
960
  errors.push("Wayfinder map template must query open Tickets instead of caching them");
1175
961
  }
1176
962
 
1177
- const goalPlanTemplate = join(root, "P-goal-plan", "goal-plan-template.md");
963
+ const goalPlanTemplate = join(root, "specdev-p-goal-plan", "assets/goal-plan-template.md");
1178
964
  if (!isFile(goalPlanTemplate)) {
1179
965
  errors.push("missing Goal Plan template");
1180
966
  } else {
1181
967
  const text = readText(goalPlanTemplate);
1182
968
  for (const required of [
1183
- "schema_version: 6",
969
+ "schema_version: 7",
1184
970
  "orchestration: lead-directed",
1185
- "implementation_agent_limit: 3",
971
+ "concurrent_implementation_limit: 3",
1186
972
  "integration_attempt_limit: 3",
1187
973
  "ticket_workspace_policy: current",
1188
974
  "integration_gate: direct-parent",
@@ -1207,11 +993,11 @@ function selfCheck(root) {
1207
993
  const errors = [];
1208
994
  const warnings = [];
1209
995
 
1210
- if (!isFile(join(root, "INDEX.md"))) errors.push("missing package INDEX");
996
+ if (!isFile(join(root, "SKILL.md"))) errors.push("missing domain Skill");
1211
997
 
1212
998
  const actualWorks = new Set(
1213
999
  readdirSync(root, { withFileTypes: true })
1214
- .filter((entry) => entry.isDirectory() && /^[A-Z]-/.test(entry.name))
1000
+ .filter((entry) => entry.isDirectory() && /^specdev-[a-z]-/.test(entry.name))
1215
1001
  .map((entry) => entry.name),
1216
1002
  );
1217
1003
  const missingWorks = [...EXPECTED_WORKS].filter((name) => !actualWorks.has(name));
@@ -1221,23 +1007,16 @@ function selfCheck(root) {
1221
1007
 
1222
1008
  const ids = [];
1223
1009
  for (const directoryName of [...actualWorks].sort()) {
1224
- const entry = join(root, directoryName, `${directoryName}.md`);
1010
+ const entry = join(root, directoryName, "SKILL.md");
1225
1011
  if (!isFile(entry)) {
1226
1012
  errors.push(`missing work entry ${toPosix(relative(root, entry))}`);
1227
1013
  continue;
1228
1014
  }
1229
1015
  const { meta } = parseFrontmatter(entry);
1230
- if (meta.type !== "workflow-entry") {
1231
- errors.push(`${toPosix(relative(root, entry))}: type must be workflow-entry`);
1232
- }
1233
- if (meta.workflow !== "specdev") {
1234
- errors.push(`${toPosix(relative(root, entry))}: workflow must be specdev`);
1235
- }
1236
- if (typeof meta.id !== "string" || !meta.id.startsWith("specdev/")) {
1237
- errors.push(`${toPosix(relative(root, entry))}: invalid work id`);
1238
- } else {
1239
- ids.push(meta.id);
1240
- }
1016
+ errors.push(...validateSkill(readText(entry),directoryName).map(error=>entry+": "+error));
1017
+ if(meta.metadata?.["speculo-kind"]!=="work-skill" || meta.metadata?.["speculo-domain"]!=="specdev")errors.push(entry+": invalid Work metadata");
1018
+ const id=meta.metadata?.["speculo-id"];
1019
+ if(typeof id!=="string"||!id.startsWith("specdev/"))errors.push(entry+": invalid work id");else ids.push(id);
1241
1020
  }
1242
1021
  if (ids.length !== new Set(ids).size) errors.push("duplicate workflow entry id");
1243
1022
 
@@ -1274,6 +1053,16 @@ function selfCheck(root) {
1274
1053
  errors.push(...references.errors);
1275
1054
  warnings.push(...references.warnings);
1276
1055
  errors.push(...capabilityChecks(root));
1056
+ errors.push(...validateEngineeringPackage(root));
1057
+ // Run real runner regressions; these tests never recursively request self-check.
1058
+ try {
1059
+ execFileSync(process.execPath, ["--test", join(root, "common", "tools", "tests", "engineering.test.mjs")], {
1060
+ encoding: "utf8", timeout: 120000, maxBuffer: 8 * 1024 * 1024,
1061
+ stdio: ["ignore", "pipe", "pipe"],
1062
+ });
1063
+ } catch (error) {
1064
+ errors.push(`engineering regressions failed: ${error.stdout ?? ""}${error.stderr ?? error.message}`);
1065
+ }
1277
1066
 
1278
1067
  const obsolete = [
1279
1068
  "P-goal-plan/input-validation.md",
@@ -1365,7 +1154,7 @@ function validateSource(path, expectedChange, errors) {
1365
1154
  return { path, meta, body };
1366
1155
  }
1367
1156
 
1368
- function validateTriage(path, expectedChange, errors, historical = false) {
1157
+ function validateTriage(path, expectedChange, errors) {
1369
1158
  if (!isFile(path)) {
1370
1159
  errors.push("missing triage artifact");
1371
1160
  return null;
@@ -1386,8 +1175,8 @@ function validateTriage(path, expectedChange, errors, historical = false) {
1386
1175
  ];
1387
1176
  const missing = required.filter((key) => !(key in meta));
1388
1177
  if (missing.length) errors.push(`triage.md: missing keys ${JSON.stringify(missing)}`);
1389
- if ((meta.schema_version !== 2 && !(historical && meta.schema_version === 1)) || meta.artifact !== "triage") {
1390
- errors.push("triage.md: artifact/schema_version must be triage/2; v1 is historical read-only");
1178
+ if (meta.schema_version !== 2 || meta.artifact !== "triage") {
1179
+ errors.push("triage.md: artifact/schema_version must be triage/2");
1391
1180
  }
1392
1181
  if (meta.schema_version === 2) {
1393
1182
  if (!["needs-triage", "needs-info", "ready-for-agent", "ready-for-human", "wontfix"].includes(meta.disposition)) errors.push("triage.md: invalid disposition");
@@ -1647,6 +1436,9 @@ function validateDiagnosis(path, expectedChange, errors) {
1647
1436
  if (typeof meta.feedback_loop_ready !== "boolean") {
1648
1437
  errors.push("diagnosis.md: feedback_loop_ready must be boolean");
1649
1438
  }
1439
+ if (["minimizing", "testing-hypotheses", "root-cause-confirmed"].includes(meta.status) && meta.feedback_loop_ready !== true) {
1440
+ errors.push("diagnosis.md: advanced diagnosis requires ready feedback loop and real red evidence");
1441
+ }
1650
1442
  if (meta.feedback_loop_ready) {
1651
1443
  if (!String(meta.red_command ?? "").trim() || !String(meta.red_evidence ?? "").trim()) {
1652
1444
  errors.push("diagnosis.md: ready feedback loop requires red_command and red_evidence");
@@ -1695,10 +1487,12 @@ function validateReviews(change, required, errors) {
1695
1487
  return paths;
1696
1488
  }
1697
1489
 
1698
- function validatePrototypes(change, required, errors) {
1490
+ function validatePrototypes(change, required, errors, prototypeId = null, consumingDesign = false, context = null) {
1699
1491
  const root = join(change, "prototypes");
1492
+ const changeDesign = isFile(join(change, "DESIGN.md")) ? parseFrontmatter(join(change, "DESIGN.md")).meta : null;
1493
+ const boundId = changeDesign?.prototype_ref?.id;
1700
1494
  if (!isDirectory(root)) {
1701
- if (required) errors.push("prototype stage requires a prototypes/UI-NNN/design-system.md artifact");
1495
+ if (required || boundId) errors.push("prototype stage requires a prototypes/UI-NNN/design-system.md artifact");
1702
1496
  return [];
1703
1497
  }
1704
1498
 
@@ -1706,16 +1500,21 @@ function validatePrototypes(change, required, errors) {
1706
1500
  dirname(fileURLToPath(import.meta.url)),
1707
1501
  "..",
1708
1502
  "..",
1709
- "P-prototype",
1710
- "tools",
1503
+ "specdev-p-prototype",
1504
+ "scripts",
1711
1505
  "validate-design-package.mjs",
1712
1506
  );
1713
1507
  const paths = [];
1714
1508
  let readyCount = 0;
1509
+ const candidates = readdirSync(root).filter(name => /^(?:UI|LOGIC)-\d{3,}$/.test(name));
1510
+ if (required && !prototypeId && candidates.length !== 1) errors.push("prototype stage requires --prototype-id when multiple packages exist");
1511
+ const selectedId = prototypeId ?? (required && candidates.length === 1 ? candidates[0] : !required ? boundId : null);
1512
+ if (selectedId && !candidates.includes(selectedId)) errors.push(`prototype not found: ${selectedId}`);
1715
1513
 
1716
1514
  for (const entry of readdirSync(root, { withFileTypes: true })) {
1717
1515
  const entryPath = join(root, entry.name);
1718
1516
  const label = toPosix(relative(change, entryPath));
1517
+ if (selectedId && entry.name !== selectedId) continue;
1719
1518
  if (entry.isSymbolicLink()) {
1720
1519
  errors.push(`${label}: prototype design directories and files must not be symlinks`);
1721
1520
  continue;
@@ -1743,9 +1542,10 @@ function validatePrototypes(change, required, errors) {
1743
1542
  }
1744
1543
  paths.push(designPath);
1745
1544
  const { meta } = parseFrontmatter(designPath);
1545
+ if (consumingDesign && entry.name === boundId && meta.status !== "ready") errors.push(`${label}: bound UI prototype must be ready before downstream consumption`);
1746
1546
  if (meta.status === "ready") readyCount += 1;
1747
1547
  try {
1748
- execFileSync(process.execPath, [validator, designPath], {
1548
+ execFileSync(process.execPath, [validator, ...contextArguments(context), ...(consumingDesign && entry.name === boundId ? ["--check-ready"] : []), designPath], {
1749
1549
  encoding: "utf8",
1750
1550
  stdio: ["ignore", "pipe", "pipe"],
1751
1551
  });
@@ -1759,13 +1559,14 @@ function validatePrototypes(change, required, errors) {
1759
1559
  }
1760
1560
  }
1761
1561
 
1762
- const obsoleteRecords = walk(root).filter(
1562
+ const scanRoot = selectedId && isDirectory(join(root, selectedId)) ? join(root, selectedId) : root;
1563
+ const obsoleteRecords = walk(scanRoot).filter(
1763
1564
  (path) => isFile(path) && basename(path) === "record.md",
1764
1565
  );
1765
1566
  for (const path of obsoleteRecords) {
1766
1567
  errors.push(`${toPosix(relative(change, path))}: obsolete prototype record is forbidden; use UI-NNN/design-system.md`);
1767
1568
  }
1768
- const discoveredDesigns = walk(root).filter(
1569
+ const discoveredDesigns = walk(scanRoot).filter(
1769
1570
  (path) => isFile(path) && basename(path) === "design-system.md",
1770
1571
  );
1771
1572
  for (const path of discoveredDesigns) {
@@ -1774,7 +1575,7 @@ function validatePrototypes(change, required, errors) {
1774
1575
  }
1775
1576
  }
1776
1577
  if (required && readyCount === 0) {
1777
- errors.push("prototype stage requires at least one ready UI or logic design package");
1578
+ errors.push("prototype stage requires the selected ready UI or logic design package");
1778
1579
  }
1779
1580
  return paths;
1780
1581
  }
@@ -2061,7 +1862,7 @@ function validateGoalPlan(path, errors) {
2061
1862
  "modes",
2062
1863
  "orchestration",
2063
1864
  "lead",
2064
- "implementation_agent_limit",
1865
+ "concurrent_implementation_limit",
2065
1866
  "integration_attempt_limit",
2066
1867
  "ticket_workspace_policy",
2067
1868
  "integration_gate",
@@ -2085,8 +1886,8 @@ function validateGoalPlan(path, errors) {
2085
1886
  if (typeof meta.lead !== "string" || !meta.lead.trim()) {
2086
1887
  errors.push(`${basename(path)}: lead must be a non-empty recoverable locator`);
2087
1888
  }
2088
- if (!Number.isInteger(meta.implementation_agent_limit) || meta.implementation_agent_limit < 1) {
2089
- errors.push(`${basename(path)}: implementation_agent_limit must be a positive integer`);
1889
+ if (!Number.isInteger(meta.concurrent_implementation_limit) || meta.concurrent_implementation_limit < 1) {
1890
+ errors.push(`${basename(path)}: concurrent_implementation_limit must be a positive integer`);
2090
1891
  }
2091
1892
  if (!Number.isInteger(meta.integration_attempt_limit) || meta.integration_attempt_limit < 1) {
2092
1893
  errors.push(`${basename(path)}: integration_attempt_limit must be a positive integer`);
@@ -2139,25 +1940,9 @@ function validateGoalPlan(path, errors) {
2139
1940
  return { path, meta, body };
2140
1941
  }
2141
1942
 
2142
- function validateGoalPlanRuntimeLimits(path, change, goalPlan, errors, repoRoot = null) {
1943
+ function validateGoalPlanRuntimeLimits(path, change, goalPlan, errors, repoRoot = null, options = {}) {
2143
1944
  if (!goalPlan) return;
2144
- const config = findSpecdevConfig(change, repoRoot);
2145
- if (!config) {
2146
- errors.push(`${basename(path)}: SpecDev config.json is required to validate execution limits`);
2147
- return;
2148
- }
2149
- const configuredAgents = positiveConfigLimit(config, "max_implementation_agents", 0);
2150
- const configuredAttempts = positiveConfigLimit(config, "max_integration_attempts", 0);
2151
- if (config.schema_version !== CONFIG_SCHEMA_VERSION || configuredAgents === 0 || configuredAttempts === 0) {
2152
- errors.push(`${basename(path)}: SpecDev config.json must use schema v${CONFIG_SCHEMA_VERSION} with positive execution limits`);
2153
- return;
2154
- }
2155
- if (goalPlan.meta.implementation_agent_limit > configuredAgents) {
2156
- errors.push(`${basename(path)}: implementation_agent_limit ${goalPlan.meta.implementation_agent_limit} exceeds config max_implementation_agents ${configuredAgents}`);
2157
- }
2158
- if (goalPlan.meta.integration_attempt_limit > configuredAttempts) {
2159
- errors.push(`${basename(path)}: integration_attempt_limit ${goalPlan.meta.integration_attempt_limit} exceeds config max_integration_attempts ${configuredAttempts}`);
2160
- }
1945
+ errors.push(...validateExecutionPolicy(goalPlan, findSpecdevConfig(change, repoRoot, options)).map(error => `${basename(path)}: ${error}`));
2161
1946
  }
2162
1947
 
2163
1948
  function validateDesignTree(path, change, errors) {
@@ -2424,53 +2209,14 @@ function validateTicket(path, errors) {
2424
2209
  return { path, meta, body };
2425
2210
  }
2426
2211
 
2427
- function validateChangeStatus(path, expectedChange, errors) {
2428
- if (!isFile(path)) {
2429
- errors.push("missing change status artifact");
2430
- return null;
2431
- }
2212
+ function validateChangeExecution(change, errors, context) {
2213
+ const path = join(change, "evidence"), expectedChange = basename(change);
2432
2214
  let data;
2433
2215
  try {
2434
- data = JSON.parse(readText(path));
2435
- } catch (error) {
2436
- errors.push(`${basename(path)}: invalid JSON: ${error.message}`);
2437
- return null;
2438
- }
2439
- const required = [
2440
- "schema_version",
2441
- "artifact",
2442
- "change",
2443
- "change_status",
2444
- "current_work",
2445
- "works_run",
2446
- "claimed_investigations",
2447
- "execution_authorization",
2448
- "leadership",
2449
- "created_at",
2450
- "updated_at",
2451
- "completed_at",
2452
- "archived",
2453
- "archive_path",
2454
- "blockers",
2455
- "deviations",
2456
- "worktrees",
2457
- ];
2458
- const missing = required.filter((key) => !(key in data));
2459
- if (missing.length) errors.push(`${basename(path)}: missing keys ${JSON.stringify(missing.sort())}`);
2460
- const unexpected = Object.keys(data).filter((key) => !required.includes(key));
2461
- if (unexpected.length) errors.push(`${basename(path)}: unexpected keys ${JSON.stringify(unexpected.sort())}`);
2462
- if (data.schema_version !== CHANGE_STATUS_SCHEMA_VERSION || data.artifact !== "change-status") {
2463
- errors.push(`${basename(path)}: artifact/schema_version must be change-status/${CHANGE_STATUS_SCHEMA_VERSION}`);
2464
- }
2465
- if (data.change !== expectedChange) {
2466
- errors.push(`${basename(path)}: change must equal directory name ${expectedChange}`);
2467
- }
2468
- if (!new Set(["active", "blocked", "completed", "archived"]).has(data.change_status)) {
2469
- errors.push(`${basename(path)}: invalid change_status ${data.change_status}`);
2470
- }
2471
- if (!Array.isArray(data.blockers) || !Array.isArray(data.deviations) || !Array.isArray(data.worktrees)) {
2472
- errors.push(`${basename(path)}: blockers, deviations, and worktrees must be arrays`);
2473
- }
2216
+ const facts = runtime.readChangeFactsSync(context, basename(change));
2217
+ if (facts.location.root !== resolve(change)) throw new Error('change identity does not match requested location');
2218
+ data = { ...facts, worktrees:readChangeExecution(change) };
2219
+ } catch (error) { errors.push(`${change}: ${error.message}`); return null; }
2474
2220
  const seenWorktreeTickets = new Set();
2475
2221
  for (const worktree of Array.isArray(data.worktrees) ? data.worktrees : []) {
2476
2222
  if (!worktree || typeof worktree !== "object" || Array.isArray(worktree)) {
@@ -2741,15 +2487,6 @@ function validateChangeStatus(path, expectedChange, errors) {
2741
2487
  }
2742
2488
  }
2743
2489
  }
2744
- if (data.change_status === "archived") {
2745
- if (data.archived !== true) errors.push(`${basename(path)}: archived status requires archived=true`);
2746
- const inner = typeof data.archive_path === "string" ? stripPathTag(data.archive_path) : null;
2747
- if (inner === null || !inner.startsWith(`${STATE_PREFIX}archive/`)) {
2748
- errors.push(`${basename(path)}: archived status requires a rooted archive_path`);
2749
- }
2750
- } else if (data.archived === true) {
2751
- errors.push(`${basename(path)}: archived=true conflicts with change_status=${data.change_status}`);
2752
- }
2753
2490
  return data;
2754
2491
  }
2755
2492
 
@@ -2804,7 +2541,7 @@ function gitSucceeds(repoRoot, args) {
2804
2541
  }
2805
2542
 
2806
2543
  function validateGitEvidence(repoRoot, changeStatus, errors) {
2807
- if (!repoRoot) return;
2544
+ if (!repoRoot || !changeStatus?.worktrees?.length) return;
2808
2545
  const resolvedRoot = resolve(repoRoot);
2809
2546
  if (gitOutput(resolvedRoot, ["rev-parse", "--is-inside-work-tree"]) !== "true") {
2810
2547
  errors.push(`--repo is not a Git worktree: ${resolvedRoot}`);
@@ -2836,13 +2573,26 @@ function validateGitEvidence(repoRoot, changeStatus, errors) {
2836
2573
  } else if (worktree.integration?.source_sha && worktree.base_sha && !gitSucceeds(resolvedRoot, ["merge-base", "--is-ancestor", worktree.base_sha, worktree.integration.source_sha])) {
2837
2574
  errors.push(`${label}: source_sha must descend from base_sha`);
2838
2575
  }
2576
+ if (worktree.workspace_ref !== "current" && new Set(["active","review","integrating","blocked"]).has(worktree.status)) {
2577
+ try {
2578
+ const source = runtime.safeWorkPathSync(resolvedRoot,worktree.workspace_ref,{mustExist:true,type:"directory"});
2579
+ const common = gitOutput(resolvedRoot,["rev-parse","--path-format=absolute","--git-common-dir"]);
2580
+ if (gitOutput(source,["rev-parse","--path-format=absolute","--git-common-dir"]) !== common || gitOutput(source,["branch","--show-current"]) !== worktree.branch) errors.push(`${label}: source workspace must be a real isolated worktree of the recorded repository and branch`);
2581
+ } catch(error) { errors.push(`${label}: actual source isolation is missing: ${error.message}`); }
2582
+ }
2583
+ if (worktree.status === "integrating" && worktree.workspace_ref !== "current") {
2584
+ try {
2585
+ const candidate = runtime.safeWorkPathSync(resolvedRoot,worktree.integration.candidate_workspace_ref,{mustExist:true,type:"directory"});
2586
+ if (gitOutput(candidate,["rev-parse","HEAD"]) !== worktree.integration.candidate_sha || gitOutput(candidate,["rev-parse","HEAD^{tree}"]) !== worktree.integration.candidate_tree_sha) errors.push(`${label}: actual candidate workspace differs from the recorded checkpoint/tree`);
2587
+ } catch(error) { errors.push(`${label}: actual candidate isolation is missing: ${error.message}`); }
2588
+ }
2839
2589
  if (new Set(["integrated", "removed"]).has(worktree.status) && gitOutput(resolvedRoot, ["status", "--porcelain"])) {
2840
2590
  errors.push(`${label}: repository is dirty while Ticket is recorded as ${worktree.status}`);
2841
2591
  }
2842
2592
  }
2843
2593
  }
2844
2594
 
2845
- function validateParentImplementation(change, parentStatus, stage, errors, warnings, repoRoot = null) {
2595
+ function validateParentImplementation(change, parentStatus, stage, errors, warnings, repoRoot = null, options = {}) {
2846
2596
  const mapPath = join(change, "implementation-map.md");
2847
2597
  const planPath = join(change, "implementation-plan.md");
2848
2598
  if (!isFile(mapPath)) errors.push("parent implementation requires implementation-map.md");
@@ -2853,7 +2603,7 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
2853
2603
  const map = parseFrontmatter(mapPath);
2854
2604
  const plan = parseFrontmatter(planPath);
2855
2605
  const mapKeys = ["schema_version", "artifact", "change", "status", "revision", "members", "tasks", "dependencies", "serializations"];
2856
- const planKeys = ["schema_version", "artifact", "change", "status", "source_map_revision", "orchestration", "lead", "implementation_agent_limit", "integration_attempt_limit", "ticket_workspace_policy", "integration_gate", "ready_for_execution"];
2606
+ const planKeys = ["schema_version", "artifact", "change", "status", "source_map_revision", "orchestration", "lead", "concurrent_implementation_limit", "integration_attempt_limit", "ticket_workspace_policy", "integration_gate", "ready_for_execution"];
2857
2607
  for (const [label, meta, expected] of [
2858
2608
  ["implementation-map.md", map.meta, mapKeys],
2859
2609
  ["implementation-plan.md", plan.meta, planKeys],
@@ -2884,7 +2634,7 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
2884
2634
  if (plan.meta.orchestration !== "lead-directed" || typeof plan.meta.lead !== "string" || !plan.meta.lead.trim()) {
2885
2635
  errors.push("implementation-plan.md: lead-directed orchestration requires a recoverable Lead");
2886
2636
  }
2887
- for (const key of ["implementation_agent_limit", "integration_attempt_limit"]) {
2637
+ for (const key of ["concurrent_implementation_limit", "integration_attempt_limit"]) {
2888
2638
  if (!Number.isInteger(plan.meta[key]) || plan.meta[key] < 1) {
2889
2639
  errors.push(`implementation-plan.md: ${key} must be a positive integer`);
2890
2640
  }
@@ -2950,7 +2700,8 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
2950
2700
  errors.push(`implementation-map.md: invalid member change name ${member}`);
2951
2701
  continue;
2952
2702
  }
2953
- const memberRoot = join(changesRoot, member);
2703
+ let memberRoot;
2704
+ try { memberRoot = runtime.resolveChangeSync(options.context,member,{includeArchived:parentStatus?.location.kind === "archive"}).root; } catch(error) { errors.push(`member change does not exist or has invalid identity: ${member}: ${error.message}`); continue; }
2954
2705
  if (!isDirectory(memberRoot)) {
2955
2706
  errors.push(`implementation-map.md: member change does not exist: ${member}`);
2956
2707
  continue;
@@ -2961,13 +2712,11 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
2961
2712
 
2962
2713
  const memberErrors = [];
2963
2714
  const memberWarnings = [];
2964
- const status = validateChangeStatus(join(memberRoot, ".status.json"), member, memberErrors);
2715
+ const status = validateChangeExecution(memberRoot, memberErrors, options.context);
2965
2716
  if (status) {
2966
2717
  memberStatuses.set(member, status);
2967
- if (status.change_status === "archived") memberErrors.push("archived change cannot be an implementation member");
2968
- if (status.current_work !== null && status.current_work !== "specdev/implement") {
2969
- memberErrors.push(`current_work=${status.current_work} conflicts with parent implementation ownership`);
2970
- }
2718
+ if (parentStatus?.outcome === "completed") validateGitEvidence(options.context.projectRoot,status,memberErrors);
2719
+ if (parentStatus?.location.kind !== "archive" && status.location.kind !== "active") memberErrors.push("archived change cannot be an implementation member");
2971
2720
  for (const worktree of Array.isArray(status.worktrees) ? status.worktrees : []) {
2972
2721
  if (worktree?.status === "active") {
2973
2722
  activeImplementations += 1;
@@ -3077,7 +2826,7 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
3077
2826
  const uncovered = [...declared].filter((id) => !covered.has(id) && !(childMap && new RegExp(`${escapeRegExp(id)}.*\\bdeferred\\b`, "i").test(childMap.body)));
3078
2827
  if (uncovered.length) memberErrors.push(`Spec acceptance contracts are not covered by Tickets: ${JSON.stringify(uncovered.sort())}`);
3079
2828
  }
3080
- if (status?.change_status === "completed") {
2829
+ if (status?.outcome === "completed") {
3081
2830
  const unfinished = [...childTickets].filter(([, artifact]) => !new Set(["done", "cancelled"]).has(artifact.meta.status)).map(([id]) => id);
3082
2831
  if (unfinished.length) memberErrors.push(`completed member has unfinished Tickets: ${JSON.stringify(unfinished)}`);
3083
2832
  }
@@ -3192,30 +2941,18 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
3192
2941
  if (!Array.isArray(otherMap.members)) continue;
3193
2942
  let otherStatus = null;
3194
2943
  try {
3195
- otherStatus = JSON.parse(readText(join(changesRoot, entry.name, ".status.json"))).change_status;
2944
+ otherStatus = runtime.readChangeFactsSync(options.context, entry.name).outcome;
3196
2945
  } catch {
3197
2946
  // Invalid competing parents still own their members conservatively.
3198
2947
  }
3199
- if (new Set(["completed", "archived"]).has(otherStatus)) continue;
2948
+ if (new Set(["completed", "cancelled"]).has(otherStatus)) continue;
3200
2949
  const overlap = otherMap.members.map(String).filter((member) => memberSet.has(member));
3201
2950
  if (overlap.length) errors.push(`member changes already belong to unfinished parent implementation ${entry.name}: ${JSON.stringify(overlap)}`);
3202
2951
  }
3203
2952
 
3204
- const config = findSpecdevConfig(change, repoRoot);
3205
- const configuredAgents = positiveConfigLimit(config, "max_implementation_agents", 0);
3206
- const configuredAttempts = positiveConfigLimit(config, "max_integration_attempts", 0);
3207
- if (!config || config.schema_version !== CONFIG_SCHEMA_VERSION || configuredAgents === 0 || configuredAttempts === 0) {
3208
- errors.push("implementation-plan.md: SpecDev config v6 with positive execution limits is required");
3209
- } else {
3210
- if (plan.meta.implementation_agent_limit > configuredAgents) {
3211
- errors.push(`implementation-plan.md: implementation_agent_limit ${plan.meta.implementation_agent_limit} exceeds config max_implementation_agents ${configuredAgents}`);
3212
- }
3213
- if (plan.meta.integration_attempt_limit > configuredAttempts) {
3214
- errors.push(`implementation-plan.md: integration_attempt_limit ${plan.meta.integration_attempt_limit} exceeds config max_integration_attempts ${configuredAttempts}`);
3215
- }
3216
- }
3217
- if (activeImplementations > plan.meta.implementation_agent_limit) {
3218
- errors.push(`parent implementation agent limit exceeded: ${activeImplementations} active for limit ${plan.meta.implementation_agent_limit}`);
2953
+ errors.push(...validateExecutionPolicy(plan, findSpecdevConfig(change, repoRoot, options)).map(error => `implementation-plan.md: ${error}`));
2954
+ if (activeImplementations > plan.meta.concurrent_implementation_limit) {
2955
+ errors.push(`parent implementation agent limit exceeded: ${activeImplementations} active for limit ${plan.meta.concurrent_implementation_limit}`);
3219
2956
  }
3220
2957
  if (plan.meta.ticket_workspace_policy === "current" && activeCurrentWriters > 1) {
3221
2958
  errors.push(`parent current policy permits only one active implementation writer; found ${activeCurrentWriters}`);
@@ -3224,24 +2961,14 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
3224
2961
  if (count > 1) errors.push(`repository/ref integration must be serialized for ${ref}; found ${count}`);
3225
2962
  }
3226
2963
 
3227
- if (stage === "goal-plan" && parentStatus && new Set(["active", "blocked"]).has(parentStatus.change_status) && !new Set(["specdev/goal-plan"]).has(parentStatus.current_work)) {
3228
- errors.push("parent active/blocked status must keep current_work=specdev/goal-plan");
3229
- }
3230
- if (parentStatus?.change_status === "completed") {
3231
- const incomplete = members.filter((member) => memberStatuses.get(member)?.change_status !== "completed");
2964
+ if (parentStatus?.outcome === "completed") {
2965
+ const incomplete = members.filter((member) => memberStatuses.get(member)?.outcome !== "completed");
3232
2966
  if (incomplete.length) errors.push(`parent implementation is completed while members remain incomplete: ${JSON.stringify(incomplete)}`);
3233
2967
  const unfinished = [...ticketByTask].filter(([, value]) => !new Set(["done", "cancelled"]).has(value.artifact.meta.status)).map(([task]) => task);
3234
2968
  if (unfinished.length) errors.push(`completed parent implementation has unfinished composite tasks: ${JSON.stringify(unfinished)}`);
3235
2969
  if (map.meta.status !== "completed" || plan.meta.status !== "completed") {
3236
2970
  errors.push("completed parent requires completed Implementation Map and Implementation Plan");
3237
2971
  }
3238
- if (
3239
- parentStatus.current_work !== null ||
3240
- !Array.isArray(parentStatus.blockers) || parentStatus.blockers.length > 0 ||
3241
- !Array.isArray(parentStatus.deviations) || parentStatus.deviations.length > 0
3242
- ) {
3243
- errors.push("completed parent requires null current_work and no blockers or deviations");
3244
- }
3245
2972
  const activeMemberWork = [...memberStatuses]
3246
2973
  .flatMap(([member, status]) => (status.worktrees ?? []).map((worktree) => ({ member, worktree })))
3247
2974
  .filter(({ worktree }) => new Set(["planned", "active", "review", "integrating", "blocked"]).has(worktree?.status) || worktree?.integration?.status === "candidate")
@@ -3285,23 +3012,47 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
3285
3012
  return { map, plan, members, tasks, memberStatuses, ticketByTask };
3286
3013
  }
3287
3014
 
3288
- function validateChange(change, stage = null, repoRoot = null) {
3015
+ function validateChange(change, stage = null, repoRoot = null, engineeringKind = null, prototypeId = null, options = {}) {
3289
3016
  const errors = [];
3290
3017
  const warnings = [];
3018
+ const archiveReady = stage === "archive-ready";
3019
+ if (archiveReady) stage = "complete";
3291
3020
  if (!isDirectory(change)) {
3292
3021
  return { errors: [`change directory does not exist: ${change}`], warnings };
3293
3022
  }
3294
3023
 
3295
- const workspace = resolveWorkspaceContract(repoRoot, change);
3024
+ const workspace = resolveWorkspaceContract(repoRoot, change, options);
3296
3025
  errors.push(...workspace.errors);
3026
+ if (errors.length) return {errors,warnings};
3027
+ options = {...options, context:workspace.context};
3028
+ change = canonicalToolPath(workspace.context, change);
3029
+
3030
+ // Resolve every consumed artifact subtree before individual validators can read it.
3031
+ // Unrelated preserved links are not consumers and remain in the archive manifest.
3032
+ if(stage !== 'archived') try {
3033
+ for(const name of ['README.md','spec.md','goal-plan.md','implementation-map.md','implementation-plan.md','tickets-map.md','DESIGN.md','design-tree.json','source.md','triage.md','publish.md','diagnosis.md','wayfinder-map.md','LOG.md','ticket','evidence','investigation','learning','reviews','prototypes']) {
3034
+ const path=runtime.safeWorkPathSync(change,name);
3035
+ if(isDirectory(path)) for(const child of walk(path)) runtime.safeWorkPathSync(change,toPosix(relative(change,child)));
3036
+ }
3037
+ }catch(error){return {errors:[...errors,error.message],warnings};}
3297
3038
 
3298
3039
  // A partial parent must never fall back to the single-change artifact contract.
3299
3040
  const mapPath = join(change, "tickets-map.md");
3300
3041
  const isParentImplementation = isFile(join(change, "implementation-map.md")) ||
3301
3042
  isFile(join(change, "implementation-plan.md")) ||
3302
3043
  (isFile(mapPath) && parseFrontmatter(mapPath).meta.artifact === "goal-tickets-map");
3303
- const changeStatus = validateChangeStatus(join(change, ".status.json"), basename(change), errors);
3304
- if (isParentImplementation) validateParentImplementation(change, changeStatus, stage, errors, warnings, repoRoot);
3044
+ const changeStatus = stage === "archived" ? null : validateChangeExecution(change, errors, workspace.context);
3045
+ if (errors.length) return {errors,warnings};
3046
+ if (stage === "complete" || changeStatus?.outcome === "completed") errors.push(...validateChangeClosure({context:workspace.context,change:basename(change),forArchive:archiveReady}).errors);
3047
+ if (archiveReady && changeStatus?.outcome === "cancelled") return {errors,warnings};
3048
+ if (stage === "archived") {
3049
+ const output=runDesignCheck("--archived", change, errors, workspace.context,options.sealed ? ['--sealed'] : []);
3050
+ let archive;
3051
+ if(output) {try {archive=JSON.parse(output);}catch {errors.push('archived consumer returned no verified receipt result');}}
3052
+ if(archive?.archive_state === 'moved') warnings.push('archive moved and checked, but is not sealed; finish the original A8 receipt');
3053
+ return { errors, warnings, ...(archive ? {archive} : {}) };
3054
+ }
3055
+ if (isParentImplementation) validateParentImplementation(change, changeStatus, stage, errors, warnings, repoRoot, options);
3305
3056
  errors.push(...validateInitiative(change));
3306
3057
  if (isFile(join(change, "source-issue.md"))) {
3307
3058
  errors.push("obsolete source-issue.md is forbidden; use source.md without compatibility fallback");
@@ -3316,7 +3067,7 @@ function validateChange(change, stage = null, repoRoot = null) {
3316
3067
  : null;
3317
3068
  const triagePath = join(change, "triage.md");
3318
3069
  const triage = isFile(triagePath) || sourceRequired
3319
- ? validateTriage(triagePath, basename(change), errors, changeStatus?.archived === true && stage === null)
3070
+ ? validateTriage(triagePath, basename(change), errors)
3320
3071
  : null;
3321
3072
  const publishPath = join(change, "publish.md");
3322
3073
  const publishRequired = Boolean(
@@ -3330,34 +3081,40 @@ function validateChange(change, stage = null, repoRoot = null) {
3330
3081
  validateDiagnosis(diagnosisPath, basename(change), errors);
3331
3082
  }
3332
3083
  validateReviews(change, stage === "review", errors);
3333
- validatePrototypes(change, stage === "prototype", errors);
3084
+ validatePrototypes(change, stage === "prototype", errors, prototypeId, new Set(["spec", "tickets", "goal-plan", "implement", "review", "complete"]).has(stage), workspace.context);
3085
+ if (new Set(["tickets", "goal-plan", "implement", "review", "complete"]).has(stage)) runDesignCheck("--handoff", change, errors, workspace.context);
3334
3086
  validateChangeLearning(change, stage === "learn-change", errors);
3335
3087
  const retro = validateRecords(change, "retrospective", parseFrontmatter);
3336
3088
  const prs = validateRecords(change, "pull-request", parseFrontmatter);
3337
3089
  errors.push(...retro.errors, ...prs.errors);
3338
3090
  if (stage === "retro" && !retro.records.some(r => r.meta.status === "completed")) errors.push("retro stage requires a completed retrospective");
3339
3091
  if (stage === "pr-delivery" && !prs.records.length) errors.push("pr-delivery stage requires a PR record");
3340
- if (stage === "complete" && prs.records.some(r => r.meta.requested === true && (["planned", "failed"].includes(r.meta.status) || (r.meta.delivery_target === "ready" && r.meta.status === "draft")))) errors.push("complete stage cannot archive pending PR delivery");
3092
+ if (archiveReady && prs.records.some(r => r.meta.requested === true && (["planned", "failed"].includes(r.meta.status) || (r.meta.delivery_target === "ready" && r.meta.status === "draft")))) errors.push("complete stage cannot archive pending PR delivery");
3341
3093
  const retroOnly = retro.records.length > 0 && retro.errors.length === 0 && retro.records.every(r => r.meta.status === "completed") &&
3342
- changeStatus?.works_run?.includes("specdev/retro") && changeStatus.works_run.every(w => ["specdev/retro", "specdev/triage"].includes(w)) &&
3343
3094
  !["spec.md", "ticket", "tickets-map.md", "goal-plan.md", "implementation-map.md", "implementation-plan.md", "evidence"].some(p => existsSync(join(change,p))) && !changeStatus.worktrees?.length;
3344
3095
 
3096
+ let simpleGoal = null;
3097
+ try { simpleGoal = readLightweightGoal(change); } catch (error) { errors.push(error.message); }
3345
3098
  const specRequired = new Set(["spec", "tickets", "goal-plan", "implement", "complete"]).has(stage) && !isParentImplementation && !retroOnly;
3346
3099
  const specPath = join(change, "spec.md");
3347
- const spec = isFile(specPath) || specRequired
3348
- ? validateSpec(specPath, errors, warnings)
3349
- : null;
3100
+ let specification = null;
3101
+ if (!isParentImplementation && !retroOnly && (isFile(specPath) || specRequired)) {
3102
+ try { specification = readSpecification(change, {allowLightweight: stage !== "tickets" && (stage !== "goal-plan" || Boolean(simpleGoal)), requiredArtifact:options.requiredArtifact, depth:options.depth}); }
3103
+ catch(error) { errors.push(error.message); }
3104
+ }
3105
+ const lightweight = specification?.lightweight === true;
3106
+ const spec = isFile(specPath) ? validateSpec(specPath, errors, warnings) : null;
3350
3107
  const ticketMode = isDirectory(join(change, "ticket"));
3351
- const mapRequired = !isParentImplementation && (new Set(["tickets", "goal-plan"]).has(stage) || (stage === "implement" && ticketMode));
3108
+ const mapRequired = !simpleGoal && !isParentImplementation && (new Set(["tickets", "goal-plan"]).has(stage) || (stage === "implement" && ticketMode));
3352
3109
  const ticketsMap = isFile(mapPath) || mapRequired ? validateMap(mapPath, errors, repoRoot) : null;
3353
3110
  const goalPlanPath = join(change, "goal-plan.md");
3354
- const goalPlan = isFile(goalPlanPath) || (stage === "goal-plan" && !isParentImplementation)
3111
+ const goalPlan = !simpleGoal && (isFile(goalPlanPath) || (stage === "goal-plan" && !isParentImplementation))
3355
3112
  ? validateGoalPlan(goalPlanPath, errors)
3356
3113
  : null;
3357
3114
  validateDesignTree(join(change, "design-tree.json"), change, errors);
3358
3115
  validateWayfinder(change, errors);
3359
3116
  if (stage === "grill") {
3360
- for (const name of ["design-tree.json", "LOG.md", "CONTEXT.md", "ADR.md"]) {
3117
+ for (const name of ["design-tree.json"]) {
3361
3118
  if (!isFile(join(change, name))) errors.push(`grill stage requires ${name}`);
3362
3119
  }
3363
3120
  }
@@ -3371,7 +3128,7 @@ function validateChange(change, stage = null, repoRoot = null) {
3371
3128
  }
3372
3129
 
3373
3130
  const ticketDir = join(change, "ticket");
3374
- const ticketsRequired = !isParentImplementation && (new Set(["tickets", "goal-plan"]).has(stage) || (stage === "implement" && ticketMode));
3131
+ const ticketsRequired = !simpleGoal && !isParentImplementation && (new Set(["tickets", "goal-plan"]).has(stage) || (stage === "implement" && ticketMode));
3375
3132
  const ticketFiles = isDirectory(ticketDir)
3376
3133
  ? readdirSync(ticketDir)
3377
3134
  .filter((name) => name.endsWith(".md"))
@@ -3380,7 +3137,7 @@ function validateChange(change, stage = null, repoRoot = null) {
3380
3137
  : [];
3381
3138
  if (ticketsRequired && !isDirectory(ticketDir)) errors.push("missing Ticket directory");
3382
3139
  if (ticketsRequired && !ticketFiles.length) errors.push("Ticket directory contains no Markdown tickets");
3383
- if (stage === "implement" && !ticketMode && !isFile(join(change, "evidence", "direct-spec.md"))) {
3140
+ if (stage === "implement" && !ticketMode && !lightweight && !isFile(join(change, "evidence", "direct-spec.md"))) {
3384
3141
  errors.push("Direct Spec implement stage requires evidence/direct-spec.md");
3385
3142
  }
3386
3143
 
@@ -3440,7 +3197,7 @@ function validateChange(change, stage = null, repoRoot = null) {
3440
3197
  }
3441
3198
  }
3442
3199
  if (changeStatus && goalPlan) {
3443
- validateGoalPlanRuntimeLimits(goalPlan.path, change, goalPlan, errors, repoRoot);
3200
+ validateGoalPlanRuntimeLimits(goalPlan.path, change, goalPlan, errors, repoRoot, options);
3444
3201
  const attemptLimit = Number.isInteger(goalPlan.meta.integration_attempt_limit) ? goalPlan.meta.integration_attempt_limit : null;
3445
3202
  if (attemptLimit !== null) {
3446
3203
  for (const worktree of changeStatus.worktrees ?? []) {
@@ -3451,9 +3208,11 @@ function validateChange(change, stage = null, repoRoot = null) {
3451
3208
  }
3452
3209
  validateCurrentWorkspaceExecution(changeStatus, goalPlan, errors);
3453
3210
  }
3454
- validateGitEvidence(repoRoot, changeStatus, errors);
3211
+ validateGitEvidence(stage === "complete" ? workspace.context.projectRoot : repoRoot, changeStatus, errors);
3212
+
3213
+ if (stage === "complete" && spec && !ticketMode && !isParentImplementation && !retroOnly) errors.push(...validateAcceptanceEvidence(change,"evidence/direct-spec.md",[...new Set(spec.body.match(/\bAC-\d+\b/g) ?? [])]));
3455
3214
 
3456
- if (spec) {
3215
+ if (spec && ticketMode) {
3457
3216
  const declaredContracts = new Set(spec.body.match(/\bAC-\d+\b/g) ?? []);
3458
3217
  const coveredContracts = new Set(
3459
3218
  [...tickets.values()].flatMap((artifact) =>
@@ -3583,44 +3342,44 @@ function validateChange(change, stage = null, repoRoot = null) {
3583
3342
 
3584
3343
  if (changeStatus) {
3585
3344
  if (
3586
- changeStatus.change_status === "completed" &&
3345
+ changeStatus.outcome === "completed" &&
3587
3346
  [...tickets.values()].some(
3588
3347
  (artifact) => !new Set(["done", "cancelled"]).has(artifact.meta.status),
3589
3348
  )
3590
3349
  ) {
3591
- errors.push("change_status is completed while planned Tickets remain unfinished");
3350
+ errors.push("Outcome is completed while planned Tickets remain unfinished");
3592
3351
  }
3593
- if (changeStatus.change_status === "archived") {
3352
+ if (changeStatus.location.kind === "archive") {
3594
3353
  warnings.push("validating an archived change in place; normally it lives under the archive root");
3595
3354
  }
3596
- if (stage === "complete" && changeStatus.change_status !== "completed") {
3597
- errors.push("complete stage requires change_status=completed");
3355
+ if (stage === "complete" && changeStatus.outcome !== "completed") {
3356
+ errors.push("complete stage requires Outcome: completed");
3598
3357
  }
3599
3358
  }
3600
3359
  if (
3601
3360
  stage === "complete" &&
3602
- !ticketFiles.length && !retroOnly &&
3361
+ !ticketFiles.length && !retroOnly && !lightweight &&
3603
3362
  !isFile(join(change, "implementation-map.md")) &&
3604
3363
  !isFile(join(change, "evidence", "direct-spec.md"))
3605
3364
  ) {
3606
3365
  errors.push("complete stage without Tickets requires evidence/direct-spec.md");
3607
3366
  }
3608
3367
  if (
3609
- stage === "complete" &&
3368
+ archiveReady &&
3610
3369
  triage &&
3611
3370
  new Set(["pending-close", "close-failed"]).has(triage.meta.external_action)
3612
3371
  ) {
3613
3372
  errors.push(`complete stage cannot archive external_action=${triage.meta.external_action}`);
3614
3373
  }
3615
3374
  if (
3616
- stage === "complete" &&
3375
+ archiveReady &&
3617
3376
  triage &&
3618
3377
  new Set(["pending", "publish-failed"]).has(triage.meta.publish_action)
3619
3378
  ) {
3620
3379
  errors.push(`complete stage cannot archive publish_action=${triage.meta.publish_action}`);
3621
3380
  }
3622
3381
 
3623
- for (const path of walk(change).filter((item) => isFile(item) && extname(item) === ".md")) {
3382
+ for (const path of walk(change).filter((item) => lstatSync(item).isFile() && extname(item) === ".md")) {
3624
3383
  const text = readText(path);
3625
3384
  if ((text.match(/<Path>/g) ?? []).length !== (text.match(/<\/Path>/g) ?? []).length) {
3626
3385
  errors.push(`${toPosix(relative(change, path))}: unbalanced <Path> tags`);
@@ -3635,7 +3394,19 @@ function validateChange(change, stage = null, repoRoot = null) {
3635
3394
  }
3636
3395
  }
3637
3396
 
3638
- return { errors, warnings };
3397
+ errors.push(...validateEngineeringArtifacts(change, engineeringKind));
3398
+ if (simpleGoal && changeStatus?.outcome === "completed" && /^[-*] \[ \]/m.test(simpleGoal.body)) errors.push("completed Goal still has unfinished tasks");
3399
+ return { errors, warnings, ...(options.readOnlySnapshot ? {snapshot:true,preflight:true} : {}) };
3400
+ }
3401
+
3402
+ function contextArguments(context) {
3403
+ if (!context) return [];
3404
+ const source = context.readOnlySnapshot?.sourceContext ?? context;
3405
+ return ['--repo',source.projectRoot,'--method-root',source.methodRoot,'--state-root',source.specdevRoot,...(context.readOnlySnapshot ? ['--snapshot-specdev',context.specdevRoot] : [])];
3406
+ }
3407
+ function runDesignCheck(operation, path, errors, context = null, flags = []) {
3408
+ try { return execFileSync(process.execPath, [fileURLToPath(new URL("./design-artifacts.mjs", import.meta.url)), operation, path, ...contextArguments(context),...flags], { encoding: "utf8", stdio: ["ignore", "pipe", "pipe"] }); }
3409
+ catch (error) { errors.push(String(error.stderr || error.stdout || error.message).trim()); }
3639
3410
  }
3640
3411
 
3641
3412
  function printResults(errors, warnings) {
@@ -3646,26 +3417,41 @@ function printResults(errors, warnings) {
3646
3417
  }
3647
3418
 
3648
3419
  function usage() {
3649
- console.error("Usage: node validate-specdev.mjs [--stage <stage>] [--repo <project-root>] <change-directory> | --self-check | --capture <capture.md> | --triage-run <TRI-NNN.md>");
3420
+ console.error("Usage: node validate-specdev.mjs [--stage <stage>] [--sealed (archived only)] [--prototype-id UI-NNN|LOGIC-NNN] [--repo <project-root>] [--engineering <performance|documentation|incident>] <change-directory> | --review-scope --repo <project-root> --mode <baseline|range|commit|pr|source-files> [comparison options or repeated --file <relative-path>] | --self-check | --capture <capture.md> | --triage-run <TRI-NNN.md>");
3650
3421
  return 2;
3651
3422
  }
3652
3423
 
3653
3424
  function main(argv) {
3425
+ if (argv[0] === "--review-scope") return reviewScopeCLI(argv.slice(1));
3426
+ let engineeringKind = null;
3427
+ let prototypeId = null;
3654
3428
  let selfCheckRequested = false;
3655
3429
  let stage = null;
3656
3430
  let repoRoot = null;
3431
+ const contextOptions = {};
3657
3432
  let capturePath = null;
3658
3433
  let triageRunPath = null;
3659
3434
  const positional = [];
3660
3435
  for (let index = 0; index < argv.length; index += 1) {
3661
3436
  const arg = argv[index];
3662
- if (arg === "--self-check") {
3437
+ if (arg === "--prototype-id") {
3438
+ if (prototypeId !== null || !/^(?:UI|LOGIC)-\d{3,}$/.test(argv[index + 1] ?? "")) return usage();
3439
+ prototypeId = argv[++index];
3440
+ } else if (arg === "--sealed") {
3441
+ if(contextOptions.sealed) return usage();
3442
+ contextOptions.sealed=true;
3443
+ } else if (arg === "--engineering") {
3444
+ if (engineeringKind !== null || !ENGINEERING_KINDS.has(argv[index + 1])) return usage();
3445
+ engineeringKind = argv[++index];
3446
+ } else if (arg === "--self-check") {
3663
3447
  selfCheckRequested = true;
3664
3448
  } else if (arg === "--stage") {
3665
3449
  stage = argv[index + 1] ?? null;
3666
3450
  index += 1;
3667
3451
  } else if (arg.startsWith("--stage=")) {
3668
3452
  stage = arg.slice("--stage=".length);
3453
+ } else if (arg === "--method-root" || arg === "--state-root") {
3454
+ contextOptions[arg === "--method-root" ? "methodRoot" : "stateRoot"] = argv[++index];
3669
3455
  } else if (arg === "--repo") {
3670
3456
  repoRoot = argv[index + 1] ?? null;
3671
3457
  index += 1;
@@ -3685,6 +3471,9 @@ function main(argv) {
3685
3471
  }
3686
3472
  }
3687
3473
  if (stage !== null && !VALID_STAGES.has(stage)) return usage();
3474
+ if(contextOptions.sealed && stage !== 'archived') return usage();
3475
+ if (prototypeId && stage !== "prototype") return usage();
3476
+ if (engineeringKind !== null && (selfCheckRequested || capturePath || triageRunPath || positional.length !== 1)) return usage();
3688
3477
  if (triageRunPath) {
3689
3478
  if (selfCheckRequested || positional.length || stage !== null || capturePath || repoRoot) return usage();
3690
3479
  return printResults(validateRecord(resolve(triageRunPath), "triage-run", parseFrontmatter).errors, []);
@@ -3703,7 +3492,7 @@ function main(argv) {
3703
3492
  return printResults(errors, []);
3704
3493
  }
3705
3494
  if (positional.length === 1) {
3706
- const result = validateChange(resolve(positional[0]), stage, repoRoot);
3495
+ const result = validateChange(resolve(positional[0]), stage, repoRoot, engineeringKind, prototypeId, contextOptions);
3707
3496
  return printResults(result.errors, result.warnings);
3708
3497
  }
3709
3498
  return usage();