@specforge/cli 0.1.0 → 0.2.5

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 (648) hide show
  1. package/dist/cli/commands/debug/register.js +1 -1
  2. package/dist/cli/commands/debug/register.js.map +1 -1
  3. package/dist/cli/commands/debug/types.d.ts.map +1 -1
  4. package/dist/cli/commands/debug/types.js +4 -2
  5. package/dist/cli/commands/debug/types.js.map +1 -1
  6. package/dist/cli/commands/init.types.d.ts +4 -4
  7. package/dist/cli/commands/init.types.d.ts.map +1 -1
  8. package/dist/cli/commands/init.types.js.map +1 -1
  9. package/dist/cli/commands/scaffold/agent-types.js +1 -1
  10. package/dist/cli/commands/scaffold/agent-types.js.map +1 -1
  11. package/dist/cli/config/agent-teams.types.d.ts +35 -12
  12. package/dist/cli/config/agent-teams.types.d.ts.map +1 -1
  13. package/dist/cli/config/agent-teams.types.js.map +1 -1
  14. package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts +21 -3
  15. package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts.map +1 -1
  16. package/dist/cli/templates/agents/content/core/sfag-orchestrator.js +114 -48
  17. package/dist/cli/templates/agents/content/core/sfag-orchestrator.js.map +1 -1
  18. package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts.map +1 -1
  19. package/dist/cli/templates/agents/content/core/sfag-spec-creator.js +124 -83
  20. package/dist/cli/templates/agents/content/core/sfag-spec-creator.js.map +1 -1
  21. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts +22 -3
  22. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts.map +1 -1
  23. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js +225 -160
  24. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js.map +1 -1
  25. package/dist/cli/templates/agents/content/core/sfag-work-resolver.d.ts +16 -0
  26. package/dist/cli/templates/agents/content/core/sfag-work-resolver.d.ts.map +1 -0
  27. package/dist/cli/templates/agents/content/core/sfag-work-resolver.js +199 -0
  28. package/dist/cli/templates/agents/content/core/sfag-work-resolver.js.map +1 -0
  29. package/dist/cli/templates/agents/index.d.ts.map +1 -1
  30. package/dist/cli/templates/agents/index.js +2 -0
  31. package/dist/cli/templates/agents/index.js.map +1 -1
  32. package/dist/cli/templates/content/sf-commit.d.ts +1 -1
  33. package/dist/cli/templates/content/sf-commit.d.ts.map +1 -1
  34. package/dist/cli/templates/content/sf-commit.js +2 -2
  35. package/dist/cli/templates/content/sf-commit.js.map +1 -1
  36. package/dist/cli/templates/content/sf-reset.d.ts +5 -2
  37. package/dist/cli/templates/content/sf-reset.d.ts.map +1 -1
  38. package/dist/cli/templates/content/sf-reset.js +41 -27
  39. package/dist/cli/templates/content/sf-reset.js.map +1 -1
  40. package/dist/lib/prompt-generator.d.ts +15 -3
  41. package/dist/lib/prompt-generator.d.ts.map +1 -1
  42. package/dist/lib/prompt-generator.js +14 -6
  43. package/dist/lib/prompt-generator.js.map +1 -1
  44. package/dist/lib/workflow-definitions.js +2 -2
  45. package/dist/lib/workflow-definitions.js.map +1 -1
  46. package/dist/server.d.ts.map +1 -1
  47. package/dist/server.js +2 -1
  48. package/dist/server.js.map +1 -1
  49. package/dist/tools/__tests__/complete-planning-double-call.test.d.ts +2 -0
  50. package/dist/tools/__tests__/complete-planning-double-call.test.d.ts.map +1 -0
  51. package/dist/tools/core/__tests__/file-existence-injection.test.d.ts +2 -0
  52. package/dist/tools/core/__tests__/file-existence-injection.test.d.ts.map +1 -0
  53. package/dist/tools/core/__tests__/git-injection.test.d.ts +2 -0
  54. package/dist/tools/core/__tests__/git-injection.test.d.ts.map +1 -0
  55. package/dist/tools/core/file-existence-injection.d.ts +22 -0
  56. package/dist/tools/core/file-existence-injection.d.ts.map +1 -0
  57. package/dist/tools/core/file-existence-injection.js +49 -0
  58. package/dist/tools/core/file-existence-injection.js.map +1 -0
  59. package/dist/tools/core/git-injection.d.ts +58 -0
  60. package/dist/tools/core/git-injection.d.ts.map +1 -0
  61. package/dist/tools/core/git-injection.js +79 -0
  62. package/dist/tools/core/git-injection.js.map +1 -0
  63. package/dist/tools/core/index.d.ts +1 -0
  64. package/dist/tools/core/index.d.ts.map +1 -1
  65. package/dist/tools/core/index.js +1 -0
  66. package/dist/tools/core/index.js.map +1 -1
  67. package/dist/tools/index.d.ts.map +1 -1
  68. package/dist/tools/index.js +358 -440
  69. package/dist/tools/index.js.map +1 -1
  70. package/dist/transport/__tests__/remote.test.d.ts +2 -0
  71. package/dist/transport/__tests__/remote.test.d.ts.map +1 -0
  72. package/dist/transport/remote.d.ts.map +1 -1
  73. package/dist/transport/remote.js +23 -4
  74. package/dist/transport/remote.js.map +1 -1
  75. package/dist/types/index.d.ts +12 -32
  76. package/dist/types/index.d.ts.map +1 -1
  77. package/dist/types/index.js.map +1 -1
  78. package/dist/validation/index.d.ts.map +1 -1
  79. package/dist/validation/index.js +0 -15
  80. package/dist/validation/index.js.map +1 -1
  81. package/node_modules/@specforge/api-types/README.md +38 -0
  82. package/node_modules/@specforge/api-types/dist/client/appsync-client.d.ts +21 -0
  83. package/node_modules/@specforge/api-types/dist/client/appsync-client.d.ts.map +1 -0
  84. package/node_modules/@specforge/api-types/dist/client/appsync-client.js +2 -0
  85. package/node_modules/@specforge/api-types/dist/client/appsync-client.js.map +1 -0
  86. package/node_modules/@specforge/api-types/dist/client/index.d.ts +2 -0
  87. package/node_modules/@specforge/api-types/dist/client/index.d.ts.map +1 -0
  88. package/node_modules/@specforge/api-types/dist/client/index.js +2 -0
  89. package/node_modules/@specforge/api-types/dist/client/index.js.map +1 -0
  90. package/node_modules/@specforge/api-types/dist/index.d.ts +5 -0
  91. package/node_modules/@specforge/api-types/dist/index.d.ts.map +1 -0
  92. package/node_modules/@specforge/api-types/dist/index.js +9 -0
  93. package/node_modules/@specforge/api-types/dist/index.js.map +1 -0
  94. package/node_modules/@specforge/api-types/dist/mcp/error-guidance.d.ts +74 -0
  95. package/node_modules/@specforge/api-types/dist/mcp/error-guidance.d.ts.map +1 -0
  96. package/node_modules/@specforge/api-types/dist/mcp/error-guidance.js +21 -0
  97. package/node_modules/@specforge/api-types/dist/mcp/error-guidance.js.map +1 -0
  98. package/node_modules/@specforge/api-types/dist/mcp/index.d.ts +4 -0
  99. package/node_modules/@specforge/api-types/dist/mcp/index.d.ts.map +1 -0
  100. package/node_modules/@specforge/api-types/dist/mcp/index.js +8 -0
  101. package/node_modules/@specforge/api-types/dist/mcp/index.js.map +1 -0
  102. package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.d.ts +18 -0
  103. package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.d.ts.map +1 -0
  104. package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.js +2 -0
  105. package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.js.map +1 -0
  106. package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.d.ts +39 -0
  107. package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.d.ts.map +1 -0
  108. package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.js +2 -0
  109. package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.js.map +1 -0
  110. package/node_modules/@specforge/api-types/dist/runtime/billing-record.d.ts +18 -0
  111. package/node_modules/@specforge/api-types/dist/runtime/billing-record.d.ts.map +1 -0
  112. package/node_modules/@specforge/api-types/dist/runtime/billing-record.js +7 -0
  113. package/node_modules/@specforge/api-types/dist/runtime/billing-record.js.map +1 -0
  114. package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.d.ts +40 -0
  115. package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.d.ts.map +1 -0
  116. package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.js +19 -0
  117. package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.js.map +1 -0
  118. package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.d.ts +96 -0
  119. package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.d.ts.map +1 -0
  120. package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.js +23 -0
  121. package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.js.map +1 -0
  122. package/node_modules/@specforge/api-types/dist/runtime/epic-record.d.ts +117 -0
  123. package/node_modules/@specforge/api-types/dist/runtime/epic-record.d.ts.map +1 -0
  124. package/node_modules/@specforge/api-types/dist/runtime/epic-record.js +13 -0
  125. package/node_modules/@specforge/api-types/dist/runtime/epic-record.js.map +1 -0
  126. package/node_modules/@specforge/api-types/dist/runtime/feedback-record.d.ts +27 -0
  127. package/node_modules/@specforge/api-types/dist/runtime/feedback-record.d.ts.map +1 -0
  128. package/node_modules/@specforge/api-types/dist/runtime/feedback-record.js +7 -0
  129. package/node_modules/@specforge/api-types/dist/runtime/feedback-record.js.map +1 -0
  130. package/node_modules/@specforge/api-types/dist/runtime/fields.d.ts +31 -0
  131. package/node_modules/@specforge/api-types/dist/runtime/fields.d.ts.map +1 -0
  132. package/node_modules/@specforge/api-types/dist/runtime/fields.js +156 -0
  133. package/node_modules/@specforge/api-types/dist/runtime/fields.js.map +1 -0
  134. package/node_modules/@specforge/api-types/dist/runtime/index.d.ts +18 -0
  135. package/node_modules/@specforge/api-types/dist/runtime/index.d.ts.map +1 -0
  136. package/node_modules/@specforge/api-types/dist/runtime/index.js +18 -0
  137. package/node_modules/@specforge/api-types/dist/runtime/index.js.map +1 -0
  138. package/node_modules/@specforge/api-types/dist/runtime/pagination.d.ts +38 -0
  139. package/node_modules/@specforge/api-types/dist/runtime/pagination.d.ts.map +1 -0
  140. package/node_modules/@specforge/api-types/dist/runtime/pagination.js +54 -0
  141. package/node_modules/@specforge/api-types/dist/runtime/pagination.js.map +1 -0
  142. package/node_modules/@specforge/api-types/dist/runtime/project-invitation.d.ts +14 -0
  143. package/node_modules/@specforge/api-types/dist/runtime/project-invitation.d.ts.map +1 -0
  144. package/node_modules/@specforge/api-types/dist/runtime/project-invitation.js +2 -0
  145. package/node_modules/@specforge/api-types/dist/runtime/project-invitation.js.map +1 -0
  146. package/node_modules/@specforge/api-types/dist/runtime/project-member.d.ts +13 -0
  147. package/node_modules/@specforge/api-types/dist/runtime/project-member.d.ts.map +1 -0
  148. package/node_modules/@specforge/api-types/dist/runtime/project-member.js +2 -0
  149. package/node_modules/@specforge/api-types/dist/runtime/project-member.js.map +1 -0
  150. package/node_modules/@specforge/api-types/dist/runtime/project-validation.d.ts +26 -0
  151. package/node_modules/@specforge/api-types/dist/runtime/project-validation.d.ts.map +1 -0
  152. package/node_modules/@specforge/api-types/dist/runtime/project-validation.js +5 -0
  153. package/node_modules/@specforge/api-types/dist/runtime/project-validation.js.map +1 -0
  154. package/node_modules/@specforge/api-types/dist/runtime/project.d.ts +55 -0
  155. package/node_modules/@specforge/api-types/dist/runtime/project.d.ts.map +1 -0
  156. package/node_modules/@specforge/api-types/dist/runtime/project.js +10 -0
  157. package/node_modules/@specforge/api-types/dist/runtime/project.js.map +1 -0
  158. package/node_modules/@specforge/api-types/dist/runtime/response.d.ts +22 -0
  159. package/node_modules/@specforge/api-types/dist/runtime/response.d.ts.map +1 -0
  160. package/node_modules/@specforge/api-types/dist/runtime/response.js +14 -0
  161. package/node_modules/@specforge/api-types/dist/runtime/response.js.map +1 -0
  162. package/node_modules/@specforge/api-types/dist/runtime/specification-record.d.ts +90 -0
  163. package/node_modules/@specforge/api-types/dist/runtime/specification-record.d.ts.map +1 -0
  164. package/node_modules/@specforge/api-types/dist/runtime/specification-record.js +11 -0
  165. package/node_modules/@specforge/api-types/dist/runtime/specification-record.js.map +1 -0
  166. package/node_modules/@specforge/api-types/dist/runtime/status.d.ts +26 -0
  167. package/node_modules/@specforge/api-types/dist/runtime/status.d.ts.map +1 -0
  168. package/node_modules/@specforge/api-types/dist/runtime/status.js +56 -0
  169. package/node_modules/@specforge/api-types/dist/runtime/status.js.map +1 -0
  170. package/node_modules/@specforge/api-types/dist/runtime/summary.d.ts +58 -0
  171. package/node_modules/@specforge/api-types/dist/runtime/summary.d.ts.map +1 -0
  172. package/node_modules/@specforge/api-types/dist/runtime/summary.js +42 -0
  173. package/node_modules/@specforge/api-types/dist/runtime/summary.js.map +1 -0
  174. package/node_modules/@specforge/api-types/dist/runtime/ticket-record.d.ts +212 -0
  175. package/node_modules/@specforge/api-types/dist/runtime/ticket-record.d.ts.map +1 -0
  176. package/node_modules/@specforge/api-types/dist/runtime/ticket-record.js +18 -0
  177. package/node_modules/@specforge/api-types/dist/runtime/ticket-record.js.map +1 -0
  178. package/node_modules/@specforge/api-types/dist/runtime/user.d.ts +13 -0
  179. package/node_modules/@specforge/api-types/dist/runtime/user.d.ts.map +1 -0
  180. package/node_modules/@specforge/api-types/dist/runtime/user.js +9 -0
  181. package/node_modules/@specforge/api-types/dist/runtime/user.js.map +1 -0
  182. package/node_modules/@specforge/api-types/dist/stores/i-billing-store.d.ts +17 -0
  183. package/node_modules/@specforge/api-types/dist/stores/i-billing-store.d.ts.map +1 -0
  184. package/node_modules/@specforge/api-types/dist/stores/i-billing-store.js +2 -0
  185. package/node_modules/@specforge/api-types/dist/stores/i-billing-store.js.map +1 -0
  186. package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.d.ts +59 -0
  187. package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.d.ts.map +1 -0
  188. package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.js +2 -0
  189. package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.js.map +1 -0
  190. package/node_modules/@specforge/api-types/dist/stores/i-epic-store.d.ts +120 -0
  191. package/node_modules/@specforge/api-types/dist/stores/i-epic-store.d.ts.map +1 -0
  192. package/node_modules/@specforge/api-types/dist/stores/i-epic-store.js +2 -0
  193. package/node_modules/@specforge/api-types/dist/stores/i-epic-store.js.map +1 -0
  194. package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.d.ts +13 -0
  195. package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.d.ts.map +1 -0
  196. package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.js +2 -0
  197. package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.js.map +1 -0
  198. package/node_modules/@specforge/api-types/dist/stores/i-project-store.d.ts +48 -0
  199. package/node_modules/@specforge/api-types/dist/stores/i-project-store.d.ts.map +1 -0
  200. package/node_modules/@specforge/api-types/dist/stores/i-project-store.js +2 -0
  201. package/node_modules/@specforge/api-types/dist/stores/i-project-store.js.map +1 -0
  202. package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.d.ts +37 -0
  203. package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.d.ts.map +1 -0
  204. package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.js +2 -0
  205. package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.js.map +1 -0
  206. package/node_modules/@specforge/api-types/dist/stores/i-spec-store.d.ts +159 -0
  207. package/node_modules/@specforge/api-types/dist/stores/i-spec-store.d.ts.map +1 -0
  208. package/node_modules/@specforge/api-types/dist/stores/i-spec-store.js +2 -0
  209. package/node_modules/@specforge/api-types/dist/stores/i-spec-store.js.map +1 -0
  210. package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.d.ts +87 -0
  211. package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.d.ts.map +1 -0
  212. package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.js +2 -0
  213. package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.js.map +1 -0
  214. package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.d.ts +347 -0
  215. package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.d.ts.map +1 -0
  216. package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.js +2 -0
  217. package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.js.map +1 -0
  218. package/node_modules/@specforge/api-types/dist/stores/i-user-store.d.ts +5 -0
  219. package/node_modules/@specforge/api-types/dist/stores/i-user-store.d.ts.map +1 -0
  220. package/node_modules/@specforge/api-types/dist/stores/i-user-store.js +2 -0
  221. package/node_modules/@specforge/api-types/dist/stores/i-user-store.js.map +1 -0
  222. package/node_modules/@specforge/api-types/dist/stores/index.d.ts +11 -0
  223. package/node_modules/@specforge/api-types/dist/stores/index.d.ts.map +1 -0
  224. package/node_modules/@specforge/api-types/dist/stores/index.js +11 -0
  225. package/node_modules/@specforge/api-types/dist/stores/index.js.map +1 -0
  226. package/node_modules/@specforge/api-types/package.json +43 -0
  227. package/node_modules/@specforge/report-types/README.md +11 -0
  228. package/node_modules/@specforge/report-types/dist/index.d.ts +2 -0
  229. package/node_modules/@specforge/report-types/dist/index.d.ts.map +1 -0
  230. package/node_modules/@specforge/report-types/dist/index.js +2 -0
  231. package/node_modules/@specforge/report-types/dist/index.js.map +1 -0
  232. package/node_modules/@specforge/report-types/dist/reports.d.ts +90 -0
  233. package/node_modules/@specforge/report-types/dist/reports.d.ts.map +1 -0
  234. package/node_modules/@specforge/report-types/dist/reports.js +15 -0
  235. package/node_modules/@specforge/report-types/dist/reports.js.map +1 -0
  236. package/node_modules/@specforge/report-types/package.json +40 -0
  237. package/node_modules/@specforge/session-types/CHANGELOG.md +56 -0
  238. package/node_modules/@specforge/session-types/README.md +18 -0
  239. package/node_modules/@specforge/session-types/dist/index.d.ts +47 -0
  240. package/node_modules/@specforge/session-types/dist/index.d.ts.map +1 -0
  241. package/node_modules/@specforge/session-types/dist/index.js +47 -0
  242. package/node_modules/@specforge/session-types/dist/index.js.map +1 -0
  243. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.d.ts +46 -0
  244. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.d.ts.map +1 -0
  245. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.js +41 -0
  246. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.js.map +1 -0
  247. package/node_modules/@specforge/session-types/dist/runtime/discovery.d.ts +9 -0
  248. package/node_modules/@specforge/session-types/dist/runtime/discovery.d.ts.map +1 -0
  249. package/node_modules/@specforge/session-types/dist/runtime/discovery.js +2 -0
  250. package/node_modules/@specforge/session-types/dist/runtime/discovery.js.map +1 -0
  251. package/node_modules/@specforge/session-types/dist/runtime/enums.d.ts +51 -0
  252. package/node_modules/@specforge/session-types/dist/runtime/enums.d.ts.map +1 -0
  253. package/node_modules/@specforge/session-types/dist/runtime/enums.js +161 -0
  254. package/node_modules/@specforge/session-types/dist/runtime/enums.js.map +1 -0
  255. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.d.ts +177 -0
  256. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.d.ts.map +1 -0
  257. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.js +96 -0
  258. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.js.map +1 -0
  259. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.d.ts +8 -0
  260. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.d.ts.map +1 -0
  261. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.js +2 -0
  262. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.js.map +1 -0
  263. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.d.ts +489 -0
  264. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.d.ts.map +1 -0
  265. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.js +152 -0
  266. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.js.map +1 -0
  267. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.d.ts +8 -0
  268. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.d.ts.map +1 -0
  269. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.js +2 -0
  270. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.js.map +1 -0
  271. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.d.ts +319 -0
  272. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.d.ts.map +1 -0
  273. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.js +2 -0
  274. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.js.map +1 -0
  275. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.d.ts +128 -0
  276. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.d.ts.map +1 -0
  277. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.js +30 -0
  278. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.js.map +1 -0
  279. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.d.ts +4 -0
  280. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.d.ts.map +1 -0
  281. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.js +2 -0
  282. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.js.map +1 -0
  283. package/node_modules/@specforge/session-types/dist/runtime/planning-config.d.ts +82 -0
  284. package/node_modules/@specforge/session-types/dist/runtime/planning-config.d.ts.map +1 -0
  285. package/node_modules/@specforge/session-types/dist/runtime/planning-config.js +61 -0
  286. package/node_modules/@specforge/session-types/dist/runtime/planning-config.js.map +1 -0
  287. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.d.ts +34 -0
  288. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.d.ts.map +1 -0
  289. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.js +14 -0
  290. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.js.map +1 -0
  291. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.d.ts +6 -0
  292. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.d.ts.map +1 -0
  293. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.js +65 -0
  294. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.js.map +1 -0
  295. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.d.ts +34 -0
  296. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.d.ts.map +1 -0
  297. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.js +22 -0
  298. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.js.map +1 -0
  299. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.d.ts +73 -0
  300. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.d.ts.map +1 -0
  301. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.js +61 -0
  302. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.js.map +1 -0
  303. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.d.ts +249 -0
  304. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.d.ts.map +1 -0
  305. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.js +96 -0
  306. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.js.map +1 -0
  307. package/node_modules/@specforge/session-types/dist/runtime/planning-session.d.ts +574 -0
  308. package/node_modules/@specforge/session-types/dist/runtime/planning-session.d.ts.map +1 -0
  309. package/node_modules/@specforge/session-types/dist/runtime/planning-session.js +40 -0
  310. package/node_modules/@specforge/session-types/dist/runtime/planning-session.js.map +1 -0
  311. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.d.ts +221 -0
  312. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.d.ts.map +1 -0
  313. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.js +41 -0
  314. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.js.map +1 -0
  315. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.d.ts +4 -0
  316. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.d.ts.map +1 -0
  317. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.js +2 -0
  318. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.js.map +1 -0
  319. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.d.ts +9 -0
  320. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.d.ts.map +1 -0
  321. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.js +2 -0
  322. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.js.map +1 -0
  323. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.d.ts +4 -0
  324. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.d.ts.map +1 -0
  325. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.js +2 -0
  326. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.js.map +1 -0
  327. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.d.ts +4 -0
  328. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.d.ts.map +1 -0
  329. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.js +2 -0
  330. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.js.map +1 -0
  331. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.d.ts +4 -0
  332. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.d.ts.map +1 -0
  333. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.js +2 -0
  334. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.js.map +1 -0
  335. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.d.ts +4 -0
  336. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.d.ts.map +1 -0
  337. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.js +2 -0
  338. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.js.map +1 -0
  339. package/node_modules/@specforge/session-types/dist/runtime/work-session.d.ts +4 -0
  340. package/node_modules/@specforge/session-types/dist/runtime/work-session.d.ts.map +1 -0
  341. package/node_modules/@specforge/session-types/dist/runtime/work-session.js +2 -0
  342. package/node_modules/@specforge/session-types/dist/runtime/work-session.js.map +1 -0
  343. package/node_modules/@specforge/session-types/dist/runtime/working-context.d.ts +43 -0
  344. package/node_modules/@specforge/session-types/dist/runtime/working-context.d.ts.map +1 -0
  345. package/node_modules/@specforge/session-types/dist/runtime/working-context.js +2 -0
  346. package/node_modules/@specforge/session-types/dist/runtime/working-context.js.map +1 -0
  347. package/node_modules/@specforge/session-types/dist/runtime/write-plan.d.ts +146 -0
  348. package/node_modules/@specforge/session-types/dist/runtime/write-plan.d.ts.map +1 -0
  349. package/node_modules/@specforge/session-types/dist/runtime/write-plan.js +2 -0
  350. package/node_modules/@specforge/session-types/dist/runtime/write-plan.js.map +1 -0
  351. package/node_modules/@specforge/session-types/dist/schema/discovery.d.ts +76 -0
  352. package/node_modules/@specforge/session-types/dist/schema/discovery.d.ts.map +1 -0
  353. package/node_modules/@specforge/session-types/dist/schema/discovery.js +42 -0
  354. package/node_modules/@specforge/session-types/dist/schema/discovery.js.map +1 -0
  355. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.d.ts +48 -0
  356. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.d.ts.map +1 -0
  357. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.js +28 -0
  358. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.js.map +1 -0
  359. package/node_modules/@specforge/session-types/dist/schema/implementation-session.d.ts +37 -0
  360. package/node_modules/@specforge/session-types/dist/schema/implementation-session.d.ts.map +1 -0
  361. package/node_modules/@specforge/session-types/dist/schema/implementation-session.js +24 -0
  362. package/node_modules/@specforge/session-types/dist/schema/implementation-session.js.map +1 -0
  363. package/node_modules/@specforge/session-types/dist/schema/index.d.ts +12 -0
  364. package/node_modules/@specforge/session-types/dist/schema/index.d.ts.map +1 -0
  365. package/node_modules/@specforge/session-types/dist/schema/index.js +12 -0
  366. package/node_modules/@specforge/session-types/dist/schema/index.js.map +1 -0
  367. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.d.ts +74 -0
  368. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.d.ts.map +1 -0
  369. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.js +31 -0
  370. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.js.map +1 -0
  371. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.d.ts +27 -0
  372. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.d.ts.map +1 -0
  373. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.js +11 -0
  374. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.js.map +1 -0
  375. package/node_modules/@specforge/session-types/dist/schema/work-session-action.d.ts +94 -0
  376. package/node_modules/@specforge/session-types/dist/schema/work-session-action.d.ts.map +1 -0
  377. package/node_modules/@specforge/session-types/dist/schema/work-session-action.js +76 -0
  378. package/node_modules/@specforge/session-types/dist/schema/work-session-action.js.map +1 -0
  379. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.d.ts +42 -0
  380. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.d.ts.map +1 -0
  381. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.js +25 -0
  382. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.js.map +1 -0
  383. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.d.ts +27 -0
  384. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.d.ts.map +1 -0
  385. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.js +11 -0
  386. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.js.map +1 -0
  387. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.d.ts +42 -0
  388. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.d.ts.map +1 -0
  389. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.js +28 -0
  390. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.js.map +1 -0
  391. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.d.ts +72 -0
  392. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.d.ts.map +1 -0
  393. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.js +43 -0
  394. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.js.map +1 -0
  395. package/node_modules/@specforge/session-types/dist/schema/work-session.d.ts +203 -0
  396. package/node_modules/@specforge/session-types/dist/schema/work-session.d.ts.map +1 -0
  397. package/node_modules/@specforge/session-types/dist/schema/work-session.js +86 -0
  398. package/node_modules/@specforge/session-types/dist/schema/work-session.js.map +1 -0
  399. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.d.ts +17 -0
  400. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.d.ts.map +1 -0
  401. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.js +2 -0
  402. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.js.map +1 -0
  403. package/node_modules/@specforge/session-types/dist/stores/discovery-store.d.ts +31 -0
  404. package/node_modules/@specforge/session-types/dist/stores/discovery-store.d.ts.map +1 -0
  405. package/node_modules/@specforge/session-types/dist/stores/discovery-store.js +2 -0
  406. package/node_modules/@specforge/session-types/dist/stores/discovery-store.js.map +1 -0
  407. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.d.ts +19 -0
  408. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.d.ts.map +1 -0
  409. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.js +2 -0
  410. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.js.map +1 -0
  411. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.d.ts +16 -0
  412. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.d.ts.map +1 -0
  413. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.js +2 -0
  414. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.js.map +1 -0
  415. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.d.ts +28 -0
  416. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.d.ts.map +1 -0
  417. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.js +2 -0
  418. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.js.map +1 -0
  419. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.d.ts +12 -0
  420. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.d.ts.map +1 -0
  421. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.js +2 -0
  422. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.js.map +1 -0
  423. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.d.ts +10 -0
  424. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.d.ts.map +1 -0
  425. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.js +2 -0
  426. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.js.map +1 -0
  427. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.d.ts +13 -0
  428. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.d.ts.map +1 -0
  429. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.js +2 -0
  430. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.js.map +1 -0
  431. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.d.ts +10 -0
  432. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.d.ts.map +1 -0
  433. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.js +2 -0
  434. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.js.map +1 -0
  435. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.d.ts +20 -0
  436. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.d.ts.map +1 -0
  437. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.js +2 -0
  438. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.js.map +1 -0
  439. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.d.ts +15 -0
  440. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.d.ts.map +1 -0
  441. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.js +2 -0
  442. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.js.map +1 -0
  443. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.d.ts +29 -0
  444. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.d.ts.map +1 -0
  445. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.js +2 -0
  446. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.js.map +1 -0
  447. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.d.ts +9 -0
  448. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.d.ts.map +1 -0
  449. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.js +2 -0
  450. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.js.map +1 -0
  451. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.d.ts +9 -0
  452. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.d.ts.map +1 -0
  453. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.js +2 -0
  454. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.js.map +1 -0
  455. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.d.ts +10 -0
  456. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.d.ts.map +1 -0
  457. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.js +2 -0
  458. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.js.map +1 -0
  459. package/node_modules/@specforge/session-types/dist/stores/work-session-store.d.ts +23 -0
  460. package/node_modules/@specforge/session-types/dist/stores/work-session-store.d.ts.map +1 -0
  461. package/node_modules/@specforge/session-types/dist/stores/work-session-store.js +2 -0
  462. package/node_modules/@specforge/session-types/dist/stores/work-session-store.js.map +1 -0
  463. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.d.ts +8 -0
  464. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.d.ts.map +1 -0
  465. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.js +2 -0
  466. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.js.map +1 -0
  467. package/node_modules/@specforge/session-types/dist/stores/working-context-store.d.ts +27 -0
  468. package/node_modules/@specforge/session-types/dist/stores/working-context-store.d.ts.map +1 -0
  469. package/node_modules/@specforge/session-types/dist/stores/working-context-store.js +2 -0
  470. package/node_modules/@specforge/session-types/dist/stores/working-context-store.js.map +1 -0
  471. package/node_modules/@specforge/session-types/package.json +43 -0
  472. package/node_modules/@specforge/spec-types/README.md +28 -0
  473. package/node_modules/@specforge/spec-types/dist/index.d.ts +4 -0
  474. package/node_modules/@specforge/spec-types/dist/index.d.ts.map +1 -0
  475. package/node_modules/@specforge/spec-types/dist/index.js +6 -0
  476. package/node_modules/@specforge/spec-types/dist/index.js.map +1 -0
  477. package/node_modules/@specforge/spec-types/dist/json-schema/v1.1/openspec.schema.json +1129 -0
  478. package/node_modules/@specforge/spec-types/dist/openspec-schema.d.ts +4 -0
  479. package/node_modules/@specforge/spec-types/dist/openspec-schema.d.ts.map +1 -0
  480. package/node_modules/@specforge/spec-types/dist/openspec-schema.js +77 -0
  481. package/node_modules/@specforge/spec-types/dist/openspec-schema.js.map +1 -0
  482. package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.d.ts +14 -0
  483. package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.d.ts.map +1 -0
  484. package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.js +2 -0
  485. package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.js.map +1 -0
  486. package/node_modules/@specforge/spec-types/dist/runtime/blueprint.d.ts +7 -0
  487. package/node_modules/@specforge/spec-types/dist/runtime/blueprint.d.ts.map +1 -0
  488. package/node_modules/@specforge/spec-types/dist/runtime/blueprint.js +2 -0
  489. package/node_modules/@specforge/spec-types/dist/runtime/blueprint.js.map +1 -0
  490. package/node_modules/@specforge/spec-types/dist/runtime/epic.d.ts +2 -0
  491. package/node_modules/@specforge/spec-types/dist/runtime/epic.d.ts.map +1 -0
  492. package/node_modules/@specforge/spec-types/dist/runtime/epic.js +2 -0
  493. package/node_modules/@specforge/spec-types/dist/runtime/epic.js.map +1 -0
  494. package/node_modules/@specforge/spec-types/dist/runtime/index.d.ts +7 -0
  495. package/node_modules/@specforge/spec-types/dist/runtime/index.d.ts.map +1 -0
  496. package/node_modules/@specforge/spec-types/dist/runtime/index.js +7 -0
  497. package/node_modules/@specforge/spec-types/dist/runtime/index.js.map +1 -0
  498. package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.d.ts +2 -0
  499. package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.d.ts.map +1 -0
  500. package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.js +2 -0
  501. package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.js.map +1 -0
  502. package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.d.ts +2 -0
  503. package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.d.ts.map +1 -0
  504. package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.js +2 -0
  505. package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.js.map +1 -0
  506. package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.d.ts +2 -0
  507. package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.d.ts.map +1 -0
  508. package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.js +2 -0
  509. package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.js.map +1 -0
  510. package/node_modules/@specforge/spec-types/dist/runtime/planning/index.d.ts +10 -0
  511. package/node_modules/@specforge/spec-types/dist/runtime/planning/index.d.ts.map +1 -0
  512. package/node_modules/@specforge/spec-types/dist/runtime/planning/index.js +10 -0
  513. package/node_modules/@specforge/spec-types/dist/runtime/planning/index.js.map +1 -0
  514. package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.d.ts +2 -0
  515. package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.d.ts.map +1 -0
  516. package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.js +2 -0
  517. package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.js.map +1 -0
  518. package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.d.ts +2 -0
  519. package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.d.ts.map +1 -0
  520. package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.js +2 -0
  521. package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.js.map +1 -0
  522. package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.d.ts +2 -0
  523. package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.d.ts.map +1 -0
  524. package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.js +2 -0
  525. package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.js.map +1 -0
  526. package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.d.ts +2 -0
  527. package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.d.ts.map +1 -0
  528. package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.js +2 -0
  529. package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.js.map +1 -0
  530. package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.d.ts +2 -0
  531. package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.d.ts.map +1 -0
  532. package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.js +2 -0
  533. package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.js.map +1 -0
  534. package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.d.ts +2 -0
  535. package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.d.ts.map +1 -0
  536. package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.js +2 -0
  537. package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.js.map +1 -0
  538. package/node_modules/@specforge/spec-types/dist/runtime/specification.d.ts +2 -0
  539. package/node_modules/@specforge/spec-types/dist/runtime/specification.d.ts.map +1 -0
  540. package/node_modules/@specforge/spec-types/dist/runtime/specification.js +2 -0
  541. package/node_modules/@specforge/spec-types/dist/runtime/specification.js.map +1 -0
  542. package/node_modules/@specforge/spec-types/dist/runtime/ticket.d.ts +2 -0
  543. package/node_modules/@specforge/spec-types/dist/runtime/ticket.d.ts.map +1 -0
  544. package/node_modules/@specforge/spec-types/dist/runtime/ticket.js +2 -0
  545. package/node_modules/@specforge/spec-types/dist/runtime/ticket.js.map +1 -0
  546. package/node_modules/@specforge/spec-types/dist/schema/auxiliary.d.ts +266 -0
  547. package/node_modules/@specforge/spec-types/dist/schema/auxiliary.d.ts.map +1 -0
  548. package/node_modules/@specforge/spec-types/dist/schema/auxiliary.js +143 -0
  549. package/node_modules/@specforge/spec-types/dist/schema/auxiliary.js.map +1 -0
  550. package/node_modules/@specforge/spec-types/dist/schema/blueprint.d.ts +47 -0
  551. package/node_modules/@specforge/spec-types/dist/schema/blueprint.d.ts.map +1 -0
  552. package/node_modules/@specforge/spec-types/dist/schema/blueprint.js +33 -0
  553. package/node_modules/@specforge/spec-types/dist/schema/blueprint.js.map +1 -0
  554. package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.d.ts +33 -0
  555. package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.d.ts.map +1 -0
  556. package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.js +181 -0
  557. package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.js.map +1 -0
  558. package/node_modules/@specforge/spec-types/dist/schema/epic.d.ts +955 -0
  559. package/node_modules/@specforge/spec-types/dist/schema/epic.d.ts.map +1 -0
  560. package/node_modules/@specforge/spec-types/dist/schema/epic.js +33 -0
  561. package/node_modules/@specforge/spec-types/dist/schema/epic.js.map +1 -0
  562. package/node_modules/@specforge/spec-types/dist/schema/index.d.ts +12 -0
  563. package/node_modules/@specforge/spec-types/dist/schema/index.d.ts.map +1 -0
  564. package/node_modules/@specforge/spec-types/dist/schema/index.js +25 -0
  565. package/node_modules/@specforge/spec-types/dist/schema/index.js.map +1 -0
  566. package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.d.ts +174 -0
  567. package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.d.ts.map +1 -0
  568. package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.js +317 -0
  569. package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.js.map +1 -0
  570. package/node_modules/@specforge/spec-types/dist/schema/patterns.d.ts +274 -0
  571. package/node_modules/@specforge/spec-types/dist/schema/patterns.d.ts.map +1 -0
  572. package/node_modules/@specforge/spec-types/dist/schema/patterns.js +106 -0
  573. package/node_modules/@specforge/spec-types/dist/schema/patterns.js.map +1 -0
  574. package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.d.ts +44 -0
  575. package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.d.ts.map +1 -0
  576. package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.js +13 -0
  577. package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.js.map +1 -0
  578. package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.d.ts +21 -0
  579. package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.d.ts.map +1 -0
  580. package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.js +14 -0
  581. package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.js.map +1 -0
  582. package/node_modules/@specforge/spec-types/dist/schema/planning/goal.d.ts +27 -0
  583. package/node_modules/@specforge/spec-types/dist/schema/planning/goal.d.ts.map +1 -0
  584. package/node_modules/@specforge/spec-types/dist/schema/planning/goal.js +13 -0
  585. package/node_modules/@specforge/spec-types/dist/schema/planning/goal.js.map +1 -0
  586. package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.d.ts +29 -0
  587. package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.d.ts.map +1 -0
  588. package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.js +14 -0
  589. package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.js.map +1 -0
  590. package/node_modules/@specforge/spec-types/dist/schema/planning/index.d.ts +12 -0
  591. package/node_modules/@specforge/spec-types/dist/schema/planning/index.d.ts.map +1 -0
  592. package/node_modules/@specforge/spec-types/dist/schema/planning/index.js +12 -0
  593. package/node_modules/@specforge/spec-types/dist/schema/planning/index.js.map +1 -0
  594. package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.d.ts +27 -0
  595. package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.d.ts.map +1 -0
  596. package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.js +15 -0
  597. package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.js.map +1 -0
  598. package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.d.ts +17 -0
  599. package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.d.ts.map +1 -0
  600. package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.js +16 -0
  601. package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.js.map +1 -0
  602. package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.d.ts +63 -0
  603. package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.d.ts.map +1 -0
  604. package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.js +16 -0
  605. package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.js.map +1 -0
  606. package/node_modules/@specforge/spec-types/dist/schema/planning/scope.d.ts +19 -0
  607. package/node_modules/@specforge/spec-types/dist/schema/planning/scope.d.ts.map +1 -0
  608. package/node_modules/@specforge/spec-types/dist/schema/planning/scope.js +8 -0
  609. package/node_modules/@specforge/spec-types/dist/schema/planning/scope.js.map +1 -0
  610. package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.d.ts +51 -0
  611. package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.d.ts.map +1 -0
  612. package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.js +16 -0
  613. package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.js.map +1 -0
  614. package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.d.ts +19 -0
  615. package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.d.ts.map +1 -0
  616. package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.js +8 -0
  617. package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.js.map +1 -0
  618. package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.d.ts +27 -0
  619. package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.d.ts.map +1 -0
  620. package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.js +14 -0
  621. package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.js.map +1 -0
  622. package/node_modules/@specforge/spec-types/dist/schema/specification.d.ts +1839 -0
  623. package/node_modules/@specforge/spec-types/dist/schema/specification.d.ts.map +1 -0
  624. package/node_modules/@specforge/spec-types/dist/schema/specification.js +43 -0
  625. package/node_modules/@specforge/spec-types/dist/schema/specification.js.map +1 -0
  626. package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.d.ts +58 -0
  627. package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.d.ts.map +1 -0
  628. package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.js +73 -0
  629. package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.js.map +1 -0
  630. package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.d.ts +71 -0
  631. package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.d.ts.map +1 -0
  632. package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.js +96 -0
  633. package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.js.map +1 -0
  634. package/node_modules/@specforge/spec-types/dist/schema/ticket.d.ts +444 -0
  635. package/node_modules/@specforge/spec-types/dist/schema/ticket.d.ts.map +1 -0
  636. package/node_modules/@specforge/spec-types/dist/schema/ticket.js +49 -0
  637. package/node_modules/@specforge/spec-types/dist/schema/ticket.js.map +1 -0
  638. package/node_modules/@specforge/spec-types/package.json +41 -0
  639. package/package.json +40 -25
  640. package/src/cli/templates/agents/content/core/sfag-orchestrator.ts +135 -51
  641. package/src/cli/templates/agents/content/core/sfag-spec-creator.ts +124 -83
  642. package/src/cli/templates/agents/content/core/sfag-ticket-implementer.ts +247 -163
  643. package/src/cli/templates/agents/content/core/sfag-work-resolver.ts +211 -0
  644. package/src/cli/templates/agents/index.ts +2 -0
  645. package/src/cli/templates/content/sf-commit.ts +2 -2
  646. package/src/cli/templates/content/sf-reset.ts +45 -28
  647. package/src/cli/templates/skills/specforge-orchestrator.md +15 -10
  648. package/src/cli/templates/skills/specforge-worker.md +4 -3
