groundswell 0.0.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -9
  3. package/dist/cache/cache-key.d.ts +86 -0
  4. package/dist/cache/cache-key.d.ts.map +1 -0
  5. package/dist/cache/cache-key.js +204 -0
  6. package/dist/cache/cache-key.js.map +1 -0
  7. package/dist/cache/cache.d.ts +104 -0
  8. package/dist/cache/cache.d.ts.map +1 -0
  9. package/dist/cache/cache.js +179 -0
  10. package/dist/cache/cache.js.map +1 -0
  11. package/{src/cache/index.ts → dist/cache/index.d.ts} +1 -1
  12. package/dist/cache/index.d.ts.map +1 -0
  13. package/dist/cache/index.js +6 -0
  14. package/dist/cache/index.js.map +1 -0
  15. package/dist/core/agent.d.ts +203 -0
  16. package/dist/core/agent.d.ts.map +1 -0
  17. package/dist/core/agent.js +833 -0
  18. package/dist/core/agent.js.map +1 -0
  19. package/{src/core/context.ts → dist/core/context.d.ts} +16 -67
  20. package/dist/core/context.d.ts.map +1 -0
  21. package/dist/core/context.js +80 -0
  22. package/dist/core/context.js.map +1 -0
  23. package/dist/core/event-tree.d.ts +72 -0
  24. package/dist/core/event-tree.d.ts.map +1 -0
  25. package/dist/core/event-tree.js +211 -0
  26. package/dist/core/event-tree.js.map +1 -0
  27. package/{src/core/factory.ts → dist/core/factory.d.ts} +6 -27
  28. package/dist/core/factory.d.ts.map +1 -0
  29. package/dist/core/factory.js +110 -0
  30. package/dist/core/factory.js.map +1 -0
  31. package/{src/core/index.ts → dist/core/index.d.ts} +2 -10
  32. package/dist/core/index.d.ts.map +1 -0
  33. package/dist/core/index.js +9 -0
  34. package/dist/core/index.js.map +1 -0
  35. package/dist/core/logger.d.ts +50 -0
  36. package/dist/core/logger.d.ts.map +1 -0
  37. package/dist/core/logger.js +91 -0
  38. package/dist/core/logger.js.map +1 -0
  39. package/dist/core/mcp-handler.d.ts +127 -0
  40. package/dist/core/mcp-handler.d.ts.map +1 -0
  41. package/dist/core/mcp-handler.js +323 -0
  42. package/dist/core/mcp-handler.js.map +1 -0
  43. package/dist/core/prompt.d.ts +80 -0
  44. package/dist/core/prompt.d.ts.map +1 -0
  45. package/dist/core/prompt.js +120 -0
  46. package/dist/core/prompt.js.map +1 -0
  47. package/dist/core/workflow-context.d.ts +61 -0
  48. package/dist/core/workflow-context.d.ts.map +1 -0
  49. package/dist/core/workflow-context.js +358 -0
  50. package/dist/core/workflow-context.js.map +1 -0
  51. package/dist/core/workflow.d.ts +543 -0
  52. package/dist/core/workflow.d.ts.map +1 -0
  53. package/dist/core/workflow.js +986 -0
  54. package/dist/core/workflow.js.map +1 -0
  55. package/dist/debugger/event-replayer.d.ts +422 -0
  56. package/dist/debugger/event-replayer.d.ts.map +1 -0
  57. package/dist/debugger/event-replayer.js +639 -0
  58. package/dist/debugger/event-replayer.js.map +1 -0
  59. package/dist/debugger/index.d.ts +2 -0
  60. package/dist/debugger/index.d.ts.map +1 -0
  61. package/{src/debugger/index.ts → dist/debugger/index.js} +1 -0
  62. package/dist/debugger/index.js.map +1 -0
  63. package/dist/debugger/tree-debugger.d.ts +240 -0
  64. package/dist/debugger/tree-debugger.d.ts.map +1 -0
  65. package/dist/debugger/tree-debugger.js +620 -0
  66. package/dist/debugger/tree-debugger.js.map +1 -0
  67. package/dist/decorators/index.d.ts +4 -0
  68. package/dist/decorators/index.d.ts.map +1 -0
  69. package/{src/decorators/index.ts → dist/decorators/index.js} +1 -0
  70. package/dist/decorators/index.js.map +1 -0
  71. package/dist/decorators/observed-state.d.ts +32 -0
  72. package/dist/decorators/observed-state.d.ts.map +1 -0
  73. package/dist/decorators/observed-state.js +79 -0
  74. package/dist/decorators/observed-state.js.map +1 -0
  75. package/dist/decorators/step.d.ts +15 -0
  76. package/dist/decorators/step.d.ts.map +1 -0
  77. package/dist/decorators/step.js +192 -0
  78. package/dist/decorators/step.js.map +1 -0
  79. package/dist/decorators/task.d.ts +50 -0
  80. package/dist/decorators/task.d.ts.map +1 -0
  81. package/dist/decorators/task.js +118 -0
  82. package/dist/decorators/task.js.map +1 -0
  83. package/dist/examples/index.d.ts +3 -0
  84. package/dist/examples/index.d.ts.map +1 -0
  85. package/{src/examples/index.ts → dist/examples/index.js} +1 -0
  86. package/dist/examples/index.js.map +1 -0
  87. package/dist/examples/tdd-orchestrator.d.ts +15 -0
  88. package/dist/examples/tdd-orchestrator.d.ts.map +1 -0
  89. package/dist/examples/tdd-orchestrator.js +121 -0
  90. package/dist/examples/tdd-orchestrator.js.map +1 -0
  91. package/dist/examples/test-cycle-workflow.d.ts +14 -0
  92. package/dist/examples/test-cycle-workflow.d.ts.map +1 -0
  93. package/dist/examples/test-cycle-workflow.js +116 -0
  94. package/dist/examples/test-cycle-workflow.js.map +1 -0
  95. package/dist/harnesses/claude-code-harness.d.ts +391 -0
  96. package/dist/harnesses/claude-code-harness.d.ts.map +1 -0
  97. package/dist/harnesses/claude-code-harness.js +1076 -0
  98. package/dist/harnesses/claude-code-harness.js.map +1 -0
  99. package/dist/harnesses/harness-registry.d.ts +440 -0
  100. package/dist/harnesses/harness-registry.d.ts.map +1 -0
  101. package/dist/harnesses/harness-registry.js +543 -0
  102. package/dist/harnesses/harness-registry.js.map +1 -0
  103. package/dist/harnesses/index.d.ts +12 -0
  104. package/dist/harnesses/index.d.ts.map +1 -0
  105. package/dist/harnesses/index.js +11 -0
  106. package/dist/harnesses/index.js.map +1 -0
  107. package/dist/harnesses/pi-harness.d.ts +219 -0
  108. package/dist/harnesses/pi-harness.d.ts.map +1 -0
  109. package/dist/harnesses/pi-harness.js +676 -0
  110. package/dist/harnesses/pi-harness.js.map +1 -0
  111. package/dist/harnesses/pi-schema-converter.d.ts +24 -0
  112. package/dist/harnesses/pi-schema-converter.d.ts.map +1 -0
  113. package/dist/harnesses/pi-schema-converter.js +81 -0
  114. package/dist/harnesses/pi-schema-converter.js.map +1 -0
  115. package/dist/harnesses/register-defaults.d.ts +24 -0
  116. package/dist/harnesses/register-defaults.d.ts.map +1 -0
  117. package/dist/harnesses/register-defaults.js +40 -0
  118. package/dist/harnesses/register-defaults.js.map +1 -0
  119. package/dist/harnesses/session-store.d.ts +201 -0
  120. package/dist/harnesses/session-store.d.ts.map +1 -0
  121. package/dist/harnesses/session-store.js +254 -0
  122. package/dist/harnesses/session-store.js.map +1 -0
  123. package/dist/index.d.ts +37 -0
  124. package/dist/index.d.ts.map +1 -0
  125. package/dist/index.js +57 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/reflection/index.d.ts +5 -0
  128. package/dist/reflection/index.d.ts.map +1 -0
  129. package/{src/reflection/index.ts → dist/reflection/index.js} +1 -1
  130. package/dist/reflection/index.js.map +1 -0
  131. package/dist/reflection/reflection.d.ts +84 -0
  132. package/dist/reflection/reflection.d.ts.map +1 -0
  133. package/dist/reflection/reflection.js +344 -0
  134. package/dist/reflection/reflection.js.map +1 -0
  135. package/dist/tools/index.d.ts +6 -0
  136. package/dist/tools/index.d.ts.map +1 -0
  137. package/dist/tools/index.js +11 -0
  138. package/dist/tools/index.js.map +1 -0
  139. package/dist/tools/introspection.d.ts +165 -0
  140. package/dist/tools/introspection.d.ts.map +1 -0
  141. package/dist/tools/introspection.js +324 -0
  142. package/dist/tools/introspection.js.map +1 -0
  143. package/dist/types/agent.d.ts +1317 -0
  144. package/dist/types/agent.d.ts.map +1 -0
  145. package/dist/types/agent.js +423 -0
  146. package/dist/types/agent.js.map +1 -0
  147. package/dist/types/decorators.d.ts +40 -0
  148. package/dist/types/decorators.d.ts.map +1 -0
  149. package/dist/types/decorators.js +2 -0
  150. package/dist/types/decorators.js.map +1 -0
  151. package/dist/types/error-strategy.d.ts +13 -0
  152. package/dist/types/error-strategy.d.ts.map +1 -0
  153. package/dist/types/error-strategy.js +2 -0
  154. package/dist/types/error-strategy.js.map +1 -0
  155. package/dist/types/error.d.ts +20 -0
  156. package/dist/types/error.d.ts.map +1 -0
  157. package/dist/types/error.js +2 -0
  158. package/dist/types/error.js.map +1 -0
  159. package/dist/types/events.d.ts +113 -0
  160. package/dist/types/events.d.ts.map +1 -0
  161. package/dist/types/events.js +2 -0
  162. package/dist/types/events.js.map +1 -0
  163. package/dist/types/harnesses.d.ts +474 -0
  164. package/dist/types/harnesses.d.ts.map +1 -0
  165. package/dist/types/harnesses.js +2 -0
  166. package/dist/types/harnesses.js.map +1 -0
  167. package/dist/types/index.d.ts +23 -0
  168. package/dist/types/index.d.ts.map +1 -0
  169. package/dist/types/index.js +8 -0
  170. package/dist/types/index.js.map +1 -0
  171. package/dist/types/logging.d.ts +24 -0
  172. package/dist/types/logging.d.ts.map +1 -0
  173. package/dist/types/logging.js +2 -0
  174. package/dist/types/logging.js.map +1 -0
  175. package/dist/types/observer.d.ts +18 -0
  176. package/dist/types/observer.d.ts.map +1 -0
  177. package/dist/types/observer.js +2 -0
  178. package/dist/types/observer.js.map +1 -0
  179. package/dist/types/prompt.d.ts +31 -0
  180. package/dist/types/prompt.d.ts.map +1 -0
  181. package/dist/types/prompt.js +6 -0
  182. package/dist/types/prompt.js.map +1 -0
  183. package/dist/types/providers.d.ts +691 -0
  184. package/dist/types/providers.d.ts.map +1 -0
  185. package/dist/types/providers.js +14 -0
  186. package/dist/types/providers.js.map +1 -0
  187. package/dist/types/reflection.d.ts +96 -0
  188. package/dist/types/reflection.d.ts.map +1 -0
  189. package/dist/types/reflection.js +24 -0
  190. package/dist/types/reflection.js.map +1 -0
  191. package/dist/types/restart.d.ts +132 -0
  192. package/dist/types/restart.d.ts.map +1 -0
  193. package/dist/types/restart.js +2 -0
  194. package/dist/types/restart.js.map +1 -0
  195. package/dist/types/sdk-primitives.d.ts +118 -0
  196. package/dist/types/sdk-primitives.d.ts.map +1 -0
  197. package/dist/types/sdk-primitives.js +6 -0
  198. package/dist/types/sdk-primitives.js.map +1 -0
  199. package/{src/types/snapshot.ts → dist/types/snapshot.d.ts} +5 -5
  200. package/dist/types/snapshot.d.ts.map +1 -0
  201. package/dist/types/snapshot.js +2 -0
  202. package/dist/types/snapshot.js.map +1 -0
  203. package/dist/types/streaming.d.ts +194 -0
  204. package/dist/types/streaming.d.ts.map +1 -0
  205. package/dist/types/streaming.js +67 -0
  206. package/dist/types/streaming.js.map +1 -0
  207. package/dist/types/workflow-context.d.ts +275 -0
  208. package/dist/types/workflow-context.d.ts.map +1 -0
  209. package/dist/types/workflow-context.js +8 -0
  210. package/dist/types/workflow-context.js.map +1 -0
  211. package/dist/types/workflow.d.ts +30 -0
  212. package/dist/types/workflow.d.ts.map +1 -0
  213. package/dist/types/workflow.js +2 -0
  214. package/dist/types/workflow.js.map +1 -0
  215. package/dist/utils/agent-validation.d.ts +88 -0
  216. package/dist/utils/agent-validation.d.ts.map +1 -0
  217. package/dist/utils/agent-validation.js +87 -0
  218. package/dist/utils/agent-validation.js.map +1 -0
  219. package/dist/utils/delay.d.ts +7 -0
  220. package/dist/utils/delay.d.ts.map +1 -0
  221. package/dist/utils/delay.js +9 -0
  222. package/dist/utils/delay.js.map +1 -0
  223. package/dist/utils/harness-config.d.ts +180 -0
  224. package/dist/utils/harness-config.d.ts.map +1 -0
  225. package/dist/utils/harness-config.js +311 -0
  226. package/dist/utils/harness-config.js.map +1 -0
  227. package/dist/utils/id.d.ts +6 -0
  228. package/dist/utils/id.d.ts.map +1 -0
  229. package/dist/utils/id.js +12 -0
  230. package/dist/utils/id.js.map +1 -0
  231. package/dist/utils/index.d.ts +13 -0
  232. package/dist/utils/index.d.ts.map +1 -0
  233. package/dist/utils/index.js +11 -0
  234. package/dist/utils/index.js.map +1 -0
  235. package/dist/utils/model-spec.d.ts +110 -0
  236. package/dist/utils/model-spec.d.ts.map +1 -0
  237. package/dist/utils/model-spec.js +149 -0
  238. package/dist/utils/model-spec.js.map +1 -0
  239. package/dist/utils/observable.d.ts +54 -0
  240. package/dist/utils/observable.d.ts.map +1 -0
  241. package/dist/utils/observable.js +82 -0
  242. package/dist/utils/observable.js.map +1 -0
  243. package/dist/utils/provider-config.d.ts +10 -0
  244. package/dist/utils/provider-config.d.ts.map +1 -0
  245. package/dist/utils/provider-config.js +10 -0
  246. package/dist/utils/provider-config.js.map +1 -0
  247. package/dist/utils/restart-analysis.d.ts +202 -0
  248. package/dist/utils/restart-analysis.d.ts.map +1 -0
  249. package/dist/utils/restart-analysis.js +426 -0
  250. package/dist/utils/restart-analysis.js.map +1 -0
  251. package/dist/utils/session-serialization.d.ts +118 -0
  252. package/dist/utils/session-serialization.d.ts.map +1 -0
  253. package/dist/utils/session-serialization.js +217 -0
  254. package/dist/utils/session-serialization.js.map +1 -0
  255. package/dist/utils/workflow-error-utils.d.ts +22 -0
  256. package/dist/utils/workflow-error-utils.d.ts.map +1 -0
  257. package/dist/utils/workflow-error-utils.js +45 -0
  258. package/dist/utils/workflow-error-utils.js.map +1 -0
  259. package/package.json +34 -5
  260. package/.claude/commands/subtask-planning/prp-base-create.md +0 -120
  261. package/.claude/commands/subtask-planning/prp-base-execute.md +0 -65
  262. package/.claude/commands/task-breakdown.md +0 -94
  263. package/.claude/settings.local.json +0 -9
  264. package/.claude/system_prompts/task-breakdown.md +0 -101
  265. package/CHANGELOG.md +0 -188
  266. package/PRD.md +0 -543
  267. package/PRPs/001-hierarchical-workflow-engine.md +0 -2438
  268. package/PRPs/PRDs/002-agent-prompt.md +0 -390
  269. package/PRPs/PRDs/003-agent-prompt.md +0 -943
  270. package/PRPs/PRDs/004-agent-prompt.md +0 -1136
  271. package/PRPs/PRDs/tasks-001.json +0 -492
  272. package/PRPs/README.md +0 -83
  273. package/PRPs/templates/prp_base.md +0 -222
  274. package/docs/agent.md +0 -422
  275. package/docs/prompt.md +0 -419
  276. package/docs/workflow.md +0 -600
  277. package/examples/README.md +0 -258
  278. package/examples/examples/01-basic-workflow.ts +0 -100
  279. package/examples/examples/02-decorator-options.ts +0 -217
  280. package/examples/examples/03-parent-child.ts +0 -241
  281. package/examples/examples/04-observers-debugger.ts +0 -340
  282. package/examples/examples/05-error-handling.ts +0 -387
  283. package/examples/examples/06-concurrent-tasks.ts +0 -352
  284. package/examples/examples/07-agent-loops.ts +0 -432
  285. package/examples/examples/08-sdk-features.ts +0 -667
  286. package/examples/examples/09-reflection.ts +0 -573
  287. package/examples/examples/10-introspection.ts +0 -550
  288. package/examples/examples/11-reparenting-workflows.ts +0 -269
  289. package/examples/index.ts +0 -147
  290. package/examples/utils/helpers.ts +0 -57
  291. package/package-lock.json +0 -2398
  292. package/plan/001_d3bb02af4886/TEST_RESULTS.md +0 -259
  293. package/plan/001_d3bb02af4886/backlog.json +0 -867
  294. package/plan/001_d3bb02af4886/bug_fix_tasks.json +0 -484
  295. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S1/PRP.md +0 -488
  296. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S2/PRP.md +0 -581
  297. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S3/PRP.md +0 -687
  298. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S1/PRP.md +0 -492
  299. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/PRP.md +0 -932
  300. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/concurrent_error_testing_patterns.md +0 -1109
  301. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/vitest_concurrent_testing.md +0 -802
  302. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/workflow_engine_test_references.md +0 -603
  303. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S1/PRP.md +0 -564
  304. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S3/PRP.md +0 -518
  305. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S4/PRP.md +0 -1252
  306. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/PRP.md +0 -364
  307. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/CODEBASE_INVENTORY.md +0 -114
  308. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/DECORATOR_DOCUMENTATION_PATTERNS.md +0 -205
  309. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/PRD_LOCATION_ANALYSIS.md +0 -199
  310. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/ULTRATHINK_PRP_PLAN.md +0 -134
  311. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/PRP.md +0 -495
  312. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/research/console_error_inventory.md +0 -435
  313. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S2/PRP.md +0 -506
  314. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S3/PRP.md +0 -612
  315. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/PRP.md +0 -558
  316. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/research/external_research.md +0 -788
  317. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S2/PRP.md +0 -460
  318. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S3/PRP.md +0 -454
  319. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/PRP.md +0 -520
  320. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/RECOMMENDATION.md +0 -417
  321. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/external_workflow_engines_research.md +0 -760
  322. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/security_implications_analysis.md +0 -245
  323. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S2/PRP.md +0 -792
  324. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/PRP.md +0 -535
  325. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/TEST_EXECUTION_REPORT.md +0 -190
  326. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/PRP.md +0 -654
  327. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/TEST_FIX_REPORT.md +0 -227
  328. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/KEY_FINDINGS.md +0 -345
  329. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/QUICK_REFERENCE.md +0 -193
  330. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/test_maintenance_research.md +0 -1323
  331. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/BREAKING_CHANGES_AUDIT.md +0 -1011
  332. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/PRP.md +0 -927
  333. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S2/PRP.md +0 -505
  334. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/architecture/logger_child_signature_analysis.md +0 -401
  335. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/child_implementation_research.md +0 -142
  336. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/test_patterns_research.md +0 -112
  337. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/vitest_patterns_research.md +0 -159
  338. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/PRP.md +0 -549
  339. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/VERIFICATION_REPORT.md +0 -368
  340. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/edge_case_analysis.md +0 -172
  341. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/usage_inventory.md +0 -175
  342. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S2/PRP.md +0 -696
  343. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S4/PRP.md +0 -860
  344. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/PRP.md +0 -1066
  345. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01-testing-aggregated-errors.md +0 -1103
  346. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01_typescript_error_aggregation_patterns.md +0 -789
  347. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02-error-merge-strategy-testing-guide.md +0 -1098
  348. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02_aggregate_error_patterns.md +0 -1037
  349. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03-promise-allsettled-testing-patterns.md +0 -916
  350. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03_error_merging_strategies.md +0 -1045
  351. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/04_github_stackoverflow_examples.md +0 -890
  352. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/05_comprehensive_summary.md +0 -822
  353. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/INDEX.md +0 -668
  354. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/QUICK_REFERENCE.md +0 -706
  355. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/README.md +0 -265
  356. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/RESEARCH_REPORT.md +0 -655
  357. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S4/research/vitest_testing_patterns.md +0 -1103
  358. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T3S2/PRP.md +0 -426
  359. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/PRP.md +0 -506
  360. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/QUICK_REFERENCE.md +0 -114
  361. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/RESEARCH_SUMMARY.md +0 -316
  362. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/vitest_observer_error_logging_best_practices.md +0 -754
  363. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S3/PRP.md +0 -612
  364. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/PRP.md +0 -719
  365. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/README.md +0 -215
  366. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/analysis.md +0 -765
  367. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S3/PRP.md +0 -718
  368. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/DECISION.md +0 -149
  369. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/PRP.md +0 -470
  370. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/ULTRATHINK_PLAN.md +0 -332
  371. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/codebase_workflow_name_analysis.md +0 -167
  372. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/external_best_practices.md +0 -265
  373. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/validation_patterns.md +0 -273
  374. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S1/workflow_engine_ancestry_api_research.md +0 -760
  375. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S3-PRP.md +0 -434
  376. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S1/PRP.md +0 -717
  377. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/PRP.md +0 -472
  378. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/VALIDATION_REPORT.md +0 -125
  379. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/research/ULTRATHINK_PRP_PLAN.md +0 -301
  380. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/error-logging-best-practices.md +0 -1170
  381. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/research_typescript_partial_and_overloads.md +0 -940
  382. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-quick-reference.md +0 -151
  383. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-research.md +0 -650
  384. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/prd_snapshot.md +0 -259
  385. package/plan/001_d3bb02af4886/bugfix/P1M1T1S1/PRP.md +0 -457
  386. package/plan/001_d3bb02af4886/bugfix/RESEARCH_SUMMARY.md +0 -346
  387. package/plan/001_d3bb02af4886/bugfix/architecture/codebase_structure.md +0 -311
  388. package/plan/001_d3bb02af4886/bugfix/architecture/concurrent_execution_best_practices.md +0 -1565
  389. package/plan/001_d3bb02af4886/bugfix/architecture/error_handling_patterns.md +0 -288
  390. package/plan/001_d3bb02af4886/bugfix/architecture/promise_all_analysis.md +0 -741
  391. package/plan/001_d3bb02af4886/docs/PRP/P1M1T1S4-functional-workflow-error-state-capture-test.md +0 -652
  392. package/plan/001_d3bb02af4886/docs/PRP/P1P2-PRP.md +0 -527
  393. package/plan/001_d3bb02af4886/docs/PRP/P3P4-PRP.md +0 -1388
  394. package/plan/001_d3bb02af4886/docs/PRP/P4P5-PRP.md +0 -1136
  395. package/plan/001_d3bb02af4886/docs/PRP/PRP.md +0 -527
  396. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S1-PRP.md +0 -415
  397. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S2-PRP.md +0 -378
  398. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S4-PRP.md +0 -713
  399. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M2T1S4-PRP.md +0 -370
  400. package/plan/001_d3bb02af4886/docs/PRP_P1M3T1S3.md +0 -499
  401. package/plan/001_d3bb02af4886/docs/TEST_RESULTS.md +0 -230
  402. package/plan/001_d3bb02af4886/docs/architecture/external_deps.md +0 -358
  403. package/plan/001_d3bb02af4886/docs/architecture/system_context.md +0 -242
  404. package/plan/001_d3bb02af4886/docs/bugfix/ANALYSIS_PRD_VS_IMPLEMENTATION.md +0 -1134
  405. package/plan/001_d3bb02af4886/docs/bugfix/GAP_ANALYSIS_SUMMARY.md +0 -179
  406. package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/PRP.md +0 -629
  407. package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/validation-report.md +0 -214
  408. package/plan/001_d3bb02af4886/docs/bugfix/PRP_P1M4T2S3.md +0 -629
  409. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_PRP.md +0 -529
  410. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_QUICK_REFERENCE.md +0 -142
  411. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_README.md +0 -304
  412. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_TEST_RESULTS.md +0 -558
  413. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_VALIDATION_SUMMARY.md +0 -256
  414. package/plan/001_d3bb02af4886/docs/bugfix/system_context.md +0 -346
  415. package/plan/001_d3bb02af4886/docs/bugfix-architecture/bug_analysis.md +0 -415
  416. package/plan/001_d3bb02af4886/docs/bugfix-architecture/implementation_patterns.md +0 -489
  417. package/plan/001_d3bb02af4886/docs/bugfix-architecture/system_context.md +0 -218
  418. package/plan/001_d3bb02af4886/docs/bugfix_INITIATION_SUMMARY.md +0 -380
  419. package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_PATTERNS.md +0 -1923
  420. package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_QUICK_REF.md +0 -319
  421. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/codebase-context.md +0 -115
  422. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/cycle-detection-algorithms.md +0 -134
  423. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/test-patterns.md +0 -153
  424. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/workflow-class.md +0 -132
  425. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_BEST_PRACTICES.md +0 -716
  426. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_QUICK_REF.md +0 -186
  427. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/GROUNDSWELL_DECORATOR_EXAMPLES.md +0 -604
  428. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/INDEX.md +0 -213
  429. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/codebase_structure.md +0 -30
  430. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/existing_test_pattern.md +0 -56
  431. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/getRootObservers_implementation.md +0 -53
  432. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/test_conventions.md +0 -49
  433. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/PRP.md +0 -958
  434. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/QUICK_REFERENCE.md +0 -339
  435. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/README.md +0 -305
  436. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/SUMMARY.md +0 -433
  437. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/bidirectional-tree-consistency-testing.md +0 -1574
  438. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/test-pattern-examples.md +0 -1014
  439. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_BEST_PRACTICES.md +0 -1929
  440. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_CODE_PATTERNS.md +0 -857
  441. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_INTEGRATION_GUIDE.md +0 -738
  442. package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_RESEARCH_INDEX.md +0 -424
  443. package/plan/001_d3bb02af4886/docs/research/P1P2/REFLECTION_INDEX.md +0 -291
  444. package/plan/001_d3bb02af4886/docs/research/P1P2/REFLECTION_RESEARCH_REPORT.md +0 -1342
  445. package/plan/001_d3bb02af4886/docs/research/P1P2/RESEARCH_SUMMARY.md +0 -342
  446. package/plan/001_d3bb02af4886/docs/research/P1P2/anthropic-sdk.md +0 -174
  447. package/plan/001_d3bb02af4886/docs/research/P1P2/async-local-storage.md +0 -200
  448. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-code-patterns.md +0 -1205
  449. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-decision-matrix.md +0 -421
  450. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-implementation-guide.md +0 -1341
  451. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-integration-guide.md +0 -834
  452. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-patterns.md +0 -1468
  453. package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-quick-reference.md +0 -558
  454. package/plan/001_d3bb02af4886/docs/research/P1P2/zod-schema.md +0 -152
  455. package/plan/001_d3bb02af4886/docs/research/P3P4/caching-lru.md +0 -116
  456. package/plan/001_d3bb02af4886/docs/research/P3P4/introspection-tools.md +0 -177
  457. package/plan/001_d3bb02af4886/docs/research/P3P4/reflection-patterns.md +0 -117
  458. package/plan/001_d3bb02af4886/docs/research/P4P5/RESEARCH_SUMMARY.md +0 -151
  459. package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_QUICK_REF.md +0 -376
  460. package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_RESEARCH.md +0 -1507
  461. package/plan/001_d3bb02af4886/docs/research/bugfix_typescript_patterns.md +0 -949
  462. package/plan/001_d3bb02af4886/docs/research/error-testing-research.md +0 -619
  463. package/plan/001_d3bb02af4886/docs/research/error_handling_patterns.md +0 -723
  464. package/plan/001_d3bb02af4886/docs/research/general/INTROSPECTION_RESEARCH_SUMMARY.md +0 -378
  465. package/plan/001_d3bb02af4886/docs/research/general/README-INTROSPECTION.md +0 -352
  466. package/plan/001_d3bb02af4886/docs/research/general/agent-introspection-patterns.md +0 -1085
  467. package/plan/001_d3bb02af4886/docs/research/general/introspection-security-guide.md +0 -984
  468. package/plan/001_d3bb02af4886/docs/research/general/introspection-tool-examples.md +0 -875
  469. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/PRP_TEMPLATE.md +0 -460
  470. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/QUICK_REFERENCE.md +0 -324
  471. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/README.md +0 -175
  472. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/RESEARCH_REPORT.md +0 -499
  473. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/SUMMARY.md +0 -163
  474. package/plan/001_d3bb02af4886/prd_snapshot.md +0 -543
  475. package/plan/bugfix/BUG_FIX_SUMMARY.md +0 -961
  476. package/scripts/generate-llms-full.ts +0 -206
  477. package/src/__tests__/adversarial/attachChild-performance.test.ts +0 -216
  478. package/src/__tests__/adversarial/circular-reference.test.ts +0 -101
  479. package/src/__tests__/adversarial/complex-circular-reference.test.ts +0 -139
  480. package/src/__tests__/adversarial/concurrent-task-failures.test.ts +0 -571
  481. package/src/__tests__/adversarial/deep-analysis.test.ts +0 -729
  482. package/src/__tests__/adversarial/deep-hierarchy-stress.test.ts +0 -213
  483. package/src/__tests__/adversarial/e2e-prd-validation.test.ts +0 -448
  484. package/src/__tests__/adversarial/edge-case.test.ts +0 -703
  485. package/src/__tests__/adversarial/error-merge-strategy.test.ts +0 -760
  486. package/src/__tests__/adversarial/incremental-performance.test.ts +0 -140
  487. package/src/__tests__/adversarial/node-map-update-benchmarks.test.ts +0 -457
  488. package/src/__tests__/adversarial/observer-propagation.test.ts +0 -487
  489. package/src/__tests__/adversarial/parent-validation.test.ts +0 -143
  490. package/src/__tests__/adversarial/prd-12-2-compliance.test.ts +0 -611
  491. package/src/__tests__/adversarial/prd-compliance.test.ts +0 -731
  492. package/src/__tests__/compatibility/backward-compatibility.test.ts +0 -1572
  493. package/src/__tests__/helpers/index.ts +0 -18
  494. package/src/__tests__/helpers/tree-verification.ts +0 -257
  495. package/src/__tests__/integration/agent-workflow.test.ts +0 -256
  496. package/src/__tests__/integration/bidirectional-consistency.test.ts +0 -847
  497. package/src/__tests__/integration/observer-logging.test.ts +0 -643
  498. package/src/__tests__/integration/tree-mirroring.test.ts +0 -151
  499. package/src/__tests__/integration/workflow-reparenting.test.ts +0 -303
  500. package/src/__tests__/unit/agent.test.ts +0 -169
  501. package/src/__tests__/unit/cache-key.test.ts +0 -182
  502. package/src/__tests__/unit/cache.test.ts +0 -172
  503. package/src/__tests__/unit/context.test.ts +0 -217
  504. package/src/__tests__/unit/decorators.test.ts +0 -100
  505. package/src/__tests__/unit/introspection-tools.test.ts +0 -277
  506. package/src/__tests__/unit/logger.test.ts +0 -293
  507. package/src/__tests__/unit/observable.test.ts +0 -321
  508. package/src/__tests__/unit/prompt.test.ts +0 -135
  509. package/src/__tests__/unit/reflection.test.ts +0 -210
  510. package/src/__tests__/unit/tree-debugger-incremental.test.ts +0 -170
  511. package/src/__tests__/unit/tree-debugger.test.ts +0 -85
  512. package/src/__tests__/unit/utils/workflow-error-utils.test.ts +0 -209
  513. package/src/__tests__/unit/workflow-detachChild.test.ts +0 -100
  514. package/src/__tests__/unit/workflow-emitEvent-childDetached.test.ts +0 -153
  515. package/src/__tests__/unit/workflow-isDescendantOf.test.ts +0 -180
  516. package/src/__tests__/unit/workflow.test.ts +0 -357
  517. package/src/cache/cache-key.ts +0 -244
  518. package/src/cache/cache.ts +0 -236
  519. package/src/core/agent.ts +0 -593
  520. package/src/core/event-tree.ts +0 -260
  521. package/src/core/logger.ts +0 -112
  522. package/src/core/mcp-handler.ts +0 -184
  523. package/src/core/prompt.ts +0 -150
  524. package/src/core/workflow-context.ts +0 -351
  525. package/src/core/workflow.ts +0 -540
  526. package/src/debugger/tree-debugger.ts +0 -255
  527. package/src/decorators/observed-state.ts +0 -95
  528. package/src/decorators/step.ts +0 -139
  529. package/src/decorators/task.ts +0 -159
  530. package/src/examples/tdd-orchestrator.ts +0 -65
  531. package/src/examples/test-cycle-workflow.ts +0 -64
  532. package/src/index.ts +0 -142
  533. package/src/reflection/reflection.ts +0 -407
  534. package/src/tools/index.ts +0 -36
  535. package/src/tools/introspection.ts +0 -464
  536. package/src/types/agent.ts +0 -90
  537. package/src/types/decorators.ts +0 -32
  538. package/src/types/error-strategy.ts +0 -13
  539. package/src/types/error.ts +0 -20
  540. package/src/types/events.ts +0 -75
  541. package/src/types/index.ts +0 -55
  542. package/src/types/logging.ts +0 -24
  543. package/src/types/observer.ts +0 -18
  544. package/src/types/prompt.ts +0 -40
  545. package/src/types/reflection.ts +0 -117
  546. package/src/types/sdk-primitives.ts +0 -128
  547. package/src/types/workflow-context.ts +0 -163
  548. package/src/types/workflow.ts +0 -37
  549. package/src/utils/id.ts +0 -11
  550. package/src/utils/index.ts +0 -4
  551. package/src/utils/observable.ts +0 -106
  552. package/src/utils/workflow-error-utils.ts +0 -56
  553. package/tsconfig.json +0 -22
  554. package/vitest.config.ts +0 -16
