groundswell 0.0.1 → 0.0.2

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 (242) hide show
  1. package/.claude/commands/subtask-planning/prp-base-create.md +120 -0
  2. package/.claude/commands/subtask-planning/prp-base-execute.md +65 -0
  3. package/.claude/commands/task-breakdown.md +94 -0
  4. package/.claude/system_prompts/task-breakdown.md +1 -0
  5. package/CHANGELOG.md +188 -0
  6. package/PRD.md +543 -0
  7. package/README.md +99 -5
  8. package/examples/README.md +15 -1
  9. package/examples/examples/11-reparenting-workflows.ts +269 -0
  10. package/examples/index.ts +4 -0
  11. package/package-lock.json +2398 -0
  12. package/package.json +3 -1
  13. package/plan/001_d3bb02af4886/TEST_RESULTS.md +259 -0
  14. package/plan/001_d3bb02af4886/bug_fix_tasks.json +484 -0
  15. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S1/PRP.md +488 -0
  16. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S2/PRP.md +581 -0
  17. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S3/PRP.md +687 -0
  18. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S1/PRP.md +492 -0
  19. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/PRP.md +932 -0
  20. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/concurrent_error_testing_patterns.md +1109 -0
  21. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/vitest_concurrent_testing.md +802 -0
  22. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/workflow_engine_test_references.md +603 -0
  23. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S1/PRP.md +564 -0
  24. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S3/PRP.md +518 -0
  25. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S4/PRP.md +1252 -0
  26. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/PRP.md +364 -0
  27. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/CODEBASE_INVENTORY.md +114 -0
  28. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/DECORATOR_DOCUMENTATION_PATTERNS.md +205 -0
  29. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/PRD_LOCATION_ANALYSIS.md +199 -0
  30. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/ULTRATHINK_PRP_PLAN.md +134 -0
  31. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/PRP.md +495 -0
  32. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/research/console_error_inventory.md +435 -0
  33. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S2/PRP.md +506 -0
  34. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S3/PRP.md +612 -0
  35. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/PRP.md +558 -0
  36. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/research/external_research.md +788 -0
  37. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S2/PRP.md +460 -0
  38. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S3/PRP.md +454 -0
  39. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/PRP.md +520 -0
  40. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/RECOMMENDATION.md +417 -0
  41. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/external_workflow_engines_research.md +760 -0
  42. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/security_implications_analysis.md +245 -0
  43. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S2/PRP.md +792 -0
  44. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/PRP.md +535 -0
  45. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/TEST_EXECUTION_REPORT.md +190 -0
  46. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/PRP.md +654 -0
  47. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/TEST_FIX_REPORT.md +227 -0
  48. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/KEY_FINDINGS.md +345 -0
  49. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/QUICK_REFERENCE.md +193 -0
  50. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/test_maintenance_research.md +1323 -0
  51. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/BREAKING_CHANGES_AUDIT.md +1011 -0
  52. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/PRP.md +927 -0
  53. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S2/PRP.md +505 -0
  54. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/architecture/logger_child_signature_analysis.md +401 -0
  55. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/child_implementation_research.md +142 -0
  56. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/test_patterns_research.md +112 -0
  57. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/vitest_patterns_research.md +159 -0
  58. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/PRP.md +549 -0
  59. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/VERIFICATION_REPORT.md +368 -0
  60. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/edge_case_analysis.md +172 -0
  61. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/usage_inventory.md +175 -0
  62. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S2/PRP.md +696 -0
  63. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S4/PRP.md +860 -0
  64. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/PRP.md +1066 -0
  65. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01-testing-aggregated-errors.md +1103 -0
  66. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01_typescript_error_aggregation_patterns.md +789 -0
  67. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02-error-merge-strategy-testing-guide.md +1098 -0
  68. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02_aggregate_error_patterns.md +1037 -0
  69. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03-promise-allsettled-testing-patterns.md +916 -0
  70. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03_error_merging_strategies.md +1045 -0
  71. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/04_github_stackoverflow_examples.md +890 -0
  72. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/05_comprehensive_summary.md +822 -0
  73. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/INDEX.md +668 -0
  74. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/QUICK_REFERENCE.md +706 -0
  75. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/README.md +265 -0
  76. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/RESEARCH_REPORT.md +655 -0
  77. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S4/research/vitest_testing_patterns.md +1103 -0
  78. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T3S2/PRP.md +426 -0
  79. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/PRP.md +506 -0
  80. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/QUICK_REFERENCE.md +114 -0
  81. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/RESEARCH_SUMMARY.md +316 -0
  82. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/vitest_observer_error_logging_best_practices.md +754 -0
  83. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S3/PRP.md +612 -0
  84. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/PRP.md +719 -0
  85. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/README.md +215 -0
  86. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/analysis.md +765 -0
  87. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S3/PRP.md +718 -0
  88. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/DECISION.md +149 -0
  89. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/PRP.md +470 -0
  90. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/ULTRATHINK_PLAN.md +332 -0
  91. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/codebase_workflow_name_analysis.md +167 -0
  92. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/external_best_practices.md +265 -0
  93. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/validation_patterns.md +273 -0
  94. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S1/workflow_engine_ancestry_api_research.md +760 -0
  95. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S3-PRP.md +434 -0
  96. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S1/PRP.md +717 -0
  97. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/PRP.md +472 -0
  98. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/VALIDATION_REPORT.md +125 -0
  99. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/research/ULTRATHINK_PRP_PLAN.md +301 -0
  100. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/error-logging-best-practices.md +1170 -0
  101. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/research_typescript_partial_and_overloads.md +940 -0
  102. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-quick-reference.md +151 -0
  103. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-research.md +650 -0
  104. package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/prd_snapshot.md +259 -0
  105. package/plan/001_d3bb02af4886/bugfix/P1M1T1S1/PRP.md +457 -0
  106. package/plan/001_d3bb02af4886/bugfix/RESEARCH_SUMMARY.md +346 -0
  107. package/plan/001_d3bb02af4886/bugfix/architecture/codebase_structure.md +311 -0
  108. package/plan/001_d3bb02af4886/bugfix/architecture/concurrent_execution_best_practices.md +1565 -0
  109. package/plan/001_d3bb02af4886/bugfix/architecture/error_handling_patterns.md +288 -0
  110. package/plan/001_d3bb02af4886/bugfix/architecture/promise_all_analysis.md +741 -0
  111. package/plan/001_d3bb02af4886/docs/PRP/P1M1T1S4-functional-workflow-error-state-capture-test.md +652 -0
  112. package/plan/001_d3bb02af4886/docs/PRP/PRP.md +527 -0
  113. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S1-PRP.md +415 -0
  114. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S2-PRP.md +378 -0
  115. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S4-PRP.md +713 -0
  116. package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M2T1S4-PRP.md +370 -0
  117. package/plan/001_d3bb02af4886/docs/PRP_P1M3T1S3.md +499 -0
  118. package/plan/001_d3bb02af4886/docs/TEST_RESULTS.md +230 -0
  119. package/plan/001_d3bb02af4886/docs/bugfix/ANALYSIS_PRD_VS_IMPLEMENTATION.md +1134 -0
  120. package/plan/001_d3bb02af4886/docs/bugfix/GAP_ANALYSIS_SUMMARY.md +179 -0
  121. package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/PRP.md +629 -0
  122. package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/validation-report.md +214 -0
  123. package/plan/001_d3bb02af4886/docs/bugfix/PRP_P1M4T2S3.md +629 -0
  124. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_PRP.md +529 -0
  125. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_QUICK_REFERENCE.md +142 -0
  126. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_README.md +304 -0
  127. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_TEST_RESULTS.md +558 -0
  128. package/plan/001_d3bb02af4886/docs/bugfix/bugfix_VALIDATION_SUMMARY.md +256 -0
  129. package/plan/001_d3bb02af4886/docs/bugfix/system_context.md +346 -0
  130. package/plan/001_d3bb02af4886/docs/bugfix-architecture/bug_analysis.md +415 -0
  131. package/plan/001_d3bb02af4886/docs/bugfix-architecture/implementation_patterns.md +489 -0
  132. package/plan/001_d3bb02af4886/docs/bugfix-architecture/system_context.md +218 -0
  133. package/plan/001_d3bb02af4886/docs/bugfix_INITIATION_SUMMARY.md +380 -0
  134. package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_PATTERNS.md +1923 -0
  135. package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_QUICK_REF.md +319 -0
  136. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/codebase-context.md +115 -0
  137. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/cycle-detection-algorithms.md +134 -0
  138. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/test-patterns.md +153 -0
  139. package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/workflow-class.md +132 -0
  140. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_BEST_PRACTICES.md +716 -0
  141. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_QUICK_REF.md +186 -0
  142. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/GROUNDSWELL_DECORATOR_EXAMPLES.md +604 -0
  143. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/INDEX.md +213 -0
  144. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/codebase_structure.md +30 -0
  145. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/existing_test_pattern.md +56 -0
  146. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/getRootObservers_implementation.md +53 -0
  147. package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/test_conventions.md +49 -0
  148. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/PRP.md +958 -0
  149. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/QUICK_REFERENCE.md +339 -0
  150. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/README.md +305 -0
  151. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/SUMMARY.md +433 -0
  152. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/bidirectional-tree-consistency-testing.md +1574 -0
  153. package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/test-pattern-examples.md +1014 -0
  154. package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_QUICK_REF.md +376 -0
  155. package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_RESEARCH.md +1507 -0
  156. package/plan/001_d3bb02af4886/docs/research/bugfix_typescript_patterns.md +949 -0
  157. package/plan/001_d3bb02af4886/docs/research/error-testing-research.md +619 -0
  158. package/plan/001_d3bb02af4886/docs/research/error_handling_patterns.md +723 -0
  159. package/plan/{research → 001_d3bb02af4886/docs/research/general}/introspection-security-guide.md +56 -0
  160. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/PRP_TEMPLATE.md +460 -0
  161. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/QUICK_REFERENCE.md +324 -0
  162. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/README.md +175 -0
  163. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/RESEARCH_REPORT.md +499 -0
  164. package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/SUMMARY.md +163 -0
  165. package/plan/bugfix/BUG_FIX_SUMMARY.md +961 -0
  166. package/src/__tests__/adversarial/attachChild-performance.test.ts +216 -0
  167. package/src/__tests__/adversarial/circular-reference.test.ts +101 -0
  168. package/src/__tests__/adversarial/complex-circular-reference.test.ts +139 -0
  169. package/src/__tests__/adversarial/concurrent-task-failures.test.ts +571 -0
  170. package/src/__tests__/adversarial/deep-analysis.test.ts +729 -0
  171. package/src/__tests__/adversarial/deep-hierarchy-stress.test.ts +213 -0
  172. package/src/__tests__/adversarial/e2e-prd-validation.test.ts +448 -0
  173. package/src/__tests__/adversarial/edge-case.test.ts +703 -0
  174. package/src/__tests__/adversarial/error-merge-strategy.test.ts +760 -0
  175. package/src/__tests__/adversarial/incremental-performance.test.ts +140 -0
  176. package/src/__tests__/adversarial/node-map-update-benchmarks.test.ts +457 -0
  177. package/src/__tests__/adversarial/observer-propagation.test.ts +487 -0
  178. package/src/__tests__/adversarial/parent-validation.test.ts +143 -0
  179. package/src/__tests__/adversarial/prd-12-2-compliance.test.ts +611 -0
  180. package/src/__tests__/adversarial/prd-compliance.test.ts +731 -0
  181. package/src/__tests__/compatibility/backward-compatibility.test.ts +1572 -0
  182. package/src/__tests__/helpers/index.ts +18 -0
  183. package/src/__tests__/helpers/tree-verification.ts +257 -0
  184. package/src/__tests__/integration/bidirectional-consistency.test.ts +847 -0
  185. package/src/__tests__/integration/observer-logging.test.ts +643 -0
  186. package/src/__tests__/integration/tree-mirroring.test.ts +37 -0
  187. package/src/__tests__/integration/workflow-reparenting.test.ts +303 -0
  188. package/src/__tests__/unit/context.test.ts +79 -0
  189. package/src/__tests__/unit/logger.test.ts +293 -0
  190. package/src/__tests__/unit/observable.test.ts +321 -0
  191. package/src/__tests__/unit/tree-debugger-incremental.test.ts +170 -0
  192. package/src/__tests__/unit/utils/workflow-error-utils.test.ts +209 -0
  193. package/src/__tests__/unit/workflow-detachChild.test.ts +100 -0
  194. package/src/__tests__/unit/workflow-emitEvent-childDetached.test.ts +153 -0
  195. package/src/__tests__/unit/workflow-isDescendantOf.test.ts +180 -0
  196. package/src/__tests__/unit/workflow.test.ts +277 -1
  197. package/src/core/agent.ts +21 -1
  198. package/src/core/logger.ts +27 -2
  199. package/src/core/workflow-context.ts +6 -4
  200. package/src/core/workflow.ts +252 -14
  201. package/src/debugger/tree-debugger.ts +52 -7
  202. package/src/decorators/task.ts +65 -2
  203. package/src/index.ts +4 -2
  204. package/src/types/decorators.ts +8 -1
  205. package/src/types/events.ts +1 -0
  206. package/src/utils/index.ts +1 -0
  207. package/src/utils/observable.ts +32 -3
  208. package/src/utils/workflow-error-utils.ts +56 -0
  209. package/tsconfig.json +1 -1
  210. package/llms_full.txt +0 -5890
  211. package/tasks.json +0 -0
  212. /package/plan/{backlog.json → 001_d3bb02af4886/backlog.json} +0 -0
  213. /package/plan/{P1P2/PRP.md → 001_d3bb02af4886/docs/PRP/P1P2-PRP.md} +0 -0
  214. /package/plan/{P3P4/PRP.md → 001_d3bb02af4886/docs/PRP/P3P4-PRP.md} +0 -0
  215. /package/plan/{P4P5/PRP.md → 001_d3bb02af4886/docs/PRP/P4P5-PRP.md} +0 -0
  216. /package/plan/{architecture → 001_d3bb02af4886/docs/architecture}/external_deps.md +0 -0
  217. /package/plan/{architecture → 001_d3bb02af4886/docs/architecture}/system_context.md +0 -0
  218. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/LRU_CACHE_BEST_PRACTICES.md +0 -0
  219. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/LRU_CACHE_CODE_PATTERNS.md +0 -0
  220. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/LRU_CACHE_INTEGRATION_GUIDE.md +0 -0
  221. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/LRU_CACHE_RESEARCH_INDEX.md +0 -0
  222. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/REFLECTION_INDEX.md +0 -0
  223. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/REFLECTION_RESEARCH_REPORT.md +0 -0
  224. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/RESEARCH_SUMMARY.md +0 -0
  225. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/anthropic-sdk.md +0 -0
  226. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/async-local-storage.md +0 -0
  227. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-code-patterns.md +0 -0
  228. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-decision-matrix.md +0 -0
  229. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-implementation-guide.md +0 -0
  230. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-integration-guide.md +0 -0
  231. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-patterns.md +0 -0
  232. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-quick-reference.md +0 -0
  233. /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/zod-schema.md +0 -0
  234. /package/plan/{P3P4/research → 001_d3bb02af4886/docs/research/P3P4}/caching-lru.md +0 -0
  235. /package/plan/{P3P4/research → 001_d3bb02af4886/docs/research/P3P4}/introspection-tools.md +0 -0
  236. /package/plan/{P3P4/research → 001_d3bb02af4886/docs/research/P3P4}/reflection-patterns.md +0 -0
  237. /package/plan/{P4P5/research → 001_d3bb02af4886/docs/research/P4P5}/RESEARCH_SUMMARY.md +0 -0
  238. /package/plan/{research → 001_d3bb02af4886/docs/research/general}/INTROSPECTION_RESEARCH_SUMMARY.md +0 -0
  239. /package/plan/{research → 001_d3bb02af4886/docs/research/general}/README-INTROSPECTION.md +0 -0
  240. /package/plan/{research → 001_d3bb02af4886/docs/research/general}/agent-introspection-patterns.md +0 -0
  241. /package/plan/{research → 001_d3bb02af4886/docs/research/general}/introspection-tool-examples.md +0 -0
  242. /package/{PRPs/PRDs/001-hierarchical-workflow-engine.md → plan/001_d3bb02af4886/prd_snapshot.md} +0 -0
