@namewta/speculo 1.0.24 → 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 (1045) hide show
  1. package/README.md +31 -103
  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/paths.d.ts +17 -4
  22. package/dist/src/paths.js +103 -17
  23. package/dist/src/paths.js.map +1 -1
  24. package/dist/src/refresh.d.ts +16 -2
  25. package/dist/src/refresh.js +66 -85
  26. package/dist/src/refresh.js.map +1 -1
  27. package/dist/src/runtime-entry.d.ts +4 -0
  28. package/dist/src/runtime-entry.js +5 -0
  29. package/dist/src/runtime-entry.js.map +1 -0
  30. package/dist/src/specdev-artifacts.d.ts +77 -0
  31. package/dist/src/specdev-artifacts.js +323 -0
  32. package/dist/src/specdev-artifacts.js.map +1 -0
  33. package/dist/src/structured.d.ts +1 -7
  34. package/dist/src/structured.js +18 -242
  35. package/dist/src/structured.js.map +1 -1
  36. package/dist/src/transaction.d.ts +3 -10
  37. package/dist/src/transaction.js +94 -176
  38. package/dist/src/transaction.js.map +1 -1
  39. package/dist/src/workflows.js +25 -87
  40. package/dist/src/workflows.js.map +1 -1
  41. package/package.json +18 -9
  42. package/template/.speculo/README.md +24 -27
  43. package/template/.speculo/refresh-contract.json +4 -6
  44. package/template/.speculo/workspace.json +10 -7
  45. package/template/AGENTS.md +8 -5
  46. package/template/canonical/README.md +6 -0
  47. package/template/canonical/canonical-specdev-goal-plan.md +2420 -644
  48. package/template/canonical/canonical-specdev-grill-with-docs.md +2456 -547
  49. package/template/canonical/canonical-specdev-spec.md +2274 -474
  50. package/template/canonical/canonical-specdev-tickets.md +2241 -679
  51. package/template/canonical/canonical-specdev-wayfinder.md +2892 -466
  52. package/template/commands/archive-and-consolidate/COMMAND.md +30 -0
  53. package/template/commands/docs-sync/COMMAND.md +25 -0
  54. package/template/commands/docs-sync/assets/agents-template.md +19 -0
  55. package/template/commands/docs-sync/assets/report-template.md +32 -0
  56. package/template/commands/docs-sync/references/agents-contract.md +27 -0
  57. package/template/commands/docs-sync/references/changelog-contract.md +39 -0
  58. package/template/commands/docs-sync/references/git-state-contract.md +39 -0
  59. package/template/commands/docs-sync/references/handbook-discovery.md +11 -0
  60. package/template/commands/docs-sync/references/operation-contract.md +62 -0
  61. package/template/commands/docs-sync/references/readme-contract.md +24 -0
  62. package/template/commands/docs-sync/references/workflow-scope-contract.md +32 -0
  63. package/template/commands/engineering-standards-builder/COMMAND.md +163 -0
  64. package/template/commands/engineering-standards-builder/manifest.txt +118 -0
  65. package/template/commands/engineering-standards-builder/scripts/validate-builder.mjs +268 -0
  66. package/template/commands/git-history-squash/COMMAND.md +72 -0
  67. package/template/commands/git-history-squash/references/operation-contract.md +99 -0
  68. package/template/commands/git-history-squash/references/rewrite-contract.md +127 -0
  69. package/template/commands/git-history-squash/scripts/git-history-squash.mjs +1210 -0
  70. package/template/commands/git-repository-audit/COMMAND.md +80 -0
  71. package/template/commands/handoff/COMMAND.md +61 -0
  72. package/template/commands/manifest.json +15 -0
  73. package/template/commands/retro/COMMAND.md +72 -0
  74. package/template/commands/source-code-zip/COMMAND.md +58 -0
  75. package/template/commands/status/COMMAND.md +14 -0
  76. package/template/commands/upstream-fork-sync/COMMAND.md +85 -0
  77. package/template/commands/upstream-fork-sync/references/report-contract.md +40 -0
  78. package/template/commands/upstream-fork-sync/references/repository-contract.md +54 -0
  79. package/template/commands/upstream-fork-sync/references/state-schema.md +55 -0
  80. package/template/lib/design-validators.mjs +5460 -0
  81. package/template/lib/legacy-status-validator.cjs +3238 -0
  82. package/template/lib/speculo-runtime.mjs +7949 -0
  83. package/template/references/coordination/coordination-contract.md +50 -0
  84. package/template/references/coordination/exchange/external-web.md +132 -0
  85. package/template/references/coordination/exchange/source-package.md +239 -0
  86. package/template/references/coordination/modes/cli.md +11 -0
  87. package/template/references/coordination/modes/herdr.md +12 -0
  88. package/template/references/coordination/modes/orca.md +13 -0
  89. package/template/references/coordination/project-facts.example.json +5 -0
  90. package/template/references/coordination/project-facts.schema.json +113 -0
  91. package/template/references/coordination/result-and-recovery.md +36 -0
  92. package/template/references/coordination/task-brief.md +43 -0
  93. package/template/references/retrospective/references/issue-drafting-sop.md +69 -0
  94. package/template/references/retrospective/retrospective-contract.md +37 -0
  95. package/template/references/writing-for-agents/GLOSSARY.md +201 -0
  96. package/template/references/writing-for-agents/references/current-facts-docs.md +35 -0
  97. package/template/references/writing-for-agents/references/document-contract.md +25 -0
  98. package/template/references/writing-for-agents/writing-contract.md +17 -0
  99. package/template/workflows/learning/SKILL.md +40 -0
  100. package/template/workflows/learning/common/rules/domain-runtime.md +94 -0
  101. package/template/workflows/learning/common/rules/question-map-contract.md +1 -1
  102. package/template/workflows/learning/common/skills/topic-synthesis/SKILL.md +2 -0
  103. package/template/workflows/learning/common/tools/validate-learning.mjs +38 -50
  104. package/template/workflows/learning/learning-a-archive/SKILL.md +32 -0
  105. package/template/workflows/learning/learning-a-assess-and-plan/SKILL.md +40 -0
  106. package/template/workflows/learning/learning-c-consolidate/SKILL.md +40 -0
  107. package/template/workflows/learning/learning-g-goal/SKILL.md +63 -0
  108. package/template/workflows/learning/learning-g-goal/assets/goal-plan-template.md +310 -0
  109. package/template/workflows/learning/learning-g-goal/assets/progress-template.md +19 -0
  110. package/template/workflows/learning/learning-g-goal/references/coverage-bar.md +36 -0
  111. package/template/workflows/learning/learning-g-goal/references/external-goal-runner.md +54 -0
  112. package/template/workflows/learning/learning-g-goal/references/lead-orchestration.md +52 -0
  113. package/template/workflows/learning/learning-g-goal/references/orchestration-protocol.md +26 -0
  114. package/template/workflows/learning/learning-g-goal/references/planning-modes.md +19 -0
  115. package/template/workflows/learning/learning-h-homework/SKILL.md +38 -0
  116. package/template/workflows/learning/learning-i-init-setup/SKILL.md +34 -0
  117. package/template/workflows/learning/learning-l-lesson/SKILL.md +43 -0
  118. package/template/workflows/learning/learning-q-question/SKILL.md +48 -0
  119. package/template/workflows/learning/learning-q-question/references/exploration-mode.md +35 -0
  120. package/template/workflows/learning/learning-q-question/references/tutor-mode.md +31 -0
  121. package/template/workflows/learning/learning-r-review/SKILL.md +37 -0
  122. package/template/workflows/learning/manifest.json +103 -1
  123. package/template/workflows/media/SKILL.md +37 -0
  124. package/template/workflows/media/common/rules/domain-runtime.md +66 -0
  125. package/template/workflows/media/common/tools/media-tools.mjs +1 -1
  126. package/template/workflows/media/common/tools/validate-media.mjs +12 -11
  127. package/template/workflows/media/manifest.json +21 -2
  128. package/template/workflows/media/media-b-brief/SKILL.md +19 -0
  129. package/template/workflows/media/media-d-deconstruct/SKILL.md +19 -0
  130. package/template/workflows/media/media-h-hand-drawn/SKILL.md +19 -0
  131. package/template/workflows/media/media-i-init-setup/SKILL.md +19 -0
  132. package/template/workflows/media/media-p-publish-draft/SKILL.md +19 -0
  133. package/template/workflows/media/media-r-retro/SKILL.md +19 -0
  134. package/template/workflows/media/media-v-video/SKILL.md +19 -0
  135. package/template/workflows/ops/SKILL.md +37 -0
  136. package/template/workflows/ops/common/WORKSPACE-USAGE.md +2 -2
  137. package/template/workflows/ops/common/rules/domain-runtime.md +54 -0
  138. package/template/workflows/ops/common/tests/test_ops.mjs +12 -10
  139. package/template/workflows/ops/common/tests/test_ops_bootstrap.mjs +10 -10
  140. package/template/workflows/ops/common/tests/test_ops_onboarding.mjs +2 -2
  141. package/template/workflows/ops/common/tests/test_ops_workspace.mjs +6 -6
  142. package/template/workflows/ops/common/tools/opslib/workspace.mjs +2 -2
  143. package/template/workflows/ops/common/tools/validate-ops.mjs +4 -4
  144. package/template/workflows/ops/manifest.json +17 -2
  145. package/template/workflows/ops/ops-d-project-deploy/SKILL.md +41 -0
  146. package/template/workflows/ops/ops-h-host-manage/SKILL.md +35 -0
  147. package/template/workflows/ops/ops-i-initialize/SKILL.md +29 -0
  148. package/template/workflows/ops/ops-s-server-connect/SKILL.md +29 -0
  149. package/template/workflows/ops/ops-v-inventory-view/SKILL.md +33 -0
  150. package/template/workflows/person/SKILL.md +32 -0
  151. package/template/workflows/person/manifest.json +57 -1
  152. package/template/workflows/person/person-m-mao-zedong-cognitive-os/SKILL.md +43 -0
  153. package/template/workflows/person/person-m-mao-zedong-cognitive-os/books/README.md +17 -0
  154. package/template/workflows/person/person-m-mao-zedong-cognitive-os/books/src/SUMMARY.md +231 -0
  155. package/template/workflows/person/person-m-mao-zedong-cognitive-os/books/src//347/233/256/345/275/225.md +243 -0
  156. package/template/workflows/person/person-m-mao-zedong-cognitive-os/references/activate.md +83 -0
  157. package/template/workflows/person/person-m-mao-zedong-cognitive-os/references/deliver.md +116 -0
  158. package/template/workflows/person/person-m-mao-zedong-cognitive-os/references/diagnose.md +83 -0
  159. package/template/workflows/person/person-m-mao-zedong-cognitive-os/references/mobilize.md +85 -0
  160. package/template/workflows/person/person-m-mao-zedong-cognitive-os/references/strategize.md +76 -0
  161. package/template/workflows/person/person-s-steelman-deliberation/SKILL.md +114 -0
  162. package/template/workflows/person/person-s-steelman-deliberation/assets/canonical-body.md +518 -0
  163. package/template/workflows/person/person-s-steelman-deliberation/references/state-and-publication.md +86 -0
  164. package/template/workflows/person/{S-steelman-deliberation/tools → person-s-steelman-deliberation/scripts}/validate-steelman-change.mjs +0 -0
  165. package/template/workflows/specdev/SKILL.md +51 -0
  166. package/template/workflows/specdev/common/README.md +3 -3
  167. package/template/workflows/specdev/common/rules/activation-and-memory.md +5 -1
  168. package/template/workflows/specdev/common/rules/adr-format.md +3 -3
  169. package/template/workflows/specdev/common/rules/agent-experience.md +7 -1
  170. package/template/workflows/specdev/common/rules/artifact-contract.md +22 -15
  171. package/template/workflows/specdev/common/rules/change-completion.md +24 -5
  172. package/template/workflows/specdev/common/rules/design-contract.md +51 -0
  173. package/template/workflows/specdev/common/rules/design-it-twice.md +9 -9
  174. package/template/workflows/specdev/common/rules/design-portability.md +48 -0
  175. package/template/workflows/specdev/common/rules/deviation-control.md +3 -3
  176. package/template/workflows/specdev/common/rules/documentation-standard.md +5 -1
  177. package/template/workflows/specdev/common/rules/domain-modeling.md +1 -1
  178. package/template/workflows/specdev/common/rules/domain-runtime.md +35 -0
  179. package/template/workflows/specdev/common/rules/error-handling.md +5 -1
  180. package/template/workflows/specdev/common/rules/evidence-and-verification.md +1 -1
  181. package/template/workflows/specdev/common/rules/operating-governance.md +3 -3
  182. package/template/workflows/specdev/common/rules/parent-implementation-orchestration.md +3 -3
  183. package/template/workflows/specdev/common/rules/path-ownership.md +5 -5
  184. package/template/workflows/specdev/common/rules/path-reference-contract.md +15 -6
  185. package/template/workflows/specdev/common/rules/readiness-and-depth.md +6 -1
  186. package/template/workflows/specdev/common/rules/test-reliability.md +4 -0
  187. package/template/workflows/specdev/common/rules/workflow-routing.md +2 -2
  188. package/template/workflows/specdev/common/rules/workflow-state-and-lifecycle.md +26 -81
  189. package/template/workflows/specdev/common/schemas/change-design.schema.json +254 -0
  190. package/template/workflows/specdev/common/schemas/config.schema.json +4 -4
  191. package/template/workflows/specdev/common/schemas/goal-plan.schema.json +144 -23
  192. package/template/workflows/specdev/common/schemas/implementation-plan.schema.json +139 -24
  193. package/template/workflows/specdev/common/schemas/project-design.schema.json +164 -0
  194. package/template/workflows/specdev/common/schemas/prototype-browser-evidence.schema.json +153 -0
  195. package/template/workflows/specdev/common/schemas/ticket.schema.json +40 -0
  196. package/template/workflows/specdev/common/skills/code-review/SKILL.md +9 -5
  197. package/template/workflows/specdev/common/skills/code-review/references/result-reuse.md +2 -2
  198. package/template/workflows/specdev/common/skills/code-review/references/reviewer-contracts.md +2 -2
  199. package/template/workflows/specdev/common/skills/code-review/references/source-discovery.md +3 -1
  200. package/template/workflows/specdev/common/skills/dev-worktree/references/create.md +1 -1
  201. package/template/workflows/specdev/common/skills/dev-worktree/references/finalize.md +1 -1
  202. package/template/workflows/specdev/common/skills/plan-quality-review/SKILL.md +1 -1
  203. package/template/workflows/specdev/common/skills/research/SKILL.md +1 -1
  204. package/template/workflows/specdev/common/tools/README.md +21 -5
  205. package/template/workflows/specdev/common/tools/change-artifacts.mjs +170 -0
  206. package/template/workflows/specdev/common/tools/design-artifacts.mjs +277 -0
  207. package/template/workflows/specdev/common/tools/engineering-evidence.mjs +3 -3
  208. package/template/workflows/specdev/common/tools/plan-contract.mjs +160 -17
  209. package/template/workflows/specdev/common/tools/publish-design.mjs +341 -0
  210. package/template/workflows/specdev/common/tools/review-scope.mjs +49 -6
  211. package/template/workflows/specdev/common/tools/tests/engineering.test.mjs +17 -19
  212. package/template/workflows/specdev/common/tools/tests/review-source-files.test.mjs +74 -0
  213. package/template/workflows/specdev/common/tools/ticket-control.mjs +19 -25
  214. package/template/workflows/specdev/common/tools/validate-specdev.mjs +269 -502
  215. package/template/workflows/specdev/manifest.json +52 -3
  216. package/template/workflows/specdev/runtime-contract.json +6 -6
  217. package/template/workflows/specdev/specdev-a-archive-and-consolidate/SKILL.md +39 -0
  218. package/template/workflows/specdev/specdev-a-archive-and-consolidate/assets/archive-plan-template.md +32 -0
  219. package/template/workflows/specdev/specdev-a-archive-and-consolidate/assets/cleanup-candidate-template.md +69 -0
  220. package/template/workflows/specdev/specdev-a-archive-and-consolidate/assets/consolidation-plan-template.md +78 -0
  221. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/archive-receipt-contract.md +40 -0
  222. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/archive-rules.md +20 -0
  223. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/cleanup-rules.md +79 -0
  224. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/consolidation-interview.md +67 -0
  225. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/consolidation-rules.md +86 -0
  226. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/design-knowledge-gateway.md +61 -0
  227. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/knowledge-graduation.md +58 -0
  228. package/template/workflows/specdev/specdev-a-archive-and-consolidate/references/operation-contract.md +48 -0
  229. package/template/workflows/specdev/specdev-c-code-review/SKILL.md +55 -0
  230. package/template/workflows/specdev/specdev-c-code-review/assets/code-review-template.md +53 -0
  231. package/template/workflows/specdev/specdev-c-code-review/references/source-files-review.md +14 -0
  232. package/template/workflows/specdev/specdev-d-diagnose-bugs/SKILL.md +84 -0
  233. package/template/workflows/specdev/specdev-d-diagnose-bugs/references/feedback-loop.md +43 -0
  234. package/template/workflows/specdev/specdev-d-diagnose-bugs/references/incident-evidence.md +21 -0
  235. package/template/workflows/specdev/specdev-g-grill-with-docs/SKILL.md +34 -0
  236. package/template/workflows/specdev/specdev-g-grill-with-docs/references/interview-procedure.md +138 -0
  237. package/template/workflows/specdev/specdev-i-implement/SKILL.md +49 -0
  238. package/template/workflows/specdev/specdev-i-implement/assets/evidence-template.md +153 -0
  239. package/template/workflows/specdev/specdev-i-implement/references/documentation-procedure.md +23 -0
  240. package/template/workflows/specdev/specdev-i-implement/references/execution-preflight.md +51 -0
  241. package/template/workflows/specdev/specdev-i-implement/references/implementation-procedure.md +170 -0
  242. package/template/workflows/specdev/specdev-i-implement/references/merge-conflict-protocol.md +21 -0
  243. package/template/workflows/specdev/specdev-i-implement/references/tdd-rules.md +25 -0
  244. package/template/workflows/specdev/specdev-i-init-setup/SKILL.md +31 -0
  245. package/template/workflows/specdev/specdev-i-init-setup/assets/change-readme-template.md +32 -0
  246. package/template/workflows/specdev/specdev-i-init-setup/assets/config-template.json +31 -0
  247. package/template/workflows/specdev/specdev-i-init-setup/assets/domain-layout-template.md +29 -0
  248. package/template/workflows/specdev/specdev-i-init-setup/assets/tracking-template.md +13 -0
  249. package/template/workflows/specdev/specdev-i-init-setup/references/change-record-examples.md +62 -0
  250. package/template/workflows/specdev/specdev-i-init-setup/references/first-setup.md +11 -0
  251. package/template/workflows/specdev/specdev-l-learn-change/SKILL.md +33 -0
  252. package/template/workflows/specdev/specdev-p-goal-plan/SKILL.md +71 -0
  253. package/template/workflows/specdev/specdev-p-goal-plan/assets/goal-plan-template.md +150 -0
  254. package/template/workflows/specdev/specdev-p-goal-plan/assets/lightweight-goal-plan-template.md +21 -0
  255. package/template/workflows/specdev/specdev-p-goal-plan/references/completion-control.md +47 -0
  256. package/template/workflows/specdev/specdev-p-goal-plan/references/goal-lifecycle.md +35 -0
  257. package/template/workflows/specdev/specdev-p-goal-plan/references/goal-tickets-map-template.md +15 -0
  258. package/template/workflows/specdev/specdev-p-goal-plan/references/lead-orchestration.md +44 -0
  259. package/template/workflows/specdev/specdev-p-goal-plan/references/map-control.md +28 -0
  260. package/template/workflows/specdev/specdev-p-goal-plan/references/multi-change-plan.md +126 -0
  261. package/template/workflows/specdev/specdev-p-goal-plan/references/multi-execution-loop.md +31 -0
  262. package/template/workflows/specdev/specdev-p-goal-plan/references/multi-input-readiness.md +25 -0
  263. package/template/workflows/specdev/specdev-p-goal-plan/references/multi-super-dag.md +27 -0
  264. package/template/workflows/specdev/specdev-p-goal-plan/references/orchestration-protocol.md +58 -0
  265. package/template/workflows/specdev/specdev-p-goal-plan/references/planning-modes.md +78 -0
  266. package/template/workflows/specdev/specdev-p-goal-plan/references/replan-and-recovery.md +15 -0
  267. package/template/workflows/specdev/specdev-p-goal-plan/references/single-change-plan.md +157 -0
  268. package/template/workflows/specdev/specdev-p-prototype/SKILL.md +56 -0
  269. package/template/workflows/specdev/specdev-p-prototype/assets/change-design-template.md +68 -0
  270. package/template/workflows/specdev/specdev-p-prototype/assets/design-package.schema.json +248 -0
  271. package/template/workflows/specdev/specdev-p-prototype/assets/design-system-template.md +307 -0
  272. package/template/workflows/specdev/specdev-p-prototype/assets/project-design-template.md +60 -0
  273. package/template/workflows/specdev/specdev-p-prototype/design-library/INDEX.md +50 -0
  274. package/template/workflows/specdev/specdev-p-prototype/design-library/catalog.json +384 -0
  275. package/template/workflows/specdev/specdev-p-prototype/design-library/catalog.schema.json +42 -0
  276. package/template/workflows/specdev/specdev-p-prototype/design-library/color-and-theme.md +65 -0
  277. package/template/workflows/specdev/specdev-p-prototype/design-library/composition.md +39 -0
  278. package/template/workflows/specdev/specdev-p-prototype/design-library/foundations.md +66 -0
  279. package/template/workflows/specdev/specdev-p-prototype/design-library/gallery.html +14 -0
  280. package/template/workflows/specdev/specdev-p-prototype/design-library/gallery.js +55 -0
  281. package/template/workflows/specdev/specdev-p-prototype/design-library/interaction-patterns.md +61 -0
  282. package/template/workflows/specdev/specdev-p-prototype/design-library/product-pattern-index.md +73 -0
  283. package/template/workflows/specdev/specdev-p-prototype/design-library/research-provenance.md +60 -0
  284. package/template/workflows/specdev/specdev-p-prototype/design-library/responsive-and-platforms.md +53 -0
  285. package/template/workflows/specdev/specdev-p-prototype/design-library/style-index.md +47 -0
  286. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/assets/prototypes.css +13 -0
  287. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/assets/prototypes.js +146 -0
  288. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/brand-editorial.html +18 -0
  289. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/brand-editorial.md +25 -0
  290. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/commerce-service.html +10 -0
  291. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/commerce-service.md +25 -0
  292. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/cross-platform-workspace.md +25 -0
  293. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/dense-ide.md +25 -0
  294. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/enterprise-data.html +21 -0
  295. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/enterprise-data.md +25 -0
  296. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/local-first-content.md +25 -0
  297. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/marketing-conversion.html +13 -0
  298. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/marketing-conversion.md +25 -0
  299. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/media-first.md +25 -0
  300. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/mobile-supervisor.md +25 -0
  301. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/monochrome-console.md +25 -0
  302. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/responsive-web.md +25 -0
  303. package/template/workflows/specdev/specdev-p-prototype/design-library/templates/soft-personal-ai.md +25 -0
  304. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/LICENSE +21 -0
  305. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/README.md +14 -0
  306. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/airbnb/DESIGN.md +545 -0
  307. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/apple/DESIGN.md +562 -0
  308. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/figma/DESIGN.md +578 -0
  309. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/ibm/DESIGN.md +550 -0
  310. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/linear/DESIGN.md +548 -0
  311. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/mintlify/DESIGN.md +852 -0
  312. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/notion/DESIGN.md +821 -0
  313. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/provenance.json +95 -0
  314. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/spotify/DESIGN.md +246 -0
  315. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/stripe/DESIGN.md +487 -0
  316. package/template/workflows/specdev/specdev-p-prototype/design-library/upstream/awesome-design-md/vercel/DESIGN.md +736 -0
  317. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/airbnb.md +27 -0
  318. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/apple.md +27 -0
  319. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/figma.md +27 -0
  320. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/ibm.md +29 -0
  321. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/linear.md +27 -0
  322. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/mintlify.md +27 -0
  323. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/notion.md +27 -0
  324. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/spotify.md +27 -0
  325. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/stripe.md +27 -0
  326. package/template/workflows/specdev/specdev-p-prototype/design-library/visual-references/vercel.md +29 -0
  327. package/template/workflows/specdev/specdev-p-prototype/references/detect-existing-style.md +53 -0
  328. package/template/workflows/specdev/specdev-p-prototype/references/generate-design-package.md +78 -0
  329. package/template/workflows/specdev/specdev-p-prototype/references/logic-protocol.md +11 -0
  330. package/template/workflows/specdev/specdev-p-prototype/references/project-preview-protocol.md +9 -0
  331. package/template/workflows/specdev/specdev-p-prototype/references/style-selection-protocol.md +36 -0
  332. package/template/workflows/specdev/specdev-p-prototype/scripts/validate-design-package.mjs +133 -0
  333. package/template/workflows/specdev/specdev-r-retro/SKILL.md +31 -0
  334. package/template/workflows/specdev/specdev-r-review-architecture/SKILL.md +104 -0
  335. package/template/workflows/specdev/specdev-r-review-architecture/assets/architecture-review-template.md +73 -0
  336. package/template/workflows/specdev/specdev-r-review-architecture/references/proposal-to-ticket.md +13 -0
  337. package/template/workflows/specdev/specdev-r-review-architecture/references/review-rubric.md +56 -0
  338. package/template/workflows/specdev/specdev-r-review-architecture/references/selected-design.md +27 -0
  339. package/template/workflows/specdev/specdev-s-spec/SKILL.md +43 -0
  340. package/template/workflows/specdev/specdev-s-spec/references/spec-readiness.md +17 -0
  341. package/template/workflows/specdev/specdev-t-tickets/SKILL.md +51 -0
  342. package/template/workflows/specdev/specdev-t-tickets/assets/ticket-template.md +157 -0
  343. package/template/workflows/specdev/specdev-t-tickets/assets/tickets-map-template.md +102 -0
  344. package/template/workflows/specdev/specdev-t-tickets/references/decomposition-rules.md +60 -0
  345. package/template/workflows/specdev/specdev-t-tickets/references/planning-procedure.md +235 -0
  346. package/template/workflows/specdev/specdev-t-tickets/references/ticket-readiness.md +56 -0
  347. package/template/workflows/specdev/specdev-t-triage/SKILL.md +58 -0
  348. package/template/workflows/specdev/specdev-t-triage/assets/capture-template.md +42 -0
  349. package/template/workflows/specdev/specdev-t-triage/assets/close-comment-template.md +42 -0
  350. package/template/workflows/specdev/specdev-t-triage/assets/issue-body-template.md +34 -0
  351. package/template/workflows/specdev/specdev-t-triage/assets/issue-record-template.md +27 -0
  352. package/template/workflows/specdev/specdev-t-triage/assets/triage-template.md +57 -0
  353. package/template/workflows/specdev/specdev-t-triage/references/capture-protocol.md +89 -0
  354. package/template/workflows/specdev/specdev-t-triage/references/ci-security-protocol.md +15 -0
  355. package/template/workflows/specdev/specdev-t-triage/references/intake-protocol.md +63 -0
  356. package/template/workflows/specdev/specdev-t-triage/references/issue-pr-policy.md +23 -0
  357. package/template/workflows/specdev/specdev-t-triage/references/pr-delivery-protocol.md +17 -0
  358. package/template/workflows/specdev/specdev-t-triage/references/publish-protocol.md +92 -0
  359. package/template/workflows/specdev/specdev-t-triage/references/queue-protocol.md +7 -0
  360. package/template/workflows/specdev/specdev-t-triage/references/reconcile-protocol.md +34 -0
  361. package/template/workflows/specdev/specdev-t-triage/references/release-preflight.md +17 -0
  362. package/template/workflows/specdev/specdev-t-triage/references/release-protocol.md +16 -0
  363. package/template/workflows/specdev/specdev-t-triage/references/release-recovery.md +22 -0
  364. package/template/workflows/specdev/specdev-t-triage/references/remote-operations.md +25 -0
  365. package/template/workflows/specdev/specdev-t-triage/scripts/capture-status.mjs +126 -0
  366. package/template/workflows/specdev/specdev-t-triage/scripts/publish-status.mjs +137 -0
  367. package/template/workflows/specdev/specdev-w-wayfinder/SKILL.md +49 -0
  368. package/template/workflows/specdev/specdev-w-wayfinder/assets/wayfinder-map-template.md +33 -0
  369. package/template/workflows/specdev/specdev-w-wayfinder/references/initiative-discovery.md +29 -0
  370. package/template/workflows/specdev/specdev-w-wayfinder/references/local-tracker-contract.md +33 -0
  371. package/template/workflows/specdev/specdev-w-wayfinder/references/map-traversal.md +120 -0
  372. package/scripts/validate-skills.mjs +0 -56
  373. package/template/commands/archive-and-consolidate.md +0 -72
  374. package/template/commands/docs-sync.md +0 -28
  375. package/template/commands/git-history-squash.md +0 -76
  376. package/template/commands/git-repository-audit.md +0 -83
  377. package/template/commands/handoff.md +0 -66
  378. package/template/commands/retro.md +0 -75
  379. package/template/commands/status.md +0 -17
  380. package/template/skills/archive-and-consolidate/SKILL.md +0 -175
  381. package/template/skills/archive-and-consolidate/assets/archive-plan-template.md +0 -35
  382. package/template/skills/archive-and-consolidate/assets/cleanup-candidate-template.md +0 -69
  383. package/template/skills/archive-and-consolidate/assets/consolidation-plan-template.md +0 -67
  384. package/template/skills/archive-and-consolidate/references/archive-rules.md +0 -48
  385. package/template/skills/archive-and-consolidate/references/cleanup-rules.md +0 -73
  386. package/template/skills/archive-and-consolidate/references/consolidation-rules.md +0 -69
  387. package/template/skills/archive-and-consolidate/references/knowledge-graduation.md +0 -53
  388. package/template/skills/docs-sync/SKILL.md +0 -32
  389. package/template/skills/docs-sync/assets/report-template.md +0 -46
  390. package/template/skills/docs-sync/references/agents/agent-writing.md +0 -75
  391. package/template/skills/docs-sync/references/agents/claude-redirect.md +0 -39
  392. package/template/skills/docs-sync/references/agents/content-contract.md +0 -213
  393. package/template/skills/docs-sync/references/agents/evidence-collection.md +0 -184
  394. package/template/skills/docs-sync/references/agents/manifest-discovery.md +0 -126
  395. package/template/skills/docs-sync/references/agents/role-classification.md +0 -141
  396. package/template/skills/docs-sync/references/agents/templates/aggregator-AGENTS.md +0 -69
  397. package/template/skills/docs-sync/references/agents/templates/capability-module-AGENTS.md +0 -68
  398. package/template/skills/docs-sync/references/agents/templates/contract-module-AGENTS.md +0 -65
  399. package/template/skills/docs-sync/references/agents/templates/repo-root-AGENTS.md +0 -71
  400. package/template/skills/docs-sync/references/agents/templates/runnable-app-AGENTS.md +0 -69
  401. package/template/skills/docs-sync/references/agents/templates/scripts-docs-AGENTS.md +0 -51
  402. package/template/skills/docs-sync/references/agents/writing-style.md +0 -145
  403. package/template/skills/docs-sync/references/agents-contract.md +0 -67
  404. package/template/skills/docs-sync/references/changelog-contract.md +0 -39
  405. package/template/skills/docs-sync/references/document-lifecycle-contract.md +0 -40
  406. package/template/skills/docs-sync/references/git-state-contract.md +0 -67
  407. package/template/skills/docs-sync/references/mode-contract.md +0 -21
  408. package/template/skills/docs-sync/references/readme-contract.md +0 -46
  409. package/template/skills/docs-sync/references/readme-writing-guide.md +0 -294
  410. package/template/skills/docs-sync/references/workflow-scope-contract.md +0 -52
  411. package/template/skills/engineering-standards-builder/SKILL.md +0 -161
  412. package/template/skills/engineering-standards-builder/manifest.txt +0 -118
  413. package/template/skills/engineering-standards-builder/scripts/validate-builder.mjs +0 -272
  414. package/template/skills/git-history-squash/SKILL.md +0 -99
  415. package/template/skills/git-history-squash/references/rewrite-contract.md +0 -123
  416. package/template/skills/git-history-squash/scripts/git-history-squash.mjs +0 -1171
  417. package/template/skills/retrospective/SKILL.md +0 -43
  418. package/template/skills/retrospective/references/issue-drafting-sop.md +0 -69
  419. package/template/skills/source-code-zip/SKILL.md +0 -54
  420. package/template/skills/upstream-fork-sync/SKILL.md +0 -82
  421. package/template/skills/upstream-fork-sync/references/report-contract.md +0 -40
  422. package/template/skills/upstream-fork-sync/references/repository-contract.md +0 -54
  423. package/template/skills/upstream-fork-sync/references/state-schema.md +0 -55
  424. package/template/skills/writing-for-agents/GLOSSARY.md +0 -201
  425. package/template/skills/writing-for-agents/SKILL.md +0 -22
  426. package/template/skills/writing-for-agents/agents/openai.yaml +0 -2
  427. package/template/skills/writing-for-agents/references/document-contract.md +0 -23
  428. package/template/workflows/learning/A-archive/A-archive.md +0 -31
  429. package/template/workflows/learning/A-assess-and-plan/A-assess-and-plan.md +0 -39
  430. package/template/workflows/learning/C-consolidate/C-consolidate.md +0 -39
  431. package/template/workflows/learning/G-goal/G-goal.md +0 -62
  432. package/template/workflows/learning/G-goal/goal-plan-template.md +0 -310
  433. package/template/workflows/learning/G-goal/orchestration-protocol.md +0 -26
  434. package/template/workflows/learning/G-goal/planning-modes.md +0 -19
  435. package/template/workflows/learning/G-goal/progress-template.md +0 -19
  436. package/template/workflows/learning/G-goal/references/coverage-bar.md +0 -36
  437. package/template/workflows/learning/G-goal/references/external-goal-runner.md +0 -54
  438. package/template/workflows/learning/G-goal/references/lead-orchestration.md +0 -52
  439. package/template/workflows/learning/H-homework/H-homework.md +0 -37
  440. package/template/workflows/learning/I-init-setup/I-init-setup.md +0 -33
  441. package/template/workflows/learning/INDEX.md +0 -26
  442. package/template/workflows/learning/L-lesson/L-lesson.md +0 -42
  443. package/template/workflows/learning/Q-question/Q-question.md +0 -47
  444. package/template/workflows/learning/Q-question/references/exploration-mode.md +0 -35
  445. package/template/workflows/learning/Q-question/references/tutor-mode.md +0 -31
  446. package/template/workflows/learning/R-review/R-review.md +0 -36
  447. package/template/workflows/learning/README.md +0 -100
  448. package/template/workflows/media/B-brief/B-brief.md +0 -18
  449. package/template/workflows/media/D-deconstruct/D-deconstruct.md +0 -18
  450. package/template/workflows/media/H-hand-drawn/H-hand-drawn.md +0 -18
  451. package/template/workflows/media/I-init-setup/I-init-setup.md +0 -18
  452. package/template/workflows/media/INDEX.md +0 -20
  453. package/template/workflows/media/P-publish-draft/P-publish-draft.md +0 -18
  454. package/template/workflows/media/R-retro/R-retro.md +0 -18
  455. package/template/workflows/media/README.md +0 -76
  456. package/template/workflows/media/V-video/V-video.md +0 -18
  457. package/template/workflows/ops/D-project-deploy/D-project-deploy.md +0 -40
  458. package/template/workflows/ops/H-host-manage/H-host-manage.md +0 -34
  459. package/template/workflows/ops/I-initialize/I-initialize.md +0 -28
  460. package/template/workflows/ops/INDEX.md +0 -36
  461. package/template/workflows/ops/README.md +0 -62
  462. package/template/workflows/ops/S-server-connect/S-server-connect.md +0 -28
  463. package/template/workflows/ops/V-inventory-view/V-inventory-view.md +0 -32
  464. package/template/workflows/person/INDEX.md +0 -15
  465. package/template/workflows/person/M-mao-zedong-cognitive-os/M-mao-zedong-cognitive-os.md +0 -42
  466. package/template/workflows/person/M-mao-zedong-cognitive-os/activate.md +0 -81
  467. package/template/workflows/person/M-mao-zedong-cognitive-os/books/README.md +0 -17
  468. package/template/workflows/person/M-mao-zedong-cognitive-os/books/src/SUMMARY.md +0 -231
  469. package/template/workflows/person/M-mao-zedong-cognitive-os/books/src//347/233/256/345/275/225.md +0 -243
  470. package/template/workflows/person/M-mao-zedong-cognitive-os/deliver.md +0 -114
  471. package/template/workflows/person/M-mao-zedong-cognitive-os/diagnose.md +0 -83
  472. package/template/workflows/person/M-mao-zedong-cognitive-os/mobilize.md +0 -85
  473. package/template/workflows/person/M-mao-zedong-cognitive-os/strategize.md +0 -76
  474. package/template/workflows/person/S-steelman-deliberation/S-steelman-deliberation.md +0 -113
  475. package/template/workflows/person/S-steelman-deliberation/references/state-and-publication.md +0 -86
  476. package/template/workflows/specdev/A-archive-and-consolidate/A-archive-and-consolidate.md +0 -56
  477. package/template/workflows/specdev/A-archive-and-consolidate/consolidation-interview.md +0 -67
  478. package/template/workflows/specdev/C-code-review/C-code-review.md +0 -42
  479. package/template/workflows/specdev/C-code-review/code-review-template.md +0 -53
  480. package/template/workflows/specdev/D-diagnose-bugs/D-diagnose-bugs.md +0 -83
  481. package/template/workflows/specdev/D-diagnose-bugs/feedback-loop.md +0 -43
  482. package/template/workflows/specdev/D-diagnose-bugs/references/incident-evidence.md +0 -21
  483. package/template/workflows/specdev/G-grill-with-docs/G-grill-with-docs.md +0 -33
  484. package/template/workflows/specdev/G-grill-with-docs/references/interview-procedure.md +0 -138
  485. package/template/workflows/specdev/I-implement/I-implement.md +0 -36
  486. package/template/workflows/specdev/I-implement/evidence-template.md +0 -145
  487. package/template/workflows/specdev/I-implement/execution-preflight.md +0 -48
  488. package/template/workflows/specdev/I-implement/merge-conflict-protocol.md +0 -21
  489. package/template/workflows/specdev/I-implement/references/documentation-procedure.md +0 -21
  490. package/template/workflows/specdev/I-implement/references/implementation-procedure.md +0 -164
  491. package/template/workflows/specdev/I-implement/tdd-rules.md +0 -25
  492. package/template/workflows/specdev/I-init-setup/I-init-setup.md +0 -45
  493. package/template/workflows/specdev/I-init-setup/change-status-template.json +0 -28
  494. package/template/workflows/specdev/I-init-setup/config-template.json +0 -31
  495. package/template/workflows/specdev/I-init-setup/domain-layout-template.md +0 -23
  496. package/template/workflows/specdev/I-init-setup/references/first-setup.md +0 -46
  497. package/template/workflows/specdev/I-init-setup/status-template.json +0 -6
  498. package/template/workflows/specdev/I-init-setup/tracking-template.md +0 -13
  499. package/template/workflows/specdev/INDEX.md +0 -30
  500. package/template/workflows/specdev/L-learn-change/L-learn-change.md +0 -32
  501. package/template/workflows/specdev/P-goal-plan/P-goal-plan.md +0 -58
  502. package/template/workflows/specdev/P-goal-plan/completion-control.md +0 -47
  503. package/template/workflows/specdev/P-goal-plan/goal-plan-template.md +0 -146
  504. package/template/workflows/specdev/P-goal-plan/lead-orchestration.md +0 -42
  505. package/template/workflows/specdev/P-goal-plan/orchestration-protocol.md +0 -56
  506. package/template/workflows/specdev/P-goal-plan/planning-modes.md +0 -78
  507. package/template/workflows/specdev/P-goal-plan/references/goal-lifecycle.md +0 -35
  508. package/template/workflows/specdev/P-goal-plan/references/goal-tickets-map-template.md +0 -15
  509. package/template/workflows/specdev/P-goal-plan/references/map-control.md +0 -28
  510. package/template/workflows/specdev/P-goal-plan/references/multi-change-plan.md +0 -126
  511. package/template/workflows/specdev/P-goal-plan/references/multi-execution-loop.md +0 -31
  512. package/template/workflows/specdev/P-goal-plan/references/multi-input-readiness.md +0 -25
  513. package/template/workflows/specdev/P-goal-plan/references/multi-super-dag.md +0 -27
  514. package/template/workflows/specdev/P-goal-plan/references/replan-and-recovery.md +0 -21
  515. package/template/workflows/specdev/P-goal-plan/references/single-change-plan.md +0 -151
  516. package/template/workflows/specdev/P-prototype/P-prototype.md +0 -53
  517. package/template/workflows/specdev/P-prototype/design-library/INDEX.md +0 -43
  518. package/template/workflows/specdev/P-prototype/design-library/color-and-theme.md +0 -65
  519. package/template/workflows/specdev/P-prototype/design-library/foundations.md +0 -66
  520. package/template/workflows/specdev/P-prototype/design-library/interaction-patterns.md +0 -61
  521. package/template/workflows/specdev/P-prototype/design-library/product-pattern-index.md +0 -73
  522. package/template/workflows/specdev/P-prototype/design-library/research-provenance.md +0 -54
  523. package/template/workflows/specdev/P-prototype/design-library/responsive-and-platforms.md +0 -53
  524. package/template/workflows/specdev/P-prototype/design-library/style-index.md +0 -32
  525. package/template/workflows/specdev/P-prototype/design-package.schema.json +0 -70
  526. package/template/workflows/specdev/P-prototype/design-system-template.md +0 -366
  527. package/template/workflows/specdev/P-prototype/detect-existing-style.md +0 -53
  528. package/template/workflows/specdev/P-prototype/generate-design-package.md +0 -54
  529. package/template/workflows/specdev/P-prototype/logic-protocol.md +0 -11
  530. package/template/workflows/specdev/P-prototype/project-preview-protocol.md +0 -9
  531. package/template/workflows/specdev/P-prototype/style-selection-protocol.md +0 -45
  532. package/template/workflows/specdev/P-prototype/tools/validate-design-package.mjs +0 -155
  533. package/template/workflows/specdev/R-retro/R-retro.md +0 -30
  534. package/template/workflows/specdev/R-review-architecture/R-review-architecture.md +0 -103
  535. package/template/workflows/specdev/R-review-architecture/architecture-review-template.md +0 -73
  536. package/template/workflows/specdev/R-review-architecture/proposal-to-ticket.md +0 -13
  537. package/template/workflows/specdev/R-review-architecture/references/selected-design.md +0 -27
  538. package/template/workflows/specdev/R-review-architecture/review-rubric.md +0 -56
  539. package/template/workflows/specdev/README.md +0 -105
  540. package/template/workflows/specdev/S-spec/S-spec.md +0 -38
  541. package/template/workflows/specdev/S-spec/spec-readiness.md +0 -16
  542. package/template/workflows/specdev/T-tickets/T-tickets.md +0 -46
  543. package/template/workflows/specdev/T-tickets/decomposition-rules.md +0 -60
  544. package/template/workflows/specdev/T-tickets/references/planning-procedure.md +0 -233
  545. package/template/workflows/specdev/T-tickets/ticket-readiness.md +0 -54
  546. package/template/workflows/specdev/T-tickets/ticket-template.md +0 -155
  547. package/template/workflows/specdev/T-tickets/tickets-map-template.md +0 -102
  548. package/template/workflows/specdev/T-triage/T-triage.md +0 -57
  549. package/template/workflows/specdev/T-triage/capture-protocol.md +0 -89
  550. package/template/workflows/specdev/T-triage/capture-template.md +0 -42
  551. package/template/workflows/specdev/T-triage/ci-security-protocol.md +0 -15
  552. package/template/workflows/specdev/T-triage/close-comment-template.md +0 -42
  553. package/template/workflows/specdev/T-triage/intake-protocol.md +0 -63
  554. package/template/workflows/specdev/T-triage/issue-body-template.md +0 -34
  555. package/template/workflows/specdev/T-triage/issue-record-template.md +0 -27
  556. package/template/workflows/specdev/T-triage/pr-delivery-protocol.md +0 -17
  557. package/template/workflows/specdev/T-triage/publish-protocol.md +0 -92
  558. package/template/workflows/specdev/T-triage/queue-protocol.md +0 -7
  559. package/template/workflows/specdev/T-triage/reconcile-protocol.md +0 -34
  560. package/template/workflows/specdev/T-triage/references/issue-pr-policy.md +0 -23
  561. package/template/workflows/specdev/T-triage/release-preflight.md +0 -17
  562. package/template/workflows/specdev/T-triage/release-protocol.md +0 -16
  563. package/template/workflows/specdev/T-triage/release-recovery.md +0 -22
  564. package/template/workflows/specdev/T-triage/remote-operations.md +0 -25
  565. package/template/workflows/specdev/T-triage/tools/capture-status.mjs +0 -125
  566. package/template/workflows/specdev/T-triage/tools/publish-status.mjs +0 -148
  567. package/template/workflows/specdev/T-triage/triage-template.md +0 -57
  568. package/template/workflows/specdev/W-wayfinder/W-wayfinder.md +0 -46
  569. package/template/workflows/specdev/W-wayfinder/local-tracker-contract.md +0 -35
  570. package/template/workflows/specdev/W-wayfinder/references/initiative-discovery.md +0 -29
  571. package/template/workflows/specdev/W-wayfinder/references/map-traversal.md +0 -120
  572. package/template/workflows/specdev/W-wayfinder/wayfinder-map-template.md +0 -33
  573. package/template/workflows/specdev/_state/archive/.gitkeep +0 -0
  574. package/template/workflows/specdev/_state/changes/.gitkeep +0 -0
  575. package/template/workflows/specdev/_state/status.json +0 -6
  576. package/template/workflows/specdev/common/skills/subagent-delivery/SKILL.md +0 -51
  577. package/template/workflows/specdev/common/skills/subagent-delivery/references/dispatch-and-accept.md +0 -87
  578. package/template/workflows/specdev/common/skills/subagent-delivery/references/external-web-subagent.md +0 -132
  579. package/template/workflows/specdev/common/skills/subagent-delivery/references/native-subagent.md +0 -28
  580. package/template/workflows/specdev/common/skills/subagent-delivery/references/source-package.md +0 -239
  581. /package/template/{skills → commands}/docs-sync/assets/state-template.json +0 -0
  582. /package/template/{skills → commands}/docs-sync/assets/workflow-scope-template.json +0 -0
  583. /package/template/{skills → commands}/engineering-standards-builder/README.md +0 -0
  584. /package/template/{skills → commands}/engineering-standards-builder/agents/openai.yaml +0 -0
  585. /package/template/{skills → commands}/engineering-standards-builder/examples/README.md +0 -0
  586. /package/template/{skills → commands}/engineering-standards-builder/examples/fallback/kotlin-gradle/build.gradle.kts +0 -0
  587. /package/template/{skills → commands}/engineering-standards-builder/examples/fallback/kotlin-gradle/expected.json +0 -0
  588. /package/template/{skills → commands}/engineering-standards-builder/examples/fallback/kotlin-gradle/src/main/kotlin/example/App.kt +0 -0
  589. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/.golangci.yml +0 -0
  590. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/cmd/api/main.go +0 -0
  591. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/expected.json +0 -0
  592. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/go.mod +0 -0
  593. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/internal/service/service.go +0 -0
  594. /package/template/{skills → commands}/engineering-standards-builder/examples/go/service/internal/service/service_test.go +0 -0
  595. /package/template/{skills → commands}/engineering-standards-builder/examples/java/spring-boot-maven/expected.json +0 -0
  596. /package/template/{skills → commands}/engineering-standards-builder/examples/java/spring-boot-maven/pom.xml +0 -0
  597. /package/template/{skills → commands}/engineering-standards-builder/examples/java/spring-boot-maven/src/main/java/dev/speculo/orders/OrdersApplication.java +0 -0
  598. /package/template/{skills → commands}/engineering-standards-builder/examples/java/spring-boot-maven/src/test/java/dev/speculo/orders/OrdersApplicationTest.java +0 -0
  599. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/.github/workflows/ci.yml +0 -0
  600. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/apps/web/package.json +0 -0
  601. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/apps/web/src/App.vue +0 -0
  602. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/apps/web/tsconfig.json +0 -0
  603. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/expected.json +0 -0
  604. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/package.json +0 -0
  605. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/pnpm-workspace.yaml +0 -0
  606. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/services/orders/pom.xml +0 -0
  607. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/services/orders/src/main/java/dev/speculo/orders/OrdersApplication.java +0 -0
  608. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/services/worker/go.mod +0 -0
  609. /package/template/{skills → commands}/engineering-standards-builder/examples/polyglot/monorepo/services/worker/main.go +0 -0
  610. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/Cargo.toml +0 -0
  611. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/crates/cli/Cargo.toml +0 -0
  612. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/crates/cli/src/main.rs +0 -0
  613. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/crates/core/Cargo.toml +0 -0
  614. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/crates/core/src/lib.rs +0 -0
  615. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/expected.json +0 -0
  616. /package/template/{skills → commands}/engineering-standards-builder/examples/rust/workspace/rust-toolchain.toml +0 -0
  617. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/expected.json +0 -0
  618. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/package.json +0 -0
  619. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/src/App.test.tsx +0 -0
  620. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/src/App.tsx +0 -0
  621. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/src/main.tsx +0 -0
  622. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/react-vite/tsconfig.json +0 -0
  623. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/expected.json +0 -0
  624. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/package.json +0 -0
  625. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/src/App.test.ts +0 -0
  626. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/src/App.vue +0 -0
  627. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/src/main.ts +0 -0
  628. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/tsconfig.json +0 -0
  629. /package/template/{skills → commands}/engineering-standards-builder/examples/typescript/vue-vite/vite.config.ts +0 -0
  630. /package/template/{skills → commands}/engineering-standards-builder/references/go/00-detection-and-scope.md +0 -0
  631. /package/template/{skills → commands}/engineering-standards-builder/references/go/01-language-and-idioms.md +0 -0
  632. /package/template/{skills → commands}/engineering-standards-builder/references/go/02-modules-packages-and-layout.md +0 -0
  633. /package/template/{skills → commands}/engineering-standards-builder/references/go/03-errors-context-and-concurrency.md +0 -0
  634. /package/template/{skills → commands}/engineering-standards-builder/references/go/04-testing-tooling-quality-gates.md +0 -0
  635. /package/template/{skills → commands}/engineering-standards-builder/references/go/README.md +0 -0
  636. /package/template/{skills → commands}/engineering-standards-builder/references/java/00-detection-and-scope.md +0 -0
  637. /package/template/{skills → commands}/engineering-standards-builder/references/java/01-language-packages-and-api.md +0 -0
  638. /package/template/{skills → commands}/engineering-standards-builder/references/java/02-build-modules-and-dependencies.md +0 -0
  639. /package/template/{skills → commands}/engineering-standards-builder/references/java/03-errors-nullability-resources-concurrency.md +0 -0
  640. /package/template/{skills → commands}/engineering-standards-builder/references/java/04-testing-tooling-quality-gates.md +0 -0
  641. /package/template/{skills → commands}/engineering-standards-builder/references/java/README.md +0 -0
  642. /package/template/{skills → commands}/engineering-standards-builder/references/java/frameworks/spring-boot.md +0 -0
  643. /package/template/{skills → commands}/engineering-standards-builder/references/rules/00-governance-and-precedence.md +0 -0
  644. /package/template/{skills → commands}/engineering-standards-builder/references/rules/01-project-discovery.md +0 -0
  645. /package/template/{skills → commands}/engineering-standards-builder/references/rules/02-evidence-topology-and-scope.md +0 -0
  646. /package/template/{skills → commands}/engineering-standards-builder/references/rules/03-interview-and-decisions.md +0 -0
  647. /package/template/{skills → commands}/engineering-standards-builder/references/rules/04-architecture-and-dependency-boundaries.md +0 -0
  648. /package/template/{skills → commands}/engineering-standards-builder/references/rules/05-files-directories-and-naming.md +0 -0
  649. /package/template/{skills → commands}/engineering-standards-builder/references/rules/06-apis-errors-resources-and-concurrency.md +0 -0
  650. /package/template/{skills → commands}/engineering-standards-builder/references/rules/07-documentation-and-comments.md +0 -0
  651. /package/template/{skills → commands}/engineering-standards-builder/references/rules/08-testing-strategy.md +0 -0
  652. /package/template/{skills → commands}/engineering-standards-builder/references/rules/09-mechanical-guardrails.md +0 -0
  653. /package/template/{skills → commands}/engineering-standards-builder/references/rules/09-security-configuration-and-data.md +0 -0
  654. /package/template/{skills → commands}/engineering-standards-builder/references/rules/10-performance-observability-and-i18n.md +0 -0
  655. /package/template/{skills → commands}/engineering-standards-builder/references/rules/11-tooling-quality-gates-and-ci.md +0 -0
  656. /package/template/{skills → commands}/engineering-standards-builder/references/rules/12-git-review-and-delivery.md +0 -0
  657. /package/template/{skills → commands}/engineering-standards-builder/references/rules/13-adoption-exceptions-and-ratchets.md +0 -0
  658. /package/template/{skills → commands}/engineering-standards-builder/references/rules/14-generation-contract.md +0 -0
  659. /package/template/{skills → commands}/engineering-standards-builder/references/rules/15-validation-contract.md +0 -0
  660. /package/template/{skills → commands}/engineering-standards-builder/references/rules/16-language-adapter-contract.md +0 -0
  661. /package/template/{skills → commands}/engineering-standards-builder/references/rules/README.md +0 -0
  662. /package/template/{skills → commands}/engineering-standards-builder/references/rust/00-detection-and-scope.md +0 -0
  663. /package/template/{skills → commands}/engineering-standards-builder/references/rust/01-language-api-and-safety.md +0 -0
  664. /package/template/{skills → commands}/engineering-standards-builder/references/rust/02-crates-workspaces-and-layout.md +0 -0
  665. /package/template/{skills → commands}/engineering-standards-builder/references/rust/03-errors-ownership-and-concurrency.md +0 -0
  666. /package/template/{skills → commands}/engineering-standards-builder/references/rust/04-testing-tooling-quality-gates.md +0 -0
  667. /package/template/{skills → commands}/engineering-standards-builder/references/rust/README.md +0 -0
  668. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/00-detection-and-scope.md +0 -0
  669. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/01-language-and-type-system.md +0 -0
  670. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/02-modules-packages-and-runtime-boundaries.md +0 -0
  671. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/03-functions-async-errors-resources.md +0 -0
  672. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/04-testing-tooling-quality-gates.md +0 -0
  673. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/README.md +0 -0
  674. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/app-types/cli.md +0 -0
  675. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/app-types/library.md +0 -0
  676. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/frameworks/react.md +0 -0
  677. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/frameworks/vue.md +0 -0
  678. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/runtimes/browser.md +0 -0
  679. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/runtimes/electron.md +0 -0
  680. /package/template/{skills → commands}/engineering-standards-builder/references/typescript/runtimes/node.md +0 -0
  681. /package/template/{skills → commands}/engineering-standards-builder/scripts/discover-project.mjs +0 -0
  682. /package/template/{skills → commands}/engineering-standards-builder/scripts/self-test.mjs +0 -0
  683. /package/template/{skills → commands}/engineering-standards-builder/scripts/sync-manifest.mjs +0 -0
  684. /package/template/{skills → commands}/engineering-standards-builder/scripts/validate-generated-skill.mjs +0 -0
  685. /package/template/{skills → commands}/engineering-standards-builder/templates/README.md +0 -0
  686. /package/template/{skills → commands}/engineering-standards-builder/templates/compatibility/agents-typescript--standards.md +0 -0
  687. /package/template/{skills → commands}/engineering-standards-builder/templates/compatibility/agents-typescript-standards.md +0 -0
  688. /package/template/{skills → commands}/engineering-standards-builder/templates/compatibility/claude-engineering-standards.md +0 -0
  689. /package/template/{skills → commands}/engineering-standards-builder/templates/compatibility/claude-typescript-standards.md +0 -0
  690. /package/template/{skills → commands}/engineering-standards-builder/templates/domain-skill/SKILL.md.template +0 -0
  691. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/SKILL.md.template +0 -0
  692. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/generated-skill-set.json.template +0 -0
  693. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/00-project-profile.md.template +0 -0
  694. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/01-module-map.md.template +0 -0
  695. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/02-decisions-and-exceptions.md.template +0 -0
  696. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/03-skill-map.md.template +0 -0
  697. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/04-source-and-template-map.md.template +0 -0
  698. /package/template/{skills → commands}/engineering-standards-builder/templates/project-skill/references/project/review-checklist.md.template +0 -0
  699. /package/template/{skills → commands}/git-history-squash/agents/openai.yaml +0 -0
  700. /package/template/{skills → commands}/git-history-squash/assets/request-template.json +0 -0
  701. /package/template/{skills → commands}/git-history-squash/references/recovery-contract.md +0 -0
  702. /package/template/{skills → commands}/git-history-squash/references/submodule-contract.md +0 -0
  703. /package/template/commands/{references/git-repository-audit-procedure.md → git-repository-audit/references/procedure.md} +0 -0
  704. /package/template/{skills → commands}/source-code-zip/references/cli-reference.md +0 -0
  705. /package/template/{skills → commands}/source-code-zip/scripts/zip_source_code.js +0 -0
  706. /package/template/{skills → commands}/upstream-fork-sync/scripts/upstream-sync.mjs +0 -0
  707. /package/template/{skills → references}/retrospective/references/friction-taxonomy.md +0 -0
  708. /package/template/{skills → references}/writing-for-agents/references/authoring-principles.md +0 -0
  709. /package/template/workflows/learning/{A-assess-and-plan → learning-a-assess-and-plan/assets}/background-template.md +0 -0
  710. /package/template/workflows/learning/{A-assess-and-plan → learning-a-assess-and-plan/assets}/change-status-template.json +0 -0
  711. /package/template/workflows/learning/{A-assess-and-plan → learning-a-assess-and-plan/assets}/course-template.md +0 -0
  712. /package/template/workflows/learning/{G-goal → learning-g-goal/assets}/chain-template.md +0 -0
  713. /package/template/workflows/learning/{G-goal → learning-g-goal/assets}/coverage-matrix-template.md +0 -0
  714. /package/template/workflows/learning/{G-goal → learning-g-goal/assets}/probe-template.md +0 -0
  715. /package/template/workflows/learning/{G-goal → learning-g-goal}/references/mine-unit.md +0 -0
  716. /package/template/workflows/learning/{G-goal → learning-g-goal}/references/split-rules.md +0 -0
  717. /package/template/workflows/learning/{G-goal → learning-g-goal}/references/stop-rules.md +0 -0
  718. /package/template/workflows/learning/{H-homework → learning-h-homework/assets}/homework-template.md +0 -0
  719. /package/template/workflows/learning/{I-init-setup → learning-i-init-setup/assets}/context-index-template.md +0 -0
  720. /package/template/workflows/learning/{I-init-setup → learning-i-init-setup/assets}/learner-profile-template.md +0 -0
  721. /package/template/workflows/learning/{I-init-setup → learning-i-init-setup/assets}/review-index-template.md +0 -0
  722. /package/template/workflows/learning/{L-lesson → learning-l-lesson/assets}/lesson-template.md +0 -0
  723. /package/template/workflows/learning/{Q-question → learning-q-question/assets}/exploration-template.md +0 -0
  724. /package/template/workflows/learning/{Q-question → learning-q-question/assets}/inquiry-template.md +0 -0
  725. /package/template/workflows/learning/{Q-question → learning-q-question/assets}/lightweight-course-template.md +0 -0
  726. /package/template/workflows/learning/{Q-question → learning-q-question/assets}/question-map-template.json +0 -0
  727. /package/template/workflows/learning/{Q-question/tools → learning-q-question/scripts}/validate-exploration.mjs +0 -0
  728. /package/template/workflows/learning/{Q-question/tools → learning-q-question/scripts}/validate-inquiry.mjs +0 -0
  729. /package/template/workflows/learning/{R-review → learning-r-review/assets}/review-template.md +0 -0
  730. /package/template/workflows/media/{B-brief → media-b-brief/assets}/brief-template.json +0 -0
  731. /package/template/workflows/media/{H-hand-drawn → media-h-hand-drawn/references}/production.md +0 -0
  732. /package/template/workflows/media/{H-hand-drawn → media-h-hand-drawn/references}/style-catalog.json +0 -0
  733. /package/template/workflows/media/{P-publish-draft → media-p-publish-draft/assets}/draft-request-template.json +0 -0
  734. /package/template/workflows/media/{R-retro → media-r-retro/assets}/retro-template.md +0 -0
  735. /package/template/workflows/media/{V-video → media-v-video/assets}/review-template.json +0 -0
  736. /package/template/workflows/media/{V-video → media-v-video/assets}/shot-plan-template.json +0 -0
  737. /package/template/workflows/media/{V-video → media-v-video/references}/production.md +0 -0
  738. /package/template/workflows/media/{V-video → media-v-video/scripts}/render_preview.py +0 -0
  739. /package/template/workflows/ops/{H-host-manage → ops-h-host-manage}/references/host-profiles.md +0 -0
  740. /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
  741. /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
  742. /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
  743. /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
  744. /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
  745. /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
  746. /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
  747. /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
  748. /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
  749. /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
  750. /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
  751. /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
  752. /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
  753. /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
  754. /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
  755. /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
  756. /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
  757. /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
  758. /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
  759. /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
  760. /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
  761. /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
  762. /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
  763. /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
  764. /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
  765. /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
  766. /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
  767. /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
  768. /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
  769. /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
  770. /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
  771. /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
  772. /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
  773. /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
  774. /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
  775. /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
  776. /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
  777. /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
  778. /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
  779. /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
  780. /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
  781. /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
  782. /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
  783. /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
  784. /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
  785. /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
  786. /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
  787. /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
  788. /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
  789. /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
  790. /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
  791. /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
  792. /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
  793. /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
  794. /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
  795. /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
  796. /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
  797. /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
  798. /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
  799. /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
  800. /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
  801. /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
  802. /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
  803. /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
  804. /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
  805. /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
  806. /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
  807. /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
  808. /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
  809. /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
  810. /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
  811. /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
  812. /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
  813. /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
  814. /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
  815. /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
  816. /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
  817. /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
  818. /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
  819. /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
  820. /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
  821. /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
  822. /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
  823. /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
  824. /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
  825. /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
  826. /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
  827. /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
  828. /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
  829. /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
  830. /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
  831. /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
  832. /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
  833. /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
  834. /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
  835. /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
  836. /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
  837. /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
  838. /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
  839. /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
  840. /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
  841. /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
  842. /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
  843. /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
  844. /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
  845. /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
  846. /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
  847. /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
  848. /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
  849. /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
  850. /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
  851. /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
  852. /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
  853. /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
  854. /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
  855. /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
  856. /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
  857. /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
  858. /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
  859. /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
  860. /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
  861. /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
  862. /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
  863. /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
  864. /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
  865. /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
  866. /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
  867. /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
  868. /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
  869. /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
  870. /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
  871. /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
  872. /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
  873. /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
  874. /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
  875. /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
  876. /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
  877. /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
  878. /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
  879. /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
  880. /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
  881. /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
  882. /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
  883. /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
  884. /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
  885. /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
  886. /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
  887. /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
  888. /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
  889. /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
  890. /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
  891. /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
  892. /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
  893. /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
  894. /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
  895. /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
  896. /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
  897. /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
  898. /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
  899. /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
  900. /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
  901. /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
  902. /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
  903. /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
  904. /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
  905. /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
  906. /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
  907. /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
  908. /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
  909. /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
  910. /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
  911. /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
  912. /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
  913. /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
  914. /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
  915. /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
  916. /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
  917. /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
  918. /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
  919. /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
  920. /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
  921. /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
  922. /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
  923. /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
  924. /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
  925. /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
  926. /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
  927. /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
  928. /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
  929. /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
  930. /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
  931. /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
  932. /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
  933. /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
  934. /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
  935. /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
  936. /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
  937. /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
  938. /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
  939. /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
  940. /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
  941. /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
  942. /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
  943. /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
  944. /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
  945. /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
  946. /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
  947. /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
  948. /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
  949. /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
  950. /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
  951. /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
  952. /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
  953. /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
  954. /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
  955. /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
  956. /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
  957. /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
  958. /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
  959. /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
  960. /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
  961. /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
  962. /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
  963. /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
  964. /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
  965. /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
  966. /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
  967. /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
  968. /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
  969. /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
  970. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/10-personality-profile.md +0 -0
  971. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/11-analysis-frameworks.md +0 -0
  972. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/12-strategy-frameworks.md +0 -0
  973. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/13-organization-action.md +0 -0
  974. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/14-voice-and-dialogue.md +0 -0
  975. /package/template/workflows/person/{M-mao-zedong-cognitive-os → person-m-mao-zedong-cognitive-os}/references/research/15-quote-bank.md +0 -0
  976. /package/template/workflows/person/{S-steelman-deliberation/_templates → person-s-steelman-deliberation/assets/templates}/decision-template.md +0 -0
  977. /package/template/workflows/person/{S-steelman-deliberation/_templates → person-s-steelman-deliberation/assets/templates}/steelman-dossier-template.md +0 -0
  978. /package/template/workflows/person/{S-steelman-deliberation → person-s-steelman-deliberation/references}/deliberate.md +0 -0
  979. /package/template/workflows/person/{S-steelman-deliberation → person-s-steelman-deliberation/references}/evidence-gate.md +0 -0
  980. /package/template/workflows/person/{S-steelman-deliberation → person-s-steelman-deliberation/references}/judge.md +0 -0
  981. /package/template/workflows/specdev/{D-diagnose-bugs → specdev-d-diagnose-bugs/assets}/diagnosis-template.md +0 -0
  982. /package/template/workflows/specdev/{D-diagnose-bugs → specdev-d-diagnose-bugs/references}/hypothesis-and-instrumentation.md +0 -0
  983. /package/template/workflows/specdev/{D-diagnose-bugs → specdev-d-diagnose-bugs}/scripts/hitl-loop.template.sh +0 -0
  984. /package/template/workflows/specdev/{G-grill-with-docs → specdev-g-grill-with-docs/assets}/design-tree-template.json +0 -0
  985. /package/template/workflows/specdev/{G-grill-with-docs → specdev-g-grill-with-docs/references}/grilling-protocol.md +0 -0
  986. /package/template/workflows/specdev/{G-grill-with-docs → specdev-g-grill-with-docs/references}/log-format.md +0 -0
  987. /package/template/workflows/specdev/{G-grill-with-docs → specdev-g-grill-with-docs/references}/stakeholder-questionnaire.md +0 -0
  988. /package/template/workflows/specdev/{I-implement → specdev-i-implement/references}/tdd-mocking.md +0 -0
  989. /package/template/workflows/specdev/{I-implement → specdev-i-implement/references}/tdd-test-design.md +0 -0
  990. /package/template/workflows/specdev/{L-learn-change → specdev-l-learn-change}/references/lesson-format.md +0 -0
  991. /package/template/workflows/specdev/{P-goal-plan → specdev-p-goal-plan}/references/multi-conflict-and-drift.md +0 -0
  992. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype/assets}/logic-template.md +0 -0
  993. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/METHODOLOGY.md +0 -0
  994. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/README.md +0 -0
  995. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/data/extended-projects.json +0 -0
  996. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/data/projects.json +0 -0
  997. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/reference/USAGE.md +0 -0
  998. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/reference/design-tokens.css +0 -0
  999. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/report/OPEN_SOURCE_UI_RESEARCH_2026.md +0 -0
  1000. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/PROJECT_TEMPLATE.md +0 -0
  1001. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/README.md +0 -0
  1002. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/claude-code-modern-clients.md +0 -0
  1003. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/creative-ai-communication.md +0 -0
  1004. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/data-dev-tools.md +0 -0
  1005. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/personal-multiplatform-apps.md +0 -0
  1006. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/research/productivity-collaboration.md +0 -0
  1007. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/01-dense-ide.html +0 -0
  1008. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/02-monochrome-console.html +0 -0
  1009. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/03-soft-personal-ai.html +0 -0
  1010. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/04-responsive-web.html +0 -0
  1011. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/05-mobile-supervisor.html +0 -0
  1012. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/06-cross-platform-workspace.html +0 -0
  1013. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/07-local-first-content.html +0 -0
  1014. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/08-media-first.html +0 -0
  1015. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/README.md +0 -0
  1016. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/assets/ATTRIBUTION.md +0 -0
  1017. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/assets/landscape.jpg +0 -0
  1018. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/assets/lucide.js +0 -0
  1019. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/assets/mountain.jpg +0 -0
  1020. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/assets/workspace.jpg +0 -0
  1021. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/index.html +0 -0
  1022. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/package-lock.json +0 -0
  1023. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/package.json +0 -0
  1024. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/screenshots/index-desktop.png +0 -0
  1025. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/scripts/gallery.js +0 -0
  1026. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/styles/base.css +0 -0
  1027. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/styles/pages.css +0 -0
  1028. /package/template/workflows/specdev/{P-prototype → specdev-p-prototype}/design-library/research-snapshot/ui-gallery/tests/gallery.spec.js +0 -0
  1029. /package/template/workflows/specdev/{P-prototype/tools → specdev-p-prototype/scripts}/materialize-prototype.mjs +0 -0
  1030. /package/template/workflows/specdev/{R-retro → specdev-r-retro/assets}/retro-template.md +0 -0
  1031. /package/template/workflows/specdev/{R-review-architecture → specdev-r-review-architecture}/references/performance-review.md +0 -0
  1032. /package/template/workflows/specdev/{S-spec → specdev-s-spec/assets}/spec-template.md +0 -0
  1033. /package/template/workflows/specdev/{T-triage → specdev-t-triage/assets}/pr-record-template.md +0 -0
  1034. /package/template/workflows/specdev/{T-triage → specdev-t-triage/assets}/publish-template.md +0 -0
  1035. /package/template/workflows/specdev/{T-triage → specdev-t-triage/assets}/source-template.md +0 -0
  1036. /package/template/workflows/specdev/{T-triage → specdev-t-triage/assets}/triage-run-template.md +0 -0
  1037. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/references/classification-map.md +0 -0
  1038. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/references/public-projection.md +0 -0
  1039. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/references/release-authentication.md +0 -0
  1040. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/references/release-notes-injection.md +0 -0
  1041. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/references/workflow-yaml-reference.md +0 -0
  1042. /package/template/workflows/specdev/{T-triage → specdev-t-triage}/scripts/github-transport.mjs +0 -0
  1043. /package/template/workflows/specdev/{W-wayfinder → specdev-w-wayfinder/assets}/investigation-ticket-template.md +0 -0
  1044. /package/template/workflows/specdev/{W-wayfinder → specdev-w-wayfinder/assets}/solution-comment-template.md +0 -0
  1045. /package/template/workflows/specdev/{W-wayfinder → specdev-w-wayfinder}/references/initiative-template.json +0 -0
