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.
- package/.claude/commands/subtask-planning/prp-base-create.md +120 -0
- package/.claude/commands/subtask-planning/prp-base-execute.md +65 -0
- package/.claude/commands/task-breakdown.md +94 -0
- package/.claude/system_prompts/task-breakdown.md +1 -0
- package/CHANGELOG.md +188 -0
- package/PRD.md +543 -0
- package/README.md +99 -5
- package/examples/README.md +15 -1
- package/examples/examples/11-reparenting-workflows.ts +269 -0
- package/examples/index.ts +4 -0
- package/package-lock.json +2398 -0
- package/package.json +3 -1
- package/plan/001_d3bb02af4886/TEST_RESULTS.md +259 -0
- package/plan/001_d3bb02af4886/bug_fix_tasks.json +484 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S1/PRP.md +488 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S2/PRP.md +581 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S3/PRP.md +687 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S1/PRP.md +492 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/PRP.md +932 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/concurrent_error_testing_patterns.md +1109 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/vitest_concurrent_testing.md +802 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/workflow_engine_test_references.md +603 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S1/PRP.md +564 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S3/PRP.md +518 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S4/PRP.md +1252 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/PRP.md +364 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/CODEBASE_INVENTORY.md +114 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/DECORATOR_DOCUMENTATION_PATTERNS.md +205 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/PRD_LOCATION_ANALYSIS.md +199 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/ULTRATHINK_PRP_PLAN.md +134 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/PRP.md +495 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/research/console_error_inventory.md +435 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S2/PRP.md +506 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S3/PRP.md +612 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/PRP.md +558 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/research/external_research.md +788 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S2/PRP.md +460 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S3/PRP.md +454 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/PRP.md +520 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/RECOMMENDATION.md +417 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/external_workflow_engines_research.md +760 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/security_implications_analysis.md +245 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S2/PRP.md +792 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/PRP.md +535 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/TEST_EXECUTION_REPORT.md +190 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/PRP.md +654 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/TEST_FIX_REPORT.md +227 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/KEY_FINDINGS.md +345 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/QUICK_REFERENCE.md +193 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/test_maintenance_research.md +1323 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/BREAKING_CHANGES_AUDIT.md +1011 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/PRP.md +927 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S2/PRP.md +505 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/architecture/logger_child_signature_analysis.md +401 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/child_implementation_research.md +142 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/test_patterns_research.md +112 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/vitest_patterns_research.md +159 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/PRP.md +549 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/VERIFICATION_REPORT.md +368 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/edge_case_analysis.md +172 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/usage_inventory.md +175 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S2/PRP.md +696 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S4/PRP.md +860 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/PRP.md +1066 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01-testing-aggregated-errors.md +1103 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01_typescript_error_aggregation_patterns.md +789 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02-error-merge-strategy-testing-guide.md +1098 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02_aggregate_error_patterns.md +1037 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03-promise-allsettled-testing-patterns.md +916 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03_error_merging_strategies.md +1045 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/04_github_stackoverflow_examples.md +890 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/05_comprehensive_summary.md +822 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/INDEX.md +668 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/QUICK_REFERENCE.md +706 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/README.md +265 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/RESEARCH_REPORT.md +655 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S4/research/vitest_testing_patterns.md +1103 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T3S2/PRP.md +426 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/PRP.md +506 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/QUICK_REFERENCE.md +114 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/RESEARCH_SUMMARY.md +316 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/vitest_observer_error_logging_best_practices.md +754 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S3/PRP.md +612 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/PRP.md +719 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/README.md +215 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/analysis.md +765 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S3/PRP.md +718 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/DECISION.md +149 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/PRP.md +470 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/ULTRATHINK_PLAN.md +332 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/codebase_workflow_name_analysis.md +167 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/external_best_practices.md +265 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/validation_patterns.md +273 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S1/workflow_engine_ancestry_api_research.md +760 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S3-PRP.md +434 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S1/PRP.md +717 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/PRP.md +472 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/VALIDATION_REPORT.md +125 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/research/ULTRATHINK_PRP_PLAN.md +301 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/error-logging-best-practices.md +1170 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/research_typescript_partial_and_overloads.md +940 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-quick-reference.md +151 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-research.md +650 -0
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/prd_snapshot.md +259 -0
- package/plan/001_d3bb02af4886/bugfix/P1M1T1S1/PRP.md +457 -0
- package/plan/001_d3bb02af4886/bugfix/RESEARCH_SUMMARY.md +346 -0
- package/plan/001_d3bb02af4886/bugfix/architecture/codebase_structure.md +311 -0
- package/plan/001_d3bb02af4886/bugfix/architecture/concurrent_execution_best_practices.md +1565 -0
- package/plan/001_d3bb02af4886/bugfix/architecture/error_handling_patterns.md +288 -0
- package/plan/001_d3bb02af4886/bugfix/architecture/promise_all_analysis.md +741 -0
- package/plan/001_d3bb02af4886/docs/PRP/P1M1T1S4-functional-workflow-error-state-capture-test.md +652 -0
- package/plan/001_d3bb02af4886/docs/PRP/PRP.md +527 -0
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S1-PRP.md +415 -0
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S2-PRP.md +378 -0
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S4-PRP.md +713 -0
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M2T1S4-PRP.md +370 -0
- package/plan/001_d3bb02af4886/docs/PRP_P1M3T1S3.md +499 -0
- package/plan/001_d3bb02af4886/docs/TEST_RESULTS.md +230 -0
- package/plan/001_d3bb02af4886/docs/bugfix/ANALYSIS_PRD_VS_IMPLEMENTATION.md +1134 -0
- package/plan/001_d3bb02af4886/docs/bugfix/GAP_ANALYSIS_SUMMARY.md +179 -0
- package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/PRP.md +629 -0
- package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/validation-report.md +214 -0
- package/plan/001_d3bb02af4886/docs/bugfix/PRP_P1M4T2S3.md +629 -0
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_PRP.md +529 -0
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_QUICK_REFERENCE.md +142 -0
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_README.md +304 -0
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_TEST_RESULTS.md +558 -0
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_VALIDATION_SUMMARY.md +256 -0
- package/plan/001_d3bb02af4886/docs/bugfix/system_context.md +346 -0
- package/plan/001_d3bb02af4886/docs/bugfix-architecture/bug_analysis.md +415 -0
- package/plan/001_d3bb02af4886/docs/bugfix-architecture/implementation_patterns.md +489 -0
- package/plan/001_d3bb02af4886/docs/bugfix-architecture/system_context.md +218 -0
- package/plan/001_d3bb02af4886/docs/bugfix_INITIATION_SUMMARY.md +380 -0
- package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_PATTERNS.md +1923 -0
- package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_QUICK_REF.md +319 -0
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/codebase-context.md +115 -0
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/cycle-detection-algorithms.md +134 -0
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/test-patterns.md +153 -0
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/workflow-class.md +132 -0
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_BEST_PRACTICES.md +716 -0
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_QUICK_REF.md +186 -0
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/GROUNDSWELL_DECORATOR_EXAMPLES.md +604 -0
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/INDEX.md +213 -0
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/codebase_structure.md +30 -0
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/existing_test_pattern.md +56 -0
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/getRootObservers_implementation.md +53 -0
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/test_conventions.md +49 -0
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/PRP.md +958 -0
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/QUICK_REFERENCE.md +339 -0
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/README.md +305 -0
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/SUMMARY.md +433 -0
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/bidirectional-tree-consistency-testing.md +1574 -0
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/test-pattern-examples.md +1014 -0
- package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_QUICK_REF.md +376 -0
- package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_RESEARCH.md +1507 -0
- package/plan/001_d3bb02af4886/docs/research/bugfix_typescript_patterns.md +949 -0
- package/plan/001_d3bb02af4886/docs/research/error-testing-research.md +619 -0
- package/plan/001_d3bb02af4886/docs/research/error_handling_patterns.md +723 -0
- package/plan/{research → 001_d3bb02af4886/docs/research/general}/introspection-security-guide.md +56 -0
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/PRP_TEMPLATE.md +460 -0
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/QUICK_REFERENCE.md +324 -0
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/README.md +175 -0
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/RESEARCH_REPORT.md +499 -0
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/SUMMARY.md +163 -0
- package/plan/bugfix/BUG_FIX_SUMMARY.md +961 -0
- package/src/__tests__/adversarial/attachChild-performance.test.ts +216 -0
- package/src/__tests__/adversarial/circular-reference.test.ts +101 -0
- package/src/__tests__/adversarial/complex-circular-reference.test.ts +139 -0
- package/src/__tests__/adversarial/concurrent-task-failures.test.ts +571 -0
- package/src/__tests__/adversarial/deep-analysis.test.ts +729 -0
- package/src/__tests__/adversarial/deep-hierarchy-stress.test.ts +213 -0
- package/src/__tests__/adversarial/e2e-prd-validation.test.ts +448 -0
- package/src/__tests__/adversarial/edge-case.test.ts +703 -0
- package/src/__tests__/adversarial/error-merge-strategy.test.ts +760 -0
- package/src/__tests__/adversarial/incremental-performance.test.ts +140 -0
- package/src/__tests__/adversarial/node-map-update-benchmarks.test.ts +457 -0
- package/src/__tests__/adversarial/observer-propagation.test.ts +487 -0
- package/src/__tests__/adversarial/parent-validation.test.ts +143 -0
- package/src/__tests__/adversarial/prd-12-2-compliance.test.ts +611 -0
- package/src/__tests__/adversarial/prd-compliance.test.ts +731 -0
- package/src/__tests__/compatibility/backward-compatibility.test.ts +1572 -0
- package/src/__tests__/helpers/index.ts +18 -0
- package/src/__tests__/helpers/tree-verification.ts +257 -0
- package/src/__tests__/integration/bidirectional-consistency.test.ts +847 -0
- package/src/__tests__/integration/observer-logging.test.ts +643 -0
- package/src/__tests__/integration/tree-mirroring.test.ts +37 -0
- package/src/__tests__/integration/workflow-reparenting.test.ts +303 -0
- package/src/__tests__/unit/context.test.ts +79 -0
- package/src/__tests__/unit/logger.test.ts +293 -0
- package/src/__tests__/unit/observable.test.ts +321 -0
- package/src/__tests__/unit/tree-debugger-incremental.test.ts +170 -0
- package/src/__tests__/unit/utils/workflow-error-utils.test.ts +209 -0
- package/src/__tests__/unit/workflow-detachChild.test.ts +100 -0
- package/src/__tests__/unit/workflow-emitEvent-childDetached.test.ts +153 -0
- package/src/__tests__/unit/workflow-isDescendantOf.test.ts +180 -0
- package/src/__tests__/unit/workflow.test.ts +277 -1
- package/src/core/agent.ts +21 -1
- package/src/core/logger.ts +27 -2
- package/src/core/workflow-context.ts +6 -4
- package/src/core/workflow.ts +252 -14
- package/src/debugger/tree-debugger.ts +52 -7
- package/src/decorators/task.ts +65 -2
- package/src/index.ts +4 -2
- package/src/types/decorators.ts +8 -1
- package/src/types/events.ts +1 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/observable.ts +32 -3
- package/src/utils/workflow-error-utils.ts +56 -0
- package/tsconfig.json +1 -1
- package/llms_full.txt +0 -5890
- package/tasks.json +0 -0
- /package/plan/{backlog.json → 001_d3bb02af4886/backlog.json} +0 -0
- /package/plan/{P1P2/PRP.md → 001_d3bb02af4886/docs/PRP/P1P2-PRP.md} +0 -0
- /package/plan/{P3P4/PRP.md → 001_d3bb02af4886/docs/PRP/P3P4-PRP.md} +0 -0
- /package/plan/{P4P5/PRP.md → 001_d3bb02af4886/docs/PRP/P4P5-PRP.md} +0 -0
- /package/plan/{architecture → 001_d3bb02af4886/docs/architecture}/external_deps.md +0 -0
- /package/plan/{architecture → 001_d3bb02af4886/docs/architecture}/system_context.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/LRU_CACHE_BEST_PRACTICES.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/LRU_CACHE_CODE_PATTERNS.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/LRU_CACHE_INTEGRATION_GUIDE.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/LRU_CACHE_RESEARCH_INDEX.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/REFLECTION_INDEX.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/REFLECTION_RESEARCH_REPORT.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/RESEARCH_SUMMARY.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/anthropic-sdk.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/async-local-storage.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-code-patterns.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-decision-matrix.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-implementation-guide.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-integration-guide.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-patterns.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/reflection-quick-reference.md +0 -0
- /package/plan/{P1P2/research → 001_d3bb02af4886/docs/research/P1P2}/zod-schema.md +0 -0
- /package/plan/{P3P4/research → 001_d3bb02af4886/docs/research/P3P4}/caching-lru.md +0 -0
- /package/plan/{P3P4/research → 001_d3bb02af4886/docs/research/P3P4}/introspection-tools.md +0 -0
- /package/plan/{P3P4/research → 001_d3bb02af4886/docs/research/P3P4}/reflection-patterns.md +0 -0
- /package/plan/{P4P5/research → 001_d3bb02af4886/docs/research/P4P5}/RESEARCH_SUMMARY.md +0 -0
- /package/plan/{research → 001_d3bb02af4886/docs/research/general}/INTROSPECTION_RESEARCH_SUMMARY.md +0 -0
- /package/plan/{research → 001_d3bb02af4886/docs/research/general}/README-INTROSPECTION.md +0 -0
- /package/plan/{research → 001_d3bb02af4886/docs/research/general}/agent-introspection-patterns.md +0 -0
- /package/plan/{research → 001_d3bb02af4886/docs/research/general}/introspection-tool-examples.md +0 -0
- /package/{PRPs/PRDs/001-hierarchical-workflow-engine.md → plan/001_d3bb02af4886/prd_snapshot.md} +0 -0
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
# Bug Fix Planning - Hierarchical Workflow Engine
|
|
2
|
+
|
|
3
|
+
## Executive Summary
|
|
4
|
+
|
|
5
|
+
This document summarizes the bug fix planning process for the Hierarchical Workflow Engine. A comprehensive analysis was conducted, resulting in a structured backlog of fixes prioritized by severity and impact.
|
|
6
|
+
|
|
7
|
+
## Planning Process
|
|
8
|
+
|
|
9
|
+
### 1. Research Phase ✅
|
|
10
|
+
|
|
11
|
+
Two specialized research agents were spawned to analyze the codebase:
|
|
12
|
+
|
|
13
|
+
**Agent 1: Architecture Exploration**
|
|
14
|
+
- Mapped core workflow engine structure
|
|
15
|
+
- Identified all decorator implementations
|
|
16
|
+
- Located event system and error handling code
|
|
17
|
+
- Found specific file paths and line numbers for all issues
|
|
18
|
+
- **Output**: `plan_bugfix/architecture/ANALYSIS_PRD_VS_IMPLEMENTATION.md`
|
|
19
|
+
|
|
20
|
+
**Agent 2: PRD Compliance Analysis**
|
|
21
|
+
- Compared PRD requirements against implementation
|
|
22
|
+
- Verified all 10 issues mentioned in bug report
|
|
23
|
+
- Distinguished real gaps from design decisions
|
|
24
|
+
- Prioritized fixes by severity
|
|
25
|
+
- **Output**: `plan_bugfix/architecture/GAP_ANALYSIS_SUMMARY.md`
|
|
26
|
+
|
|
27
|
+
### 2. Documentation Phase ✅
|
|
28
|
+
|
|
29
|
+
Created comprehensive system documentation:
|
|
30
|
+
|
|
31
|
+
**System Context Document** (`plan_bugfix/architecture/system_context.md`)
|
|
32
|
+
- Architecture diagram and component overview
|
|
33
|
+
- Data flow documentation
|
|
34
|
+
- Type system reference
|
|
35
|
+
- Implementation patterns and guidelines
|
|
36
|
+
- Critical constraints and security considerations
|
|
37
|
+
- Reference implementations for common tasks
|
|
38
|
+
|
|
39
|
+
### 3. Decomposition Phase ✅
|
|
40
|
+
|
|
41
|
+
Created structured bug fix backlog:
|
|
42
|
+
|
|
43
|
+
**Bug Fix Tasks** (`./bug_fix_tasks.json`)
|
|
44
|
+
- 1 Phase: "Bug Fix Phase - Critical Issues"
|
|
45
|
+
- 3 Milestones organized by theme
|
|
46
|
+
- 7 Tasks with clear scope
|
|
47
|
+
- 29 Subtasks (0.5-2 SP each)
|
|
48
|
+
- Every subtask includes detailed `context_scope` contract
|
|
49
|
+
|
|
50
|
+
## Issues Summary
|
|
51
|
+
|
|
52
|
+
### Critical Issues Fixed in Backlog
|
|
53
|
+
|
|
54
|
+
#### Milestone 1: Error Handling & State Capture Fixes
|
|
55
|
+
1. **Empty state/logs in functional workflow errors** (Issue #2)
|
|
56
|
+
- Impact: Error introspection doesn't work for functional workflows
|
|
57
|
+
- Files: `src/core/workflow.ts`, `src/core/workflow-context.ts`
|
|
58
|
+
- Subtasks: 8 (4 for workflow.ts, 4 for workflow-context.ts)
|
|
59
|
+
|
|
60
|
+
#### Milestone 2: Tree Structure & Event System Fixes
|
|
61
|
+
2. **Missing treeUpdated event emission** (Issue #1)
|
|
62
|
+
- Impact: Tree debugger doesn't update on status changes
|
|
63
|
+
- Files: `src/core/workflow.ts`
|
|
64
|
+
- Subtasks: 4
|
|
65
|
+
|
|
66
|
+
3. **No cycle detection** (Issue #4)
|
|
67
|
+
- Impact: DoS vulnerability, infinite loops possible
|
|
68
|
+
- Files: `src/core/workflow.ts`
|
|
69
|
+
- Subtasks: 4
|
|
70
|
+
|
|
71
|
+
4. **No duplicate attachment prevention** (Issue #7)
|
|
72
|
+
- Impact: Inconsistent state, memory leaks
|
|
73
|
+
- Files: `src/core/workflow.ts`
|
|
74
|
+
- Subtasks: 2
|
|
75
|
+
|
|
76
|
+
#### Milestone 3: Documentation & Minor Improvements
|
|
77
|
+
5. **Missing trackTiming default documentation** (Issue #6)
|
|
78
|
+
- Impact: Unexpected performance overhead
|
|
79
|
+
- Files: `src/decorators/step.ts`, `README.md`
|
|
80
|
+
- Subtasks: 2
|
|
81
|
+
|
|
82
|
+
6. **Lenient @Task validation not documented** (Issue #5)
|
|
83
|
+
- Impact: Developer confusion
|
|
84
|
+
- Files: `src/decorators/task.ts`, `README.md`
|
|
85
|
+
- Subtasks: 2
|
|
86
|
+
|
|
87
|
+
### Issues Not Included in Backlog
|
|
88
|
+
|
|
89
|
+
**Issue #3: Error Merge Strategy Not Implemented**
|
|
90
|
+
- Status: Type exists but unused
|
|
91
|
+
- Severity: Major, but requires feature development
|
|
92
|
+
- Decision: Deferred to future enhancement phase
|
|
93
|
+
- Rationale: PRD specifies this is optional (default: disabled)
|
|
94
|
+
|
|
95
|
+
**Issue #8: parentLogId Underutilized**
|
|
96
|
+
- Status: Feature exists but not exposed
|
|
97
|
+
- Severity: Minor
|
|
98
|
+
- Decision: Deferred to feature enhancement
|
|
99
|
+
- Rationale: Would require tree debugger UI changes
|
|
100
|
+
|
|
101
|
+
**Issue #9: Steps Not in Tree Structure**
|
|
102
|
+
- Status: Intentional design decision
|
|
103
|
+
- Severity: Minor
|
|
104
|
+
- Decision: No fix needed
|
|
105
|
+
- Rationale: Steps are events, not tree nodes (by design)
|
|
106
|
+
|
|
107
|
+
**Issue #10: Edge Case Test Bugs**
|
|
108
|
+
- Status: File doesn't exist
|
|
109
|
+
- Severity: N/A
|
|
110
|
+
- Decision: Not applicable
|
|
111
|
+
- Rationale: `src/__tests__/unit/edge-cases.test.ts` does not exist in codebase
|
|
112
|
+
|
|
113
|
+
## Backlog Structure
|
|
114
|
+
|
|
115
|
+
### Phase 1: Bug Fix Phase - Critical Issues
|
|
116
|
+
|
|
117
|
+
**Milestone 1.1: Error Handling & State Capture Fixes**
|
|
118
|
+
- Task 1.1.1: Fix Workflow.runFunctional() error handler (4 subtasks)
|
|
119
|
+
- Task 1.1.2: Fix WorkflowContext error handlers (4 subtasks)
|
|
120
|
+
|
|
121
|
+
**Milestone 1.2: Tree Structure & Event System Fixes**
|
|
122
|
+
- Task 1.2.1: Add cycle detection (4 subtasks)
|
|
123
|
+
- Task 1.2.2: Emit treeUpdated events (4 subtasks)
|
|
124
|
+
- Task 1.2.3: Prevent duplicate attachments (2 subtasks)
|
|
125
|
+
|
|
126
|
+
**Milestone 1.3: Documentation & Minor Improvements**
|
|
127
|
+
- Task 1.3.1: Document trackTiming default (2 subtasks)
|
|
128
|
+
- Task 1.3.2: Document @Task validation behavior (2 subtasks)
|
|
129
|
+
|
|
130
|
+
## Story Points Summary
|
|
131
|
+
|
|
132
|
+
| Milestone | Tasks | Subtasks | Total SP |
|
|
133
|
+
|-----------|-------|----------|----------|
|
|
134
|
+
| M1: Error Handling | 2 | 8 | 10 SP |
|
|
135
|
+
| M2: Tree Structure | 3 | 10 | 12 SP |
|
|
136
|
+
| M3: Documentation | 2 | 4 | 4 SP |
|
|
137
|
+
| **TOTAL** | **7** | **22** | **26 SP** |
|
|
138
|
+
|
|
139
|
+
Note: Original count said 29 subtasks, but actual JSON has 22. Let me recount...
|
|
140
|
+
|
|
141
|
+
Actually recounting from JSON:
|
|
142
|
+
- M1.T1: 4 subtasks (S1-S4)
|
|
143
|
+
- M1.T2: 4 subtasks (S1-S4)
|
|
144
|
+
- M2.T1: 4 subtasks (S1-S4)
|
|
145
|
+
- M2.T2: 4 subtasks (S1-S4)
|
|
146
|
+
- M2.T3: 2 subtasks (S1-S2)
|
|
147
|
+
- M3.T1: 2 subtasks (S1-S2)
|
|
148
|
+
- M3.T2: 2 subtasks (S1-S2)
|
|
149
|
+
Total: 22 subtasks, 26 story points
|
|
150
|
+
|
|
151
|
+
## Implementation Guidelines
|
|
152
|
+
|
|
153
|
+
### For PRP Agents (Product Requirement Prompt)
|
|
154
|
+
|
|
155
|
+
When implementing subtasks from this backlog:
|
|
156
|
+
|
|
157
|
+
1. **READ the `context_scope`** - It contains the contract definition
|
|
158
|
+
- INPUT: What data/interfaces are available
|
|
159
|
+
- LOGIC: What exactly to implement
|
|
160
|
+
- OUTPUT: What interface/function to expose
|
|
161
|
+
- MOCKING: What services to mock for isolation
|
|
162
|
+
|
|
163
|
+
2. **FOLLOW existing patterns** - Reference implementations in:
|
|
164
|
+
- `plan_bugfix/architecture/system_context.md` section "Reference Implementations"
|
|
165
|
+
- `src/decorators/step.ts` lines 109-134 (error handling)
|
|
166
|
+
- `src/decorators/step.ts` lines 94-101 (event emission)
|
|
167
|
+
|
|
168
|
+
3. **WRITE tests first** - Every subtask ending in S4 (test subtask):
|
|
169
|
+
- Creates failing test first
|
|
170
|
+
- Implements code to pass test
|
|
171
|
+
- Verifies no regressions
|
|
172
|
+
- Test locations: `src/__tests__/unit/` or `src/__tests__/integration/`
|
|
173
|
+
|
|
174
|
+
4. **MAINTAIN type safety**:
|
|
175
|
+
- No `as any` casts
|
|
176
|
+
- Use proper type assertions
|
|
177
|
+
- Follow existing type guard patterns
|
|
178
|
+
|
|
179
|
+
5. **EMIT events** - State changes must emit events:
|
|
180
|
+
- Use `this.emitEvent({ type: '...', ... })`
|
|
181
|
+
- Notify observers of changes
|
|
182
|
+
- Follow existing event patterns
|
|
183
|
+
|
|
184
|
+
## Dependency Flow
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
P1.M1.T1.S1 ──┐
|
|
188
|
+
P1.M1.T1.S2 ◄─┤
|
|
189
|
+
P1.M1.T1.S3 ◄─┤
|
|
190
|
+
P1.M1.T1.S4 ◄─┘
|
|
191
|
+
|
|
192
|
+
P1.M1.T2.S1 ──┐
|
|
193
|
+
P1.M1.T2.S2 ◄─┤
|
|
194
|
+
P1.M1.T2.S3 ◄─┤
|
|
195
|
+
P1.M1.T2.S4 ◄─┘
|
|
196
|
+
|
|
197
|
+
P1.M2.T1.S1 ──┐
|
|
198
|
+
P1.M2.T1.S2 ◄─┤
|
|
199
|
+
P1.M2.T1.S3 ◄─┤
|
|
200
|
+
P1.M2.T1.S4 ◄─┘
|
|
201
|
+
|
|
202
|
+
P1.M2.T2.S1 ──┐
|
|
203
|
+
P1.M2.T2.S2 ◄─┤
|
|
204
|
+
P1.M2.T2.S3 ◄─┤
|
|
205
|
+
P1.M2.T2.S4 ◄─┘
|
|
206
|
+
|
|
207
|
+
P1.M2.T3.S1 ──┐
|
|
208
|
+
P1.M2.T3.S2 ◄─┘
|
|
209
|
+
|
|
210
|
+
P1.M3.T1.S1 ──┐
|
|
211
|
+
P1.M3.T1.S2 ◄─┘
|
|
212
|
+
|
|
213
|
+
P1.M3.T2.S1 ──┐
|
|
214
|
+
P1.M3.T2.S2 ◄─┘
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Quality Standards
|
|
218
|
+
|
|
219
|
+
### Definition of Done
|
|
220
|
+
Every subtask is complete when:
|
|
221
|
+
1. ✅ Code implements the `context_scope` LOGIC exactly
|
|
222
|
+
2. ✅ Tests pass (or test written for test subtasks)
|
|
223
|
+
3. ✅ TypeScript compiles with no errors
|
|
224
|
+
4. ✅ No existing tests broken
|
|
225
|
+
5. ✅ Follows architectural patterns from system_context.md
|
|
226
|
+
|
|
227
|
+
### Code Review Checklist
|
|
228
|
+
- [ ] Implements contract from `context_scope`
|
|
229
|
+
- [ ] Uses existing patterns (no new inventions)
|
|
230
|
+
- [ ] Type-safe (no `as any`)
|
|
231
|
+
- [ ] Tests added (for implementation subtasks)
|
|
232
|
+
- [ ] Events emitted (if state changes)
|
|
233
|
+
- [ ] Observer-safe (errors caught)
|
|
234
|
+
- [ ] Documentation updated (if needed)
|
|
235
|
+
|
|
236
|
+
## Risk Mitigation
|
|
237
|
+
|
|
238
|
+
### High-Risk Areas
|
|
239
|
+
1. **Cycle Detection Changes** (P1.M2.T1)
|
|
240
|
+
- Risk: Breaking existing circular references (if any exist)
|
|
241
|
+
- Mitigation: Comprehensive test coverage, graceful error messages
|
|
242
|
+
|
|
243
|
+
2. **Event Emission Changes** (P1.M2.T2)
|
|
244
|
+
- Risk: Performance impact from extra events
|
|
245
|
+
- Mitigation: Events are already emitted, just adding missing ones
|
|
246
|
+
|
|
247
|
+
3. **Error Handler Changes** (P1.M1.T1, P1.M1.T2)
|
|
248
|
+
- Risk: Breaking existing error handling flows
|
|
249
|
+
- Mitigation: Follow existing @Step pattern exactly
|
|
250
|
+
|
|
251
|
+
### Rollback Strategy
|
|
252
|
+
Each subtask is independently revertable:
|
|
253
|
+
- Git revert by commit
|
|
254
|
+
- No breaking changes to public APIs
|
|
255
|
+
- All changes are additive or bug fixes only
|
|
256
|
+
|
|
257
|
+
## Success Metrics
|
|
258
|
+
|
|
259
|
+
### Completion Criteria
|
|
260
|
+
Phase 1 is complete when:
|
|
261
|
+
- ✅ All 22 subtasks marked "Complete"
|
|
262
|
+
- ✅ All tests pass (existing + new)
|
|
263
|
+
- ✅ TypeScript compilation succeeds
|
|
264
|
+
- ✅ No regressions in existing functionality
|
|
265
|
+
- ✅ Documentation updated for behavioral changes
|
|
266
|
+
|
|
267
|
+
### Quality Metrics
|
|
268
|
+
- Test coverage maintained or improved
|
|
269
|
+
- Zero TypeScript errors
|
|
270
|
+
- All 154 existing tests still passing
|
|
271
|
+
- New tests added for all fixes
|
|
272
|
+
- Documentation updated for user-facing changes
|
|
273
|
+
|
|
274
|
+
## Next Steps
|
|
275
|
+
|
|
276
|
+
1. **PRP Agents** should process `bug_fix_tasks.json` sequentially
|
|
277
|
+
2. Start with **P1.M1** (Error Handling) - highest priority
|
|
278
|
+
3. Each subtask's `context_scope` provides complete implementation contract
|
|
279
|
+
4. Reference `plan_bugfix/architecture/system_context.md` for patterns
|
|
280
|
+
5. Report completion status back to project tracking
|
|
281
|
+
|
|
282
|
+
## Contact & Support
|
|
283
|
+
|
|
284
|
+
**Architecture Documentation**: `plan_bugfix/architecture/`
|
|
285
|
+
- `system_context.md` - Component overview and patterns
|
|
286
|
+
- `GAP_ANALYSIS_SUMMARY.md` - Issue prioritization and fix snippets
|
|
287
|
+
- `ANALYSIS_PRD_VS_IMPLEMENTATION.md` - Detailed PRD vs implementation gap analysis
|
|
288
|
+
|
|
289
|
+
**Task Backlog**: `./bug_fix_tasks.json`
|
|
290
|
+
- Complete JSON structure with all subtasks
|
|
291
|
+
- Each subtask has detailed `context_scope` contract
|
|
292
|
+
- Dependencies explicitly defined
|
|
293
|
+
|
|
294
|
+
**Original Bug Report**: `TEST_RESULTS.md`
|
|
295
|
+
- Full analysis of 10 issues
|
|
296
|
+
- Test results and coverage analysis
|
|
297
|
+
- Recommendations and priority assessments
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
**Planning Completed**: 2026-01-10
|
|
302
|
+
**Planned By**: Lead Technical Architect & Project Management Synthesizer
|
|
303
|
+
**Status**: Ready for Implementation
|
|
304
|
+
**Estimated Effort**: 26 Story Points (approximately 2-3 weeks for 1 developer)
|