@@ -1,867 +0,0 @@
1
- {
2
- "backlog": [
3
- {
4
- "type": "Phase",
5
- "id": "P1",
6
- "title": "Foundation Layer - Agent & Prompt Core",
7
- "status": "Completed",
8
- "description": "Implement the foundational Agent and Prompt classes with full Anthropic SDK integration, establishing the core primitives for the orchestration framework.",
9
- "milestones": [
10
- {
11
- "type": "Milestone",
12
- "id": "P1.M1",
13
- "title": "Project Setup & Dependencies",
14
- "status": "Completed",
15
- "description": "Configure project dependencies and type system extensions for Agent/Prompt layer.",
16
- "tasks": [
17
- {
18
- "type": "Task",
19
- "id": "P1.M1.T1",
20
- "title": "Add Required Dependencies",
21
- "status": "Completed",
22
- "description": "Add Anthropic SDK and Zod to package.json with correct version constraints.",
23
- "subtasks": [
24
- {
25
- "type": "Subtask",
26
- "id": "P1.M1.T1.S1",
27
- "title": "Update package.json with dependencies",
28
- "status": "Completed",
29
- "story_points": 0.5,
30
- "dependencies": [],
31
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on external_deps.md, use @anthropic-ai/sdk@^0.71.1 and zod@^3.23.0.\n2. INPUT: Current ./package.json content.\n3. LOGIC: Add dependencies section (currently only devDependencies exist). Add @anthropic-ai/sdk and zod. Verify engines.node>=18.\n4. OUTPUT: Updated package.json with dependencies block. Run npm install to verify."
32
- }
33
- ]
34
- },
35
- {
36
- "type": "Task",
37
- "id": "P1.M1.T2",
38
- "title": "Define Agent/Prompt Type System",
39
- "status": "Completed",
40
- "description": "Create TypeScript type definitions for Agent and Prompt configuration matching PRD Section 5 and 6.",
41
- "subtasks": [
42
- {
43
- "type": "Subtask",
44
- "id": "P1.M1.T2.S1",
45
- "title": "Create AgentConfig and PromptOverrides types",
46
- "status": "Completed",
47
- "story_points": 1,
48
- "dependencies": [
49
- "P1.M1.T1.S1"
50
- ],
51
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 5.1 and 5.3, AgentConfig maps 1:1 to Anthropic SDK properties.\n2. INPUT: Anthropic SDK types from @anthropic-ai/sdk.\n3. LOGIC: Create /src/types/agent.ts with AgentConfig interface: name?, system?, tools?, mcps?, skills?, hooks?, env?, enableReflection?, enableCache?. Create PromptOverrides interface extending AgentConfig with temperature?, maxTokens?, stop?, disableCache?.\n4. OUTPUT: Export types from /src/types/index.ts for consumption by Agent class in P1.M2.T1.S1."
52
- },
53
- {
54
- "type": "Subtask",
55
- "id": "P1.M1.T2.S2",
56
- "title": "Create PromptConfig and Prompt types",
57
- "status": "Completed",
58
- "story_points": 1,
59
- "dependencies": [
60
- "P1.M1.T2.S1"
61
- ],
62
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 6.1-6.2, Prompt<T> uses ZodSchema<T> for responseFormat.\n2. INPUT: Zod types from 'zod', AgentConfig types from P1.M1.T2.S1.\n3. LOGIC: Create /src/types/prompt.ts with PromptConfig<T> interface: user (string), data? (Record<string,any>), responseFormat (z.ZodType<T>), plus all override fields from AgentConfig. Define Prompt<T> class type with readonly fields.\n4. OUTPUT: Export from /src/types/index.ts for consumption by Prompt class in P1.M2.T2.S1."
63
- },
64
- {
65
- "type": "Subtask",
66
- "id": "P1.M1.T2.S3",
67
- "title": "Create Tool, MCPServer, Skill, AgentHooks types",
68
- "status": "Completed",
69
- "story_points": 1,
70
- "dependencies": [
71
- "P1.M1.T1.S1"
72
- ],
73
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on external_deps.md Section 4-6, these types must pass through to Anthropic SDK unchanged.\n2. INPUT: Anthropic SDK Tool interface, MCP patterns from research.\n3. LOGIC: Create /src/types/sdk-primitives.ts. Define Tool interface (name, description, input_schema). Define MCPServer interface (name, version?, transport, command?, args?, tools?). Define Skill interface (name, path). Define AgentHooks interface (PreToolUse?, PostToolUse?, SessionStart?, SessionEnd? arrays of HookHandler).\n4. OUTPUT: Export from /src/types/index.ts for use in AgentConfig and PromptConfig."
74
- }
75
- ]
76
- }
77
- ]
78
- },
79
- {
80
- "type": "Milestone",
81
- "id": "P1.M2",
82
- "title": "Agent Class Implementation",
83
- "status": "Completed",
84
- "description": "Implement the Agent class as a lightweight wrapper around Anthropic SDK with prompt execution capability.",
85
- "tasks": [
86
- {
87
- "type": "Task",
88
- "id": "P1.M2.T1",
89
- "title": "Core Agent Class",
90
- "status": "Completed",
91
- "description": "Implement Agent class with constructor, prompt(), and reflect() methods per PRD Section 5.2.",
92
- "subtasks": [
93
- {
94
- "type": "Subtask",
95
- "id": "P1.M2.T1.S1",
96
- "title": "Implement Agent constructor and config storage",
97
- "status": "Completed",
98
- "story_points": 1,
99
- "dependencies": [
100
- "P1.M1.T2.S1",
101
- "P1.M1.T2.S3"
102
- ],
103
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 5.1-5.2, Agent stores config and instantiates Anthropic client.\n2. INPUT: AgentConfig type from P1.M1.T2.S1. Anthropic client from @anthropic-ai/sdk.\n3. LOGIC: Create /src/core/agent.ts. Agent class stores config (name, system, tools, mcps, skills, hooks, env, enableReflection, enableCache). Create private Anthropic client instance. Do NOT extend Workflow (per system_context.md Decision 1).\n4. OUTPUT: Agent class exportable from /src/core/index.ts for prompt() implementation in P1.M2.T1.S2."
104
- },
105
- {
106
- "type": "Subtask",
107
- "id": "P1.M2.T1.S2",
108
- "title": "Implement Agent.prompt() method",
109
- "status": "Completed",
110
- "story_points": 2,
111
- "dependencies": [
112
- "P1.M2.T1.S1",
113
- "P1.M2.T2.S1"
114
- ],
115
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 5.2, prompt() merges config with Prompt overrides and executes via Anthropic SDK.\n2. INPUT: Agent instance with config, Prompt<T> instance from P1.M2.T2.S1, optional PromptOverrides.\n3. LOGIC: Merge precedence: Prompt overrides > PromptOverrides param > AgentConfig defaults. Build Anthropic messages.create() params: model, max_tokens, messages (user from Prompt), system, tools, temperature. Execute API call. Parse response content. Validate with prompt.responseFormat.parse().\n4. OUTPUT: Return Promise<T> with validated response. Throw on validation failure. For use by Workflow steps and reflection in P1.M2.T1.S3."
116
- },
117
- {
118
- "type": "Subtask",
119
- "id": "P1.M2.T1.S3",
120
- "title": "Implement Agent.reflect() method",
121
- "status": "Completed",
122
- "story_points": 1,
123
- "dependencies": [
124
- "P1.M2.T1.S2"
125
- ],
126
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 5.2, reflect() is like prompt() but with reflection context.\n2. INPUT: Agent.prompt() implementation from P1.M2.T1.S2.\n3. LOGIC: Add reflection system prompt prefix if enableReflection is true. Call internal prompt execution with reflection flag. Track reflection in event tree (prepare for P2.M1).\n4. OUTPUT: Return Promise<T> with reflection-aware response. Method signature identical to prompt() for API consistency."
127
- }
128
- ]
129
- },
130
- {
131
- "type": "Task",
132
- "id": "P1.M2.T2",
133
- "title": "Prompt Class Implementation",
134
- "status": "Completed",
135
- "description": "Implement immutable Prompt<T> class per PRD Section 6.",
136
- "subtasks": [
137
- {
138
- "type": "Subtask",
139
- "id": "P1.M2.T2.S1",
140
- "title": "Implement Prompt<T> class",
141
- "status": "Completed",
142
- "story_points": 1,
143
- "dependencies": [
144
- "P1.M1.T2.S2"
145
- ],
146
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 6.1-6.2, Prompt is immutable with readonly fields.\n2. INPUT: PromptConfig<T> type from P1.M1.T2.S2. Zod schema types.\n3. LOGIC: Create /src/core/prompt.ts. Prompt<T> class with constructor(config: PromptConfig<T>). All fields readonly: user, data, responseFormat, systemOverride?, toolsOverride?, mcpsOverride?, skillsOverride?, hooksOverride?, enableReflection?. Add validateResponse(data: unknown): T method using this.responseFormat.parse().\n4. OUTPUT: Export Prompt class from /src/core/index.ts. Consumed by Agent.prompt() in P1.M2.T1.S2."
147
- }
148
- ]
149
- },
150
- {
151
- "type": "Task",
152
- "id": "P1.M2.T3",
153
- "title": "SDK Property Pass-Through",
154
- "status": "Completed",
155
- "description": "Ensure tools, MCPs, skills, hooks pass through to Anthropic SDK unchanged.",
156
- "subtasks": [
157
- {
158
- "type": "Subtask",
159
- "id": "P1.M2.T3.S1",
160
- "title": "Implement tools array pass-through",
161
- "status": "Completed",
162
- "story_points": 1,
163
- "dependencies": [
164
- "P1.M2.T1.S2"
165
- ],
166
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 5.1 Rule 2, tools pass through unchanged to SDK.\n2. INPUT: Tool[] from AgentConfig/PromptOverrides. Anthropic messages.create() params.\n3. LOGIC: In Agent.prompt() tool handling: If prompt.toolsOverride exists, use it. Else if overrides.tools exists, use it. Else use this.config.tools. Pass directly to messages.create({tools: mergedTools}). Handle tool_use stop_reason with tool execution loop.\n4. OUTPUT: Tools available to Claude during prompt execution. Tool use responses handled. For tool event emission in P2.M1.T1.S2."
167
- },
168
- {
169
- "type": "Subtask",
170
- "id": "P1.M2.T3.S2",
171
- "title": "Implement MCP server pass-through",
172
- "status": "Complete",
173
- "story_points": 2,
174
- "dependencies": [
175
- "P1.M2.T3.S1"
176
- ],
177
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on external_deps.md Section 4, MCP servers can be in-process or stdio.\n2. INPUT: MCPServer[] from config. In-process tool definitions.\n3. LOGIC: Create /src/core/mcp-handler.ts. For inprocess transport: register tools directly. For stdio transport: spawn subprocess, communicate via stdio. Convert MCP tool responses to Anthropic tool format. Merge MCP tools with regular tools before API call.\n4. OUTPUT: MCP tools available in tool list. MCP events captured for event tree in P2.M1.T1.S3."
178
- },
179
- {
180
- "type": "Subtask",
181
- "id": "P1.M2.T3.S3",
182
- "title": "Implement hooks pass-through",
183
- "status": "Complete",
184
- "story_points": 1,
185
- "dependencies": [
186
- "P1.M2.T3.S1"
187
- ],
188
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on external_deps.md Section 5, hooks are passed unchanged. No custom hook types.\n2. INPUT: AgentHooks from config/overrides.\n3. LOGIC: In Agent.prompt() lifecycle: Before tool use - call PreToolUse hooks. After tool use - call PostToolUse hooks. At session boundaries - call SessionStart/SessionEnd. Pass hook return values to SDK as-is.\n4. OUTPUT: Hook execution integrated into prompt flow. Hook decisions logged for observability."
189
- },
190
- {
191
- "type": "Subtask",
192
- "id": "P1.M2.T3.S4",
193
- "title": "Implement skills and env pass-through",
194
- "status": "Complete",
195
- "story_points": 1,
196
- "dependencies": [
197
- "P1.M2.T1.S2"
198
- ],
199
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on external_deps.md Section 6, skills are filesystem-based. Env vars pass unchanged.\n2. INPUT: Skill[] and env Record<string,string> from config.\n3. LOGIC: Skills: Load SKILL.md content from skill.path, inject into system prompt. Env: Set environment variables before API call (process.env merge). Restore after call. Do not persist env changes.\n4. OUTPUT: Skills context available to Claude. Environment isolated per-prompt."
200
- }
201
- ]
202
- }
203
- ]
204
- }
205
- ]
206
- },
207
- {
208
- "type": "Phase",
209
- "id": "P2",
210
- "title": "Hierarchy & Event System Integration",
211
- "status": "Complete",
212
- "description": "Integrate Agent/Prompt execution into the existing workflow hierarchy with automatic mounting and full event capture.",
213
- "milestones": [
214
- {
215
- "type": "Milestone",
216
- "id": "P2.M1",
217
- "title": "Event Tree Extension",
218
- "status": "Complete",
219
- "description": "Extend WorkflowEvent union to capture agent, prompt, tool, and MCP events with automatic tree assembly.",
220
- "tasks": [
221
- {
222
- "type": "Task",
223
- "id": "P2.M1.T1",
224
- "title": "Extend Event Types",
225
- "status": "Complete",
226
- "description": "Add new event types for agent and prompt activities per PRD Section 8.",
227
- "subtasks": [
228
- {
229
- "type": "Subtask",
230
- "id": "P2.M1.T1.S1",
231
- "title": "Add agent event types to WorkflowEvent union",
232
- "status": "Complete",
233
- "story_points": 1,
234
- "dependencies": [
235
- "P1.M2.T1.S2"
236
- ],
237
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on system_context.md, events propagate to root observers via existing pattern.\n2. INPUT: Current WorkflowEvent union in /src/types/events.ts.\n3. LOGIC: Extend union with: agentPromptStart {type, agentId, promptId, node}, agentPromptEnd {type, agentId, promptId, node, duration, tokenUsage}, toolInvocation {type, toolName, input, output, duration, node}, mcpEvent {type, serverName, event, node}, reflectionStart {type, level, node}, reflectionEnd {type, level, success, node}.\n4. OUTPUT: Updated WorkflowEvent type. Observers receive new event types automatically."
238
- },
239
- {
240
- "type": "Subtask",
241
- "id": "P2.M1.T1.S2",
242
- "title": "Emit agentPromptStart/End events from Agent.prompt()",
243
- "status": "Researching",
244
- "story_points": 1,
245
- "dependencies": [
246
- "P2.M1.T1.S1"
247
- ],
248
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on /src/core/workflow.ts emitEvent pattern.\n2. INPUT: Agent.prompt() implementation, emitEvent pattern from Workflow class.\n3. LOGIC: Modify Agent to accept optional WorkflowNode context (injected when called within step). Emit agentPromptStart before API call. Track duration. Emit agentPromptEnd after response with tokenUsage from response.usage. If no workflow context, events are standalone (logged but not in tree).\n4. OUTPUT: Agent events captured in workflow tree when executed in step context."
249
- },
250
- {
251
- "type": "Subtask",
252
- "id": "P2.M1.T1.S3",
253
- "title": "Emit toolInvocation and mcpEvent events",
254
- "status": "Researching",
255
- "story_points": 1,
256
- "dependencies": [
257
- "P2.M1.T1.S2",
258
- "P1.M2.T3.S1",
259
- "P1.M2.T3.S2"
260
- ],
261
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 8.1, every tool/MCP event must be captured.\n2. INPUT: Tool execution loop in Agent.prompt(), MCP handler from P1.M2.T3.S2.\n3. LOGIC: In tool execution: emit toolInvocation with toolName, input (redact sensitive), output (truncate if large), duration. In MCP handler: emit mcpEvent for each MCP interaction. Events nested under current agentPrompt node.\n4. OUTPUT: Complete tool/MCP trace in event tree. Queryable via EventTreeHandle."
262
- }
263
- ]
264
- },
265
- {
266
- "type": "Task",
267
- "id": "P2.M1.T2",
268
- "title": "Automatic Hierarchy Mounting",
269
- "status": "Researching",
270
- "description": "Implement zero-plumbing mounting per PRD Section 7.",
271
- "subtasks": [
272
- {
273
- "type": "Subtask",
274
- "id": "P2.M1.T2.S1",
275
- "title": "Create AgentExecutionContext for hierarchy tracking",
276
- "status": "Researching",
277
- "story_points": 1,
278
- "dependencies": [
279
- "P2.M1.T1.S2"
280
- ],
281
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 7.1 and system_context.md, mounting must be automatic.\n2. INPUT: Current WorkflowNode structure, Agent class.\n3. LOGIC: Create /src/core/context.ts. AgentExecutionContext holds current workflow node reference. Use AsyncLocalStorage to propagate context through async calls. When agent.prompt() called, check AsyncLocalStorage for current node. If found, attach events as children.\n4. OUTPUT: Context automatically available in nested calls. No manual plumbing required."
282
- },
283
- {
284
- "type": "Subtask",
285
- "id": "P2.M1.T2.S2",
286
- "title": "Integrate context into @Step decorator",
287
- "status": "Researching",
288
- "story_points": 1,
289
- "dependencies": [
290
- "P2.M1.T2.S1"
291
- ],
292
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on /src/decorators/step.ts pattern.\n2. INPUT: @Step decorator implementation, AgentExecutionContext from P2.M1.T2.S1.\n3. LOGIC: Modify @Step to create AgentExecutionContext with current node before executing step function. Use AsyncLocalStorage.run() to scope context. Any agent.prompt() inside step automatically inherits context.\n4. OUTPUT: Steps provide automatic context to agent calls. Zero changes needed in user code."
293
- }
294
- ]
295
- }
296
- ]
297
- },
298
- {
299
- "type": "Milestone",
300
- "id": "P2.M2",
301
- "title": "WorkflowContext Implementation",
302
- "status": "Researching",
303
- "description": "Implement WorkflowContext with step() and spawnWorkflow() per PRD Section 4.3.",
304
- "tasks": [
305
- {
306
- "type": "Task",
307
- "id": "P2.M2.T1",
308
- "title": "WorkflowContext Interface",
309
- "status": "Researching",
310
- "description": "Create WorkflowContext providing step() callable anywhere in JS control flow.",
311
- "subtasks": [
312
- {
313
- "type": "Subtask",
314
- "id": "P2.M2.T1.S1",
315
- "title": "Define WorkflowContext interface and type",
316
- "status": "Researching",
317
- "story_points": 1,
318
- "dependencies": [
319
- "P2.M1.T2.S1"
320
- ],
321
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 4.3 interface definition.\n2. INPUT: PRD WorkflowContext interface spec.\n3. LOGIC: Create /src/types/workflow-context.ts. Define interface: workflowId: string, parentWorkflowId?: string, step(name: string, fn: () => Promise<any>): Promise<any>, spawnWorkflow(wf: Workflow): Promise<any>, eventTree: EventTreeHandle, reflection: ReflectionAPI. Export from types/index.ts.\n4. OUTPUT: Type available for WorkflowContext implementation in P2.M2.T1.S2."
322
- },
323
- {
324
- "type": "Subtask",
325
- "id": "P2.M2.T1.S2",
326
- "title": "Implement WorkflowContext class",
327
- "status": "Researching",
328
- "story_points": 2,
329
- "dependencies": [
330
- "P2.M2.T1.S1",
331
- "P2.M1.T2.S1"
332
- ],
333
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 4.3 requirements.\n2. INPUT: WorkflowContext interface, AgentExecutionContext, Workflow class.\n3. LOGIC: Create /src/core/workflow-context.ts. Constructor takes Workflow instance. step() creates step node, sets AgentExecutionContext, executes fn(), captures result/error, emits stepStart/stepEnd. spawnWorkflow() attaches child workflow, runs it, returns result. eventTree getter returns EventTreeHandle for current workflow.\n4. OUTPUT: WorkflowContext usable in new Workflow constructor pattern. For Workflow class update in P2.M2.T1.S3."
334
- },
335
- {
336
- "type": "Subtask",
337
- "id": "P2.M2.T1.S3",
338
- "title": "Update Workflow class to use executor pattern",
339
- "status": "Researching",
340
- "story_points": 2,
341
- "dependencies": [
342
- "P2.M2.T1.S2"
343
- ],
344
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 4.2 Workflow constructor signature.\n2. INPUT: Current Workflow abstract class in /src/core/workflow.ts, WorkflowContext from P2.M2.T1.S2.\n3. LOGIC: Add optional executor function to Workflow: constructor(config: WorkflowConfig, executor?: (ctx: WorkflowContext) => Promise<any>). In run(): if executor provided, create WorkflowContext, call executor(ctx). Keep abstract run() support for class-based workflows (backward compat).\n4. OUTPUT: Both patterns work: class-based (extends Workflow) and functional (new Workflow({}, async (ctx) => {...})). Backward compatible."
345
- }
346
- ]
347
- },
348
- {
349
- "type": "Task",
350
- "id": "P2.M2.T2",
351
- "title": "EventTreeHandle Implementation",
352
- "status": "Researching",
353
- "description": "Implement queryable event tree API per PRD Section 8.3.",
354
- "subtasks": [
355
- {
356
- "type": "Subtask",
357
- "id": "P2.M2.T2.S1",
358
- "title": "Implement EventTreeHandle interface",
359
- "status": "Researching",
360
- "story_points": 1,
361
- "dependencies": [
362
- "P2.M1.T1.S1"
363
- ],
364
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 8.3 interface spec.\n2. INPUT: EventNode type (extend from WorkflowNode), existing WorkflowTreeDebugger patterns.\n3. LOGIC: Create /src/core/event-tree.ts. EventTreeHandle class with: root getter, getNode(id): EventNode | undefined, getChildren(id): EventNode[], getAncestors(id): EventNode[], toJSON(): EventNode. Use existing node.children traversal patterns from tree-debugger.ts.\n4. OUTPUT: EventTreeHandle available via WorkflowContext.eventTree. Enables runtime tree inspection."
365
- }
366
- ]
367
- }
368
- ]
369
- }
370
- ]
371
- },
372
- {
373
- "type": "Phase",
374
- "id": "P3",
375
- "title": "Caching & Reflection Systems",
376
- "status": "Complete",
377
- "description": "Implement deterministic caching layer and multi-level reflection support.",
378
- "milestones": [
379
- {
380
- "type": "Milestone",
381
- "id": "P3.M1",
382
- "title": "Cache Implementation",
383
- "status": "Complete",
384
- "description": "Implement SHA-256 cache key generation and LRU cache per PRD Section 9.",
385
- "tasks": [
386
- {
387
- "type": "Task",
388
- "id": "P3.M1.T1",
389
- "title": "Cache Key Generation",
390
- "status": "Complete",
391
- "description": "Implement deterministic SHA-256 cache key from prompt inputs.",
392
- "subtasks": [
393
- {
394
- "type": "Subtask",
395
- "id": "P3.M1.T1.S1",
396
- "title": "Implement cache key generator",
397
- "status": "Complete",
398
- "story_points": 1,
399
- "dependencies": [
400
- "P1.M2.T2.S1"
401
- ],
402
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 9.1 and external_deps.md Section 3.\n2. INPUT: Prompt instance, resolved config (merged agent + overrides).\n3. LOGIC: Create /src/cache/cache-key.ts. Function generateCacheKey(inputs: CacheKeyInputs): string. Use crypto.createHash('sha256'). Deterministic JSON: sort keys, include user, data, system, model, temperature, tools (names sorted), mcps (names sorted), skills (names sorted), schema hash (from responseFormat._def). Return hex digest.\n4. OUTPUT: Consistent cache key for identical inputs. For cache lookup in P3.M1.T2.S1."
403
- },
404
- {
405
- "type": "Subtask",
406
- "id": "P3.M1.T1.S2",
407
- "title": "Implement schema version hashing",
408
- "status": "Complete",
409
- "story_points": 1,
410
- "dependencies": [
411
- "P3.M1.T1.S1"
412
- ],
413
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 9.1 schema version/hash requirement.\n2. INPUT: ZodSchema from Prompt.responseFormat.\n3. LOGIC: In cache-key.ts, add getSchemaHash(schema: z.ZodType): string. Serialize schema._def to stable JSON. Hash with SHA-256. Include in cache key generation. Handle nested schemas recursively.\n4. OUTPUT: Schema changes invalidate cache automatically. Different response shapes never collide."
414
- }
415
- ]
416
- },
417
- {
418
- "type": "Task",
419
- "id": "P3.M1.T2",
420
- "title": "LRU Cache Implementation",
421
- "status": "Complete",
422
- "description": "Implement in-memory LRU cache with bust API per PRD Section 9.2.",
423
- "subtasks": [
424
- {
425
- "type": "Subtask",
426
- "id": "P3.M1.T2.S1",
427
- "title": "Implement Cache class with LRU eviction",
428
- "status": "Complete",
429
- "story_points": 2,
430
- "dependencies": [
431
- "P3.M1.T1.S1"
432
- ],
433
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 9.2 Cache API.\n2. INPUT: Cache interface from PRD.\n3. LOGIC: Create /src/cache/cache.ts. Cache class with Map<string, {value, timestamp, accessOrder}>. Methods: get(key): Promise<any | undefined>, set(key, value): Promise<void>, bust(key): Promise<void>, bustPrefix(prefix): Promise<void>. LRU eviction: track access order, evict least recent when size > maxSize (default 1000 entries). Optional TTL support.\n4. OUTPUT: Default cache singleton exportable. Agent checks cache before API call in P3.M1.T2.S2."
434
- },
435
- {
436
- "type": "Subtask",
437
- "id": "P3.M1.T2.S2",
438
- "title": "Integrate cache into Agent.prompt()",
439
- "status": "Complete",
440
- "story_points": 1,
441
- "dependencies": [
442
- "P3.M1.T2.S1",
443
- "P1.M2.T1.S2"
444
- ],
445
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 5.1 enableCache and PromptOverrides.disableCache.\n2. INPUT: Agent.prompt() implementation, Cache class, generateCacheKey function.\n3. LOGIC: In Agent.prompt(): If this.config.enableCache && !overrides?.disableCache: generate key, check cache.get(key). If hit, return cached value (skip API). If miss, call API, cache.set(key, response). Log cache hit/miss in events.\n4. OUTPUT: Cached responses returned when available. API calls reduced for repeated prompts."
446
- }
447
- ]
448
- }
449
- ]
450
- },
451
- {
452
- "type": "Milestone",
453
- "id": "P3.M2",
454
- "title": "Reflection System",
455
- "status": "Complete",
456
- "description": "Implement reflection at Workflow, Agent, and Prompt levels per PRD Section 4.4 and related sections.",
457
- "tasks": [
458
- {
459
- "type": "Task",
460
- "id": "P3.M2.T1",
461
- "title": "ReflectionAPI Implementation",
462
- "status": "Complete",
463
- "description": "Create unified ReflectionAPI for all three levels.",
464
- "subtasks": [
465
- {
466
- "type": "Subtask",
467
- "id": "P3.M2.T1.S1",
468
- "title": "Define ReflectionAPI interface",
469
- "status": "Complete",
470
- "story_points": 1,
471
- "dependencies": [
472
- "P2.M2.T1.S1"
473
- ],
474
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 4.4 and system_context.md.\n2. INPUT: WorkflowContext requirements, enableReflection flags.\n3. LOGIC: Create /src/types/reflection.ts. ReflectionAPI interface: enabled: boolean, reflect(error: Error, context: ReflectionContext): Promise<ReflectionResult>, getReflectionHistory(): ReflectionEntry[]. ReflectionContext: level ('workflow' | 'agent' | 'prompt'), failedNode, previousAttempts. ReflectionResult: shouldRetry, revisedPrompt?, revisedConfig?.\n4. OUTPUT: Type available for implementation in P3.M2.T1.S2."
475
- },
476
- {
477
- "type": "Subtask",
478
- "id": "P3.M2.T1.S2",
479
- "title": "Implement Reflection class",
480
- "status": "Complete",
481
- "story_points": 2,
482
- "dependencies": [
483
- "P3.M2.T1.S1",
484
- "P1.M2.T1.S3"
485
- ],
486
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 4.4 workflow-level reflection on step failure.\n2. INPUT: ReflectionAPI interface, Agent.reflect() method.\n3. LOGIC: Create /src/reflection/reflection.ts. Reflection class implements ReflectionAPI. reflect() method: create reflection prompt with error context + state snapshot + prior attempts, call Agent.reflect(), parse shouldRetry decision. Emit reflectionStart/reflectionEnd events. Store history for getReflectionHistory().\n4. OUTPUT: Reflection available via WorkflowContext.reflection. Auto-triggers on step failure if enabled."
487
- },
488
- {
489
- "type": "Subtask",
490
- "id": "P3.M2.T1.S3",
491
- "title": "Wire reflection into step() and Agent.prompt()",
492
- "status": "Complete",
493
- "story_points": 1,
494
- "dependencies": [
495
- "P3.M2.T1.S2",
496
- "P2.M2.T1.S2"
497
- ],
498
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 4.4 auto-trigger on failure.\n2. INPUT: WorkflowContext.step(), Agent.prompt(), Reflection class.\n3. LOGIC: In step(): catch errors, if reflection.enabled call reflection.reflect(error, context). If shouldRetry, re-execute step with revised config. Max retries configurable. In Agent.prompt(): if prompt.enableReflection or agent.enableReflection, wrap with reflection try/retry loop.\n4. OUTPUT: Automatic reflection on failures at all levels. Events captured for observability."
499
- }
500
- ]
501
- }
502
- ]
503
- }
504
- ]
505
- },
506
- {
507
- "type": "Phase",
508
- "id": "P4",
509
- "title": "Dynamic Behavior & Introspection",
510
- "status": "Completed",
511
- "description": "Enable dynamic workflow/agent/prompt creation and provide standard introspection tools for agents.",
512
- "milestones": [
513
- {
514
- "type": "Milestone",
515
- "id": "P4.M1",
516
- "title": "Dynamic Entity Creation",
517
- "status": "Completed",
518
- "description": "Enable runtime creation and attachment of workflows, agents, and prompts per PRD Section 10.",
519
- "tasks": [
520
- {
521
- "type": "Task",
522
- "id": "P4.M1.T1",
523
- "title": "Dynamic Workflow Spawning",
524
- "status": "Completed",
525
- "description": "Allow agents to create and spawn workflows dynamically.",
526
- "subtasks": [
527
- {
528
- "type": "Subtask",
529
- "id": "P4.M1.T1.S1",
530
- "title": "Implement dynamic workflow factory",
531
- "status": "Completed",
532
- "story_points": 1,
533
- "dependencies": [
534
- "P2.M2.T1.S3"
535
- ],
536
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 10.1, agents create workflows via constructors.\n2. INPUT: Workflow class with executor pattern from P2.M2.T1.S3.\n3. LOGIC: Create /src/core/factory.ts. Export createWorkflow(config, executor): Workflow that returns new Workflow(config, executor). Workflow auto-attaches to current context via AgentExecutionContext. No additional plumbing. Factory is convenience, direct constructor works too.\n4. OUTPUT: Agents can dynamically create workflows that attach to hierarchy automatically."
537
- },
538
- {
539
- "type": "Subtask",
540
- "id": "P4.M1.T1.S2",
541
- "title": "Implement dynamic agent factory",
542
- "status": "Completed",
543
- "story_points": 0.5,
544
- "dependencies": [
545
- "P1.M2.T1.S1"
546
- ],
547
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 10.1.\n2. INPUT: Agent class from P1.M2.T1.S1.\n3. LOGIC: In /src/core/factory.ts, export createAgent(config): Agent that returns new Agent(config). Convenience wrapper. Agent instances are lightweight, stateless wrappers.\n4. OUTPUT: Agents can spawn other agents dynamically. No special handling needed."
548
- },
549
- {
550
- "type": "Subtask",
551
- "id": "P4.M1.T1.S3",
552
- "title": "Implement dynamic prompt factory",
553
- "status": "Completed",
554
- "story_points": 0.5,
555
- "dependencies": [
556
- "P1.M2.T2.S1"
557
- ],
558
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 10.1.\n2. INPUT: Prompt class from P1.M2.T2.S1.\n3. LOGIC: In /src/core/factory.ts, export createPrompt<T>(config): Prompt<T> that returns new Prompt(config). Convenience wrapper for functional style.\n4. OUTPUT: Prompts can be created dynamically at runtime."
559
- }
560
- ]
561
- },
562
- {
563
- "type": "Task",
564
- "id": "P4.M1.T2",
565
- "title": "Dynamic Context Revision",
566
- "status": "Completed",
567
- "description": "Support prompt replacement mid-session per PRD Section 10.2.",
568
- "subtasks": [
569
- {
570
- "type": "Subtask",
571
- "id": "P4.M1.T2.S1",
572
- "title": "Implement prompt revision mechanism",
573
- "status": "Completed",
574
- "story_points": 2,
575
- "dependencies": [
576
- "P2.M2.T1.S2",
577
- "P1.M2.T2.S1"
578
- ],
579
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 10.2 requirements.\n2. INPUT: WorkflowContext, step() implementation, Prompt class.\n3. LOGIC: Add to WorkflowContext: replacePrompt(oldPromptId: string, newPrompt: Prompt): void. Mechanism: mark old prompt node as 'revised', attach new prompt as sibling (not child), continue chain from new prompt. Event tree shows revision relationship. No tree forking - linear progression with revision markers.\n4. OUTPUT: Users can inspect result, create new prompt, replace, and continue. Event tree accurate."
580
- }
581
- ]
582
- }
583
- ]
584
- },
585
- {
586
- "type": "Milestone",
587
- "id": "P4.M2",
588
- "title": "Introspection Tools",
589
- "status": "Completed",
590
- "description": "Implement standard agent tools for hierarchy inspection per PRD Section 11.",
591
- "tasks": [
592
- {
593
- "type": "Task",
594
- "id": "P4.M2.T1",
595
- "title": "Implement Introspection Tool Set",
596
- "status": "Completed",
597
- "description": "Create standard tools for agents to inspect their position in the hierarchy.",
598
- "subtasks": [
599
- {
600
- "type": "Subtask",
601
- "id": "P4.M2.T1.S1",
602
- "title": "Implement inspect_current_node tool",
603
- "status": "Planned",
604
- "story_points": 1,
605
- "dependencies": [
606
- "P2.M1.T2.S1",
607
- "P1.M2.T3.S1"
608
- ],
609
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 11, tools use Anthropic SDK conventions.\n2. INPUT: AgentExecutionContext, Tool interface from types.\n3. LOGIC: Create /src/tools/introspection.ts. Define tool: name='inspect_current_node', description='Get current workflow node info', input_schema={}. Handler: get current node from AgentExecutionContext, return JSON with id, name, status, parent info.\n4. OUTPUT: Tool definition exportable. Agents can call to see their position. For agent config in P4.M2.T1.S6."
610
- },
611
- {
612
- "type": "Subtask",
613
- "id": "P4.M2.T1.S2",
614
- "title": "Implement read_ancestor_chain tool",
615
- "status": "Planned",
616
- "story_points": 1,
617
- "dependencies": [
618
- "P4.M2.T1.S1"
619
- ],
620
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 11 ancestor chain requirement.\n2. INPUT: Current node from context, EventTreeHandle.getAncestors().\n3. LOGIC: Define tool: name='read_ancestor_chain', description='Get all ancestor nodes up to root', input_schema={}. Handler: use EventTreeHandle.getAncestors(currentNode.id), return array of node summaries (id, name, status).\n4. OUTPUT: Agents can traverse up the tree to understand context."
621
- },
622
- {
623
- "type": "Subtask",
624
- "id": "P4.M2.T1.S3",
625
- "title": "Implement list_siblings_children tool",
626
- "status": "Planned",
627
- "story_points": 1,
628
- "dependencies": [
629
- "P4.M2.T1.S1"
630
- ],
631
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 11 sibling/child listing.\n2. INPUT: Current node, parent node, EventTreeHandle.\n3. LOGIC: Define tool: name='list_siblings_children', description='List sibling and child nodes', input_schema={type: enum['siblings','children']}. Handler: if siblings, get parent.children excluding self. If children, get current.children. Return node summaries.\n4. OUTPUT: Agents can explore horizontal and downward in tree."
632
- },
633
- {
634
- "type": "Subtask",
635
- "id": "P4.M2.T1.S4",
636
- "title": "Implement inspect_prior_outputs tool",
637
- "status": "Planned",
638
- "story_points": 1,
639
- "dependencies": [
640
- "P4.M2.T1.S2"
641
- ],
642
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 11 prior outputs inspection.\n2. INPUT: Ancestor chain, node events containing outputs.\n3. LOGIC: Define tool: name='inspect_prior_outputs', description='Get outputs from prior steps/prompts', input_schema={nodeId?: string, count?: number}. Handler: if nodeId provided, get that node's output. Else get last N outputs from ancestor chain. Parse agentPromptEnd events for response data.\n4. OUTPUT: Agents can access results from earlier in the workflow."
643
- },
644
- {
645
- "type": "Subtask",
646
- "id": "P4.M2.T1.S5",
647
- "title": "Implement inspect_cache_status and request_spawn tools",
648
- "status": "Planned",
649
- "story_points": 1,
650
- "dependencies": [
651
- "P3.M1.T2.S1",
652
- "P4.M1.T1.S1"
653
- ],
654
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 11 cache and spawn requirements.\n2. INPUT: Cache class, workflow factory.\n3. LOGIC: inspect_cache_status: name='inspect_cache_status', description='Check if a prompt is cached', input_schema={promptHash: string}. Handler: check cache.get(promptHash), return hit/miss status. request_spawn_workflow: name='request_spawn_workflow', description='Request to spawn a new workflow', input_schema={name: string, config: object}. Handler: validate config, call factory, return workflow id.\n4. OUTPUT: Agents can check cache and request new workflows."
655
- },
656
- {
657
- "type": "Subtask",
658
- "id": "P4.M2.T1.S6",
659
- "title": "Create introspection tools bundle for agent config",
660
- "status": "Planned",
661
- "story_points": 0.5,
662
- "dependencies": [
663
- "P4.M2.T1.S1",
664
- "P4.M2.T1.S2",
665
- "P4.M2.T1.S3",
666
- "P4.M2.T1.S4",
667
- "P4.M2.T1.S5"
668
- ],
669
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 11 standard set requirement.\n2. INPUT: All introspection tools from P4.M2.T1.S1-S5.\n3. LOGIC: In /src/tools/introspection.ts, export const INTROSPECTION_TOOLS: Tool[] = [inspect_current_node, read_ancestor_chain, list_siblings_children, inspect_prior_outputs, inspect_cache_status, request_spawn_workflow]. Export type IntrospectionTool.\n4. OUTPUT: Single import for all introspection tools. Users add to AgentConfig.tools."
670
- }
671
- ]
672
- }
673
- ]
674
- }
675
- ]
676
- },
677
- {
678
- "type": "Phase",
679
- "id": "P5",
680
- "title": "Examples & Documentation",
681
- "status": "Planned",
682
- "description": "Create all 10 canonical examples per PRD Section 12 and ensure complete documentation.",
683
- "milestones": [
684
- {
685
- "type": "Milestone",
686
- "id": "P5.M1",
687
- "title": "Canonical Examples",
688
- "status": "Planned",
689
- "description": "Implement all 10 examples from PRD Section 12.",
690
- "tasks": [
691
- {
692
- "type": "Task",
693
- "id": "P5.M1.T1",
694
- "title": "Basic Workflow Examples",
695
- "status": "Planned",
696
- "description": "Examples 1-4: Basic workflows, agents, and nesting.",
697
- "subtasks": [
698
- {
699
- "type": "Subtask",
700
- "id": "P5.M1.T1.S1",
701
- "title": "Example 1: Basic workflow with steps",
702
- "status": "Planned",
703
- "story_points": 1,
704
- "dependencies": [
705
- "P2.M2.T1.S3"
706
- ],
707
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 12 item 1.\n2. INPUT: Workflow class with executor pattern, step() API.\n3. LOGIC: Create /src/examples/01-basic-workflow.ts. Demonstrate: new Workflow({name: 'BasicWorkflow'}, async (ctx) => { await ctx.step('step1', async () => {...}); await ctx.step('step2', async () => {...}); }). Show loop with steps, conditional steps. Include WorkflowTreeDebugger output.\n4. OUTPUT: Minimal, isolated example. Runnable standalone. Documents step() usage."
708
- },
709
- {
710
- "type": "Subtask",
711
- "id": "P5.M1.T1.S2",
712
- "title": "Example 2: Workflow calling Agents with different prompts",
713
- "status": "Planned",
714
- "story_points": 1,
715
- "dependencies": [
716
- "P5.M1.T1.S1",
717
- "P1.M2.T1.S2"
718
- ],
719
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 12 item 2.\n2. INPUT: Agent class, Prompt class, step() API.\n3. LOGIC: Create /src/examples/02-agent-prompts.ts. Create Agent with base config. Create multiple Prompt instances with different user messages and schemas. In workflow step, call agent.prompt(prompt1), in another step call agent.prompt(prompt2). Show typed responses.\n4. OUTPUT: Demonstrates Agent reuse with different prompts. Shows Zod schema validation."
720
- },
721
- {
722
- "type": "Subtask",
723
- "id": "P5.M1.T1.S3",
724
- "title": "Example 3: Single Agent across many workflows",
725
- "status": "Planned",
726
- "story_points": 1,
727
- "dependencies": [
728
- "P5.M1.T1.S2"
729
- ],
730
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 12 item 3.\n2. INPUT: Agent class, multiple Workflow instances.\n3. LOGIC: Create /src/examples/03-shared-agent.ts. Create one Agent instance. Create three separate workflows that all use the same agent. Show that agent is stateless - same agent works in parallel workflows. Demonstrate observability shows separate trees.\n4. OUTPUT: Proves Agent reusability across workflows."
731
- },
732
- {
733
- "type": "Subtask",
734
- "id": "P5.M1.T1.S4",
735
- "title": "Example 4: Workflow inside a workflow",
736
- "status": "Planned",
737
- "story_points": 1,
738
- "dependencies": [
739
- "P5.M1.T1.S1"
740
- ],
741
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 12 item 4.\n2. INPUT: spawnWorkflow() API, WorkflowContext.\n3. LOGIC: Create /src/examples/04-nested-workflows.ts. Parent workflow with steps. Inside a step, ctx.spawnWorkflow(childWorkflow). Child workflow has its own steps. Show event tree with parent->child relationship. Demonstrate result propagation.\n4. OUTPUT: Demonstrates nested workflow hierarchy with automatic mounting."
742
- }
743
- ]
744
- },
745
- {
746
- "type": "Task",
747
- "id": "P5.M1.T2",
748
- "title": "Dynamic Behavior Examples",
749
- "status": "Planned",
750
- "description": "Examples 5-7: Dynamic spawning, prompt replacement, loops.",
751
- "subtasks": [
752
- {
753
- "type": "Subtask",
754
- "id": "P5.M1.T2.S1",
755
- "title": "Example 5: Agent spawning a new Workflow dynamically",
756
- "status": "Planned",
757
- "story_points": 1,
758
- "dependencies": [
759
- "P4.M1.T1.S1",
760
- "P4.M2.T1.S6"
761
- ],
762
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 12 item 5.\n2. INPUT: Introspection tools, dynamic factory.\n3. LOGIC: Create /src/examples/05-dynamic-spawn.ts. Agent with request_spawn_workflow tool. Prompt asks agent to analyze task and spawn appropriate sub-workflows. Agent uses tool to create workflows. Show automatic hierarchy attachment.\n4. OUTPUT: Demonstrates agent autonomy in creating workflows."
763
- },
764
- {
765
- "type": "Subtask",
766
- "id": "P5.M1.T2.S2",
767
- "title": "Example 6: Dynamic prompt replacement based on output",
768
- "status": "Planned",
769
- "story_points": 1,
770
- "dependencies": [
771
- "P4.M1.T2.S1"
772
- ],
773
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 12 item 6.\n2. INPUT: replacePrompt() API, conditional logic.\n3. LOGIC: Create /src/examples/06-prompt-revision.ts. Initial prompt asks yes/no question. Based on response, create follow-up prompt. If 'no', replace initial prompt with clarifying prompt. Show tree with revision markers. Continue chain from revised prompt.\n4. OUTPUT: Demonstrates context revision without tree forking."
774
- },
775
- {
776
- "type": "Subtask",
777
- "id": "P5.M1.T2.S3",
778
- "title": "Example 7: Loops calling multiple agents with observability",
779
- "status": "Planned",
780
- "story_points": 1,
781
- "dependencies": [
782
- "P5.M1.T1.S2"
783
- ],
784
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 12 item 7.\n2. INPUT: step() in loops, multiple agents.\n3. LOGIC: Create /src/examples/07-agent-loops.ts. Array of items to process. for loop with ctx.step() for each item. Different agents for different item types. Show full event tree with all iterations. Demonstrate timing metrics per step.\n4. OUTPUT: Shows step() works in arbitrary JS control flow with full observability."
785
- }
786
- ]
787
- },
788
- {
789
- "type": "Task",
790
- "id": "P5.M1.T3",
791
- "title": "SDK Features & Reflection Examples",
792
- "status": "Planned",
793
- "description": "Examples 8-10: Tools/MCPs/hooks, reflection, introspection.",
794
- "subtasks": [
795
- {
796
- "type": "Subtask",
797
- "id": "P5.M1.T3.S1",
798
- "title": "Example 8: Tools, MCPs, hooks, skills usage",
799
- "status": "Planned",
800
- "story_points": 2,
801
- "dependencies": [
802
- "P1.M2.T3.S1",
803
- "P1.M2.T3.S2",
804
- "P1.M2.T3.S3",
805
- "P1.M2.T3.S4"
806
- ],
807
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 12 item 8.\n2. INPUT: All SDK pass-through implementations.\n3. LOGIC: Create /src/examples/08-sdk-features.ts. Define custom tools (calculator, file reader). Define MCP server config. Define hooks (log before tool use). Define skills path. Create agent with all features. Execute prompts that trigger tool use. Show hook execution, MCP events, skills context.\n4. OUTPUT: Comprehensive demonstration of Anthropic SDK integration."
808
- },
809
- {
810
- "type": "Subtask",
811
- "id": "P5.M1.T3.S2",
812
- "title": "Example 9: Reflection at each level",
813
- "status": "Planned",
814
- "story_points": 2,
815
- "dependencies": [
816
- "P3.M2.T1.S3"
817
- ],
818
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 12 item 9.\n2. INPUT: Reflection system at all levels.\n3. LOGIC: Create /src/examples/09-reflection.ts. Three scenarios: (a) Workflow-level: step fails, reflection retries. (b) Agent-level: prompt fails validation, agent reflects. (c) Prompt-level: enableReflection on specific prompt. Show reflection events in tree, retry counts, revised prompts.\n4. OUTPUT: Demonstrates multi-level reflection with observability."
819
- },
820
- {
821
- "type": "Subtask",
822
- "id": "P5.M1.T3.S3",
823
- "title": "Example 10: Introspection tools demo",
824
- "status": "Planned",
825
- "story_points": 1,
826
- "dependencies": [
827
- "P4.M2.T1.S6"
828
- ],
829
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on PRD Section 12 item 10.\n2. INPUT: INTROSPECTION_TOOLS bundle.\n3. LOGIC: Create /src/examples/10-introspection.ts. Agent with all introspection tools. Nested workflow structure. Prompt asks agent to 'describe your current position in the hierarchy'. Agent uses inspect_current_node, read_ancestor_chain, list_siblings_children. Show agent's understanding of its context.\n4. OUTPUT: Demonstrates agent self-awareness within hierarchy."
830
- }
831
- ]
832
- }
833
- ]
834
- },
835
- {
836
- "type": "Milestone",
837
- "id": "P5.M2",
838
- "title": "Export & Integration",
839
- "status": "Planned",
840
- "description": "Finalize exports and ensure all components are accessible.",
841
- "tasks": [
842
- {
843
- "type": "Task",
844
- "id": "P5.M2.T1",
845
- "title": "Update Main Exports",
846
- "status": "Planned",
847
- "description": "Update /src/index.ts with all new exports.",
848
- "subtasks": [
849
- {
850
- "type": "Subtask",
851
- "id": "P5.M2.T1.S1",
852
- "title": "Add all new exports to index.ts",
853
- "status": "Planned",
854
- "story_points": 1,
855
- "dependencies": [
856
- "P5.M1.T3.S3"
857
- ],
858
- "context_scope": "CONTRACT DEFINITION:\n1. RESEARCH VALIDATION: Based on current /src/index.ts pattern.\n2. INPUT: All new classes, types, tools from Phases 1-4.\n3. LOGIC: Update /src/index.ts. Add exports: Agent, Prompt, createAgent, createPrompt, createWorkflow, WorkflowContext, EventTreeHandle, Cache, ReflectionAPI, INTROSPECTION_TOOLS. Add type exports: AgentConfig, PromptConfig, PromptOverrides, MCPServer, Skill, AgentHooks, etc. Organize by category with comments.\n4. OUTPUT: All public API accessible via single import. Package ready for use."
859
- }
860
- ]
861
- }
862
- ]
863
- }
864
- ]
865
- }
866
- ]
867
- }