@@ -19,46 +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";
29
33
  import { reviewScopeCLI } from "./review-scope.mjs";
30
34
  import { ENGINEERING_KINDS, validateEngineeringArtifacts, validateEngineeringPackage } from "./engineering-evidence.mjs";
31
35
 
32
36
  const DOMAIN_SCHEMA_VERSION = 3;
33
- const CONFIG_SCHEMA_VERSION = 6;
34
- const GOAL_PLAN_SCHEMA_VERSION = 6;
37
+ const CONFIG_SCHEMA_VERSION = 7;
38
+ const GOAL_PLAN_SCHEMA_VERSION = 7;
35
39
  const IMPLEMENTATION_MAP_SCHEMA_VERSION = 1;
36
- const IMPLEMENTATION_PLAN_SCHEMA_VERSION = 1;
40
+ const IMPLEMENTATION_PLAN_SCHEMA_VERSION = 2;
37
41
  const CHANGE_STATUS_SCHEMA_VERSION = 6;
38
42
  const GLOBAL_STATUS_SCHEMA_VERSION = 5;
39
43
  const WORKFLOW_PREFIX = "{roots.workflows}/specdev/";
40
44
  const STATE_PREFIX = "{roots.state}/specdev/";
41
45
  const STATE_ROOT_PREFIX = "{roots.state}/";
