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,535 +0,0 @@
1
- # Product Requirement Prompt (PRP): Run Full Test Suite
2
-
3
- ## Goal
4
-
5
- **Feature Goal**: Execute the complete test suite to verify all 344+ tests pass after bug fix implementations from milestones P1.M1, P1.M2, and P1.M3.
6
-
7
- **Deliverable**: A comprehensive test execution report documenting total test count, pass count, fail count, and analysis of any failures (distinguishing pre-existing from newly introduced).
8
-
9
- **Success Definition**:
10
- - All 344+ existing tests pass without regressions
11
- - Test execution results captured with detailed metrics
12
- - Any failures documented with root cause analysis
13
- - Report stored at `plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/TEST_EXECUTION_REPORT.md`
14
-
15
- ## User Persona
16
-
17
- **Target User**: Development team and QA engineers responsible for validating bug fix implementations.
18
-
19
- **Use Case**: Final validation step after completing all bug fixes to ensure no regressions were introduced and the system remains stable.
20
-
21
- **User Journey**:
22
- 1. Execute full test suite using appropriate vitest command
23
- 2. Capture and parse test output for metrics
24
- 3. Analyze any failures to determine if they're pre-existing or caused by bug fixes
25
- 4. Document findings in structured report
26
- 5. If failures are found, coordinate with next subtask (P1.M4.T1.S2) for fixes
27
-
28
- **Pain Points Addressed**:
29
- - Manual test execution and result capture is error-prone
30
- - Need to distinguish between pre-existing failures and regressions
31
- - Requirement for auditable validation of bug fix quality
32
-
33
- ## Why
34
-
35
- - **Quality Assurance**: Ensures all bug fixes from P1.M1 (WorkflowLogger.child()), P1.M2 (Promise.allSettled, ErrorMergeStrategy), and P1.M3 (observer error logging, tree debugger optimization, workflow name validation, isDescendantOf) don't break existing functionality
36
- - **Regression Prevention**: Baseline of 344+ passing tests must be maintained
37
- - **Release Readiness**: Test results inform whether the codebase is ready for documentation and release steps
38
- - **Risk Mitigation**: Early detection of test failures prevents shipping broken code
39
-
40
- ## What
41
-
42
- Execute the complete test suite using Vitest and produce a detailed execution report.
43
-
44
- ### Success Criteria
45
-
46
- - [ ] Test suite executes completely (no early termination)
47
- - [ ] Test count metrics captured: total tests, passed, failed, skipped
48
- - [ ] 344+ tests pass (matching or exceeding baseline)
49
- - [ ] All test failures analyzed and documented
50
- - [ ] Pre-existing failures distinguished from new regressions
51
- - [ ] Execution report generated at specified path
52
- - [ ] Report includes vitest command used and execution timestamp
53
-
54
- ## All Needed Context
55
-
56
- ### Context Completeness Check
57
-
58
- _Before writing this PRP, validate: "If someone knew nothing about this codebase, would they have everything needed to implement this successfully?"_
59
-
60
- **Answer**: Yes - this PRP provides complete context including vitest configuration, test structure, bug fix summaries, expected baseline, and execution procedures.
61
-
62
- ### Documentation & References
63
-
64
- ```yaml
65
- # MUST READ - Include these in your context window
66
- - url: https://vitest.dev/guide/cli.html
67
- why: CLI command reference for running tests and capturing output
68
- critical: Use `vitest run` for CI mode (single run), `--reporter=json` for programmatic parsing
69
-
70
- - url: https://vitest.dev/guide/reporters.html
71
- why: Built-in reporter options for different output formats
72
- critical: JSON reporter enables automated test count extraction
73
-
74
- - file: /home/dustin/projects/groundswell/vitest.config.ts
75
- why: Test configuration - shows test file pattern (`src/__tests__/**/*.test.ts`)
76
- pattern: include: ['src/__tests__/**/*.test.ts'], globals: true
77
- gotcha: Tests use global describe/it/expect (no imports needed)
78
-
79
- - file: /home/dustin/projects/groundswell/package.json
80
- why: NPM scripts for test execution
81
- pattern: "test": "vitest run", "test:watch": "vitest"
82
- gotcha: Use `npm test` for consistent execution via project script
83
-
84
- - file: /home/dustin/projects/groundswell/plan/001_d3bb02af4886/TEST_RESULTS.md
85
- why: Documents expected baseline of 344 passing tests
86
- section: "Testing Summary" and "Positive Findings"
87
- gotcha: Baseline is 344 tests; any significant deviation requires investigation
88
-
89
- - file: /home/dustin/projects/groundswell/docs/vitest-research.md
90
- why: Project-specific vitest research with command examples
91
- section: "Running Full Test Suite and Capturing Detailed Output"
92
- gotcha: Multiple reporter formats available - JSON recommended for parsing
93
-
94
- - file: /home/dustin/projects/groundswell/src/__tests__/**/*.test.ts
95
- why: Understanding test structure and patterns in the codebase
96
- pattern: Three categories: unit/, integration/, adversarial/
97
- gotcha: 39 test files with ~175 test cases (some describe blocks contain nested tests)
98
-
99
- # Bug Fix Implementation Context
100
- - file: /home/dustin/projects/groundswell/src/core/logger.ts
101
- why: P1.M1.T1 fix - WorkflowLogger.child() signature change
102
- section: Lines 102-110 (method overloads and implementation)
103
- gotcha: Backward compatible - accepts both string and Partial<LogEntry>
104
-
105
- - file: /home/dustin/projects/groundswell/src/decorators/task.ts
106
- why: P1.M2.T1 and P1.M2.T2 fixes - Promise.allSettled and ErrorMergeStrategy
107
- section: Lines 113-142 (Promise.allSettled implementation), Lines 121-138 (error merging)
108
- gotcha: Error handling now aggregates failures instead of throwing first error
109
-
110
- - file: /home/dustin/projects/groundswell/src/core/workflow.ts
111
- why: P1.M3.T1, P1.M3.T3, P1.M3.T4 fixes - Observer logging, name validation, isDescendantOf
112
- section: Lines 426/444 (observer error logging), Lines 99-107 (name validation), Line 201 (isDescendantOf visibility)
113
- gotcha: isDescendantOf changed from private to public
114
-
115
- - file: /home/dustin/projects/groundswell/src/debugger/tree-debugger.ts
116
- why: P1.M3.T2 fix - Tree debugger node map optimization
117
- section: Lines 65-115 (removeSubtreeNodes and optimized onTreeChanged)
118
- gotcha: Performance optimization - should not affect test results
119
-
120
- # Test Utilities and Helpers
121
- - file: /home/dustin/projects/groundswell/src/__tests__/helpers/tree-verification.ts
122
- why: Critical tree validation helpers used throughout tests
123
- pattern: collectAllNodes(), validateTreeConsistency(), verifyTreeMirror()
124
- gotcha: Tests verify 1:1 mirror invariant between Workflow and WorkflowNode trees
125
- ```
126
-
127
- ### Current Codebase Tree
128
-
129
- ```bash
130
- groundswell/
131
- ├── src/
132
- │ ├── __tests__/
133
- │ │ ├── unit/ # Unit tests for individual components
134
- │ │ ├── integration/ # Integration tests between components
135
- │ │ ├── adversarial/ # Stress tests and edge cases
136
- │ │ └── helpers/ # Shared test utilities
137
- │ │ └── tree-verification.ts
138
- │ ├── core/
139
- │ │ ├── logger.ts # P1.M1.T1: WorkflowLogger.child() fix
140
- │ │ └── workflow.ts # P1.M3.T1/T3/T4: Observer logging, validation, isDescendantOf
141
- │ ├── decorators/
142
- │ │ └── task.ts # P1.M2.T1/T2: Promise.allSettled, ErrorMergeStrategy
143
- │ └── debugger/
144
- │ └── tree-debugger.ts # P1.M3.T2: Node map optimization
145
- ├── vitest.config.ts # Test configuration
146
- ├── package.json # NPM scripts: "test": "vitest run"
147
- └── plan/
148
- └── 001_d3bb02af4886/
149
- └── bugfix/
150
- └── 001_e8e04329daf3/
151
- └── P1M4T1S1/
152
- └── PRP.md # This file
153
- ```
154
-
155
- ### Desired Codebase Tree (Files to be Added)
156
-
157
- ```bash
158
- plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/
159
- ├── PRP.md # This file
160
- ├── TEST_EXECUTION_REPORT.md # OUTPUT: Test execution results (to be created)
161
- └── research/ # Research artifacts (optional)
162
- └── vitest-research.md # External vitest documentation research
163
- ```
164
-
165
- ### Known Gotchas of Our Codebase & Library Quirks
166
-
167
- ```typescript
168
- // CRITICAL: Vitest configuration uses global test functions
169
- // No need to import { describe, it, expect } from 'vitest' - they're global
170
-
171
- // CRITICAL: Test file pattern is strict
172
- // Only files matching src/__tests__/**/*.test.ts will be executed
173
- // Test files elsewhere in the codebase will be ignored
174
-
175
- // CRITICAL: Expected baseline is 344+ tests
176
- // Documented in plan/001_d3bb02af4886/TEST_RESULTS.md
177
- // Significant deviation from this count requires investigation
178
-
179
- // GOTCHA: Test count can vary
180
- // The 344 number is from a previous validation
181
- // New tests may have been added in bug fixes
182
- // Check for recent test additions in modified files
183
-
184
- // GOTCHA: Some tests may be skipped
185
- // Look for test.skip() or describe.skip() in test files
186
- // Skipped tests appear in output but don't count as passed/failed
187
-
188
- // GOTCHA: Promise.allSettled change affects error handling tests
189
- // P1.M2.T1 changed concurrent task error behavior
190
- // Tests expecting first-error-to-fail may need updates
191
- // Error merge strategy tests (P1.M2.T2.S4) should cover new behavior
192
-
193
- // GOTCHA: Workflow name validation may break existing tests
194
- // P1.M3.T3 added strict validation for workflow names
195
- // Tests creating workflows with empty/long names may now fail
196
- // Check test workflow construction in setUp/beforeEach blocks
197
-
198
- // PATTERN: Tree verification helpers are critical
199
- // Many tests use helpers/tree-verification.ts for validation
200
- // Failures in tree-related tests often indicate core invariant violations
201
- ```
202
-
203
- ## Implementation Blueprint
204
-
205
- ### Data Models and Structure
206
-
207
- No data models required - this is a validation and reporting task. Output will be Markdown documentation.
208
-
209
- ### Implementation Tasks (ordered by dependencies)
210
-
211
- ```yaml
212
- Task 1: EXECUTE test suite with verbose output
213
- - COMMAND: npm test 2>&1 | tee test-output.log
214
- - PURPOSE: Run full test suite and capture complete output
215
- - OUTPUT: Console output saved to test-output.log
216
- - VALIDATION: Command exits with code 0 (all tests pass) or non-zero (failures present)
217
- - TIMEOUT: None (let tests complete fully)
218
-
219
- Task 2: EXECUTE test suite with JSON reporter for programmatic parsing
220
- - COMMAND: npm test -- --reporter=json --outputFile=test-results.json
221
- - PURPOSE: Generate machine-readable test results
222
- - OUTPUT: test-results.json with detailed test metrics
223
- - VALIDATION: JSON file is created and valid
224
- - DEPENDS ON: Task 1 (optional - can run in parallel)
225
-
226
- Task 3: PARSE test results and extract metrics
227
- - INPUT: test-output.log and/or test-results.json
228
- - EXTRACT: Total tests, passed, failed, skipped, duration
229
- - METHOD: Parse console output OR JSON file
230
- - OUTPUT: Structured metrics object with counts
231
- - DEPENDS ON: Task 1 or Task 2
232
-
233
- Task 4: ANALYZE any test failures
234
- - INPUT: Failed test names and error messages from test results
235
- - DETERMINE: Pre-existing vs. newly introduced failures
236
- - METHOD: Compare against TEST_RESULTS.md baseline, check test dates, review git blame
237
- - OUTPUT: Failure analysis with root cause assessment
238
- - DEPENDS ON: Task 3
239
-
240
- Task 5: CREATE test execution report
241
- - TEMPLATE: Use markdown format with sections for summary, metrics, failures, analysis
242
- - CONTENT: Include command used, timestamp, metrics, failure details
243
- - LOCATION: plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/TEST_EXECUTION_REPORT.md
244
- - DEPENDS ON: Task 3 and Task 4
245
- - REQUIRED SECTIONS:
246
- - Execution Summary (command, timestamp, duration)
247
- - Test Metrics (total, passed, failed, skipped, pass rate)
248
- - Failure Analysis (if any failures)
249
- - Regression Assessment (new vs. pre-existing)
250
- - Recommendations (next steps)
251
-
252
- Task 6: VERIFY report completeness
253
- - CHECK: All required sections present
254
- - CHECK: Metrics accurate and consistent with console output
255
- - CHECK: File saved at correct path
256
- - CHECK: Markdown formatting valid
257
- - DEPENDS ON: Task 5
258
- ```
259
-
260
- ### Implementation Patterns & Key Details
261
-
262
- ```bash
263
- # Pattern: Running tests with multiple reporters
264
- npm test -- --reporter=verbose --reporter=json --outputFile=test-results.json
265
- # This produces both console output and JSON file for analysis
266
-
267
- # Pattern: Extracting test count from vitest output
268
- # Vitest console output format:
269
- # Test Files 39 passed (39)
270
- # Tests 344 passed (344)
271
- # Use grep/awk to extract:
272
- npm test 2>&1 | grep -E "Test Files|Tests" | tee test-summary.txt
273
-
274
- # Pattern: JSON result parsing (Node.js one-liner)
275
- node -e "const data = require('./test-results.json'); console.log(\`Total: \${data.stats.tests}, Passed: \${data.stats.tests - data.stats.failures}, Failed: \${data.stats.failures}\`)"
276
-
277
- # Pattern: Checking for pre-existing failures
278
- git log --oneline --all -- "src/__tests__/**/*.test.ts" | head -20
279
- # Shows recent test file modifications
280
-
281
- # Pattern: Analyzing specific test failures
282
- npm test -- --testNamePattern="failing_test_name"
283
- # Run only the failing test for detailed output
284
-
285
- # Pattern: Determining if failure is new
286
- git diff HEAD~5 -- "src/__tests__/file_with_failure.test.ts"
287
- # Check if test was recently modified as part of bug fixes
288
- ```
289
-
290
- ### Integration Points
291
-
292
- ```yaml
293
- NPM_SCRIPTS:
294
- - use: npm test
295
- - command: vitest run
296
- - location: package.json scripts section
297
- - gotcha: Don't use vitest directly - always use npm script for consistency
298
-
299
- VITEST_CONFIG:
300
- - location: vitest.config.ts
301
- - include pattern: src/__tests__/**/*.test.ts
302
- - globals: true (describe/it/expect available globally)
303
-
304
- DOCUMENTATION:
305
- - baseline: plan/001_d3bb02af4886/TEST_RESULTS.md
306
- - expected: 344+ passing tests
307
- - reference for comparison
308
-
309
- NEXT_SUBTASK:
310
- - if failures found: P1.M4.T1.S2 (Fix any test failures caused by bug fixes)
311
- - handoff: Include failure details in report for next subtask
312
- ```
313
-
314
- ## Validation Loop
315
-
316
- ### Level 1: Test Execution Completeness (Immediate Feedback)
317
-
318
- ```bash
319
- # Verify test suite runs to completion
320
- npm test 2>&1 | tee test-output.log
321
-
322
- # Check for early termination or crashes
323
- grep -i "error\|exception\|crash" test-output.log
324
- # Expected: No unexpected errors or crashes (test failures are OK)
325
-
326
- # Verify output contains test summary
327
- grep -E "Test Files|Tests" test-output.log
328
- # Expected: Summary lines with counts present
329
-
330
- # Check exit code
331
- echo $?
332
- # Expected: 0 if all tests pass, 1 if any tests fail (both are valid outcomes)
333
- ```
334
-
335
- ### Level 2: Metrics Extraction Accuracy (Component Validation)
336
-
337
- ```bash
338
- # Generate JSON output for programmatic validation
339
- npm test -- --reporter=json --outputFile=test-results.json
340
-
341
- # Verify JSON file exists and is valid
342
- cat test-results.json | jq . > /dev/null && echo "Valid JSON" || echo "Invalid JSON"
343
- # Expected: "Valid JSON"
344
-
345
- # Extract and verify metrics
346
- cat test-results.json | jq '.stats | {tests: .tests, passed: (.tests - .failures), failed: .failures, duration: .duration}'
347
- # Expected: Object with all fields populated
348
-
349
- # Compare console output with JSON counts
350
- CONSOLE_TESTS=$(grep "Tests" test-output.log | grep -oE "[0-9]+ passed" | grep -oE "[0-9]+")
351
- JSON_TESTS=$(cat test-results.json | jq -r '.stats.tests')
352
- echo "Console: $CONSOLE_TESTS, JSON: $JSON_TESTS"
353
- # Expected: Numbers match (or close if accounting for skipped tests)
354
- ```
355
-
356
- ### Level 3: Baseline Validation (System Validation)
357
-
358
- ```bash
359
- # Verify test count meets or exceeds baseline
360
- CURRENT_COUNT=$(cat test-results.json | jq -r '.stats.tests')
361
- BASELINE_COUNT=344
362
- if [ "$CURRENT_COUNT" -ge "$BASELINE_COUNT" ]; then
363
- echo "PASS: Test count ($CURRENT_COUNT) meets baseline ($BASELINE_COUNT)"
364
- else
365
- echo "WARNING: Test count ($CURRENT_COUNT) below baseline ($BASELINE_COUNT)"
366
- fi
367
-
368
- # Check pass rate
369
- PASSED=$(cat test-results.json | jq -r '.stats.tests - .stats.failures')
370
- PASS_RATE=$(echo "scale=2; $PASSED * 100 / $CURRENT_COUNT" | bc)
371
- echo "Pass rate: $PASS_RATE%"
372
- # Expected: 100% for success, <100% requires failure analysis
373
-
374
- # Verify no new test files were accidentally excluded
375
- NEW_TEST_FILES=$(git diff --name-only HEAD~10 | grep -E "\.test\.ts$" | wc -l)
376
- echo "New or modified test files: $NEW_TEST_FILES"
377
- # Expected: Informational - helps explain count changes
378
- ```
379
-
380
- ### Level 4: Report Quality Validation
381
-
382
- ```bash
383
- # Verify report file exists
384
- REPORT_PATH="plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/TEST_EXECUTION_REPORT.md"
385
- if [ -f "$REPORT_PATH" ]; then
386
- echo "PASS: Report file exists at $REPORT_PATH"
387
- else
388
- echo "FAIL: Report file not found"
389
- fi
390
-
391
- # Verify required sections exist in report
392
- for section in "Execution Summary" "Test Metrics" "Failure Analysis" "Regression Assessment"; do
393
- if grep -q "$section" "$REPORT_PATH"; then
394
- echo "PASS: Section '$section' present"
395
- else
396
- echo "FAIL: Section '$section' missing"
397
- fi
398
- done
399
-
400
- # Verify markdown formatting
401
- grep -E "^#+ " "$REPORT_PATH" | head -20
402
- # Expected: Proper heading hierarchy present
403
-
404
- # Verify test count documented in report
405
- grep -E "[0-9]+ test" "$REPORT_PATH"
406
- # Expected: Test counts mentioned in report
407
- ```
408
-
409
- ## Final Validation Checklist
410
-
411
- ### Technical Validation
412
-
413
- - [ ] Test suite executed completely with `npm test`
414
- - [ ] Test output captured (console and/or JSON)
415
- - [ ] Metrics extracted: total, passed, failed, skipped
416
- - [ ] Test count meets or exceeds baseline (344+)
417
- - [ ] Report file created at specified path
418
- - [ ] Report contains all required sections
419
-
420
- ### Feature Validation
421
-
422
- - [ ] Execution summary includes command, timestamp, duration
423
- - [ ] Test metrics are accurate and clearly presented
424
- - [ ] Failures (if any) are documented with error details
425
- - [ ] Failure analysis distinguishes new vs. pre-existing
426
- - [ ] Regression assessment is supported by evidence
427
- - [ ] Recommendations provided for next steps (if applicable)
428
-
429
- ### Code Quality Validation
430
-
431
- - [ ] Report follows markdown best practices
432
- - [ ] All claims are supported by test output evidence
433
- - [ ] File paths and commands are accurate
434
- - [ ] Analysis is objective and fact-based
435
- - [ ] Report is self-contained (no external references required)
436
-
437
- ### Documentation & Deployment
438
-
439
- - [ ] Report stored at correct path: `plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/TEST_EXECUTION_REPORT.md`
440
- - [ ] Report is readable by both humans and machines
441
- - [ ] Timestamped for version control traceability
442
- - [ ] Ready for handoff to P1.M4.T1.S2 if failures found
443
-
444
- ---
445
-
446
- ## Anti-Patterns to Avoid
447
-
448
- - ❌ Don't assume test count without verification - always run and count
449
- - ❌ Don't ignore skipped tests - document them separately
450
- - ❌ Don't confuse test files with test cases (39 files != 39 tests)
451
- - ❌ Don't modify tests during execution - this is a read-only validation task
452
- - ❌ Don't rely on memory - capture all output to files
453
- - ❌ Don't blame failures on bug fixes without evidence - verify with git history
454
- - ❌ Don't skip the report creation - output is the primary deliverable
455
- - ❌ Don't use relative paths in report - all paths should be absolute from project root
456
- - ❌ Don't forget to document the vitest version used
457
- - ❌ Don't proceed to P1.M4.T1.S2 without completing this report
458
-
459
- ## Appendix: Quick Reference
460
-
461
- ### Vitest Commands for This Task
462
-
463
- ```bash
464
- # Basic test execution
465
- npm test
466
-
467
- # Verbose output with capture
468
- npm test 2>&1 | tee test-output.log
469
-
470
- # JSON output for parsing
471
- npm test -- --reporter=json --outputFile=test-results.json
472
-
473
- # Both console and JSON
474
- npm test -- --reporter=verbose --reporter=json --outputFile=test-results.json
475
-
476
- # Run specific test file (for debugging failures)
477
- npm test -- src/__tests__/unit/workflow.test.ts
478
-
479
- # Run tests matching pattern
480
- npm test -- --testNamePattern="child"
481
- ```
482
-
483
- ### Test Result JSON Structure
484
-
485
- ```json
486
- {
487
- "stats": {
488
- "tests": 344,
489
- "failures": 0,
490
- "errors": 0,
491
- "duration": 5000
492
- },
493
- "testFiles": [
494
- {
495
- "name": "src/__tests__/unit/workflow.test.ts",
496
- "tests": [
497
- {
498
- "name": "Workflow should execute steps",
499
- "result": {
500
- "status": "pass"
501
- }
502
- }
503
- ]
504
- }
505
- ]
506
- }
507
- ```
508
-
509
- ### Report Template
510
-
511
- ```markdown
512
- # Test Execution Report - P1.M4.T1.S1
513
-
514
- ## Execution Summary
515
- - **Command**: `npm test`
516
- - **Timestamp**: YYYY-MM-DD HH:MM:SS
517
- - **Duration**: X seconds
518
- - **Vitest Version**: X.X.X
519
-
520
- ## Test Metrics
521
- - **Total Tests**: XXX
522
- - **Passed**: XXX
523
- - **Failed**: XXX
524
- - **Skipped**: XXX
525
- - **Pass Rate**: XX%
526
-
527
- ## Failure Analysis
528
- [List any failures with error details and root cause analysis]
529
-
530
- ## Regression Assessment
531
- [Analysis of whether failures are new or pre-existing]
532
-
533
- ## Recommendations
534
- [Next steps based on findings]
535
- ```