@@ -0,0 +1,319 @@
1
+ import type { PlanningPhase, PlanningSessionStatus, WorkPhase, WorkSessionStatus } from './enums.js';
2
+ import type { PlanningOperationName } from './planning-operations.js';
3
+ import type { WritePlan } from './write-plan.js';
4
+ export type LifecycleEvent = 'start_planning_session' | 'action_planning_session' | 'complete_planning_session';
5
+ /**
6
+ * The response shape returned by every planning lifecycle verb (SPS / APS / CPS),
7
+ * on BOTH success and denial branches.
8
+ *
9
+ * `sessionId`, `planningPhase`, and `planningStatus` are read from the session AFTER
10
+ * any state mutation the verb applied, so a single verb call returns enough state to
11
+ * drive the next agent-loop iteration without a follow-up read.
12
+ *
13
+ * Work + review lifecycles (M16–M25) specialise via `LifecycleResult<WorkAgentResponse>`
14
+ * / `LifecycleResult<ReviewAgentResponse>` rather than widening this shape.
15
+ */
16
+ /**
17
+ * MB.10.5 — the exact repo-relative paths the CPS pass-1 asks the MCP-local to
18
+ * probe for existence. Rides on {@link PlanningAgentResponse.grepRequest}; the
19
+ * grep is scoped to EXACTLY these paths (no repo-wide scan).
20
+ */
21
+ export interface GrepRequest {
22
+ paths: string[];
23
+ }
24
+ export interface PlanningAgentResponse {
25
+ sessionId: string;
26
+ planningPhase: PlanningPhase;
27
+ planningStatus: PlanningSessionStatus;
28
+ /**
29
+ * `'success'`/`'denied'` are the terminal verb outcomes. MB.10.5 adds
30
+ * `'evidence_required'` — a NON-COMMITTING, CLI-internal CPS pass-1 outcome:
31
+ * the verb needs real-repo file evidence (see {@link grepRequest}) that only
32
+ * the MCP-local can observe (the Lambda has no worktree). The CLI probes those
33
+ * paths and re-calls CPS with `existingFiles` injected (pass-2); the agent only
34
+ * ever sees the pass-2 `'success'`/`'denied'`. It never reaches a non-cli caller
35
+ * — the mcp-handler boundary injects `existingFiles: []` for non-cli origins so
36
+ * those callers get the strict verdict via the same presence-discriminator.
37
+ */
38
+ outcome: 'success' | 'denied' | 'evidence_required';
39
+ /**
40
+ * ME.15.3 — the LOCAL score of the single entity this verb touched
41
+ * (`update_ticket`/`update_epic` → that ticket/epic's per-entity score;
42
+ * `update_spec` → the spec's local score), versus its per-phase threshold →
43
+ * that entity's own pass/fail. `null` for verbs that don't touch a single
44
+ * scored entity (SPS/CPS, `get_planning_status`, denials) and for the binary
45
+ * structural phases (epic/ticket_decomposition, cross_validation) which have
46
+ * no per-entity score. Do NOT confuse with the phase average (`avgLocalScore`).
47
+ */
48
+ localScore: number | null;
49
+ /**
50
+ * ME.15.3 — the phase AVERAGE local score across the entities the validator
51
+ * scored this phase (the number that used to be mislabeled `scoreLocal`).
52
+ * `null` for the binary phases (no per-entity score) and denials.
53
+ */
54
+ avgLocalScore: number | null;
55
+ /**
56
+ * ME.15.3 (ex-`scoreGlobal`) — the real WEIGHTED global readiness score
57
+ * (ME.13.3 Bug #2 carrier). Never a copy of the local score.
58
+ */
59
+ globalScore: number | null;
60
+ gatePassed: boolean | null;
61
+ guidance: string;
62
+ /**
63
+ * MB.10.5 — present ONLY on `outcome: 'evidence_required'`. The union of the
64
+ * consumed-but-uncreated paths (consume-exists) and ALL `filesToBeCreated`
65
+ * paths (create-fresh) the file-provenance model needs real-repo evidence for.
66
+ * The MCP-local probes exactly these paths and re-submits the existing subset
67
+ * as `existingFiles` (pass-2).
68
+ */
69
+ grepRequest?: GrepRequest;
70
+ }
71
+ /**
72
+ * A machine-readable pointer to the next action the work agent should take, surfaced on
73
+ * `WorkAgentResponse` so a single verb call drives the next agent-loop iteration without a
74
+ * follow-up read. The human-readable next-step instruction is composed into `guidance`
75
+ * (prose/content — M18); these are the bare refs. The assay (M17) produces the rich
76
+ * `NextStep` (in `@specforge/assayforge`); the work lifecycle (M16) projects it down to this
77
+ * wire-safe ref (session-types cannot import assayforge — the dependency runs the other way).
78
+ */
79
+ export interface WorkNextStepRef {
80
+ /** The work dimension the next action targets. */
81
+ workPhase: WorkPhase;
82
+ /**
83
+ * The plan entity the next action concerns when anchored to one — a step id,
84
+ * acceptance-criterion id, or file path. Omitted for aggregate / terminal steps.
85
+ */
86
+ entityId?: string;
87
+ }
88
+ /**
89
+ * The response shape returned by every work lifecycle verb (SWS / AWS / CWS), on BOTH
90
+ * success and denial branches — the work sibling of `PlanningAgentResponse`, specialised
91
+ * via `LifecycleResult<WorkAgentResponse>` (M6.5 generic; M16 implements the verbs).
92
+ *
93
+ * `sessionId`, `workPhase`, and `workStatus` are non-optional on EVERY branch (success AND
94
+ * denied), read from the session AFTER any state mutation the verb applied, so a single verb
95
+ * call returns enough state to drive the next agent-loop iteration without a follow-up read.
96
+ *
97
+ * `guidance` is composed verbatim via the agent-directed prose pipeline (never parsed
98
+ * downstream). The work-specific fields (`progress`, `coherence`, `gatePassed`,
99
+ * `nextStepRefs`) carry the assay's per-call signals; their content/prose lands in M18 — the
100
+ * TYPE lands here (M14.1).
101
+ */
102
+ export interface WorkAgentResponse {
103
+ /** The work session id (echoed on every branch, incl. denials). */
104
+ sessionId: string;
105
+ /** Current progress stage AFTER the verb's mutation. */
106
+ workPhase: WorkPhase;
107
+ /** Post-mutation work-session lifecycle state. */
108
+ workStatus: WorkSessionStatus;
109
+ /** Self-discriminates success vs. negotiated denial (both ride the lifecycle envelope). */
110
+ outcome: 'success' | 'denied';
111
+ /** Aggregate ticket completion progress; `null` when no assay has run for the verb. */
112
+ progress: number | null;
113
+ /** Coherence score from the assay (files/tests justification); `null` when not applicable. */
114
+ coherence: number | null;
115
+ /** Gate verdict; `null` when no gate has run for the phase. */
116
+ gatePassed: boolean | null;
117
+ /** Refs to the next action(s) the agent should take; `null` on terminal / denial branches. */
118
+ nextStepRefs: WorkNextStepRef[] | null;
119
+ /** Composed agent-facing prose — read verbatim, never parsed. */
120
+ guidance: string;
121
+ }
122
+ /**
123
+ * Two generic axes (see M6.5 §A0.2):
124
+ * - `R` (response): defaults to `PlanningAgentResponse`; work/review lifecycles override.
125
+ * - `W` (writePlan): defaults to `unknown` so generic call sites stay agnostic.
126
+ * `@specforge/lifecycle` binds `W = WritePlan` (now defined here in session-types —
127
+ * M7.4d) via its own `LifecycleResult` subtype.
128
+ */
129
+ export interface LifecycleResult<R = PlanningAgentResponse, W = unknown> {
130
+ response: R;
131
+ writePlan?: W;
132
+ }
133
+ /**
134
+ * Per-verb payloads for the planning lifecycle dispatch union. These are the
135
+ * wire contracts the resolver/CLI map AppSync/REST arguments into; the lifecycle
136
+ * verbs consume them directly. Relocated from `@specforge/lifecycle` in M7.4d so
137
+ * `@specforge/resolvers` can type the planning-resolver handler without importing
138
+ * the lifecycle package (monorepo-topology §2.1d).
139
+ */
140
+ export interface StartPlanningPayload {
141
+ /**
142
+ * Injected by the client (CLI mcp-local / webapp), NOT derived server-side.
143
+ * The public `start_planning_session` tool already declares `projectId` required;
144
+ * SPS now consumes the injected value instead of reading it off the spec row, so
145
+ * the project scope is client-authoritative.
146
+ */
147
+ projectId: string;
148
+ specId: string;
149
+ userId?: string;
150
+ }
151
+ /**
152
+ * MB.11.1 — payload for the `justify` operation carried on
153
+ * {@link ActionPlanningPayload.payload} when `operation === 'justify'`. Declares a
154
+ * field N/A. The tool-level `type: 'justify'` discriminant is mapped into
155
+ * `ActionPlanningPayload.operation`, so the payload the verb consumes is the
156
+ * type-stripped rest (`{ scope, entityId, reason }`) — the same convention every
157
+ * other planning op follows (e.g. `update_ticket` → `{ id, fields }`, no `type`).
158
+ *
159
+ * - `scope` — the CANONICAL `fieldDeclarations` key the checks read (the exact
160
+ * bare key, e.g. `dependencies`, `codeReferences`, `apiContracts`).
161
+ * - `entityId` — the spec/epic/ticket the field belongs to (resolved server-side;
162
+ * ids are unique across the spec).
163
+ * - `reason` — the justification (≥ `config.naReason.minLength` = 20 chars).
164
+ */
165
+ export interface JustifyPayload {
166
+ scope: string;
167
+ entityId: string;
168
+ reason: string;
169
+ }
170
+ /**
171
+ * MB.11.1 — payload for the `unjustify` operation (the paired remove op). Clears the
172
+ * `fieldDeclarations[scope]` declaration. No `reason` (a delete is unconditional; a
173
+ * no-op if the key is absent).
174
+ */
175
+ export interface UnjustifyPayload {
176
+ scope: string;
177
+ entityId: string;
178
+ }
179
+ export interface ActionPlanningPayload {
180
+ sessionId: string;
181
+ operation: PlanningOperationName;
182
+ payload: unknown;
183
+ userId?: string;
184
+ /**
185
+ * M11.1 — actor discriminator. Derived SERVER-SIDE from the authenticated
186
+ * identity (webapp custom mutation → `'human'`; MCP/CLI → `'agent'`), never
187
+ * trusted from the client payload. Defaults to `'agent'` when omitted.
188
+ *
189
+ * It drives BOTH the audit row's `performedByActor` AND the actor-conditional
190
+ * post-APS status of an edit on an `awaiting_human_review` session:
191
+ * - `'human'` → the session STAYS `awaiting_human_review` (re-scores in place;
192
+ * the human never leaves the review window by editing).
193
+ * - `'agent'` (default) → the session flips to `active` exactly as before (the
194
+ * agent then re-requests the gate via a subsequent CPS).
195
+ *
196
+ * ME.19.5 (D18) — `'system'` is the D18 auto-materialized baseline actor
197
+ * (system-originated, deterministic). Extends the 'agent'|'human' union at this
198
+ * canonical contract site so the value flows uncompiled to `performedByActor`.
199
+ */
200
+ actor?: 'agent' | 'human' | 'system';
201
+ }
202
+ export interface CompletePlanningPayload {
203
+ sessionId: string;
204
+ userId?: string;
205
+ /**
206
+ * MB.10.5 grep evidence, injected by the MCP-local CLI double-call: the subset
207
+ * of the pass-1 `grepRequest.paths` that actually exist in the real repository.
208
+ * PRESENCE (even `[]`) is the "probed" marker → the verb runs the real gate
209
+ * with `E = existingFiles ∪ createdPaths` (pass-2). ABSENT → pass-1: the verb
210
+ * returns `evidence_required` carrying `grepRequest` and commits NOTHING. The
211
+ * mcp-handler boundary injects `[]` for any non-cli origin so only the cli
212
+ * double-call ever sends it absent (only the cli knows how to probe + re-call).
213
+ */
214
+ existingFiles?: string[];
215
+ }
216
+ /**
217
+ * Payload-carrying dispatch union accepted by `Lifecycle.handle`. Discriminated
218
+ * by `type`. (Distinct from the string-only `LifecycleEvent` above, which just
219
+ * enumerates the verb names.)
220
+ */
221
+ export type PlanningLifecycleEvent = {
222
+ type: 'start_planning_session';
223
+ payload: StartPlanningPayload;
224
+ } | {
225
+ type: 'action_planning_session';
226
+ payload: ActionPlanningPayload;
227
+ } | {
228
+ type: 'complete_planning_session';
229
+ payload: CompletePlanningPayload;
230
+ };
231
+ /**
232
+ * The planning lifecycle dispatch contract. The implementation factory
233
+ * (`createLifecycle`) stays in `@specforge/lifecycle`; only this interface lives
234
+ * here so downstream Lambda factories can type against it without a lifecycle
235
+ * import (M7.4d).
236
+ */
237
+ export interface Lifecycle {
238
+ handle(event: PlanningLifecycleEvent): Promise<LifecycleResult<PlanningAgentResponse, WritePlan>>;
239
+ }
240
+ /**
241
+ * The string-only enumeration of the work lifecycle verbs (the work sibling of
242
+ * the planning `LifecycleEvent`). All three are agent-facing and keyed by
243
+ * `ticketId`; the human surfaces (resolution window M21, abort kill-switch M24)
244
+ * are separate webapp verbs and are NOT part of this agent dispatch union.
245
+ */
246
+ export type WorkLifecycleVerb = 'start_work_session' | 'action_work_session' | 'complete_work_session';
247
+ /**
248
+ * SWS — `start_work_session`. Starts (or attaches to) the WorkSession for a
249
+ * ticket, creating the parent ImplementationSession on first start for the spec.
250
+ * Keyed by `ticketId` (the session id is assigned by the verb). `worktreePath` /
251
+ * `branch` are the optional worktree provenance the MCP-local reports (M23.2) and
252
+ * SWS persists (M16.2) when the agent runs inside a git worktree.
253
+ */
254
+ export interface StartWorkSessionPayload {
255
+ ticketId: string;
256
+ userId?: string;
257
+ worktreePath?: string;
258
+ branch?: string;
259
+ /**
260
+ * Clean-git-workspace status injected by the MCP-local (M23). `false` = the
261
+ * agent's worktree has uncommitted changes → SWS denies (`git_dirty`,
262
+ * "clean your git workspace before starting"). `true` / absent = clean (no
263
+ * denial), so non-git callers still start. M16 consumes this as a MOCK input;
264
+ * M23 wires the real `git status` injection.
265
+ */
266
+ gitClean?: boolean;
267
+ }
268
+ /**
269
+ * AWS — `action_work_session`. Updates the WorkSession checklist state (step /
270
+ * AC / test / file progress, discovery, blocker) for the ticket's active session.
271
+ * The structured action payload — including the action-operation discriminator —
272
+ * is typed at dispatch time in M16; held as `unknown` here so generic call sites
273
+ * stay agnostic (mirrors the planning `ActionPlanningPayload.payload`).
274
+ */
275
+ export interface ActionWorkSessionPayload {
276
+ ticketId: string;
277
+ payload: unknown;
278
+ userId?: string;
279
+ }
280
+ /**
281
+ * CWS — `complete_work_session`. Finalizes the ticket's active WorkSession (and,
282
+ * when it is the last open WorkSession of the spec, the parent
283
+ * ImplementationSession + spec→done). Keyed by `ticketId`.
284
+ */
285
+ export interface CompleteWorkSessionPayload {
286
+ ticketId: string;
287
+ userId?: string;
288
+ /**
289
+ * The HEAD commit hash the MCP-local reads from the agent's worktree (M23.2) and
290
+ * binds onto `WorkSession.commitSha` — the per-session commit proof the CWS
291
+ * git-evidence gate requires before it finalizes. The Lambda has no worktree, so
292
+ * only the MCP-local can observe it; absent for a non-git caller (the gate then
293
+ * holds with the "commit your work first" denial). This is the wiring that binds
294
+ * the commit the CWS held-pass guidance promises — see completeWorkSession.
295
+ */
296
+ commitSha?: string;
297
+ /**
298
+ * Optional parsed git status/diff the assay reads for coherence (M17). Also
299
+ * satisfies the git-evidence gate when a `commitSha` is not available.
300
+ */
301
+ gitEvidence?: Record<string, unknown>;
302
+ }
303
+ /**
304
+ * Payload-carrying dispatch union accepted by the work lifecycle (the work
305
+ * counterpart of `PlanningLifecycleEvent`). Discriminated by `type`. (Distinct
306
+ * from the string-only `WorkLifecycleVerb` above, which just enumerates the verb
307
+ * names.) The work `Lifecycle.handle` overload that consumes this lands in M16.
308
+ */
309
+ export type WorkLifecycleEvent = {
310
+ type: 'start_work_session';
311
+ payload: StartWorkSessionPayload;
312
+ } | {
313
+ type: 'action_work_session';
314
+ payload: ActionWorkSessionPayload;
315
+ } | {
316
+ type: 'complete_work_session';
317
+ payload: CompleteWorkSessionPayload;
318
+ };
319
+ //# sourceMappingURL=lifecycle-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-contract.d.ts","sourceRoot":"","sources":["../../src/runtime/lifecycle-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,SAAS,EACT,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,MAAM,cAAc,GACtB,wBAAwB,GACxB,yBAAyB,GACzB,2BAA2B,CAAC;AAEhC;;;;;;;;;;GAUG;AACH;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,qBAAqB,CAAC;IACtC;;;;;;;;;OASG;IACH,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,mBAAmB,CAAC;IACpD;;;;;;;;OAQG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;OAIG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,SAAS,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,SAAS,EAAE,SAAS,CAAC;IACrB,kDAAkD;IAClD,UAAU,EAAE,iBAAiB,CAAC;IAC9B,2FAA2F;IAC3F,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,uFAAuF;IACvF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,8FAA8F;IAC9F,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,+DAA+D;IAC/D,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,8FAA8F;IAC9F,YAAY,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACvC,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,qBAAqB,EAAE,CAAC,GAAG,OAAO;IACrE,QAAQ,EAAE,CAAC,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;CACtC;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,yBAAyB,CAAC;IAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,2BAA2B,CAAC;IAAC,OAAO,EAAE,uBAAuB,CAAA;CAAE,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IAGxB,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,CAAC;CACnG;AAYD;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,qBAAqB,GACrB,uBAAuB,CAAC;AAE5B;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,OAAO,EAAE,uBAAuB,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE,wBAAwB,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,OAAO,EAAE,0BAA0B,CAAA;CAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lifecycle-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-contract.js","sourceRoot":"","sources":["../../src/runtime/lifecycle-contract.ts"],"names":[],"mappings":""}
@@ -0,0 +1,128 @@
1
+ import { z } from 'zod';
2
+ export declare const LifecyclePlanningGuidanceSchema: z.ZodObject<{
3
+ variant: z.ZodEnum<["denied", "gate_failed", "gate_passed", "human_handover", "human_feedback", "phase_advance", "phase_rollback", "phase_complete", "phase_status_report", "awaiting_human_review_handover", "human_feedback_received", "human_rejected_no_feedback", "phase_advanced_after_approve", "session_closed"]>;
4
+ fieldsToFill: z.ZodOptional<z.ZodArray<z.ZodObject<{
5
+ fieldId: z.ZodString;
6
+ name: z.ZodString;
7
+ description: z.ZodString;
8
+ required: z.ZodBoolean;
9
+ currentState: z.ZodEnum<["empty", "partial", "filled", "na"]>;
10
+ minCount: z.ZodOptional<z.ZodNumber>;
11
+ examples: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
12
+ shape: z.ZodOptional<z.ZodString>;
13
+ interview_hooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
14
+ naEligible: z.ZodOptional<z.ZodBoolean>;
15
+ na_when: z.ZodOptional<z.ZodString>;
16
+ tier: z.ZodOptional<z.ZodEnum<["critical", "recommended", "standard"]>>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ fieldId: string;
19
+ name: string;
20
+ description: string;
21
+ required: boolean;
22
+ currentState: "empty" | "partial" | "filled" | "na";
23
+ minCount?: number | undefined;
24
+ examples?: string[] | undefined;
25
+ shape?: string | undefined;
26
+ interview_hooks?: string[] | undefined;
27
+ naEligible?: boolean | undefined;
28
+ na_when?: string | undefined;
29
+ tier?: "critical" | "recommended" | "standard" | undefined;
30
+ }, {
31
+ fieldId: string;
32
+ name: string;
33
+ description: string;
34
+ required: boolean;
35
+ currentState: "empty" | "partial" | "filled" | "na";
36
+ minCount?: number | undefined;
37
+ examples?: string[] | undefined;
38
+ shape?: string | undefined;
39
+ interview_hooks?: string[] | undefined;
40
+ naEligible?: boolean | undefined;
41
+ na_when?: string | undefined;
42
+ tier?: "critical" | "recommended" | "standard" | undefined;
43
+ }>, "many">>;
44
+ humanHandoff: z.ZodOptional<z.ZodObject<{
45
+ message: z.ZodString;
46
+ observatoryLink: z.ZodOptional<z.ZodString>;
47
+ iterationNeeded: z.ZodOptional<z.ZodObject<{
48
+ focus: z.ZodString;
49
+ suggestion: z.ZodString;
50
+ }, "strip", z.ZodTypeAny, {
51
+ focus: string;
52
+ suggestion: string;
53
+ }, {
54
+ focus: string;
55
+ suggestion: string;
56
+ }>>;
57
+ }, "strip", z.ZodTypeAny, {
58
+ message: string;
59
+ observatoryLink?: string | undefined;
60
+ iterationNeeded?: {
61
+ focus: string;
62
+ suggestion: string;
63
+ } | undefined;
64
+ }, {
65
+ message: string;
66
+ observatoryLink?: string | undefined;
67
+ iterationNeeded?: {
68
+ focus: string;
69
+ suggestion: string;
70
+ } | undefined;
71
+ }>>;
72
+ postApprovalActions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
73
+ composedAt: z.ZodString;
74
+ }, "strip", z.ZodTypeAny, {
75
+ variant: "denied" | "gate_failed" | "gate_passed" | "human_handover" | "human_feedback" | "phase_advance" | "phase_rollback" | "phase_complete" | "phase_status_report" | "awaiting_human_review_handover" | "human_feedback_received" | "human_rejected_no_feedback" | "phase_advanced_after_approve" | "session_closed";
76
+ composedAt: string;
77
+ fieldsToFill?: {
78
+ fieldId: string;
79
+ name: string;
80
+ description: string;
81
+ required: boolean;
82
+ currentState: "empty" | "partial" | "filled" | "na";
83
+ minCount?: number | undefined;
84
+ examples?: string[] | undefined;
85
+ shape?: string | undefined;
86
+ interview_hooks?: string[] | undefined;
87
+ naEligible?: boolean | undefined;
88
+ na_when?: string | undefined;
89
+ tier?: "critical" | "recommended" | "standard" | undefined;
90
+ }[] | undefined;
91
+ humanHandoff?: {
92
+ message: string;
93
+ observatoryLink?: string | undefined;
94
+ iterationNeeded?: {
95
+ focus: string;
96
+ suggestion: string;
97
+ } | undefined;
98
+ } | undefined;
99
+ postApprovalActions?: string[] | undefined;
100
+ }, {
101
+ variant: "denied" | "gate_failed" | "gate_passed" | "human_handover" | "human_feedback" | "phase_advance" | "phase_rollback" | "phase_complete" | "phase_status_report" | "awaiting_human_review_handover" | "human_feedback_received" | "human_rejected_no_feedback" | "phase_advanced_after_approve" | "session_closed";
102
+ composedAt: string;
103
+ fieldsToFill?: {
104
+ fieldId: string;
105
+ name: string;
106
+ description: string;
107
+ required: boolean;
108
+ currentState: "empty" | "partial" | "filled" | "na";
109
+ minCount?: number | undefined;
110
+ examples?: string[] | undefined;
111
+ shape?: string | undefined;
112
+ interview_hooks?: string[] | undefined;
113
+ naEligible?: boolean | undefined;
114
+ na_when?: string | undefined;
115
+ tier?: "critical" | "recommended" | "standard" | undefined;
116
+ }[] | undefined;
117
+ humanHandoff?: {
118
+ message: string;
119
+ observatoryLink?: string | undefined;
120
+ iterationNeeded?: {
121
+ focus: string;
122
+ suggestion: string;
123
+ } | undefined;
124
+ } | undefined;
125
+ postApprovalActions?: string[] | undefined;
126
+ }>;
127
+ export type LifecyclePlanningGuidance = z.infer<typeof LifecyclePlanningGuidanceSchema>;
128
+ //# sourceMappingURL=lifecycle-planning-guidance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-planning-guidance.d.ts","sourceRoot":"","sources":["../../src/runtime/lifecycle-planning-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ import { GUIDANCE_VARIANTS, FIELD_STATES } from './enums.js';
3
+ export const LifecyclePlanningGuidanceSchema = z.object({
4
+ variant: z.enum(GUIDANCE_VARIANTS),
5
+ fieldsToFill: z.array(z.object({
6
+ fieldId: z.string(),
7
+ name: z.string(),
8
+ description: z.string(),
9
+ required: z.boolean(),
10
+ currentState: z.enum(FIELD_STATES),
11
+ minCount: z.number().int().nonnegative().optional(),
12
+ examples: z.array(z.string()).optional(),
13
+ shape: z.string().optional(),
14
+ interview_hooks: z.array(z.string()).optional(),
15
+ naEligible: z.boolean().optional(),
16
+ na_when: z.string().optional(),
17
+ tier: z.enum(['critical', 'recommended', 'standard']).optional(),
18
+ })).optional(),
19
+ humanHandoff: z.object({
20
+ message: z.string(),
21
+ observatoryLink: z.string().optional(),
22
+ iterationNeeded: z.object({
23
+ focus: z.string(),
24
+ suggestion: z.string(),
25
+ }).optional(),
26
+ }).optional(),
27
+ postApprovalActions: z.array(z.string()).optional(),
28
+ composedAt: z.string().datetime(),
29
+ });
30
+ //# sourceMappingURL=lifecycle-planning-guidance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-planning-guidance.js","sourceRoot":"","sources":["../../src/runtime/lifecycle-planning-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAClC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;QACrB,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QACnD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC/C,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;KACjE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACd,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;YACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;SACvB,CAAC,CAAC,QAAQ,EAAE;KACd,CAAC,CAAC,QAAQ,EAAE;IACb,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { z } from 'zod';
2
+ import type { ParsedGitEvidenceSchema } from '../schema/parsed-git-evidence.js';
3
+ export type ParsedGitEvidence = z.infer<typeof ParsedGitEvidenceSchema>;
4
+ //# sourceMappingURL=parsed-git-evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsed-git-evidence.d.ts","sourceRoot":"","sources":["../../src/runtime/parsed-git-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parsed-git-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsed-git-evidence.js","sourceRoot":"","sources":["../../src/runtime/parsed-git-evidence.ts"],"names":[],"mappings":""}
@@ -0,0 +1,82 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Planning lifecycle config — the canonical contract type, resolved per-project/spec
4
+ * and persisted via the IConfigStore (domain `planning-lifecycle`). Lives here in
5
+ * session-types (alongside the other planning contracts + IConfigStore) so every
6
+ * consumer shares ONE source: the lifecycle resolver, and the M8.7 project-stream
7
+ * config-bootstrap in operations, both import from here — no operations→lifecycle dep.
8
+ *
9
+ * Behaviour (deepMerge + PlanningLifecycleConfigResolver) stays in @specforge/lifecycle.
10
+ */
11
+ export declare const PLANNING_LIFECYCLE_CONFIG_DOMAIN: "planning-lifecycle";
12
+ export declare const PLANNING_LIFECYCLE_CONFIG_SCHEMA_VERSION = 2;
13
+ export declare const PlanningLifecycleConfigSchema: z.ZodObject<{
14
+ gateResultCacheTtlMs: z.ZodNumber;
15
+ observatoryBaseUrl: z.ZodString;
16
+ guidance: z.ZodObject<{
17
+ maxNextEntitiesToShow: z.ZodNumber;
18
+ fieldRenderDetail: z.ZodOptional<z.ZodEnum<["rich", "concise"]>>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ maxNextEntitiesToShow: number;
21
+ fieldRenderDetail?: "rich" | "concise" | undefined;
22
+ }, {
23
+ maxNextEntitiesToShow: number;
24
+ fieldRenderDetail?: "rich" | "concise" | undefined;
25
+ }>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ gateResultCacheTtlMs: number;
28
+ observatoryBaseUrl: string;
29
+ guidance: {
30
+ maxNextEntitiesToShow: number;
31
+ fieldRenderDetail?: "rich" | "concise" | undefined;
32
+ };
33
+ }, {
34
+ gateResultCacheTtlMs: number;
35
+ observatoryBaseUrl: string;
36
+ guidance: {
37
+ maxNextEntitiesToShow: number;
38
+ fieldRenderDetail?: "rich" | "concise" | undefined;
39
+ };
40
+ }>;
41
+ export type PlanningLifecycleConfig = z.infer<typeof PlanningLifecycleConfigSchema>;
42
+ /**
43
+ * PlanningLifecycleConfigOverridesSchema — a permissive DeepPartial of
44
+ * {@link PlanningLifecycleConfigSchema}. A project-level override is a sparse
45
+ * `DeepPartial<PlanningLifecycleConfig>` (e.g. `{ guidance: { maxNextEntitiesToShow: 5 } }`).
46
+ *
47
+ * `PlanningLifecycleConfigSchema` is a plain `ZodObject` tree of objects + primitives with
48
+ * NO cross-field refinements, so `.deepPartial()` is safe here (no `ZodEffects` to trip
49
+ * over, unlike the validator's `ValidatorConfigSchema`). The full schema is still re-checked
50
+ * on the deepMerged result by `validateOverrides` in @specforge/lifecycle.
51
+ */
52
+ export declare const PlanningLifecycleConfigOverridesSchema: z.ZodObject<{
53
+ gateResultCacheTtlMs: z.ZodOptional<z.ZodNumber>;
54
+ observatoryBaseUrl: z.ZodOptional<z.ZodString>;
55
+ guidance: z.ZodOptional<z.ZodObject<{
56
+ maxNextEntitiesToShow: z.ZodOptional<z.ZodNumber>;
57
+ fieldRenderDetail: z.ZodOptional<z.ZodOptional<z.ZodEnum<["rich", "concise"]>>>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ maxNextEntitiesToShow?: number | undefined;
60
+ fieldRenderDetail?: "rich" | "concise" | undefined;
61
+ }, {
62
+ maxNextEntitiesToShow?: number | undefined;
63
+ fieldRenderDetail?: "rich" | "concise" | undefined;
64
+ }>>;
65
+ }, "strip", z.ZodTypeAny, {
66
+ gateResultCacheTtlMs?: number | undefined;
67
+ observatoryBaseUrl?: string | undefined;
68
+ guidance?: {
69
+ maxNextEntitiesToShow?: number | undefined;
70
+ fieldRenderDetail?: "rich" | "concise" | undefined;
71
+ } | undefined;
72
+ }, {
73
+ gateResultCacheTtlMs?: number | undefined;
74
+ observatoryBaseUrl?: string | undefined;
75
+ guidance?: {
76
+ maxNextEntitiesToShow?: number | undefined;
77
+ fieldRenderDetail?: "rich" | "concise" | undefined;
78
+ } | undefined;
79
+ }>;
80
+ export type PlanningLifecycleConfigOverrides = z.infer<typeof PlanningLifecycleConfigOverridesSchema>;
81
+ export declare const PLANNING_LIFECYCLE_DEFAULTS: PlanningLifecycleConfig;
82
+ //# sourceMappingURL=planning-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning-config.d.ts","sourceRoot":"","sources":["../../src/runtime/planning-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,EAAG,oBAA6B,CAAC;AAG9E,eAAO,MAAM,wCAAwC,IAAI,CAAC;AAE1D,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;;;;;;;GASG;AACH,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8C,CAAC;AAClG,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sCAAsC,CAAC,CAAC;AAKtG,eAAO,MAAM,2BAA2B,EAAE,uBAOzC,CAAC"}