46
+ const REFERENCES_PREFIX = "{roots.references}/";
42
47
  const SKILLS_PREFIX = "{roots.skills}/";
43
48
  const COMMANDS_PREFIX = "{roots.commands}/";
44
49
  const CHANGE_NAME = /^[0-9]{4}-[0-9]{2}-[0-9]{2}-[a-z0-9]+(?:-[a-z0-9]+)*$/;
45
50
 
46
51
  const EXPECTED_WORKS = new Set([
47
- "A-archive-and-consolidate",
48
- "C-code-review",
49
- "D-diagnose-bugs",
50
- "G-grill-with-docs",
51
- "I-implement",
52
- "I-init-setup",
53
- "L-learn-change",
54
- "P-goal-plan",
55
- "P-prototype",
56
- "R-review-architecture",
57
- "R-retro",
58
- "S-spec",
59
- "T-tickets",
60
- "T-triage",
61
- "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",
62
67
  ]);
63
68
  const EXPECTED_COMMON_DIRS = new Set(["rules", "schemas", "skills", "tools"]);
64
69
  const VALID_TICKET_STATUS = new Set([
@@ -174,6 +179,8 @@ const VALID_STAGES = new Set([
174
179
  "prototype",
175
180
  "wayfinder",
176
181
  "complete",
182
+ "archive-ready",
183
+ "archived",
177
184
  ]);
178
185
  const REQUIRED_TICKET_KEYS = new Set([
179
186
  "schema_version",
@@ -214,7 +221,7 @@ const REQUIRED_GOAL_PLAN_SECTIONS = new Set([
214
221
  ]);
215
222
  const REQUIRED_LEAD_GOAL_PLAN_MARKERS = [
216
223
  "### Lead Orchestration",
217
- "Implementation subagents",
224
+ "Concurrent implementations",
218
225
  "Read-only agents",
219
226
  "execution-time dynamic",
220
227
  "### Ticket Workspace and Integration",
@@ -269,7 +276,7 @@ function toPosix(value) {
269
276
  }
270
277
 
271
278
  function readText(path) {
272
- return readFileSync(path, "utf8");
279
+ return runtime.readUtf8ArtifactSync(path);
273
280
  }
274
281
 
275
282
  function isFile(path) {
@@ -291,196 +298,17 @@ function walk(root) {
291
298
  return paths;
292
299
  }
293
300
 
294
- function parseScalar(raw) {
295
- const value = raw.trim();
296
- if (value === "true" || value === "True") return true;
297
- if (value === "false" || value === "False") return false;
298
- if (value === "null" || value === "Null" || value === "~") return null;
299
- if (/^-?\d+$/.test(value)) return Number(value);
300
- if (
301
- (value.startsWith('"') && value.endsWith('"')) ||
302
- (value.startsWith("'") && value.endsWith("'"))
303
- ) {
304
- return value.slice(1, -1);
305
- }
306
- if (value.startsWith("[") && value.endsWith("]")) {
307
- // JSON object arrays are used by the additive Skill invocation contract.
308
- // Keep the existing plain YAML scalar-list form for old artifacts.
309
- try { return JSON.parse(value); } catch { /* legacy scalar list below */ }
310
- const inner = value.slice(1, -1).trim();
311
- if (inner.startsWith("{")) throw new Error("invalid JSON object array in frontmatter");
312
- if (!inner) return [];
313
- return inner.split(",").map((item) => parseScalar(item));
314
- }
315
- if (value.startsWith("{") && value.endsWith("}")) {
316
- try {
317
- return JSON.parse(value);
318
- } catch {
319
- return value;
320
- }
321
- }
322
- return value;
323
- }
324
-
325
- function findSpecdevConfigByAncestry(change) {
326
- let current = resolve(change);
327
- while (true) {
328
- const candidate = join(current, ".speculo", "specdev", "config.json");
329
- if (isFile(candidate)) {
330
- try {
331
- return JSON.parse(readText(candidate));
332
- } catch {
333
- return null;
334
- }
335
- }
336
- const parent = dirname(current);
337
- if (parent === current) return null;
338
- current = parent;
339
- }
340
- }
341
-
342
- function uniqueResolved(paths) {
343
- const seen = new Set();
344
- const result = [];
345
- for (const path of paths) {
346
- const resolved = resolve(path);
347
- if (seen.has(resolved)) continue;
348
- seen.add(resolved);
349
- result.push(resolved);
350
- }
351
- return result;
352
- }
353
-
354
- function ancestorsOf(start) {
355
- const dirs = [];
356
- let current = resolve(start);
357
- while (true) {
358
- dirs.push(current);
359
- const parent = dirname(current);
360
- if (parent === current) break;
361
- current = parent;
362
- }
363
- return dirs;
364
- }
365
-
366
- function parseWorkspaceCandidate(filePath, projectRoot) {
367
- if (!isFile(filePath)) return null;
368
- let data;
301
+ function resolveWorkspaceContract(repoRoot, change, options = {}) {
369
302
  try {
370
- data = JSON.parse(readText(filePath));
371
- } catch {
372
- return null;
373
- }
374
- if (!data || typeof data !== "object" || Array.isArray(data)) return null;
375
- if (data.schema_version !== 1 || data.path_base !== "project-root") return null;
376
- const state = data.roots?.state;
377
- if (typeof state !== "string" || !state.trim()) return null;
378
- const declared = toPosix(state).replace(/^\.?\//, "").replace(/\/$/, "");
379
- if (
380
- !declared ||
381
- declared.split("/").includes("..") ||
382
- isAbsolute(declared) ||
383
- ABSOLUTE_MACHINE_PATH_RE.test(declared)
384
- ) {
385
- return null;
386
- }
387
- const expected = resolve(projectRoot, declared, "workspace.json");
388
- if (expected !== resolve(filePath)) return null;
389
- return {
390
- filePath: resolve(filePath),
391
- projectRoot: resolve(projectRoot),
392
- stateDeclared: declared,
393
- stateRoot: resolve(projectRoot, declared),
394
- data,
395
- };
396
- }
397
-
398
- function workspaceProbes(projectRoot) {
399
- const root = resolve(projectRoot);
400
- return [
401
- { projectRoot: root, filePath: join(root, "speculo", ".speculo", "workspace.json") },
402
- { projectRoot: root, filePath: join(root, ".speculo", "workspace.json") },
403
- ];
404
- }
405
-
406
- function collectWorkspaceCandidates(repoRoot, change) {
407
- const probes = [];
408
- if (repoRoot) {
409
- probes.push(...workspaceProbes(repoRoot));
410
- } else {
411
- for (const dir of uniqueResolved([...ancestorsOf(change), ...ancestorsOf(process.cwd())])) {
412
- probes.push(...workspaceProbes(dir));
413
- }
414
- }
415
- const found = new Map();
416
- for (const probe of probes) {
417
- const parsed = parseWorkspaceCandidate(probe.filePath, probe.projectRoot);
418
- if (!parsed) continue;
419
- if (!found.has(parsed.filePath)) found.set(parsed.filePath, parsed);
420
- }
421
- return [...found.values()];
422
- }
423
-
424
- function isLegalChangeLocation(changeAbs, stateRoot) {
425
- const name = basename(changeAbs);
426
- if (resolve(stateRoot, "specdev", "changes", name) === changeAbs) return true;
427
- const monthDir = dirname(changeAbs);
428
- const archiveRoot = dirname(monthDir);
429
- return (
430
- /^\d{4}-\d{2}$/.test(basename(monthDir)) &&
431
- resolve(stateRoot, "specdev", "archive") === archiveRoot &&
432
- basename(changeAbs) === name
433
- );
434
- }
435
-
436
- function resolveWorkspaceContract(repoRoot, change) {
437
- const changeAbs = resolve(change);
438
- const candidates = collectWorkspaceCandidates(repoRoot, changeAbs);
439
- if (!candidates.length) {
440
- return { mode: "legacy", errors: [], config: null, specdevRoot: null, stateDeclared: null };
441
- }
442
- const uniqueRoots = uniqueResolved(candidates.map((candidate) => candidate.stateRoot));
443
- if (uniqueRoots.length > 1) {
444
- const declared = [...new Set(candidates.map((candidate) => candidate.stateDeclared))].sort();
445
- return {
446
- mode: "strict",
447
- errors: [`conflicting workspace.json roots.state (${declared.join(" vs ")})`],
448
- config: null,
449
- specdevRoot: null,
450
- stateDeclared: null,
451
- };
452
- }
453
- const workspace = candidates[0];
454
- const specdevRoot = join(workspace.stateRoot, "specdev");
455
- const errors = [];
456
- if (!isLegalChangeLocation(changeAbs, workspace.stateRoot)) {
457
- errors.push(
458
- `change is outside workspace roots.state (${workspace.stateDeclared}/specdev); project-root .speculo/specdev is illegal`,
459
- );
460
- }
461
- let config = null;
462
- const configPath = join(specdevRoot, "config.json");
463
- if (isFile(configPath)) {
464
- try {
465
- config = JSON.parse(readText(configPath));
466
- } catch {
467
- config = null;
468
- }
469
- }
470
- return {
471
- mode: "strict",
472
- errors,
473
- config,
474
- specdevRoot,
475
- stateDeclared: workspace.stateDeclared,
476
- };
477
- }
478
-
479
- function findSpecdevConfig(change, repoRoot = null) {
480
- const contract = resolveWorkspaceContract(repoRoot, change);
481
- if (contract.mode === "strict") return contract.config;
482
- 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}; }
483
310
  }
311
+ function findSpecdevConfig(change,repoRoot=null,options={}) {return resolveWorkspaceContract(repoRoot,change,options).config;}
484
312
 
485
313
  function positiveConfigLimit(config, key, fallback) {
486
314
  const value = config?.execution?.[key];
@@ -488,37 +316,10 @@ function positiveConfigLimit(config, key, fallback) {
488
316
  }
489
317
 
490
318
  function parseFrontmatter(path) {
491
- const text = readText(path);
492
- const lines = text.split(/\r?\n/);
493
- if (lines[0]?.trim() !== "---") return { meta: {}, body: text };
494
- const end = lines.findIndex((line, index) => index > 0 && line.trim() === "---");
495
- if (end < 0) return { meta: {}, body: text };
496
-
497
- const meta = {};
498
- let currentListKey = null;
499
- for (const line of lines.slice(1, end)) {
500
- const stripped = line.trim();
501
- if (!stripped || stripped.startsWith("#")) continue;
502
- if (currentListKey && /^\s+-\s+/.test(line)) {
503
- meta[currentListKey].push(parseScalar(line.replace(/^\s+-\s+/, "")));
504
- continue;
505
- }
506
- currentListKey = null;
507
- const colon = line.indexOf(":");
508
- if (colon < 0) continue;
509
- const key = line.slice(0, colon).trim();
510
- if (["__proto__", "constructor", "prototype"].includes(key) || Object.hasOwn(meta, key)) {
511
- throw new Error(`${path}: duplicate or unsafe frontmatter key ${key}`);
512
- }
513
- const raw = line.slice(colon + 1).trim();
514
- if (!raw) {
515
- meta[key] = [];
516
- currentListKey = key;
517
- } else {
518
- meta[key] = parseScalar(raw);
519
- }
520
- }
521
- 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};
522
323
  }
523
324
 
524
325
  function escapeRegExp(value) {
@@ -661,7 +462,7 @@ function validatePathValue(value, { allowProject = true } = {}) {
661
462
  }
662
463
  return null;
663
464
  }
664
- 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"]]) {
665
466
  if (value.startsWith(prefix)) {
666
467
  const suffix = value.slice(prefix.length);
667
468
  if (
@@ -698,12 +499,13 @@ function validateDocumentReferences(root) {
698
499
  const entries = walk(root);
699
500
  const frozenResearchRoot = join(
700
501
  root,
701
- "P-prototype",
502
+ "specdev-p-prototype",
702
503
  "design-library",
703
504
  "research-snapshot",
704
505
  );
506
+ const upstreamRoot = join(root, "specdev-p-prototype", "design-library", "upstream");
705
507
  const governedEntries = entries.filter(
706
- (path) => path !== frozenResearchRoot && !path.startsWith(`${frozenResearchRoot}${sep}`),
508
+ (path) => ![frozenResearchRoot, upstreamRoot].some(frozen => path === frozen || path.startsWith(`${frozen}${sep}`)),
707
509
  );
708
510
  const knownFiles = new Set(governedEntries.filter(isFile).map((path) => basename(path)));
709
511
  const knownDirectories = new Set(governedEntries.filter(isDirectory).map((path) => basename(path)));
@@ -750,13 +552,13 @@ function validateDocumentReferences(root) {
750
552
  );
751
553
  }
752
554
  }
753
- } else if (payload.startsWith(SKILLS_PREFIX) || payload.startsWith(COMMANDS_PREFIX)) {
754
- const isSkill = payload.startsWith(SKILLS_PREFIX);
755
- 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;
756
558
  const referenced = payload.slice(prefix.length);
757
559
  if (!PLACEHOLDER_RE.test(referenced)) {
758
560
  const templateRoot = resolve(root, "..", "..");
759
- const target = join(templateRoot, isSkill ? "skills" : "commands", referenced);
561
+ const target = join(templateRoot, isSkill ? "references" : "commands", referenced);
760
562
  if (!existsSync(target)) {
761
563
  errors.push(`${label}:${lineNumber(text, match.index)}: broken public Path ${payload}`);
762
564
  }
@@ -771,15 +573,29 @@ function validateDocumentReferences(root) {
771
573
  }
772
574
  }
773
575
 
576
+ const workSegment = toPosix(relative(root, path)).split("/")[0];
577
+ const skillRoot = EXPECTED_WORKS.has(workSegment) ? join(root, workSegment) : null;
578
+ const acceptedLinks = [];
774
579
  for (const match of text.matchAll(RELATIVE_MD_LINK_RE)) {
775
- errors.push(
776
- `${label}:${lineNumber(text, match.index)}: relative Markdown link is forbidden: ${match[1]}`,
777
- );
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
+ }
778
593
  }
779
594
 
780
595
  let withoutTags = text
781
596
  .replace(/`?\s*<Path>.*?<\/Path>\s*`?/gs, "")
782
597
  .replace(/`?\s*<Url>.*?<\/Url>\s*`?/gs, "");
598
+ for (const link of acceptedLinks) withoutTags = withoutTags.replaceAll(link, "");
783
599
 
784
600
  for (const match of withoutTags.matchAll(/\{roots\.(?:workflows|state)\}/g)) {
785
601
  errors.push(
@@ -852,29 +668,8 @@ function validateJsonFiles(root) {
852
668
 
853
669
  function validateGlobalStatusAssets(root) {
854
670
  const errors = [];
855
- const paths = [join(root, "I-init-setup", "status-template.json")];
856
- if (isDirectory(join(root, "_state"))) {
857
- paths.unshift(join(root, "_state", "status.json"));
858
- }
859
- for (const path of paths) {
860
- if (!isFile(path)) {
861
- errors.push(`missing global status seed ${toPosix(relative(root, path))}`);
862
- continue;
863
- }
864
- const data = JSON.parse(readText(path));
865
- const keys = Object.keys(data).sort();
866
- const expected = ["active", "archived", "schema_version", "workflow"];
867
- if (JSON.stringify(keys) !== JSON.stringify(expected)) {
868
- errors.push(`${toPosix(relative(root, path))}: global status must contain only ${expected.join(", ")}`);
869
- }
870
- if (
871
- data.schema_version !== GLOBAL_STATUS_SCHEMA_VERSION ||
872
- data.workflow !== "specdev" ||
873
- !Array.isArray(data.active) ||
874
- !Array.isArray(data.archived)
875
- ) {
876
- errors.push(`${toPosix(relative(root, path))}: invalid SpecDev global status v5 seed`);
877
- }
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))}`);
878
673
  }
879
674
 
880
675
  const schemaPath = join(root, "common", "schemas", "status.schema.json");
@@ -900,8 +695,7 @@ function validateGlobalStatusAssets(root) {
900
695
 
901
696
  function validateExecutionContractAssets(root) {
902
697
  const errors = [];
903
- const configTemplatePath = join(root, "I-init-setup", "config-template.json");
904
- const changeTemplatePath = join(root, "I-init-setup", "change-status-template.json");
698
+ const configTemplatePath = join(root, "specdev-i-init-setup", "assets/config-template.json");
905
699
  const configSchemaPath = join(root, "common", "schemas", "config.schema.json");
906
700
  const goalPlanSchemaPath = join(root, "common", "schemas", "goal-plan.schema.json");
907
701
  const changeSchemaPath = join(root, "common", "schemas", "change-status.schema.json");
@@ -910,7 +704,6 @@ function validateExecutionContractAssets(root) {
910
704
 
911
705
  for (const path of [
912
706
  configTemplatePath,
913
- changeTemplatePath,
914
707
  configSchemaPath,
915
708
  goalPlanSchemaPath,
916
709
  changeSchemaPath,
@@ -924,8 +717,8 @@ function validateExecutionContractAssets(root) {
924
717
  const configTemplate = JSON.parse(readText(configTemplatePath));
925
718
  if (
926
719
  configTemplate.schema_version !== CONFIG_SCHEMA_VERSION ||
927
- !Number.isInteger(configTemplate.execution?.max_implementation_agents) ||
928
- configTemplate.execution.max_implementation_agents < 1 ||
720
+ !Number.isInteger(configTemplate.execution?.max_concurrent_implementations) ||
721
+ configTemplate.execution.max_concurrent_implementations < 1 ||
929
722
  !Number.isInteger(configTemplate.execution?.max_integration_attempts) ||
930
723
  configTemplate.execution.max_integration_attempts < 1 ||
931
724
  !Number.isInteger(configTemplate.planning?.ui_design_default_candidates) ||
@@ -934,7 +727,7 @@ function validateExecutionContractAssets(root) {
934
727
  configTemplate.planning.ui_design_max_candidates > 4 ||
935
728
  configTemplate.planning.ui_design_max_candidates < configTemplate.planning.ui_design_default_candidates
936
729
  ) {
937
- 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");
938
731
  }
939
732
  for (const obsolete of ["auto_commit", "worktree_for_parallel", "max_parallel"]) {
940
733
  if (JSON.stringify(configTemplate).includes(`\"${obsolete}\"`)) {
@@ -943,38 +736,29 @@ function validateExecutionContractAssets(root) {
943
736
  }
944
737
 
945
738
  const configSchema = JSON.parse(readText(configSchemaPath));
946
- const limit = configSchema.properties?.execution?.properties?.max_implementation_agents;
739
+ const limit = configSchema.properties?.execution?.properties?.max_concurrent_implementations;
947
740
  if (
948
- configSchema.$id !== "urn:speculo:specdev:config:v6" ||
741
+ configSchema.$id !== "urn:speculo:specdev:config:v7" ||
949
742
  configSchema.properties?.schema_version?.const !== CONFIG_SCHEMA_VERSION ||
950
743
  limit?.minimum !== 1 ||
951
744
  configSchema.properties?.execution?.properties?.max_integration_attempts?.minimum !== 1 ||
952
745
  configSchema.additionalProperties !== false
953
746
  ) {
954
- 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");
955
748
  }
956
749
 
957
750
  const goalPlanSchema = JSON.parse(readText(goalPlanSchemaPath));
958
751
  if (
959
- goalPlanSchema.$id !== "urn:speculo:specdev:goal-plan:v6" ||
752
+ goalPlanSchema.$id !== "urn:speculo:specdev:goal-plan:v7" ||
960
753
  goalPlanSchema.properties?.schema_version?.const !== GOAL_PLAN_SCHEMA_VERSION ||
961
754
  goalPlanSchema.properties?.orchestration?.const !== "lead-directed" ||
962
- goalPlanSchema.properties?.implementation_agent_limit?.minimum !== 1 ||
755
+ goalPlanSchema.properties?.concurrent_implementation_limit?.minimum !== 1 ||
963
756
  goalPlanSchema.properties?.integration_attempt_limit?.minimum !== 1 ||
964
757
  !["current", "required"].every((value) => goalPlanSchema.properties?.ticket_workspace_policy?.enum?.includes(value)) ||
965
758
  !["direct-parent", "candidate-merge"].every((value) => goalPlanSchema.properties?.integration_gate?.enum?.includes(value)) ||
966
759
  goalPlanSchema.additionalProperties !== false
967
760
  ) {
968
- errors.push("goal-plan.schema.json must define the strict Lead-directed Goal Plan v6 workspace strategy contract");
969
- }
970
-
971
- const changeTemplate = JSON.parse(readText(changeTemplatePath));
972
- if (
973
- changeTemplate.schema_version !== CHANGE_STATUS_SCHEMA_VERSION ||
974
- changeTemplate.artifact !== "change-status" ||
975
- !Array.isArray(changeTemplate.worktrees)
976
- ) {
977
- 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");
978
762
  }
979
763
 
980
764
  const changeSchema = JSON.parse(readText(changeSchemaPath));
@@ -1001,10 +785,10 @@ function validateExecutionContractAssets(root) {
1001
785
  }
1002
786
  const implementationPlanSchema = JSON.parse(readText(implementationPlanSchemaPath));
1003
787
  if (
1004
- implementationPlanSchema.$id !== "urn:speculo:specdev:implementation-plan:v1" ||
788
+ implementationPlanSchema.$id !== "urn:speculo:specdev:implementation-plan:v2" ||
1005
789
  implementationPlanSchema.properties?.schema_version?.const !== IMPLEMENTATION_PLAN_SCHEMA_VERSION ||
1006
790
  implementationPlanSchema.properties?.orchestration?.const !== "lead-directed" ||
1007
- implementationPlanSchema.properties?.implementation_agent_limit?.minimum !== 1 ||
791
+ implementationPlanSchema.properties?.concurrent_implementation_limit?.minimum !== 1 ||
1008
792
  implementationPlanSchema.properties?.integration_attempt_limit?.minimum !== 1 ||
1009
793
  !["current", "required"].every((value) => implementationPlanSchema.properties?.ticket_workspace_policy?.enum?.includes(value)) ||
1010
794
  implementationPlanSchema.additionalProperties !== false
@@ -1019,12 +803,12 @@ function capabilityChecks(root) {
1019
803
  [
1020
804
  "init",
1021
805
  [
1022
- join(root, "I-init-setup", "I-init-setup.md"),
806
+ join(root, "specdev-i-init-setup", "SKILL.md"),
1023
807
  [
1024
- "tracking-template",
1025
- "domain-layout-template",
1026
- "config-template",
1027
- "change-status-template",
808
+ "first-setup.md",
809
+ "current-facts-docs.md",
810
+ "必要偏好",
811
+ "README",
1028
812
  "specdev-worktree/",
1029
813
  ],
1030
814
  ],
@@ -1032,28 +816,28 @@ function capabilityChecks(root) {
1032
816
  [
1033
817
  "triage",
1034
818
  [
1035
- join(root, "T-triage", "T-triage.md"),
819
+ join(root, "specdev-t-triage", "SKILL.md"),
1036
820
  ["intake", "reconcile", "publish", "capture", "capture.md", "pr-delivery", "ci-security", "release-preflight", "recover", "remote-operations.md"],
1037
821
  ],
1038
822
  ],
1039
823
  [
1040
824
  "spec",
1041
825
  [
1042
- join(root, "S-spec", "S-spec.md"),
1043
- ["用户故事", "验收合同", "代码", "CONTEXT", "ADR", "验证接缝", "ready_for_tickets"],
826
+ join(root, "specdev-s-spec", "SKILL.md"),
827
+ ["用户端到端行为", "验收合同", "代码", "CONTEXT", "ADR", "验证接缝", "ready_for_tickets"],
1044
828
  ],
1045
829
  ],
1046
830
  [
1047
831
  "tickets",
1048
832
  [
1049
- join(root, "T-tickets", "T-tickets.md"),
833
+ join(root, "specdev-t-tickets", "SKILL.md"),
1050
834
  ["Prefactor", "垂直切片", "Expand", "与用户核对", "Definition of Ready"],
1051
835
  ],
1052
836
  ],
1053
837
  [
1054
838
  "goal-plan",
1055
839
  [
1056
- join(root, "P-goal-plan", "P-goal-plan.md"),
840
+ join(root, "specdev-p-goal-plan", "SKILL.md"),
1057
841
  [
1058
842
  "Outcome",
1059
843
  "权威来源",
@@ -1061,7 +845,7 @@ function capabilityChecks(root) {
1061
845
  "Gate",
1062
846
  "Wave",
1063
847
  "lead-directed",
1064
- "implementation_agent_limit",
848
+ "concurrent_implementation_limit",
1065
849
  "candidate-merge",
1066
850
  "lead-orchestration.md",
1067
851
  "Definition of Done",
@@ -1071,70 +855,70 @@ function capabilityChecks(root) {
1071
855
  [
1072
856
  "implement",
1073
857
  [
1074
- join(root, "I-implement", "I-implement.md"),
1075
- ["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"],
1076
860
  ],
1077
861
  ],
1078
862
  [
1079
863
  "code-review",
1080
864
  [
1081
- join(root, "C-code-review", "C-code-review.md"),
865
+ join(root, "specdev-c-code-review", "SKILL.md"),
1082
866
  ["--review-scope", "baseline", "range", "commit", "pr", "no-diff", "固定点", "标准轴", "规范轴", "未合并排名", "reviews/CR-###.md"],
1083
867
  ],
1084
868
  ],
1085
869
  [
1086
870
  "prototype",
1087
871
  [
1088
- join(root, "P-prototype", "P-prototype.md"),
872
+ join(root, "specdev-p-prototype", "SKILL.md"),
1089
873
  ["设计定向", "风格", "design-system.md", "comparison", "HTML/CSS/JS", "design-library/INDEX.md"],
1090
874
  ],
1091
875
  ],
1092
876
  [
1093
877
  "learn-change",
1094
878
  [
1095
- join(root, "L-learn-change", "L-learn-change.md"),
879
+ join(root, "specdev-l-learn-change", "SKILL.md"),
1096
880
  ["开发完成后", "零专业背景", "$ARGUMENTS", "ASCII", "learning/index.md", "{number}_{topic}.md", "{roots.state}/learning/"],
1097
881
  ],
1098
882
  ],
1099
883
  [
1100
884
  "wayfinder",
1101
885
  [
1102
- join(root, "W-wayfinder", "W-wayfinder.md"),
1103
- ["共享地图", "claimed_investigations", "wayfinder:prototype", "wayfinder:grilling", "solution comment", "每个会话"],
886
+ join(root, "specdev-w-wayfinder", "SKILL.md"),
887
+ ["共享地图", "调查认领", "wayfinder:prototype", "wayfinder:grilling", "solution comment", "每个会话"],
1104
888
  ],
1105
889
  ],
1106
890
  [
1107
891
  "architecture-review",
1108
892
  [
1109
- join(root, "R-review-architecture", "R-review-architecture.md"),
893
+ join(root, "specdev-r-review-architecture", "SKILL.md"),
1110
894
  ["结构性坏味道", "code-judo", "删除测试", "高置信候选", "最佳推荐"],
1111
895
  ],
1112
896
  ],
1113
897
  [
1114
898
  "architecture-review-rubric",
1115
899
  [
1116
- join(root, "R-review-architecture", "review-rubric.md"),
900
+ join(root, "specdev-r-review-architecture", "references/review-rubric.md"),
1117
901
  ["删除测试", "文件大小", "高置信候选", "spaghetti growth"],
1118
902
  ],
1119
903
  ],
1120
904
  [
1121
905
  "archive",
1122
906
  [
1123
- join(root, "A-archive-and-consolidate", "A-archive-and-consolidate.md"),
907
+ join(root, "specdev-a-archive-and-consolidate", "SKILL.md"),
1124
908
  ["archive-single", "dry-run", "external_action", "publish_action", "consolidate-from-code", "archive-and-consolidate"],
1125
909
  ],
1126
910
  ],
1127
911
  [
1128
912
  "grill",
1129
913
  [
1130
- join(root, "G-grill-with-docs", "G-grill-with-docs.md"),
914
+ join(root, "specdev-g-grill-with-docs", "SKILL.md"),
1131
915
  ["完整 frontier", "design-tree.json", "LOG.md", "CONTEXT.md", "ADR.md", "推荐答案", "永久 namespace 对 G 只读"],
1132
916
  ],
1133
917
  ],
1134
918
  [
1135
919
  "diagnosis",
1136
920
  [
1137
- join(root, "D-diagnose-bugs", "D-diagnose-bugs.md"),
921
+ join(root, "specdev-d-diagnose-bugs", "SKILL.md"),
1138
922
  ["红灯", "反馈回路", "最小化", "可证伪", "根因", "回归测试"],
1139
923
  ],
1140
924
  ],
@@ -1156,35 +940,35 @@ function capabilityChecks(root) {
1156
940
  "common/rules/codebase-design.md",
1157
941
  "common/schemas/design-tree.schema.json",
1158
942
  "common/schemas/wayfinder-ticket.schema.json",
1159
- "G-grill-with-docs/design-tree-template.json",
1160
- "W-wayfinder/local-tracker-contract.md",
1161
- "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",
1162
946
  "common/rules/parent-implementation-orchestration.md",
1163
947
  "common/schemas/implementation-map.schema.json",
1164
948
  "common/schemas/implementation-plan.schema.json",
1165
949
  "common/schemas/capture.schema.json",
1166
- "T-triage/capture-protocol.md",
1167
- "T-triage/capture-template.md",
1168
- "T-triage/issue-record-template.md",
1169
- "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",
1170
954
  ]) {
1171
955
  if (!isFile(join(root, required))) errors.push(`missing architecture/wayfinding contract ${required}`);
1172
956
  }
1173
957
 
1174
- const mapTemplate = join(root, "W-wayfinder", "wayfinder-map-template.md");
958
+ const mapTemplate = join(root, "specdev-w-wayfinder", "assets/wayfinder-map-template.md");
1175
959
  if (isFile(mapTemplate) && /^## (?:开放 Tickets|调查清单)/m.test(readText(mapTemplate))) {
1176
960
  errors.push("Wayfinder map template must query open Tickets instead of caching them");
1177
961
  }
1178
962
 
1179
- 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");
1180
964
  if (!isFile(goalPlanTemplate)) {
1181
965
  errors.push("missing Goal Plan template");
1182
966
  } else {
1183
967
  const text = readText(goalPlanTemplate);
1184
968
  for (const required of [
1185
- "schema_version: 6",
969
+ "schema_version: 7",
1186
970
  "orchestration: lead-directed",
1187
- "implementation_agent_limit: 3",
971
+ "concurrent_implementation_limit: 3",
1188
972
  "integration_attempt_limit: 3",
1189
973
  "ticket_workspace_policy: current",
1190
974
  "integration_gate: direct-parent",
@@ -1209,11 +993,11 @@ function selfCheck(root) {
1209
993
  const errors = [];
1210
994
  const warnings = [];
1211
995
 
1212
- if (!isFile(join(root, "INDEX.md"))) errors.push("missing package INDEX");
996
+ if (!isFile(join(root, "SKILL.md"))) errors.push("missing domain Skill");
1213
997
 
1214
998
  const actualWorks = new Set(
1215
999
  readdirSync(root, { withFileTypes: true })
1216
- .filter((entry) => entry.isDirectory() && /^[A-Z]-/.test(entry.name))
1000
+ .filter((entry) => entry.isDirectory() && /^specdev-[a-z]-/.test(entry.name))
1217
1001
  .map((entry) => entry.name),
1218
1002
  );
1219
1003
  const missingWorks = [...EXPECTED_WORKS].filter((name) => !actualWorks.has(name));
@@ -1223,23 +1007,16 @@ function selfCheck(root) {
1223
1007
 
1224
1008
  const ids = [];
1225
1009
  for (const directoryName of [...actualWorks].sort()) {
1226
- const entry = join(root, directoryName, `${directoryName}.md`);
1010
+ const entry = join(root, directoryName, "SKILL.md");
1227
1011
  if (!isFile(entry)) {
1228
1012
  errors.push(`missing work entry ${toPosix(relative(root, entry))}`);
1229
1013
  continue;
1230
1014
  }
1231
1015
  const { meta } = parseFrontmatter(entry);
1232
- if (meta.type !== "workflow-entry") {
1233
- errors.push(`${toPosix(relative(root, entry))}: type must be workflow-entry`);
1234
- }
1235
- if (meta.workflow !== "specdev") {
1236
- errors.push(`${toPosix(relative(root, entry))}: workflow must be specdev`);
1237
- }
1238
- if (typeof meta.id !== "string" || !meta.id.startsWith("specdev/")) {
1239
- errors.push(`${toPosix(relative(root, entry))}: invalid work id`);
1240
- } else {
1241
- ids.push(meta.id);
1242
- }
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);
1243
1020
  }
1244
1021
  if (ids.length !== new Set(ids).size) errors.push("duplicate workflow entry id");
1245
1022
 
@@ -1377,7 +1154,7 @@ function validateSource(path, expectedChange, errors) {
1377
1154
  return { path, meta, body };
1378
1155
  }
1379
1156
 
1380
- function validateTriage(path, expectedChange, errors, historical = false) {
1157
+ function validateTriage(path, expectedChange, errors) {
1381
1158
  if (!isFile(path)) {
1382
1159
  errors.push("missing triage artifact");
1383
1160
  return null;
@@ -1398,8 +1175,8 @@ function validateTriage(path, expectedChange, errors, historical = false) {
1398
1175
  ];
1399
1176
  const missing = required.filter((key) => !(key in meta));
1400
1177
  if (missing.length) errors.push(`triage.md: missing keys ${JSON.stringify(missing)}`);
1401
- if ((meta.schema_version !== 2 && !(historical && meta.schema_version === 1)) || meta.artifact !== "triage") {
1402
- 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");
1403
1180
  }
1404
1181
  if (meta.schema_version === 2) {
1405
1182
  if (!["needs-triage", "needs-info", "ready-for-agent", "ready-for-human", "wontfix"].includes(meta.disposition)) errors.push("triage.md: invalid disposition");
@@ -1710,10 +1487,12 @@ function validateReviews(change, required, errors) {
1710
1487
  return paths;
1711
1488
  }
1712
1489
 
1713
- function validatePrototypes(change, required, errors) {
1490
+ function validatePrototypes(change, required, errors, prototypeId = null, consumingDesign = false, context = null) {
1714
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;
1715
1494
  if (!isDirectory(root)) {
1716
- 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");
1717
1496
  return [];
1718
1497
  }
1719
1498
 
@@ -1721,16 +1500,21 @@ function validatePrototypes(change, required, errors) {
1721
1500
  dirname(fileURLToPath(import.meta.url)),
1722
1501
  "..",
1723
1502
  "..",
1724
- "P-prototype",
1725
- "tools",
1503
+ "specdev-p-prototype",
1504
+ "scripts",
1726
1505
  "validate-design-package.mjs",
1727
1506
  );
1728
1507
  const paths = [];
1729
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}`);
1730
1513
 
1731
1514
  for (const entry of readdirSync(root, { withFileTypes: true })) {
1732
1515
  const entryPath = join(root, entry.name);
1733
1516
  const label = toPosix(relative(change, entryPath));
1517
+ if (selectedId && entry.name !== selectedId) continue;
1734
1518
  if (entry.isSymbolicLink()) {
1735
1519
  errors.push(`${label}: prototype design directories and files must not be symlinks`);
1736
1520
  continue;
@@ -1758,9 +1542,10 @@ function validatePrototypes(change, required, errors) {
1758
1542
  }
1759
1543
  paths.push(designPath);
1760
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`);
1761
1546
  if (meta.status === "ready") readyCount += 1;
1762
1547
  try {
1763
- execFileSync(process.execPath, [validator, designPath], {
1548
+ execFileSync(process.execPath, [validator, ...contextArguments(context), ...(consumingDesign && entry.name === boundId ? ["--check-ready"] : []), designPath], {
1764
1549
  encoding: "utf8",
1765
1550
  stdio: ["ignore", "pipe", "pipe"],
1766
1551
  });
@@ -1774,13 +1559,14 @@ function validatePrototypes(change, required, errors) {
1774
1559
  }
1775
1560
  }
1776
1561
 
1777
- const obsoleteRecords = walk(root).filter(
1562
+ const scanRoot = selectedId && isDirectory(join(root, selectedId)) ? join(root, selectedId) : root;
1563
+ const obsoleteRecords = walk(scanRoot).filter(
1778
1564
  (path) => isFile(path) && basename(path) === "record.md",
1779
1565
  );
1780
1566
  for (const path of obsoleteRecords) {
1781
1567
  errors.push(`${toPosix(relative(change, path))}: obsolete prototype record is forbidden; use UI-NNN/design-system.md`);
1782
1568
  }
1783
- const discoveredDesigns = walk(root).filter(
1569
+ const discoveredDesigns = walk(scanRoot).filter(
1784
1570
  (path) => isFile(path) && basename(path) === "design-system.md",
1785
1571
  );
1786
1572
  for (const path of discoveredDesigns) {
@@ -1789,7 +1575,7 @@ function validatePrototypes(change, required, errors) {
1789
1575
  }
1790
1576
  }
1791
1577
  if (required && readyCount === 0) {
1792
- 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");
1793
1579
  }
1794
1580
  return paths;
1795
1581
  }
@@ -2076,7 +1862,7 @@ function validateGoalPlan(path, errors) {
2076
1862
  "modes",
2077
1863
  "orchestration",
2078
1864
  "lead",
2079
- "implementation_agent_limit",
1865
+ "concurrent_implementation_limit",
2080
1866
  "integration_attempt_limit",
2081
1867
  "ticket_workspace_policy",
2082
1868
  "integration_gate",
@@ -2100,8 +1886,8 @@ function validateGoalPlan(path, errors) {
2100
1886
  if (typeof meta.lead !== "string" || !meta.lead.trim()) {
2101
1887
  errors.push(`${basename(path)}: lead must be a non-empty recoverable locator`);
2102
1888
  }
2103
- if (!Number.isInteger(meta.implementation_agent_limit) || meta.implementation_agent_limit < 1) {
2104
- 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`);
2105
1891
  }
2106
1892
  if (!Number.isInteger(meta.integration_attempt_limit) || meta.integration_attempt_limit < 1) {
2107
1893
  errors.push(`${basename(path)}: integration_attempt_limit must be a positive integer`);
@@ -2154,25 +1940,9 @@ function validateGoalPlan(path, errors) {
2154
1940
  return { path, meta, body };
2155
1941
  }
2156
1942
 
2157
- function validateGoalPlanRuntimeLimits(path, change, goalPlan, errors, repoRoot = null) {
1943
+ function validateGoalPlanRuntimeLimits(path, change, goalPlan, errors, repoRoot = null, options = {}) {
2158
1944
  if (!goalPlan) return;
2159
- const config = findSpecdevConfig(change, repoRoot);
2160
- if (!config) {
2161
- errors.push(`${basename(path)}: SpecDev config.json is required to validate execution limits`);
2162
- return;
2163
- }
2164
- const configuredAgents = positiveConfigLimit(config, "max_implementation_agents", 0);
2165
- const configuredAttempts = positiveConfigLimit(config, "max_integration_attempts", 0);
2166
- if (config.schema_version !== CONFIG_SCHEMA_VERSION || configuredAgents === 0 || configuredAttempts === 0) {
2167
- errors.push(`${basename(path)}: SpecDev config.json must use schema v${CONFIG_SCHEMA_VERSION} with positive execution limits`);
2168
- return;
2169
- }
2170
- if (goalPlan.meta.implementation_agent_limit > configuredAgents) {
2171
- errors.push(`${basename(path)}: implementation_agent_limit ${goalPlan.meta.implementation_agent_limit} exceeds config max_implementation_agents ${configuredAgents}`);
2172
- }
2173
- if (goalPlan.meta.integration_attempt_limit > configuredAttempts) {
2174
- errors.push(`${basename(path)}: integration_attempt_limit ${goalPlan.meta.integration_attempt_limit} exceeds config max_integration_attempts ${configuredAttempts}`);
2175
- }
1945
+ errors.push(...validateExecutionPolicy(goalPlan, findSpecdevConfig(change, repoRoot, options)).map(error => `${basename(path)}: ${error}`));
2176
1946
  }
2177
1947
 
2178
1948
  function validateDesignTree(path, change, errors) {
@@ -2439,53 +2209,14 @@ function validateTicket(path, errors) {
2439
2209
  return { path, meta, body };
2440
2210
  }
2441
2211
 
2442
- function validateChangeStatus(path, expectedChange, errors) {
2443
- if (!isFile(path)) {
2444
- errors.push("missing change status artifact");
2445
- return null;
2446
- }
2212
+ function validateChangeExecution(change, errors, context) {
2213
+ const path = join(change, "evidence"), expectedChange = basename(change);
2447
2214
  let data;
2448
2215
  try {
2449
- data = JSON.parse(readText(path));
2450
- } catch (error) {
2451
- errors.push(`${basename(path)}: invalid JSON: ${error.message}`);
2452
- return null;
2453
- }
2454
- const required = [
2455
- "schema_version",
2456
- "artifact",
2457
- "change",
2458
- "change_status",
2459
- "current_work",
2460
- "works_run",
2461
- "claimed_investigations",
2462
- "execution_authorization",
2463
- "leadership",
2464
- "created_at",
2465
- "updated_at",
2466
- "completed_at",
2467
- "archived",
2468
- "archive_path",
2469
- "blockers",
2470
- "deviations",
2471
- "worktrees",
2472
- ];
2473
- const missing = required.filter((key) => !(key in data));
2474
- if (missing.length) errors.push(`${basename(path)}: missing keys ${JSON.stringify(missing.sort())}`);
2475
- const unexpected = Object.keys(data).filter((key) => !required.includes(key));
2476
- if (unexpected.length) errors.push(`${basename(path)}: unexpected keys ${JSON.stringify(unexpected.sort())}`);
2477
- if (data.schema_version !== CHANGE_STATUS_SCHEMA_VERSION || data.artifact !== "change-status") {
2478
- errors.push(`${basename(path)}: artifact/schema_version must be change-status/${CHANGE_STATUS_SCHEMA_VERSION}`);
2479
- }
2480
- if (data.change !== expectedChange) {
2481
- errors.push(`${basename(path)}: change must equal directory name ${expectedChange}`);
2482
- }
2483
- if (!new Set(["active", "blocked", "completed", "archived"]).has(data.change_status)) {
2484
- errors.push(`${basename(path)}: invalid change_status ${data.change_status}`);
2485
- }
2486
- if (!Array.isArray(data.blockers) || !Array.isArray(data.deviations) || !Array.isArray(data.worktrees)) {
2487
- errors.push(`${basename(path)}: blockers, deviations, and worktrees must be arrays`);
2488
- }
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; }
2489
2220
  const seenWorktreeTickets = new Set();
2490
2221
  for (const worktree of Array.isArray(data.worktrees) ? data.worktrees : []) {
2491
2222
  if (!worktree || typeof worktree !== "object" || Array.isArray(worktree)) {
@@ -2756,15 +2487,6 @@ function validateChangeStatus(path, expectedChange, errors) {
2756
2487
  }
2757
2488
  }
2758
2489
  }
2759
- if (data.change_status === "archived") {
2760
- if (data.archived !== true) errors.push(`${basename(path)}: archived status requires archived=true`);
2761
- const inner = typeof data.archive_path === "string" ? stripPathTag(data.archive_path) : null;
2762
- if (inner === null || !inner.startsWith(`${STATE_PREFIX}archive/`)) {
2763
- errors.push(`${basename(path)}: archived status requires a rooted archive_path`);
2764
- }
2765
- } else if (data.archived === true) {
2766
- errors.push(`${basename(path)}: archived=true conflicts with change_status=${data.change_status}`);
2767
- }
2768
2490
  return data;
2769
2491
  }
2770
2492
 
@@ -2819,7 +2541,7 @@ function gitSucceeds(repoRoot, args) {
2819
2541
  }
2820
2542
 
2821
2543
  function validateGitEvidence(repoRoot, changeStatus, errors) {
2822
- if (!repoRoot) return;
2544
+ if (!repoRoot || !changeStatus?.worktrees?.length) return;
2823
2545
  const resolvedRoot = resolve(repoRoot);
2824
2546
  if (gitOutput(resolvedRoot, ["rev-parse", "--is-inside-work-tree"]) !== "true") {
2825
2547
  errors.push(`--repo is not a Git worktree: ${resolvedRoot}`);
@@ -2851,13 +2573,26 @@ function validateGitEvidence(repoRoot, changeStatus, errors) {
2851
2573
  } else if (worktree.integration?.source_sha && worktree.base_sha && !gitSucceeds(resolvedRoot, ["merge-base", "--is-ancestor", worktree.base_sha, worktree.integration.source_sha])) {
2852
2574
  errors.push(`${label}: source_sha must descend from base_sha`);
2853
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
+ }
2854
2589
  if (new Set(["integrated", "removed"]).has(worktree.status) && gitOutput(resolvedRoot, ["status", "--porcelain"])) {
2855
2590
  errors.push(`${label}: repository is dirty while Ticket is recorded as ${worktree.status}`);
2856
2591
  }
2857
2592
  }
2858
2593
  }
2859
2594
 
2860
- function validateParentImplementation(change, parentStatus, stage, errors, warnings, repoRoot = null) {
2595
+ function validateParentImplementation(change, parentStatus, stage, errors, warnings, repoRoot = null, options = {}) {
2861
2596
  const mapPath = join(change, "implementation-map.md");
2862
2597
  const planPath = join(change, "implementation-plan.md");
2863
2598
  if (!isFile(mapPath)) errors.push("parent implementation requires implementation-map.md");
@@ -2868,7 +2603,7 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
2868
2603
  const map = parseFrontmatter(mapPath);
2869
2604
  const plan = parseFrontmatter(planPath);
2870
2605
  const mapKeys = ["schema_version", "artifact", "change", "status", "revision", "members", "tasks", "dependencies", "serializations"];
2871
- 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"];
2872
2607
  for (const [label, meta, expected] of [
2873
2608
  ["implementation-map.md", map.meta, mapKeys],
2874
2609
  ["implementation-plan.md", plan.meta, planKeys],
@@ -2899,7 +2634,7 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
2899
2634
  if (plan.meta.orchestration !== "lead-directed" || typeof plan.meta.lead !== "string" || !plan.meta.lead.trim()) {
2900
2635
  errors.push("implementation-plan.md: lead-directed orchestration requires a recoverable Lead");
2901
2636
  }
2902
- for (const key of ["implementation_agent_limit", "integration_attempt_limit"]) {
2637
+ for (const key of ["concurrent_implementation_limit", "integration_attempt_limit"]) {
2903
2638
  if (!Number.isInteger(plan.meta[key]) || plan.meta[key] < 1) {
2904
2639
  errors.push(`implementation-plan.md: ${key} must be a positive integer`);
2905
2640
  }
@@ -2965,7 +2700,8 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
2965
2700
  errors.push(`implementation-map.md: invalid member change name ${member}`);
2966
2701
  continue;
2967
2702
  }
2968
- 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; }
2969
2705
  if (!isDirectory(memberRoot)) {
2970
2706
  errors.push(`implementation-map.md: member change does not exist: ${member}`);
2971
2707
  continue;
@@ -2976,13 +2712,11 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
2976
2712
 
2977
2713
  const memberErrors = [];
2978
2714
  const memberWarnings = [];
2979
- const status = validateChangeStatus(join(memberRoot, ".status.json"), member, memberErrors);
2715
+ const status = validateChangeExecution(memberRoot, memberErrors, options.context);
2980
2716
  if (status) {
2981
2717
  memberStatuses.set(member, status);
2982
- if (status.change_status === "archived") memberErrors.push("archived change cannot be an implementation member");
2983
- if (status.current_work !== null && status.current_work !== "specdev/implement") {
2984
- memberErrors.push(`current_work=${status.current_work} conflicts with parent implementation ownership`);
2985
- }
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");
2986
2720
  for (const worktree of Array.isArray(status.worktrees) ? status.worktrees : []) {
2987
2721
  if (worktree?.status === "active") {
2988
2722
  activeImplementations += 1;
@@ -3092,7 +2826,7 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
3092
2826
  const uncovered = [...declared].filter((id) => !covered.has(id) && !(childMap && new RegExp(`${escapeRegExp(id)}.*\\bdeferred\\b`, "i").test(childMap.body)));
3093
2827
  if (uncovered.length) memberErrors.push(`Spec acceptance contracts are not covered by Tickets: ${JSON.stringify(uncovered.sort())}`);
3094
2828
  }
3095
- if (status?.change_status === "completed") {
2829
+ if (status?.outcome === "completed") {
3096
2830
  const unfinished = [...childTickets].filter(([, artifact]) => !new Set(["done", "cancelled"]).has(artifact.meta.status)).map(([id]) => id);
3097
2831
  if (unfinished.length) memberErrors.push(`completed member has unfinished Tickets: ${JSON.stringify(unfinished)}`);
3098
2832
  }
@@ -3207,30 +2941,18 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
3207
2941
  if (!Array.isArray(otherMap.members)) continue;
3208
2942
  let otherStatus = null;
3209
2943
  try {
3210
- otherStatus = JSON.parse(readText(join(changesRoot, entry.name, ".status.json"))).change_status;
2944
+ otherStatus = runtime.readChangeFactsSync(options.context, entry.name).outcome;
3211
2945
  } catch {
3212
2946
  // Invalid competing parents still own their members conservatively.
3213
2947
  }
3214
- if (new Set(["completed", "archived"]).has(otherStatus)) continue;
2948
+ if (new Set(["completed", "cancelled"]).has(otherStatus)) continue;
3215
2949
  const overlap = otherMap.members.map(String).filter((member) => memberSet.has(member));
3216
2950
  if (overlap.length) errors.push(`member changes already belong to unfinished parent implementation ${entry.name}: ${JSON.stringify(overlap)}`);
3217
2951
  }
3218
2952
 
3219
- const config = findSpecdevConfig(change, repoRoot);
3220
- const configuredAgents = positiveConfigLimit(config, "max_implementation_agents", 0);
3221
- const configuredAttempts = positiveConfigLimit(config, "max_integration_attempts", 0);
3222
- if (!config || config.schema_version !== CONFIG_SCHEMA_VERSION || configuredAgents === 0 || configuredAttempts === 0) {
3223
- errors.push("implementation-plan.md: SpecDev config v6 with positive execution limits is required");
3224
- } else {
3225
- if (plan.meta.implementation_agent_limit > configuredAgents) {
3226
- errors.push(`implementation-plan.md: implementation_agent_limit ${plan.meta.implementation_agent_limit} exceeds config max_implementation_agents ${configuredAgents}`);
3227
- }
3228
- if (plan.meta.integration_attempt_limit > configuredAttempts) {
3229
- errors.push(`implementation-plan.md: integration_attempt_limit ${plan.meta.integration_attempt_limit} exceeds config max_integration_attempts ${configuredAttempts}`);
3230
- }
3231
- }
3232
- if (activeImplementations > plan.meta.implementation_agent_limit) {
3233
- 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}`);
3234
2956
  }
3235
2957
  if (plan.meta.ticket_workspace_policy === "current" && activeCurrentWriters > 1) {
3236
2958
  errors.push(`parent current policy permits only one active implementation writer; found ${activeCurrentWriters}`);
@@ -3239,24 +2961,14 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
3239
2961
  if (count > 1) errors.push(`repository/ref integration must be serialized for ${ref}; found ${count}`);
3240
2962
  }
3241
2963
 
3242
- if (stage === "goal-plan" && parentStatus && new Set(["active", "blocked"]).has(parentStatus.change_status) && !new Set(["specdev/goal-plan"]).has(parentStatus.current_work)) {
3243
- errors.push("parent active/blocked status must keep current_work=specdev/goal-plan");
3244
- }
3245
- if (parentStatus?.change_status === "completed") {
3246
- 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");
3247
2966
  if (incomplete.length) errors.push(`parent implementation is completed while members remain incomplete: ${JSON.stringify(incomplete)}`);
3248
2967
  const unfinished = [...ticketByTask].filter(([, value]) => !new Set(["done", "cancelled"]).has(value.artifact.meta.status)).map(([task]) => task);
3249
2968
  if (unfinished.length) errors.push(`completed parent implementation has unfinished composite tasks: ${JSON.stringify(unfinished)}`);
3250
2969
  if (map.meta.status !== "completed" || plan.meta.status !== "completed") {
3251
2970
  errors.push("completed parent requires completed Implementation Map and Implementation Plan");
3252
2971
  }
3253
- if (
3254
- parentStatus.current_work !== null ||
3255
- !Array.isArray(parentStatus.blockers) || parentStatus.blockers.length > 0 ||
3256
- !Array.isArray(parentStatus.deviations) || parentStatus.deviations.length > 0
3257
- ) {
3258
- errors.push("completed parent requires null current_work and no blockers or deviations");
3259
- }
3260
2972
  const activeMemberWork = [...memberStatuses]
3261
2973
  .flatMap(([member, status]) => (status.worktrees ?? []).map((worktree) => ({ member, worktree })))
3262
2974
  .filter(({ worktree }) => new Set(["planned", "active", "review", "integrating", "blocked"]).has(worktree?.status) || worktree?.integration?.status === "candidate")
@@ -3300,23 +3012,47 @@ function validateParentImplementation(change, parentStatus, stage, errors, warni
3300
3012
  return { map, plan, members, tasks, memberStatuses, ticketByTask };
3301
3013
  }
3302
3014
 
3303
- function validateChange(change, stage = null, repoRoot = null, engineeringKind = null) {
3015
+ function validateChange(change, stage = null, repoRoot = null, engineeringKind = null, prototypeId = null, options = {}) {
3304
3016
  const errors = [];
3305
3017
  const warnings = [];
3018
+ const archiveReady = stage === "archive-ready";
3019
+ if (archiveReady) stage = "complete";
3306
3020
  if (!isDirectory(change)) {
3307
3021
  return { errors: [`change directory does not exist: ${change}`], warnings };
3308
3022
  }
3309
3023
 
3310
- const workspace = resolveWorkspaceContract(repoRoot, change);
3024
+ const workspace = resolveWorkspaceContract(repoRoot, change, options);
3311
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};}
3312
3038
 
3313
3039
  // A partial parent must never fall back to the single-change artifact contract.
3314
3040
  const mapPath = join(change, "tickets-map.md");
3315
3041
  const isParentImplementation = isFile(join(change, "implementation-map.md")) ||
3316
3042
  isFile(join(change, "implementation-plan.md")) ||
3317
3043
  (isFile(mapPath) && parseFrontmatter(mapPath).meta.artifact === "goal-tickets-map");
3318
- const changeStatus = validateChangeStatus(join(change, ".status.json"), basename(change), errors);
3319
- 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);
3320
3056
  errors.push(...validateInitiative(change));
3321
3057
  if (isFile(join(change, "source-issue.md"))) {
3322
3058
  errors.push("obsolete source-issue.md is forbidden; use source.md without compatibility fallback");
@@ -3331,7 +3067,7 @@ function validateChange(change, stage = null, repoRoot = null, engineeringKind =
3331
3067
  : null;
3332
3068
  const triagePath = join(change, "triage.md");
3333
3069
  const triage = isFile(triagePath) || sourceRequired
3334
- ? validateTriage(triagePath, basename(change), errors, changeStatus?.archived === true && stage === null)
3070
+ ? validateTriage(triagePath, basename(change), errors)
3335
3071
  : null;
3336
3072
  const publishPath = join(change, "publish.md");
3337
3073
  const publishRequired = Boolean(
@@ -3345,34 +3081,40 @@ function validateChange(change, stage = null, repoRoot = null, engineeringKind =
3345
3081
  validateDiagnosis(diagnosisPath, basename(change), errors);
3346
3082
  }
3347
3083
  validateReviews(change, stage === "review", errors);
3348
- 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);
3349
3086
  validateChangeLearning(change, stage === "learn-change", errors);
3350
3087
  const retro = validateRecords(change, "retrospective", parseFrontmatter);
3351
3088
  const prs = validateRecords(change, "pull-request", parseFrontmatter);
3352
3089
  errors.push(...retro.errors, ...prs.errors);
3353
3090
  if (stage === "retro" && !retro.records.some(r => r.meta.status === "completed")) errors.push("retro stage requires a completed retrospective");
3354
3091
  if (stage === "pr-delivery" && !prs.records.length) errors.push("pr-delivery stage requires a PR record");
3355
- 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");
3356
3093
  const retroOnly = retro.records.length > 0 && retro.errors.length === 0 && retro.records.every(r => r.meta.status === "completed") &&
3357
- changeStatus?.works_run?.includes("specdev/retro") && changeStatus.works_run.every(w => ["specdev/retro", "specdev/triage"].includes(w)) &&
3358
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;
3359
3095
 
3096
+ let simpleGoal = null;
3097
+ try { simpleGoal = readLightweightGoal(change); } catch (error) { errors.push(error.message); }
3360
3098
  const specRequired = new Set(["spec", "tickets", "goal-plan", "implement", "complete"]).has(stage) && !isParentImplementation && !retroOnly;
3361
3099
  const specPath = join(change, "spec.md");
3362
- const spec = isFile(specPath) || specRequired
3363
- ? validateSpec(specPath, errors, warnings)
3364
- : 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;
3365
3107
  const ticketMode = isDirectory(join(change, "ticket"));
3366
- 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));
3367
3109
  const ticketsMap = isFile(mapPath) || mapRequired ? validateMap(mapPath, errors, repoRoot) : null;
3368
3110
  const goalPlanPath = join(change, "goal-plan.md");
3369
- const goalPlan = isFile(goalPlanPath) || (stage === "goal-plan" && !isParentImplementation)
3111
+ const goalPlan = !simpleGoal && (isFile(goalPlanPath) || (stage === "goal-plan" && !isParentImplementation))
3370
3112
  ? validateGoalPlan(goalPlanPath, errors)
3371
3113
  : null;
3372
3114
  validateDesignTree(join(change, "design-tree.json"), change, errors);
3373
3115
  validateWayfinder(change, errors);
3374
3116
  if (stage === "grill") {
3375
- for (const name of ["design-tree.json", "LOG.md", "CONTEXT.md", "ADR.md"]) {
3117
+ for (const name of ["design-tree.json"]) {
3376
3118
  if (!isFile(join(change, name))) errors.push(`grill stage requires ${name}`);
3377
3119
  }
3378
3120
  }
@@ -3386,7 +3128,7 @@ function validateChange(change, stage = null, repoRoot = null, engineeringKind =
3386
3128
  }
3387
3129
 
3388
3130
  const ticketDir = join(change, "ticket");
3389
- 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));
3390
3132
  const ticketFiles = isDirectory(ticketDir)
3391
3133
  ? readdirSync(ticketDir)
3392
3134
  .filter((name) => name.endsWith(".md"))
@@ -3395,7 +3137,7 @@ function validateChange(change, stage = null, repoRoot = null, engineeringKind =
3395
3137
  : [];
3396
3138
  if (ticketsRequired && !isDirectory(ticketDir)) errors.push("missing Ticket directory");
3397
3139
  if (ticketsRequired && !ticketFiles.length) errors.push("Ticket directory contains no Markdown tickets");
3398
- if (stage === "implement" && !ticketMode && !isFile(join(change, "evidence", "direct-spec.md"))) {
3140
+ if (stage === "implement" && !ticketMode && !lightweight && !isFile(join(change, "evidence", "direct-spec.md"))) {
3399
3141
  errors.push("Direct Spec implement stage requires evidence/direct-spec.md");
3400
3142
  }
3401
3143
 
@@ -3455,7 +3197,7 @@ function validateChange(change, stage = null, repoRoot = null, engineeringKind =
3455
3197
  }
3456
3198
  }
3457
3199
  if (changeStatus && goalPlan) {
3458
- validateGoalPlanRuntimeLimits(goalPlan.path, change, goalPlan, errors, repoRoot);
3200
+ validateGoalPlanRuntimeLimits(goalPlan.path, change, goalPlan, errors, repoRoot, options);
3459
3201
  const attemptLimit = Number.isInteger(goalPlan.meta.integration_attempt_limit) ? goalPlan.meta.integration_attempt_limit : null;
3460
3202
  if (attemptLimit !== null) {
3461
3203
  for (const worktree of changeStatus.worktrees ?? []) {
@@ -3466,9 +3208,11 @@ function validateChange(change, stage = null, repoRoot = null, engineeringKind =
3466
3208
  }
3467
3209
  validateCurrentWorkspaceExecution(changeStatus, goalPlan, errors);
3468
3210
  }
3469
- 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) ?? [])]));
3470
3214
 
3471
- if (spec) {
3215
+ if (spec && ticketMode) {
3472
3216
  const declaredContracts = new Set(spec.body.match(/\bAC-\d+\b/g) ?? []);
3473
3217
  const coveredContracts = new Set(
3474
3218
  [...tickets.values()].flatMap((artifact) =>
@@ -3598,44 +3342,44 @@ function validateChange(change, stage = null, repoRoot = null, engineeringKind =
3598
3342
 
3599
3343
  if (changeStatus) {
3600
3344
  if (
3601
- changeStatus.change_status === "completed" &&
3345
+ changeStatus.outcome === "completed" &&
3602
3346
  [...tickets.values()].some(
3603
3347
  (artifact) => !new Set(["done", "cancelled"]).has(artifact.meta.status),
3604
3348
  )
3605
3349
  ) {
3606
- errors.push("change_status is completed while planned Tickets remain unfinished");
3350
+ errors.push("Outcome is completed while planned Tickets remain unfinished");
3607
3351
  }
3608
- if (changeStatus.change_status === "archived") {
3352
+ if (changeStatus.location.kind === "archive") {
3609
3353
  warnings.push("validating an archived change in place; normally it lives under the archive root");
3610
3354
  }
3611
- if (stage === "complete" && changeStatus.change_status !== "completed") {
3612
- errors.push("complete stage requires change_status=completed");
3355
+ if (stage === "complete" && changeStatus.outcome !== "completed") {
3356
+ errors.push("complete stage requires Outcome: completed");
3613
3357
  }
3614
3358
  }
3615
3359
  if (
3616
3360
  stage === "complete" &&
3617
- !ticketFiles.length && !retroOnly &&
3361
+ !ticketFiles.length && !retroOnly && !lightweight &&
3618
3362
  !isFile(join(change, "implementation-map.md")) &&
3619
3363
  !isFile(join(change, "evidence", "direct-spec.md"))
3620
3364
  ) {
3621
3365
  errors.push("complete stage without Tickets requires evidence/direct-spec.md");
3622
3366
  }
3623
3367
  if (
3624
- stage === "complete" &&
3368
+ archiveReady &&
3625
3369
  triage &&
3626
3370
  new Set(["pending-close", "close-failed"]).has(triage.meta.external_action)
3627
3371
  ) {
3628
3372
  errors.push(`complete stage cannot archive external_action=${triage.meta.external_action}`);
3629
3373
  }
3630
3374
  if (
3631
- stage === "complete" &&
3375
+ archiveReady &&
3632
3376
  triage &&
3633
3377
  new Set(["pending", "publish-failed"]).has(triage.meta.publish_action)
3634
3378
  ) {
3635
3379
  errors.push(`complete stage cannot archive publish_action=${triage.meta.publish_action}`);
3636
3380
  }
3637
3381
 
3638
- 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")) {
3639
3383
  const text = readText(path);
3640
3384
  if ((text.match(/<Path>/g) ?? []).length !== (text.match(/<\/Path>/g) ?? []).length) {
3641
3385
  errors.push(`${toPosix(relative(change, path))}: unbalanced <Path> tags`);
@@ -3651,7 +3395,18 @@ function validateChange(change, stage = null, repoRoot = null, engineeringKind =
3651
3395
  }
3652
3396
 
3653
3397
  errors.push(...validateEngineeringArtifacts(change, engineeringKind));
3654
- return { errors, warnings };
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()); }
3655
3410
  }
3656
3411
 
3657
3412
  function printResults(errors, warnings) {
@@ -3662,22 +3417,30 @@ function printResults(errors, warnings) {
3662
3417
  }
3663
3418
 
3664
3419
  function usage() {
3665
- console.error("Usage: node validate-specdev.mjs [--stage <stage>] [--repo <project-root>] [--engineering <performance|documentation|incident>] <change-directory> | --review-scope --repo <project-root> --mode <baseline|range|commit|pr> [comparison options] | --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>");
3666
3421
  return 2;
3667
3422
  }
3668
3423
 
3669
3424
  function main(argv) {
3670
3425
  if (argv[0] === "--review-scope") return reviewScopeCLI(argv.slice(1));
3671
3426
  let engineeringKind = null;
3427
+ let prototypeId = null;
3672
3428
  let selfCheckRequested = false;
3673
3429
  let stage = null;
3674
3430
  let repoRoot = null;
3431
+ const contextOptions = {};
3675
3432
  let capturePath = null;
3676
3433
  let triageRunPath = null;
3677
3434
  const positional = [];
3678
3435
  for (let index = 0; index < argv.length; index += 1) {
3679
3436
  const arg = argv[index];
3680
- if (arg === "--engineering") {
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") {
3681
3444
  if (engineeringKind !== null || !ENGINEERING_KINDS.has(argv[index + 1])) return usage();
3682
3445
  engineeringKind = argv[++index];
3683
3446
  } else if (arg === "--self-check") {
@@ -3687,6 +3450,8 @@ function main(argv) {
3687
3450
  index += 1;
3688
3451
  } else if (arg.startsWith("--stage=")) {
3689
3452
  stage = arg.slice("--stage=".length);
3453
+ } else if (arg === "--method-root" || arg === "--state-root") {
3454
+ contextOptions[arg === "--method-root" ? "methodRoot" : "stateRoot"] = argv[++index];
3690
3455
  } else if (arg === "--repo") {
3691
3456
  repoRoot = argv[index + 1] ?? null;
3692
3457
  index += 1;
@@ -3706,6 +3471,8 @@ function main(argv) {
3706
3471
  }
3707
3472
  }
3708
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();
3709
3476
  if (engineeringKind !== null && (selfCheckRequested || capturePath || triageRunPath || positional.length !== 1)) return usage();
3710
3477
  if (triageRunPath) {
3711
3478
  if (selfCheckRequested || positional.length || stage !== null || capturePath || repoRoot) return usage();
@@ -3725,7 +3492,7 @@ function main(argv) {
3725
3492
  return printResults(errors, []);
3726
3493
  }
3727
3494
  if (positional.length === 1) {
3728
- const result = validateChange(resolve(positional[0]), stage, repoRoot, engineeringKind);
3495
+ const result = validateChange(resolve(positional[0]), stage, repoRoot, engineeringKind, prototypeId, contextOptions);
3729
3496
  return printResults(result.errors, result.warnings);
3730
3497
  }
3731
3498
  return usage();