@@ -0,0 +1,380 @@
1
+ # Project Initiation Summary
2
+
3
+ ## Bug Fix: attachChild() Tree Integrity Violation
4
+
5
+ **Date**: 2026-01-11
6
+ **Status**: ✅ Complete - Ready for Implementation
7
+ **Severity**: Critical
8
+
9
+ ---
10
+
11
+ ## Executive Summary
12
+
13
+ The hierarchical workflow engine has a **critical bug** in the `attachChild()` method that allows creating inconsistent tree state. This bug was discovered through comprehensive end-to-end testing (240 existing tests + adversarial testing). The fix has been fully researched, architected, and decomposed into implementation-ready tasks.
14
+
15
+ ## Bug Impact
16
+
17
+ ### What's Broken
18
+ - A child workflow can be attached to multiple parents
19
+ - The `child.parent` property only points to the original parent
20
+ - Observer events only propagate to the original parent's observers
21
+ - Tree debugger shows inconsistent state
22
+ - getRoot() returns the wrong root
23
+ - **Violates PRD's "1:1 tree mirror" requirement**
24
+
25
+ ### Why It Matters
26
+ This is a **data integrity bug** that can cause:
27
+ - Subtle, hard-to-debug issues in production
28
+ - Incorrect observer notifications
29
+ - Broken tree traversal and debugging
30
+ - Loss of trust in the workflow engine's consistency
31
+
32
+ ---
33
+
34
+ ## Research & Architecture Phase ✅
35
+
36
+ ### Completed Research Activities
37
+
38
+ 1. **Codebase Mapping** ✅
39
+ - Located bug in `src/core/workflow.ts:187-201`
40
+ - Analyzed 241 existing tests across 16 test files
41
+ - Documented dual tree architecture (workflow + node trees)
42
+ - Identified observer propagation patterns
43
+ - Mapped decorator implementations (@Step, @Task, @ObservedState)
44
+
45
+ 2. **External Pattern Research** ✅
46
+ - Researched tree integrity best practices (DOM, React Fiber)
47
+ - Identified defensive programming patterns for parent-child validation
48
+ - Documented observer pattern implementation in tree structures
49
+ - Found testing strategies for tree data structures
50
+
51
+ 3. **Architecture Documentation** ✅
52
+ Created comprehensive documentation in `plan/bugfix/architecture/`:
53
+ - `system_context.md` (8KB) - Complete system architecture overview
54
+ - `bug_analysis.md` (13KB) - Detailed bug analysis and root cause
55
+ - `implementation_patterns.md` (14KB) - Proven patterns and best practices
56
+
57
+ ### Key Architectural Decisions
58
+
59
+ 1. **Add Parent Validation**: Check if `child.parent` is already set before attaching
60
+ 2. **Add Circular Reference Detection**: Prevent attaching ancestors as children
61
+ 3. **Add detachChild() Method**: Enable proper reparenting workflow
62
+ 4. **Add childDetached Event**: Maintain observer notification consistency
63
+ 5. **Maintain Backward Compatibility**: Only prevent buggy behavior, no breaking API changes
64
+
65
+ ---
66
+
67
+ ## Task Decomposition ✅
68
+
69
+ ### Overview
70
+
71
+ Created **`./bug_fix_tasks.json`** (32KB, 355 lines) with complete task breakdown:
72
+
73
+ **Structure**:
74
+ - **1 Phase** (P1)
75
+ - **4 Milestones**
76
+ - **6 Tasks**
77
+ - **23 Subtasks** (0.5-2 Story Points each)
78
+
79
+ ### Milestone Breakdown
80
+
81
+ #### M1: Core Validation Implementation
82
+ **Goal**: Fix the primary bug by adding parent validation and circular reference detection.
83
+
84
+ **Tasks**:
85
+ - T1: Add Parent Validation to attachChild() (3 subtasks)
86
+ - Write failing test for parent validation
87
+ - Implement parent validation check
88
+ - Verify no regressions
89
+
90
+ - T2: Add Circular Reference Detection (4 subtasks)
91
+ - Write failing test for circular references
92
+ - Implement isDescendantOf() helper method
93
+ - Integrate check into attachChild()
94
+ - Verify no regressions
95
+
96
+ **Estimated Story Points**: 11 SP
97
+
98
+ #### M2: Reparenting Support
99
+ **Goal**: Implement detachChild() method to enable proper reparenting workflow.
100
+
101
+ **Tasks**:
102
+ - T1: Implement detachChild() Method (4 subtasks)
103
+ - Add childDetached event type to events.ts
104
+ - Write failing tests for detachChild()
105
+ - Implement detachChild() method
106
+ - Update emitEvent() to handle childDetached events
107
+
108
+ - T2: Test Reparenting Workflow (2 subtasks)
109
+ - Write reparenting integration test
110
+ - Verify tree consistency after reparenting
111
+
112
+ **Estimated Story Points**: 8 SP
113
+
114
+ #### M3: Comprehensive Testing & Validation
115
+ **Goal**: Add adversarial tests and verify PRD compliance.
116
+
117
+ **Tasks**:
118
+ - T1: Add Adversarial and Edge Case Tests (4 subtasks)
119
+ - Write deep hierarchy stress test
120
+ - Write manual parent mutation test
121
+ - Write complex circular reference tests
122
+ - Write bidirectional consistency tests
123
+
124
+ - T2: Verify PRD Compliance (3 subtasks)
125
+ - Verify PRD Section 12.2 compliance
126
+ - Verify observer propagation (PRD Section 7)
127
+ - Run full test suite and verify all pass
128
+
129
+ **Estimated Story Points**: 8 SP
130
+
131
+ #### M4: Documentation & Final Validation
132
+ **Goal**: Update documentation and prepare for release.
133
+
134
+ **Tasks**:
135
+ - T1: Update Documentation and Examples (2 subtasks)
136
+ - Add JSDoc comments to modified methods
137
+ - Create reparenting usage example
138
+
139
+ - T2: Final Validation and Release Preparation (4 subtasks)
140
+ - Verify TypeScript compilation and type checking
141
+ - Check for performance regressions
142
+ - Create change summary and release notes
143
+ - Final validation checklist
144
+
145
+ **Estimated Story Points**: 6 SP
146
+
147
+ ### Total Effort Estimate
148
+
149
+ **Total Story Points**: 33 SP
150
+ **Total Subtasks**: 23
151
+ **Estimated Duration**: 5-7 days for one developer
152
+
153
+ ---
154
+
155
+ ## Task Design Principles
156
+
157
+ ### 1. TDD Workflow
158
+ Every subtask follows the red-green-refactor pattern:
159
+ - Write failing test first
160
+ - Implement the fix
161
+ - Verify test passes
162
+ - Run full suite to check for regressions
163
+
164
+ ### 2. Context Scope Isolation
165
+ Each subtask includes a `context_scope` field that defines:
166
+ - **Research Notes**: References to architecture documentation
167
+ - **Input**: What data/interfaces are available
168
+ - **Logic**: What to implement, referencing specific files/lines
169
+ - **Output**: Expected result and validation criteria
170
+
171
+ ### 3. Dependency Management
172
+ Subtasks have explicit dependencies to ensure:
173
+ - Tests are written before implementations
174
+ - Validations are added before tree modifications
175
+ - Documentation follows implementation
176
+
177
+ ### 4. Story Point Constraints
178
+ All subtasks are 0.5, 1, or 2 Story Points (max 2 SP). This ensures:
179
+ - Tasks are atomic and completable in one session
180
+ - Progress is easily trackable
181
+ - No task is too large to estimate accurately
182
+
183
+ ---
184
+
185
+ ## Key Implementation Details
186
+
187
+ ### Files to Modify
188
+
189
+ 1. **`src/core/workflow.ts`**
190
+ - `attachChild()` method (lines 187-201) - Add parent validation and circular reference detection
191
+ - Add `isDescendantOf()` private method
192
+ - Add `detachChild()` public method
193
+ - Update JSDoc comments
194
+
195
+ 2. **`src/types/events.ts`**
196
+ - Add `childDetached` event type to WorkflowEvent union
197
+
198
+ 3. **`src/__tests__/adversarial/edge-case.test.ts`**
199
+ - Add 10+ new test cases for tree integrity
200
+
201
+ ### Critical Invariants to Maintain
202
+
203
+ 1. **Dual Tree Synchronization**: Both workflow tree and node tree must update atomically
204
+ 2. **Observer Propagation**: Events must reach all root observers via parent chain
205
+ 3. **Circular Reference Detection**: getRoot() and isDescendantOf() must detect cycles
206
+ 4. **Type Safety**: All TypeScript types must be maintained
207
+ 5. **Event Emission**: All tree operations must emit appropriate events
208
+
209
+ ---
210
+
211
+ ## Testing Strategy
212
+
213
+ ### Test Coverage Areas
214
+
215
+ 1. **Unit Tests**:
216
+ - Parent validation in attachChild()
217
+ - Circular reference detection
218
+ - detachChild() functionality
219
+ - Event emission (childDetached)
220
+
221
+ 2. **Integration Tests**:
222
+ - Reparenting workflow (detach → attach)
223
+ - Observer propagation after reparenting
224
+ - Bidirectional tree consistency
225
+
226
+ 3. **Adversarial Tests**:
227
+ - Deep hierarchy stress (1000+ levels)
228
+ - Manual parent mutation
229
+ - Complex circular references
230
+ - Edge cases and boundary conditions
231
+
232
+ 4. **Regression Tests**:
233
+ - All 241 existing tests must pass
234
+ - No observer propagation breaks
235
+ - No performance regressions
236
+
237
+ ### Expected Test Count
238
+ - **Before**: 241 tests
239
+ - **After**: 260+ tests (adding ~20 new tests)
240
+
241
+ ---
242
+
243
+ ## Success Criteria
244
+
245
+ ### Must Have (Release Blocking)
246
+ - ✅ attachChild() validates child.parent before attaching
247
+ - ✅ attachChild() prevents circular references
248
+ - ✅ attachChild() throws clear, actionable error messages
249
+ - ✅ detachChild() method properly removes children
250
+ - ✅ All observer events propagate correctly
251
+ - ✅ Tree debugger shows consistent tree structure
252
+ - ✅ All 260+ tests pass
253
+ - ✅ PRD Section 12.2 requirements met
254
+
255
+ ### Should Have (Important)
256
+ - Performance impact < 10% overhead
257
+ - Comprehensive documentation
258
+ - Usage examples for reparenting
259
+ - TypeScript compilation with no errors
260
+
261
+ ### Nice to Have (Enhancements)
262
+ - Performance benchmarks
263
+ - Migration guide for affected users
264
+ - Changelog entry
265
+
266
+ ---
267
+
268
+ ## Risk Assessment
269
+
270
+ ### Technical Risks
271
+
272
+ | Risk | Likelihood | Impact | Mitigation |
273
+ |------|-----------|--------|------------|
274
+ | Performance regression from isDescendantOf() | Medium | Medium | Benchmark and optimize if needed |
275
+ | Breaking existing user code | Low | High | Only prevent buggy behavior, add clear error messages |
276
+ | Observer propagation issues | Low | High | Comprehensive integration tests |
277
+ | Type definition errors | Low | Medium | TypeScript compilation validation |
278
+
279
+ ### Mitigation Strategies
280
+
281
+ 1. **Performance**: Add benchmarks in M4.T2.S2, optimize if overhead > 10%
282
+ 2. **Breaking Changes**: Document that only buggy behavior is prevented
283
+ 3. **Observer Issues**: Extensive integration tests in M2.T2 and M3.T2
284
+ 4. **Type Safety**: TypeScript compilation check in M4.T2.S1
285
+
286
+ ---
287
+
288
+ ## Next Steps
289
+
290
+ ### Immediate Actions (For Developers)
291
+
292
+ 1. **Review Architecture Documentation**
293
+ - Read `plan/bugfix/architecture/system_context.md`
294
+ - Read `plan/bugfix/architecture/bug_analysis.md`
295
+ - Read `plan/bugfix/architecture/implementation_patterns.md`
296
+
297
+ 2. **Load Task Backlog**
298
+ - Open `./bug_fix_tasks.json`
299
+ - Import into task management system (if applicable)
300
+ - Review Phase 1, Milestone 1, Task 1
301
+
302
+ 3. **Start Implementation**
303
+ - Begin with P1.M1.T1.S1 (Write failing test for parent validation)
304
+ - Follow the TDD workflow: Red → Green → Refactor
305
+ - Update task status as you progress
306
+
307
+ ### For Project Managers
308
+
309
+ 1. **Review Task Breakdown**
310
+ - Verify 33 Story Points estimate is acceptable
311
+ - Check that all 23 subtasks are well-defined
312
+ - Confirm dependencies are correct
313
+
314
+ 2. **Plan Sprint**
315
+ - Assign developers to tasks
316
+ - Set up code review process
317
+ - Schedule 5-7 days for completion
318
+
319
+ 3. **Track Progress**
320
+ - Monitor subtask completion
321
+ - Ensure all tests pass at each milestone
322
+ - Review architecture documentation for context
323
+
324
+ ---
325
+
326
+ ## Deliverables
327
+
328
+ ### Completed ✅
329
+
330
+ 1. **Architecture Documentation** (`plan/bugfix/architecture/`)
331
+ - `system_context.md` - System architecture and constraints
332
+ - `bug_analysis.md` - Detailed bug analysis and solution design
333
+ - `implementation_patterns.md` - Best practices and code patterns
334
+
335
+ 2. **Task Breakdown** (`./bug_fix_tasks.json`)
336
+ - 1 Phase, 4 Milestones, 6 Tasks, 23 Subtasks
337
+ - Complete context_scope for each subtask
338
+ - Dependencies and story points defined
339
+ - Ready for immediate implementation
340
+
341
+ ### Pending (Implementation Phase)
342
+
343
+ 1. **Code Changes**
344
+ - Modify `src/core/workflow.ts`
345
+ - Modify `src/types/events.ts`
346
+ - Add tests to `src/__tests__/adversarial/edge-case.test.ts`
347
+
348
+ 2. **Validation**
349
+ - All 260+ tests pass
350
+ - TypeScript compilation succeeds
351
+ - Performance benchmarks acceptable
352
+ - PRD compliance verified
353
+
354
+ 3. **Documentation**
355
+ - JSDoc comments updated
356
+ - Usage examples created
357
+ - Release notes written
358
+
359
+ ---
360
+
361
+ ## Conclusion
362
+
363
+ The bug fix project is **fully planned and ready for implementation**. The research phase has produced comprehensive architecture documentation, and the task breakdown provides a clear, step-by-step path to fixing the critical bug.
364
+
365
+ The fix is well-scoped (33 SP), properly tested (20+ new tests), and maintains backward compatibility while preventing the buggy behavior that was causing data integrity issues.
366
+
367
+ **Status**: ✅ **READY FOR IMPLEMENTATION**
368
+
369
+ ---
370
+
371
+ ## Contact & References
372
+
373
+ - **Bug Report**: See `plan/bugfix/architecture/bug_analysis.md`
374
+ - **System Architecture**: See `plan/bugfix/architecture/system_context.md`
375
+ - **Implementation Patterns**: See `plan/bugfix/architecture/implementation_patterns.md`
376
+ - **Task Backlog**: See `./bug_fix_tasks.json`
377
+ - **PRD Reference**: Section 12.2 - Workflow Base Class
378
+
379
+ **Generated**: 2026-01-11
380
+ **Agent**: Lead Technical Architect & Project Management Synthesizer