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,558 +0,0 @@
1
- # Reflection Patterns: Quick Reference Guide
2
-
3
- ## Decision Tree: When and How to Use Reflection
4
-
5
- ```
6
- START: Should I use reflection?
7
- |
8
- ├─ Does your task need high quality? (not time-critical)
9
- | └─ YES: Consider reflection
10
- | |
11
- | ├─ Can you get external feedback? (tool results, tests, retrieval)
12
- | | └─ YES: Use Reflexion (evidence-grounded)
13
- | | └─ NO: Use basic reflection with internal evaluation
14
- | |
15
- | ├─ Multiple attempts possible?
16
- | | └─ YES: Set max_attempts = 2-3
17
- | | └─ NO: Single-pass reflection only
18
- | |
19
- | └─ Can you allocate extra tokens?
20
- | └─ YES: Proceed with implementation
21
- | └─ NO: Use minimal reflection (1 cycle max)
22
- |
23
- └─ NO: Skip reflection, use single-pass generation
24
- (E.g., real-time chat, low-latency APIs)
25
- ```
26
-
27
- ---
28
-
29
- ## Reflection Approach Selection Matrix
30
-
31
- | Task Type | Approach | Max Attempts | Feedback Source | Notes |
32
- |-----------|----------|--------------|-----------------|-------|
33
- | Code Generation | Reflexion | 2-3 | Test results | Tool-assisted validation critical |
34
- | Writing/Content | Basic Reflection | 2-3 | Quality criteria | Simple evaluation works well |
35
- | Analysis/Research | Reflexion | 2-3 | Fact-checking, retrieval | Ground in external data |
36
- | Planning | Basic Reflection | 1-2 | Feasibility check | Keep lightweight |
37
- | Dialogue/Conversation | None | 0 | Real-time feedback | Too slow for interactive |
38
- | Multi-step workflows | Hierarchical | 1-2 per step | Manager review | Reflect at orchestration level |
39
- | Math/Logic Problems | Tool-Interactive | 2-3 | Verification | Use solver tools |
40
-
41
- ---
42
-
43
- ## Prompt Template Quick Reference
44
-
45
- ### Template 1: Quick Retry (Fastest)
46
- ```
47
- Generated: [OUTPUT]
48
- Issues: [BRIEF_ERROR]
49
-
50
- Try again, fixing these issues.
51
- ```
52
- **Use when**: Time-critical, simple corrections needed
53
- **Token cost**: Low
54
- **Effectiveness**: 60-70% improvement
55
-
56
- ### Template 2: Evidence-Grounded (Recommended)
57
- ```
58
- Your response: [OUTPUT]
59
- Evidence check: [TOOL_RESULTS]
60
- Issues: [CONTRADICTIONS]
61
-
62
- Fix issues based on evidence.
63
- Cite your sources.
64
- ```
65
- **Use when**: Accuracy matters, external tools available
66
- **Token cost**: Medium
67
- **Effectiveness**: 80-90% improvement
68
-
69
- ### Template 3: Self-Critique (Detailed)
70
- ```
71
- Your response: [OUTPUT]
72
- Quality evaluation: [SCORING]
73
-
74
- Identify weaknesses.
75
- Propose specific improvements.
76
- Rewrite addressing each weakness.
77
- ```
78
- **Use when**: Complex tasks, nuanced improvements needed
79
- **Token cost**: Medium-High
80
- **Effectiveness**: 75-85% improvement
81
-
82
- ### Template 4: Multi-Agent (Highest Quality)
83
- ```
84
- Initial response: [OUTPUT]
85
-
86
- As a critic, identify problems with this response.
87
- Be specific and cite evidence.
88
-
89
- [SEPARATE LLM CALL]
90
-
91
- Based on criticism: [FEEDBACK]
92
-
93
- Provide improved response addressing all feedback.
94
- ```
95
- **Use when**: Critical quality required, budget available
96
- **Token cost**: High (2 LLM calls)
97
- **Effectiveness**: 85-95% improvement
98
-
99
- ---
100
-
101
- ## Configuration Profiles
102
-
103
- ### Profile: Speed-Optimized
104
- ```
105
- max_attempts: 1
106
- reflection_style: "minimal"
107
- external_feedback: false
108
- token_budget: 20000
109
- timeout_seconds: 10
110
- ```
111
- **Best for**: Real-time applications, chat interfaces
112
-
113
- ### Profile: Quality-Optimized
114
- ```
115
- max_attempts: 3
116
- reflection_style: "evidence_grounded"
117
- external_feedback: true
118
- token_budget: 100000
119
- timeout_seconds: 60
120
- ```
121
- **Best for**: Knowledge work, analysis, content creation
122
-
123
- ### Profile: Balanced
124
- ```
125
- max_attempts: 2
126
- reflection_style: "self_critique"
127
- external_feedback: conditional
128
- token_budget: 50000
129
- timeout_seconds: 30
130
- ```
131
- **Best for**: Most production applications
132
-
133
- ### Profile: Safety-Critical
134
- ```
135
- max_attempts: 3
136
- reflection_style: "multi_agent"
137
- external_feedback: required
138
- token_budget: 150000
139
- timeout_seconds: 120
140
- loop_detection: aggressive
141
- security_validation: strict
142
- ```
143
- **Best for**: Medical, legal, financial applications
144
-
145
- ---
146
-
147
- ## Stopping Conditions Checklist
148
-
149
- Check these in order (first true = stop):
150
-
151
- 1. **Hard Limit**: `attempt_number >= max_attempts`
152
- - Never exceed configured maximum
153
- - Typically 2-3 for reflection
154
-
155
- 2. **Quality Achieved**: `quality_score >= target_threshold`
156
- - Task complete if quality is good enough
157
- - Typical threshold: 0.8 (0-1 scale)
158
-
159
- 3. **Improvement Stalled**: `improvement < min_improvement_threshold`
160
- - If quality improved less than 5% this cycle
161
- - Indicates diminishing returns
162
-
163
- 4. **Loop Detected**: `detect_infinite_loop(output, error, history)`
164
- - Stop if exact same output repeated
165
- - Stop if same error repeated 2+ times
166
- - Stop if outputs too similar (>95%)
167
-
168
- 5. **Budget Exceeded**: `tokens_used > token_budget OR time_elapsed > timeout`
169
- - Token budget exhausted
170
- - Wall-clock timeout reached
171
-
172
- 6. **User Intervention**: `user_requested_stop()`
173
- - If humans cancel the operation
174
- - If user provides different instruction
175
-
176
- ---
177
-
178
- ## Common Mistakes and Fixes
179
-
180
- ### Mistake 1: Reflecting Without External Feedback
181
-
182
- ```
183
- WRONG:
184
- Generate output
185
- → LLM reflects on own output
186
- → LLM generates improvement
187
- → Often doesn't improve or gets worse
188
-
189
- CORRECT:
190
- Generate output
191
- → Run tests/retrieve data/check facts
192
- → Provide concrete evidence to LLM
193
- → LLM reflects grounded in evidence
194
- → Improvement is reliable
195
- ```
196
-
197
- ### Mistake 2: Infinite Reflection Loops
198
-
199
- ```
200
- WRONG:
201
- while true:
202
- output = generate()
203
- feedback = reflect(output)
204
- output = improve(output, feedback)
205
-
206
- CORRECT:
207
- for attempt in range(max_attempts):
208
- if detect_loop(output):
209
- break
210
- output = generate()
211
- if is_good_enough(output):
212
- break
213
- feedback = reflect(output)
214
- output = improve(output, feedback)
215
- ```
216
-
217
- ### Mistake 3: Including Full History in Every Cycle
218
-
219
- ```
220
- WRONG:
221
- Attempt 1: 100 tokens output
222
- Reflect with 100 tokens context + feedback = 150 tokens
223
- Attempt 2: 150 tokens output
224
- Reflect with 250 tokens context + feedback = 400 tokens
225
- ... context window balloons exponentially
226
-
227
- CORRECT:
228
- Keep rolling window of last 2 attempts only
229
- Summarize older attempts: "Attempts 1-3 hit these issues: ..."
230
- Use external memory for full history
231
- Track lessons learned separately from raw outputs
232
- ```
233
-
234
- ### Mistake 4: Waiting for Perfect Quality
235
-
236
- ```
237
- WRONG:
238
- Set target_quality = 1.0 (perfect)
239
- Keep reflecting until perfect
240
- Uses all tokens, never actually achieves perfection
241
-
242
- CORRECT:
243
- Set target_quality = 0.8 (good enough)
244
- Stop when threshold reached
245
- Accept "best effort" after max attempts
246
- Use remaining budget for other tasks
247
- ```
248
-
249
- ### Mistake 5: Reflecting on Unpredictable Outputs
250
-
251
- ```
252
- WRONG:
253
- Task: "Write a creative story"
254
- → Every reflection produces completely different story
255
- → Can't detect improvement or loops
256
- → Metrics meaningless
257
-
258
- CORRECT:
259
- Only use reflection for deterministic/measurable tasks
260
- For creative tasks: use single-pass generation
261
- Or define specific evaluation criteria (tone, length, style)
262
- ```
263
-
264
- ---
265
-
266
- ## Performance Benchmarks
267
-
268
- These are typical baselines - adjust based on your models and tasks.
269
-
270
- ### Code Generation
271
- ```
272
- Task: "Write function that..."
273
- Approach: Reflexion with test feedback
274
-
275
- Without reflection:
276
- - Success rate: 60%
277
- - Time: 2-3 seconds
278
- - Token cost: 2000 tokens
279
-
280
- With reflection (2 cycles):
281
- - Success rate: 88%
282
- - Time: 5-8 seconds
283
- - Token cost: 5000 tokens
284
-
285
- ROI: +28% success rate, 2.5x cost
286
- ```
287
-
288
- ### Fact-Checking / Analysis
289
- ```
290
- Task: "Analyze this research finding"
291
- Approach: Reflexion with web search
292
-
293
- Without reflection:
294
- - Error rate: 20%
295
- - Token cost: 3000 tokens
296
-
297
- With reflection (2 cycles):
298
- - Error rate: 3%
299
- - Token cost: 8000 tokens
300
-
301
- ROI: Error reduction worth cost in high-stakes use cases
302
- ```
303
-
304
- ### Writing Quality
305
- ```
306
- Task: "Write product description"
307
- Approach: Self-critique reflection
308
-
309
- Without reflection:
310
- - Quality score: 6.5/10
311
- - Time: 3 seconds
312
- - Token cost: 2000 tokens
313
-
314
- With reflection (2 cycles):
315
- - Quality score: 8.2/10
316
- - Time: 8 seconds
317
- - Token cost: 5000 tokens
318
-
319
- ROI: 26% quality improvement, 2.5x cost
320
- Worth it for marketing/professional content
321
- Not worth it for chat responses
322
- ```
323
-
324
- ---
325
-
326
- ## Token Budget Calculator
327
-
328
- Quick estimation for reflection:
329
-
330
- ```
331
- Initial output generation:
332
- ~2-3 KB text = 500-750 tokens
333
-
334
- Per reflection cycle:
335
- - Feedback generation: 200-300 tokens
336
- - Improvement generation: similar to initial = 500-750 tokens
337
- - Total per cycle: 700-1050 tokens
338
-
339
- Examples:
340
- 1 cycle: 500 + 850 = 1350 tokens
341
- 2 cycles: 500 + 850 + 850 = 2200 tokens
342
- 3 cycles: 500 + 850 + 850 + 850 = 3050 tokens
343
-
344
- With memory/context:
345
- Add 20-30% overhead for context window usage
346
-
347
- Total budget recommendation:
348
- Simple task: 5000-10000 tokens
349
- Complex task: 20000-50000 tokens
350
- Very complex: 50000-100000+ tokens
351
- ```
352
-
353
- ---
354
-
355
- ## Security Checklist
356
-
357
- Before deploying reflection system:
358
-
359
- - [ ] Sanitize all feedback before sending to LLM
360
- - [ ] Validate tool calls mentioned in feedback are whitelisted
361
- - [ ] Limit feedback length (max 1000 characters)
362
- - [ ] Filter credentials/secrets from history
363
- - [ ] Implement reflection depth limits
364
- - [ ] Log all reflection activities for audit
365
- - [ ] Test with adversarial feedback/prompts
366
- - [ ] Define clear escalation paths
367
- - [ ] Set rate limits on reflection API calls
368
- - [ ] Monitor for unusual reflection patterns
369
-
370
- ---
371
-
372
- ## Introspection Tool Permissions Matrix
373
-
374
- | Tool | Worker Agent | Supervisor | Manager | Admin |
375
- |------|--------------|-----------|---------|-------|
376
- | `read_own_history` | Yes | Yes | Yes | Yes |
377
- | `read_own_metadata` | Yes | Yes | Yes | Yes |
378
- | `read_parent_context` | Limited | Yes | Yes | Yes |
379
- | `read_sibling_context` | No | Limited | Yes | Yes |
380
- | `modify_own_state` | No | No | Limited | Yes |
381
- | `escalate_to_parent` | Yes | Yes | Limited | No |
382
- | `query_execution_metrics` | Limited | Yes | Yes | Yes |
383
- | `query_cost_metrics` | No | Limited | Yes | Yes |
384
- | `read_credentials` | No | No | No | Yes |
385
-
386
- ---
387
-
388
- ## Monitoring Dashboard Essentials
389
-
390
- Key metrics to track:
391
-
392
- **Real-time:**
393
- - Active reflection cycles
394
- - Avg quality improvement this hour
395
- - Tokens used this hour
396
- - Loop detections this hour
397
-
398
- **Daily/Weekly:**
399
- - Success rate (with/without reflection)
400
- - Avg attempts per successful task
401
- - Most common errors
402
- - Most effective reflection approaches
403
-
404
- **Cost Analysis:**
405
- - Cost per improved result
406
- - Cost per percentage improvement
407
- - ROI per use case
408
-
409
- ---
410
-
411
- ## Integration Checklist
412
-
413
- ### Before deploying reflection:
414
-
415
- **Architecture**
416
- - [ ] LLM client configured with retry logic
417
- - [ ] Token tracking integrated
418
- - [ ] State persistence implemented (checkpoints)
419
- - [ ] Loop detection system active
420
-
421
- **Safety**
422
- - [ ] Input validation in place
423
- - [ ] Rate limits configured
424
- - [ ] Timeout limits set
425
- - [ ] Credentials filtered from context
426
-
427
- **Observability**
428
- - [ ] Logging configured
429
- - [ ] Metrics collection active
430
- - [ ] Alerting rules defined
431
- - [ ] Dashboard created
432
-
433
- **Testing**
434
- - [ ] Unit tests for reflection logic
435
- - [ ] Integration tests with LLM calls
436
- - [ ] Load tests on token budgets
437
- - [ ] Security/adversarial tests
438
-
439
- **Documentation**
440
- - [ ] How to configure reflection per task
441
- - [ ] How to interpret metrics
442
- - [ ] How to troubleshoot issues
443
- - [ ] How to modify templates
444
-
445
- ---
446
-
447
- ## When to Use vs. When NOT to Use Reflection
448
-
449
- ### Use Reflection When:
450
-
451
- ✓ Quality is more important than speed
452
- ✓ You have time/tokens to spend
453
- ✓ You can get external feedback (tests, tools, retrieval)
454
- ✓ The task is deterministic/measurable
455
- ✓ Users are willing to wait
456
- ✓ Cost is not the primary constraint
457
- ✓ Correctness is critical
458
-
459
- ### DO NOT Use Reflection When:
460
-
461
- ✗ Sub-second latency required
462
- ✗ Operating under strict token/cost limits
463
- ✗ Task is purely creative (no criteria)
464
- ✗ No external feedback available
465
- ✗ Frequent updates needed (information changes rapidly)
466
- ✗ Task is inherently random/unpredictable
467
- ✗ User engagement requires immediate response
468
-
469
- ---
470
-
471
- ## Quick Troubleshooting Guide
472
-
473
- | Problem | Symptoms | Solution |
474
- |---------|----------|----------|
475
- | Infinite Loop | Same output repeated, timeouts | Reduce max_attempts, add loop detection |
476
- | Token Overflow | Out of memory errors | Reduce budget, compress history, use external memory |
477
- | No Improvement | Quality stays same despite reflection | Add external feedback, change template |
478
- | Getting Worse | Quality decreases after reflection | Disable reflection for this task type |
479
- | Too Slow | Timeouts at reflection stage | Reduce reflection depth, use faster model |
480
- | Misleading Feedback | Loop keeps trying same wrong approach | Use multi-agent reflection, add evidence requirement |
481
- | Security Issues | Injection attempts in feedback | Add input validation, limit tool mentions |
482
-
483
- ---
484
-
485
- ## Example Configuration Files
486
-
487
- ### TypeScript Config
488
- ```typescript
489
- const reflectionConfig = {
490
- enabled: true,
491
- maxAttempts: 2,
492
- approach: "evidence_grounded",
493
- tokenBudget: 30000,
494
- qualityThreshold: 0.8,
495
- loopDetection: {
496
- enabled: true,
497
- identicalThreshold: 2,
498
- similarityThreshold: 0.95,
499
- },
500
- security: {
501
- maxFeedbackLength: 1000,
502
- forbiddenKeywords: ["api_key", "password"],
503
- allowedTools: ["search", "test", "validate"],
504
- },
505
- timeouts: {
506
- perCycleSeconds: 30,
507
- totalSeconds: 120,
508
- },
509
- };
510
- ```
511
-
512
- ### YAML Config
513
- ```yaml
514
- reflection:
515
- enabled: true
516
- max_attempts: 2
517
- approach: "evidence_grounded"
518
-
519
- budget:
520
- tokens: 30000
521
- time_seconds: 120
522
-
523
- quality:
524
- threshold: 0.8
525
- min_improvement: 0.05
526
-
527
- safety:
528
- max_feedback_length: 1000
529
- loop_detection: true
530
- forbidden_keywords:
531
- - api_key
532
- - password
533
- - token
534
- ```
535
-
536
- ---
537
-
538
- ## Further Reading
539
-
540
- ### Academic Papers
541
- - [Self-Reflection in LLM Agents](https://arxiv.org/pdf/2405.06682) - Core research
542
- - [Reflexion Framework](https://arxiv.org/abs/2303.11366) - Evidence grounding
543
- - [Language Agent Tree Search (LATS)](https://arxiv.org/abs/2310.04406) - Tree-based reflection
544
-
545
- ### Framework Documentation
546
- - [LangGraph Reflection](https://langchain-ai.github.io/langgraph/tutorials/reflection/reflection/)
547
- - [CrewAI Hierarchical Process](https://docs.crewai.com/how-to/hierarchical-process)
548
- - [LangChain Reflection Agents](https://blog.langchain.com/reflection-agents/)
549
-
550
- ### Security Resources
551
- - [OWASP LLM Security](https://genai.owasp.org/llmrisk/llm01-prompt-injection/)
552
- - [OpenAI on Prompt Injection](https://openai.com/index/prompt-injections/)
553
-
554
- ---
555
-
556
- **Last Updated**: December 2025
557
- **Version**: 1.0
558
-
@@ -1,152 +0,0 @@
1
- # Zod Schema Validation Research
2
-
3
- ## Official Documentation URLs
4
-
5
- | Resource | URL |
6
- |----------|-----|
7
- | **Zod v3 Docs** | https://v3.zod.dev/ |
8
- | **Current Docs** | https://zod.dev/ |
9
- | **Basics Guide** | https://zod.dev/basics |
10
- | **API Reference** | https://zod.dev/api |
11
- | **GitHub** | https://github.com/colinhacks/zod |
12
- | **NPM** | https://www.npmjs.com/package/zod |
13
- | **Error Formatting** | https://zod.dev/error-formatting |
14
- | **JSON Schema** | https://zod.dev/json-schema |
15
-
16
- ## Key Patterns
17
-
18
- ### Basic Schema Definition
19
- ```typescript
20
- import { z } from 'zod';
21
-
22
- const UserSchema = z.object({
23
- name: z.string(),
24
- email: z.string().email(),
25
- age: z.number().int().positive(),
26
- active: z.boolean()
27
- });
28
- ```
29
-
30
- ### Type Inference with z.infer<T>
31
- ```typescript
32
- type User = z.infer<typeof UserSchema>;
33
- // { name: string; email: string; age: number; active: boolean }
34
- ```
35
-
36
- ### Schema Validation
37
- ```typescript
38
- // Method 1: .parse() - throws ZodError on failure
39
- try {
40
- const result = userSchema.parse(data);
41
- } catch (error) {
42
- if (error instanceof z.ZodError) {
43
- console.error(error.issues);
44
- }
45
- }
46
-
47
- // Method 2: .safeParse() - returns discriminated union
48
- const result = userSchema.safeParse(data);
49
- if (result.success) {
50
- console.log(result.data); // Type-safe
51
- } else {
52
- console.error(result.error.issues);
53
- }
54
- ```
55
-
56
- ### Error Handling
57
- ```typescript
58
- const result = schema.safeParse(data);
59
- if (!result.success) {
60
- // Access issues array
61
- console.log(result.error.issues);
62
-
63
- // Format as nested object
64
- const formatted = result.error.format();
65
-
66
- // Flatten for forms
67
- const flattened = z.flattenError(result.error);
68
- }
69
- ```
70
-
71
- ## Schema Introspection
72
-
73
- ### Accessing _def (Internal)
74
- ```typescript
75
- const schema = z.object({
76
- name: z.string(),
77
- tags: z.array(z.string())
78
- });
79
-
80
- // Access object shape
81
- console.log(schema._def.shape());
82
-
83
- // Get array element type
84
- const arraySchema = z.array(z.string());
85
- console.log(arraySchema._def.type);
86
-
87
- // Detect schema type
88
- console.log(z.string()._def.typeName); // "ZodString"
89
- ```
90
-
91
- ### JSON Schema Conversion (v3)
92
- ```typescript
93
- // Use zod-to-json-schema for v3
94
- import { zodToJsonSchema } from 'zod-to-json-schema';
95
-
96
- const jsonSchema = zodToJsonSchema(zodSchema);
97
- ```
98
-
99
- ## Advanced Features
100
-
101
- ### Optional Fields
102
- ```typescript
103
- const schema = z.object({
104
- name: z.string(),
105
- middleName: z.string().optional(), // string | undefined
106
- nickname: z.string().nullable() // string | null
107
- });
108
- ```
109
-
110
- ### Union Types
111
- ```typescript
112
- const stringOrNumber = z.union([z.string(), z.number()]);
113
-
114
- // Discriminated union (more efficient)
115
- const result = z.discriminatedUnion('status', [
116
- z.object({ status: z.literal('success'), data: z.string() }),
117
- z.object({ status: z.literal('error'), message: z.string() })
118
- ]);
119
- ```
120
-
121
- ### Arrays
122
- ```typescript
123
- const stringArray = z.array(z.string());
124
- const boundedArray = z.array(z.number()).min(1).max(10);
125
- ```
126
-
127
- ## TypeScript Integration
128
-
129
- ### Generic ZodType Usage
130
- ```typescript
131
- import { z, ZodType } from 'zod';
132
-
133
- function validateData<T extends ZodType>(
134
- data: unknown,
135
- schema: T
136
- ): z.infer<T> {
137
- return schema.parse(data);
138
- }
139
-
140
- // Generic schema factory
141
- function createEnvelopeSchema<T extends ZodType>(messageSchema: T) {
142
- return z.object({
143
- from: z.string(),
144
- to: z.string(),
145
- message: messageSchema
146
- });
147
- }
148
- ```
149
-
150
- ## Package Version
151
-
152
- Use **zod@^3.23.0** for stability (not v4.x which is in beta).