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.
- package/LICENSE +21 -0
- package/README.md +26 -9
- package/dist/cache/cache-key.d.ts +86 -0
- package/dist/cache/cache-key.d.ts.map +1 -0
- package/dist/cache/cache-key.js +204 -0
- package/dist/cache/cache-key.js.map +1 -0
- package/dist/cache/cache.d.ts +104 -0
- package/dist/cache/cache.d.ts.map +1 -0
- package/dist/cache/cache.js +179 -0
- package/dist/cache/cache.js.map +1 -0
- package/{src/cache/index.ts → dist/cache/index.d.ts} +1 -1
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +6 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/core/agent.d.ts +203 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +833 -0
- package/dist/core/agent.js.map +1 -0
- package/{src/core/context.ts → dist/core/context.d.ts} +16 -67
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +80 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/event-tree.d.ts +72 -0
- package/dist/core/event-tree.d.ts.map +1 -0
- package/dist/core/event-tree.js +211 -0
- package/dist/core/event-tree.js.map +1 -0
- package/{src/core/factory.ts → dist/core/factory.d.ts} +6 -27
- package/dist/core/factory.d.ts.map +1 -0
- package/dist/core/factory.js +110 -0
- package/dist/core/factory.js.map +1 -0
- package/{src/core/index.ts → dist/core/index.d.ts} +2 -10
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logger.d.ts +50 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +91 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/mcp-handler.d.ts +127 -0
- package/dist/core/mcp-handler.d.ts.map +1 -0
- package/dist/core/mcp-handler.js +323 -0
- package/dist/core/mcp-handler.js.map +1 -0
- package/dist/core/prompt.d.ts +80 -0
- package/dist/core/prompt.d.ts.map +1 -0
- package/dist/core/prompt.js +120 -0
- package/dist/core/prompt.js.map +1 -0
- package/dist/core/workflow-context.d.ts +61 -0
- package/dist/core/workflow-context.d.ts.map +1 -0
- package/dist/core/workflow-context.js +358 -0
- package/dist/core/workflow-context.js.map +1 -0
- package/dist/core/workflow.d.ts +543 -0
- package/dist/core/workflow.d.ts.map +1 -0
- package/dist/core/workflow.js +986 -0
- package/dist/core/workflow.js.map +1 -0
- package/dist/debugger/event-replayer.d.ts +422 -0
- package/dist/debugger/event-replayer.d.ts.map +1 -0
- package/dist/debugger/event-replayer.js +639 -0
- package/dist/debugger/event-replayer.js.map +1 -0
- package/dist/debugger/index.d.ts +2 -0
- package/dist/debugger/index.d.ts.map +1 -0
- package/{src/debugger/index.ts → dist/debugger/index.js} +1 -0
- package/dist/debugger/index.js.map +1 -0
- package/dist/debugger/tree-debugger.d.ts +240 -0
- package/dist/debugger/tree-debugger.d.ts.map +1 -0
- package/dist/debugger/tree-debugger.js +620 -0
- package/dist/debugger/tree-debugger.js.map +1 -0
- package/dist/decorators/index.d.ts +4 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/{src/decorators/index.ts → dist/decorators/index.js} +1 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/decorators/observed-state.d.ts +32 -0
- package/dist/decorators/observed-state.d.ts.map +1 -0
- package/dist/decorators/observed-state.js +79 -0
- package/dist/decorators/observed-state.js.map +1 -0
- package/dist/decorators/step.d.ts +15 -0
- package/dist/decorators/step.d.ts.map +1 -0
- package/dist/decorators/step.js +192 -0
- package/dist/decorators/step.js.map +1 -0
- package/dist/decorators/task.d.ts +50 -0
- package/dist/decorators/task.d.ts.map +1 -0
- package/dist/decorators/task.js +118 -0
- package/dist/decorators/task.js.map +1 -0
- package/dist/examples/index.d.ts +3 -0
- package/dist/examples/index.d.ts.map +1 -0
- package/{src/examples/index.ts → dist/examples/index.js} +1 -0
- package/dist/examples/index.js.map +1 -0
- package/dist/examples/tdd-orchestrator.d.ts +15 -0
- package/dist/examples/tdd-orchestrator.d.ts.map +1 -0
- package/dist/examples/tdd-orchestrator.js +121 -0
- package/dist/examples/tdd-orchestrator.js.map +1 -0
- package/dist/examples/test-cycle-workflow.d.ts +14 -0
- package/dist/examples/test-cycle-workflow.d.ts.map +1 -0
- package/dist/examples/test-cycle-workflow.js +116 -0
- package/dist/examples/test-cycle-workflow.js.map +1 -0
- package/dist/harnesses/claude-code-harness.d.ts +391 -0
- package/dist/harnesses/claude-code-harness.d.ts.map +1 -0
- package/dist/harnesses/claude-code-harness.js +1076 -0
- package/dist/harnesses/claude-code-harness.js.map +1 -0
- package/dist/harnesses/harness-registry.d.ts +440 -0
- package/dist/harnesses/harness-registry.d.ts.map +1 -0
- package/dist/harnesses/harness-registry.js +543 -0
- package/dist/harnesses/harness-registry.js.map +1 -0
- package/dist/harnesses/index.d.ts +12 -0
- package/dist/harnesses/index.d.ts.map +1 -0
- package/dist/harnesses/index.js +11 -0
- package/dist/harnesses/index.js.map +1 -0
- package/dist/harnesses/pi-harness.d.ts +219 -0
- package/dist/harnesses/pi-harness.d.ts.map +1 -0
- package/dist/harnesses/pi-harness.js +676 -0
- package/dist/harnesses/pi-harness.js.map +1 -0
- package/dist/harnesses/pi-schema-converter.d.ts +24 -0
- package/dist/harnesses/pi-schema-converter.d.ts.map +1 -0
- package/dist/harnesses/pi-schema-converter.js +81 -0
- package/dist/harnesses/pi-schema-converter.js.map +1 -0
- package/dist/harnesses/register-defaults.d.ts +24 -0
- package/dist/harnesses/register-defaults.d.ts.map +1 -0
- package/dist/harnesses/register-defaults.js +40 -0
- package/dist/harnesses/register-defaults.js.map +1 -0
- package/dist/harnesses/session-store.d.ts +201 -0
- package/dist/harnesses/session-store.d.ts.map +1 -0
- package/dist/harnesses/session-store.js +254 -0
- package/dist/harnesses/session-store.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +57 -0
- package/dist/index.js.map +1 -0
- package/dist/reflection/index.d.ts +5 -0
- package/dist/reflection/index.d.ts.map +1 -0
- package/{src/reflection/index.ts → dist/reflection/index.js} +1 -1
- package/dist/reflection/index.js.map +1 -0
- package/dist/reflection/reflection.d.ts +84 -0
- package/dist/reflection/reflection.d.ts.map +1 -0
- package/dist/reflection/reflection.js +344 -0
- package/dist/reflection/reflection.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +11 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/introspection.d.ts +165 -0
- package/dist/tools/introspection.d.ts.map +1 -0
- package/dist/tools/introspection.js +324 -0
- package/dist/tools/introspection.js.map +1 -0
- package/dist/types/agent.d.ts +1317 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +423 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/decorators.d.ts +40 -0
- package/dist/types/decorators.d.ts.map +1 -0
- package/dist/types/decorators.js +2 -0
- package/dist/types/decorators.js.map +1 -0
- package/dist/types/error-strategy.d.ts +13 -0
- package/dist/types/error-strategy.d.ts.map +1 -0
- package/dist/types/error-strategy.js +2 -0
- package/dist/types/error-strategy.js.map +1 -0
- package/dist/types/error.d.ts +20 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/error.js +2 -0
- package/dist/types/error.js.map +1 -0
- package/dist/types/events.d.ts +113 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +2 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/harnesses.d.ts +474 -0
- package/dist/types/harnesses.d.ts.map +1 -0
- package/dist/types/harnesses.js +2 -0
- package/dist/types/harnesses.js.map +1 -0
- package/dist/types/index.d.ts +23 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/logging.d.ts +24 -0
- package/dist/types/logging.d.ts.map +1 -0
- package/dist/types/logging.js +2 -0
- package/dist/types/logging.js.map +1 -0
- package/dist/types/observer.d.ts +18 -0
- package/dist/types/observer.d.ts.map +1 -0
- package/dist/types/observer.js +2 -0
- package/dist/types/observer.js.map +1 -0
- package/dist/types/prompt.d.ts +31 -0
- package/dist/types/prompt.d.ts.map +1 -0
- package/dist/types/prompt.js +6 -0
- package/dist/types/prompt.js.map +1 -0
- package/dist/types/providers.d.ts +691 -0
- package/dist/types/providers.d.ts.map +1 -0
- package/dist/types/providers.js +14 -0
- package/dist/types/providers.js.map +1 -0
- package/dist/types/reflection.d.ts +96 -0
- package/dist/types/reflection.d.ts.map +1 -0
- package/dist/types/reflection.js +24 -0
- package/dist/types/reflection.js.map +1 -0
- package/dist/types/restart.d.ts +132 -0
- package/dist/types/restart.d.ts.map +1 -0
- package/dist/types/restart.js +2 -0
- package/dist/types/restart.js.map +1 -0
- package/dist/types/sdk-primitives.d.ts +118 -0
- package/dist/types/sdk-primitives.d.ts.map +1 -0
- package/dist/types/sdk-primitives.js +6 -0
- package/dist/types/sdk-primitives.js.map +1 -0
- package/{src/types/snapshot.ts → dist/types/snapshot.d.ts} +5 -5
- package/dist/types/snapshot.d.ts.map +1 -0
- package/dist/types/snapshot.js +2 -0
- package/dist/types/snapshot.js.map +1 -0
- package/dist/types/streaming.d.ts +194 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/types/streaming.js +67 -0
- package/dist/types/streaming.js.map +1 -0
- package/dist/types/workflow-context.d.ts +275 -0
- package/dist/types/workflow-context.d.ts.map +1 -0
- package/dist/types/workflow-context.js +8 -0
- package/dist/types/workflow-context.js.map +1 -0
- package/dist/types/workflow.d.ts +30 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +2 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/utils/agent-validation.d.ts +88 -0
- package/dist/utils/agent-validation.d.ts.map +1 -0
- package/dist/utils/agent-validation.js +87 -0
- package/dist/utils/agent-validation.js.map +1 -0
- package/dist/utils/delay.d.ts +7 -0
- package/dist/utils/delay.d.ts.map +1 -0
- package/dist/utils/delay.js +9 -0
- package/dist/utils/delay.js.map +1 -0
- package/dist/utils/harness-config.d.ts +180 -0
- package/dist/utils/harness-config.d.ts.map +1 -0
- package/dist/utils/harness-config.js +311 -0
- package/dist/utils/harness-config.js.map +1 -0
- package/dist/utils/id.d.ts +6 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +12 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/index.d.ts +13 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +11 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/model-spec.d.ts +110 -0
- package/dist/utils/model-spec.d.ts.map +1 -0
- package/dist/utils/model-spec.js +149 -0
- package/dist/utils/model-spec.js.map +1 -0
- package/dist/utils/observable.d.ts +54 -0
- package/dist/utils/observable.d.ts.map +1 -0
- package/dist/utils/observable.js +82 -0
- package/dist/utils/observable.js.map +1 -0
- package/dist/utils/provider-config.d.ts +10 -0
- package/dist/utils/provider-config.d.ts.map +1 -0
- package/dist/utils/provider-config.js +10 -0
- package/dist/utils/provider-config.js.map +1 -0
- package/dist/utils/restart-analysis.d.ts +202 -0
- package/dist/utils/restart-analysis.d.ts.map +1 -0
- package/dist/utils/restart-analysis.js +426 -0
- package/dist/utils/restart-analysis.js.map +1 -0
- package/dist/utils/session-serialization.d.ts +118 -0
- package/dist/utils/session-serialization.d.ts.map +1 -0
- package/dist/utils/session-serialization.js +217 -0
- package/dist/utils/session-serialization.js.map +1 -0
- package/dist/utils/workflow-error-utils.d.ts +22 -0
- package/dist/utils/workflow-error-utils.d.ts.map +1 -0
- package/dist/utils/workflow-error-utils.js +45 -0
- package/dist/utils/workflow-error-utils.js.map +1 -0
- package/package.json +34 -5
- package/.claude/commands/subtask-planning/prp-base-create.md +0 -120
- package/.claude/commands/subtask-planning/prp-base-execute.md +0 -65
- package/.claude/commands/task-breakdown.md +0 -94
- package/.claude/settings.local.json +0 -9
- package/.claude/system_prompts/task-breakdown.md +0 -101
- package/CHANGELOG.md +0 -188
- package/PRD.md +0 -543
- package/PRPs/001-hierarchical-workflow-engine.md +0 -2438
- package/PRPs/PRDs/002-agent-prompt.md +0 -390
- package/PRPs/PRDs/003-agent-prompt.md +0 -943
- package/PRPs/PRDs/004-agent-prompt.md +0 -1136
- package/PRPs/PRDs/tasks-001.json +0 -492
- package/PRPs/README.md +0 -83
- package/PRPs/templates/prp_base.md +0 -222
- package/docs/agent.md +0 -422
- package/docs/prompt.md +0 -419
- package/docs/workflow.md +0 -600
- package/examples/README.md +0 -258
- package/examples/examples/01-basic-workflow.ts +0 -100
- package/examples/examples/02-decorator-options.ts +0 -217
- package/examples/examples/03-parent-child.ts +0 -241
- package/examples/examples/04-observers-debugger.ts +0 -340
- package/examples/examples/05-error-handling.ts +0 -387
- package/examples/examples/06-concurrent-tasks.ts +0 -352
- package/examples/examples/07-agent-loops.ts +0 -432
- package/examples/examples/08-sdk-features.ts +0 -667
- package/examples/examples/09-reflection.ts +0 -573
- package/examples/examples/10-introspection.ts +0 -550
- package/examples/examples/11-reparenting-workflows.ts +0 -269
- package/examples/index.ts +0 -147
- package/examples/utils/helpers.ts +0 -57
- package/package-lock.json +0 -2398
- package/plan/001_d3bb02af4886/TEST_RESULTS.md +0 -259
- package/plan/001_d3bb02af4886/backlog.json +0 -867
- package/plan/001_d3bb02af4886/bug_fix_tasks.json +0 -484
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S1/PRP.md +0 -488
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S2/PRP.md +0 -581
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S3/PRP.md +0 -687
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S1/PRP.md +0 -492
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/PRP.md +0 -932
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/concurrent_error_testing_patterns.md +0 -1109
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/vitest_concurrent_testing.md +0 -802
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T1S3/research/workflow_engine_test_references.md +0 -603
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S1/PRP.md +0 -564
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S3/PRP.md +0 -518
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T2S4/PRP.md +0 -1252
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/PRP.md +0 -364
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/CODEBASE_INVENTORY.md +0 -114
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/DECORATOR_DOCUMENTATION_PATTERNS.md +0 -205
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/PRD_LOCATION_ANALYSIS.md +0 -199
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M2T3S1/research/ULTRATHINK_PRP_PLAN.md +0 -134
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/PRP.md +0 -495
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/research/console_error_inventory.md +0 -435
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S2/PRP.md +0 -506
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S3/PRP.md +0 -612
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/PRP.md +0 -558
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T2S2/research/external_research.md +0 -788
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S2/PRP.md +0 -460
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T3S3/PRP.md +0 -454
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/PRP.md +0 -520
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/RECOMMENDATION.md +0 -417
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/external_workflow_engines_research.md +0 -760
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S1/research/security_implications_analysis.md +0 -245
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T4S2/PRP.md +0 -792
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/PRP.md +0 -535
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S1/TEST_EXECUTION_REPORT.md +0 -190
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/PRP.md +0 -654
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/TEST_FIX_REPORT.md +0 -227
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/KEY_FINDINGS.md +0 -345
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/QUICK_REFERENCE.md +0 -193
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T1S2/research/test_maintenance_research.md +0 -1323
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/BREAKING_CHANGES_AUDIT.md +0 -1011
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S1/PRP.md +0 -927
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M4T3S2/PRP.md +0 -505
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/architecture/logger_child_signature_analysis.md +0 -401
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/child_implementation_research.md +0 -142
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/test_patterns_research.md +0 -112
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/vitest_patterns_research.md +0 -159
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/PRP.md +0 -549
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/VERIFICATION_REPORT.md +0 -368
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/edge_case_analysis.md +0 -172
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S4/usage_inventory.md +0 -175
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S2/PRP.md +0 -696
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T1S4/PRP.md +0 -860
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/PRP.md +0 -1066
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01-testing-aggregated-errors.md +0 -1103
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/01_typescript_error_aggregation_patterns.md +0 -789
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02-error-merge-strategy-testing-guide.md +0 -1098
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/02_aggregate_error_patterns.md +0 -1037
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03-promise-allsettled-testing-patterns.md +0 -916
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/03_error_merging_strategies.md +0 -1045
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/04_github_stackoverflow_examples.md +0 -890
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/05_comprehensive_summary.md +0 -822
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/INDEX.md +0 -668
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/QUICK_REFERENCE.md +0 -706
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/README.md +0 -265
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S2/research/RESEARCH_REPORT.md +0 -655
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T2S4/research/vitest_testing_patterns.md +0 -1103
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M2T3S2/PRP.md +0 -426
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/PRP.md +0 -506
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/QUICK_REFERENCE.md +0 -114
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/RESEARCH_SUMMARY.md +0 -316
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S2/research/vitest_observer_error_logging_best_practices.md +0 -754
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T1S3/PRP.md +0 -612
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/PRP.md +0 -719
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/README.md +0 -215
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S1/analysis.md +0 -765
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T2S3/PRP.md +0 -718
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/DECISION.md +0 -149
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/PRP.md +0 -470
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/ULTRATHINK_PLAN.md +0 -332
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/codebase_workflow_name_analysis.md +0 -167
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/external_best_practices.md +0 -265
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T3S1/research/validation_patterns.md +0 -273
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S1/workflow_engine_ancestry_api_research.md +0 -760
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M3T4S3-PRP.md +0 -434
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S1/PRP.md +0 -717
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/PRP.md +0 -472
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/VALIDATION_REPORT.md +0 -125
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M4T2S2/research/ULTRATHINK_PRP_PLAN.md +0 -301
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/error-logging-best-practices.md +0 -1170
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/research_typescript_partial_and_overloads.md +0 -940
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-quick-reference.md +0 -151
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/vitest-research.md +0 -650
- package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/prd_snapshot.md +0 -259
- package/plan/001_d3bb02af4886/bugfix/P1M1T1S1/PRP.md +0 -457
- package/plan/001_d3bb02af4886/bugfix/RESEARCH_SUMMARY.md +0 -346
- package/plan/001_d3bb02af4886/bugfix/architecture/codebase_structure.md +0 -311
- package/plan/001_d3bb02af4886/bugfix/architecture/concurrent_execution_best_practices.md +0 -1565
- package/plan/001_d3bb02af4886/bugfix/architecture/error_handling_patterns.md +0 -288
- package/plan/001_d3bb02af4886/bugfix/architecture/promise_all_analysis.md +0 -741
- package/plan/001_d3bb02af4886/docs/PRP/P1M1T1S4-functional-workflow-error-state-capture-test.md +0 -652
- package/plan/001_d3bb02af4886/docs/PRP/P1P2-PRP.md +0 -527
- package/plan/001_d3bb02af4886/docs/PRP/P3P4-PRP.md +0 -1388
- package/plan/001_d3bb02af4886/docs/PRP/P4P5-PRP.md +0 -1136
- package/plan/001_d3bb02af4886/docs/PRP/PRP.md +0 -527
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S1-PRP.md +0 -415
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S2-PRP.md +0 -378
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M1T2S4-PRP.md +0 -713
- package/plan/001_d3bb02af4886/docs/PRP/bugfix/P1M2T1S4-PRP.md +0 -370
- package/plan/001_d3bb02af4886/docs/PRP_P1M3T1S3.md +0 -499
- package/plan/001_d3bb02af4886/docs/TEST_RESULTS.md +0 -230
- package/plan/001_d3bb02af4886/docs/architecture/external_deps.md +0 -358
- package/plan/001_d3bb02af4886/docs/architecture/system_context.md +0 -242
- package/plan/001_d3bb02af4886/docs/bugfix/ANALYSIS_PRD_VS_IMPLEMENTATION.md +0 -1134
- package/plan/001_d3bb02af4886/docs/bugfix/GAP_ANALYSIS_SUMMARY.md +0 -179
- package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/PRP.md +0 -629
- package/plan/001_d3bb02af4886/docs/bugfix/P1M4T2S1/validation-report.md +0 -214
- package/plan/001_d3bb02af4886/docs/bugfix/PRP_P1M4T2S3.md +0 -629
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_PRP.md +0 -529
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_QUICK_REFERENCE.md +0 -142
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_README.md +0 -304
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_TEST_RESULTS.md +0 -558
- package/plan/001_d3bb02af4886/docs/bugfix/bugfix_VALIDATION_SUMMARY.md +0 -256
- package/plan/001_d3bb02af4886/docs/bugfix/system_context.md +0 -346
- package/plan/001_d3bb02af4886/docs/bugfix-architecture/bug_analysis.md +0 -415
- package/plan/001_d3bb02af4886/docs/bugfix-architecture/implementation_patterns.md +0 -489
- package/plan/001_d3bb02af4886/docs/bugfix-architecture/system_context.md +0 -218
- package/plan/001_d3bb02af4886/docs/bugfix_INITIATION_SUMMARY.md +0 -380
- package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_PATTERNS.md +0 -1923
- package/plan/001_d3bb02af4886/docs/research/CYCLE_DETECTION_QUICK_REF.md +0 -319
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/codebase-context.md +0 -115
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/cycle-detection-algorithms.md +0 -134
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/test-patterns.md +0 -153
- package/plan/001_d3bb02af4886/docs/research/P1M1T2S1/workflow-class.md +0 -132
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_BEST_PRACTICES.md +0 -716
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/DECORATOR_DOCUMENTATION_QUICK_REF.md +0 -186
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/GROUNDSWELL_DECORATOR_EXAMPLES.md +0 -604
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/INDEX.md +0 -213
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/codebase_structure.md +0 -30
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/existing_test_pattern.md +0 -56
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/getRootObservers_implementation.md +0 -53
- package/plan/001_d3bb02af4886/docs/research/P1M2T1S4/test_conventions.md +0 -49
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/PRP.md +0 -958
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/QUICK_REFERENCE.md +0 -339
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/README.md +0 -305
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/SUMMARY.md +0 -433
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/bidirectional-tree-consistency-testing.md +0 -1574
- package/plan/001_d3bb02af4886/docs/research/P1M3T1S4/test-pattern-examples.md +0 -1014
- package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_BEST_PRACTICES.md +0 -1929
- package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_CODE_PATTERNS.md +0 -857
- package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_INTEGRATION_GUIDE.md +0 -738
- package/plan/001_d3bb02af4886/docs/research/P1P2/LRU_CACHE_RESEARCH_INDEX.md +0 -424
- package/plan/001_d3bb02af4886/docs/research/P1P2/REFLECTION_INDEX.md +0 -291
- package/plan/001_d3bb02af4886/docs/research/P1P2/REFLECTION_RESEARCH_REPORT.md +0 -1342
- package/plan/001_d3bb02af4886/docs/research/P1P2/RESEARCH_SUMMARY.md +0 -342
- package/plan/001_d3bb02af4886/docs/research/P1P2/anthropic-sdk.md +0 -174
- package/plan/001_d3bb02af4886/docs/research/P1P2/async-local-storage.md +0 -200
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-code-patterns.md +0 -1205
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-decision-matrix.md +0 -421
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-implementation-guide.md +0 -1341
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-integration-guide.md +0 -834
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-patterns.md +0 -1468
- package/plan/001_d3bb02af4886/docs/research/P1P2/reflection-quick-reference.md +0 -558
- package/plan/001_d3bb02af4886/docs/research/P1P2/zod-schema.md +0 -152
- package/plan/001_d3bb02af4886/docs/research/P3P4/caching-lru.md +0 -116
- package/plan/001_d3bb02af4886/docs/research/P3P4/introspection-tools.md +0 -177
- package/plan/001_d3bb02af4886/docs/research/P3P4/reflection-patterns.md +0 -117
- package/plan/001_d3bb02af4886/docs/research/P4P5/RESEARCH_SUMMARY.md +0 -151
- package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_QUICK_REF.md +0 -376
- package/plan/001_d3bb02af4886/docs/research/PROMISE_ALLSETTLED_RESEARCH.md +0 -1507
- package/plan/001_d3bb02af4886/docs/research/bugfix_typescript_patterns.md +0 -949
- package/plan/001_d3bb02af4886/docs/research/error-testing-research.md +0 -619
- package/plan/001_d3bb02af4886/docs/research/error_handling_patterns.md +0 -723
- package/plan/001_d3bb02af4886/docs/research/general/INTROSPECTION_RESEARCH_SUMMARY.md +0 -378
- package/plan/001_d3bb02af4886/docs/research/general/README-INTROSPECTION.md +0 -352
- package/plan/001_d3bb02af4886/docs/research/general/agent-introspection-patterns.md +0 -1085
- package/plan/001_d3bb02af4886/docs/research/general/introspection-security-guide.md +0 -984
- package/plan/001_d3bb02af4886/docs/research/general/introspection-tool-examples.md +0 -875
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/PRP_TEMPLATE.md +0 -460
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/QUICK_REFERENCE.md +0 -324
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/README.md +0 -175
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/RESEARCH_REPORT.md +0 -499
- package/plan/001_d3bb02af4886/docs/research/incremental-tree-map-updates/SUMMARY.md +0 -163
- package/plan/001_d3bb02af4886/prd_snapshot.md +0 -543
- package/plan/bugfix/BUG_FIX_SUMMARY.md +0 -961
- package/scripts/generate-llms-full.ts +0 -206
- package/src/__tests__/adversarial/attachChild-performance.test.ts +0 -216
- package/src/__tests__/adversarial/circular-reference.test.ts +0 -101
- package/src/__tests__/adversarial/complex-circular-reference.test.ts +0 -139
- package/src/__tests__/adversarial/concurrent-task-failures.test.ts +0 -571
- package/src/__tests__/adversarial/deep-analysis.test.ts +0 -729
- package/src/__tests__/adversarial/deep-hierarchy-stress.test.ts +0 -213
- package/src/__tests__/adversarial/e2e-prd-validation.test.ts +0 -448
- package/src/__tests__/adversarial/edge-case.test.ts +0 -703
- package/src/__tests__/adversarial/error-merge-strategy.test.ts +0 -760
- package/src/__tests__/adversarial/incremental-performance.test.ts +0 -140
- package/src/__tests__/adversarial/node-map-update-benchmarks.test.ts +0 -457
- package/src/__tests__/adversarial/observer-propagation.test.ts +0 -487
- package/src/__tests__/adversarial/parent-validation.test.ts +0 -143
- package/src/__tests__/adversarial/prd-12-2-compliance.test.ts +0 -611
- package/src/__tests__/adversarial/prd-compliance.test.ts +0 -731
- package/src/__tests__/compatibility/backward-compatibility.test.ts +0 -1572
- package/src/__tests__/helpers/index.ts +0 -18
- package/src/__tests__/helpers/tree-verification.ts +0 -257
- package/src/__tests__/integration/agent-workflow.test.ts +0 -256
- package/src/__tests__/integration/bidirectional-consistency.test.ts +0 -847
- package/src/__tests__/integration/observer-logging.test.ts +0 -643
- package/src/__tests__/integration/tree-mirroring.test.ts +0 -151
- package/src/__tests__/integration/workflow-reparenting.test.ts +0 -303
- package/src/__tests__/unit/agent.test.ts +0 -169
- package/src/__tests__/unit/cache-key.test.ts +0 -182
- package/src/__tests__/unit/cache.test.ts +0 -172
- package/src/__tests__/unit/context.test.ts +0 -217
- package/src/__tests__/unit/decorators.test.ts +0 -100
- package/src/__tests__/unit/introspection-tools.test.ts +0 -277
- package/src/__tests__/unit/logger.test.ts +0 -293
- package/src/__tests__/unit/observable.test.ts +0 -321
- package/src/__tests__/unit/prompt.test.ts +0 -135
- package/src/__tests__/unit/reflection.test.ts +0 -210
- package/src/__tests__/unit/tree-debugger-incremental.test.ts +0 -170
- package/src/__tests__/unit/tree-debugger.test.ts +0 -85
- package/src/__tests__/unit/utils/workflow-error-utils.test.ts +0 -209
- package/src/__tests__/unit/workflow-detachChild.test.ts +0 -100
- package/src/__tests__/unit/workflow-emitEvent-childDetached.test.ts +0 -153
- package/src/__tests__/unit/workflow-isDescendantOf.test.ts +0 -180
- package/src/__tests__/unit/workflow.test.ts +0 -357
- package/src/cache/cache-key.ts +0 -244
- package/src/cache/cache.ts +0 -236
- package/src/core/agent.ts +0 -593
- package/src/core/event-tree.ts +0 -260
- package/src/core/logger.ts +0 -112
- package/src/core/mcp-handler.ts +0 -184
- package/src/core/prompt.ts +0 -150
- package/src/core/workflow-context.ts +0 -351
- package/src/core/workflow.ts +0 -540
- package/src/debugger/tree-debugger.ts +0 -255
- package/src/decorators/observed-state.ts +0 -95
- package/src/decorators/step.ts +0 -139
- package/src/decorators/task.ts +0 -159
- package/src/examples/tdd-orchestrator.ts +0 -65
- package/src/examples/test-cycle-workflow.ts +0 -64
- package/src/index.ts +0 -142
- package/src/reflection/reflection.ts +0 -407
- package/src/tools/index.ts +0 -36
- package/src/tools/introspection.ts +0 -464
- package/src/types/agent.ts +0 -90
- package/src/types/decorators.ts +0 -32
- package/src/types/error-strategy.ts +0 -13
- package/src/types/error.ts +0 -20
- package/src/types/events.ts +0 -75
- package/src/types/index.ts +0 -55
- package/src/types/logging.ts +0 -24
- package/src/types/observer.ts +0 -18
- package/src/types/prompt.ts +0 -40
- package/src/types/reflection.ts +0 -117
- package/src/types/sdk-primitives.ts +0 -128
- package/src/types/workflow-context.ts +0 -163
- package/src/types/workflow.ts +0 -37
- package/src/utils/id.ts +0 -11
- package/src/utils/index.ts +0 -4
- package/src/utils/observable.ts +0 -106
- package/src/utils/workflow-error-utils.ts +0 -56
- package/tsconfig.json +0 -22
- package/vitest.config.ts +0 -16
|
@@ -1,415 +0,0 @@
|
|
|
1
|
-
name: "P1.M1.T2.S1 - Verify getObservedState Import in workflow-context.ts"
|
|
2
|
-
description: |
|
|
3
|
-
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Goal
|
|
7
|
-
|
|
8
|
-
**Feature Goal**: Verify that `getObservedState` is properly imported in `src/core/workflow-context.ts` and available for use in the `step()` and `replaceLastPromptResult()` error handlers.
|
|
9
|
-
|
|
10
|
-
**Deliverable**: Verified import statement at the top of `src/core/workflow-context.ts` enabling error state capture in WorkflowContext methods.
|
|
11
|
-
|
|
12
|
-
**Success Definition**: The `getObservedState` function is imported from `'../decorators/observed-state.js'` and available for use in error catch blocks to capture workflow state when errors occur in WorkflowContext operations.
|
|
13
|
-
|
|
14
|
-
## User Persona (if applicable)
|
|
15
|
-
|
|
16
|
-
**Target User**: Developer maintaining the workflow system.
|
|
17
|
-
|
|
18
|
-
**Use Case**: When a WorkflowContext operation (step execution or prompt result replacement) throws an error, the error handlers need to capture the actual observed state of the workflow for debugging and introspection.
|
|
19
|
-
|
|
20
|
-
**User Journey**: The import statement is a prerequisite for the error handlers in `step()` and `replaceLastPromptResult()` to call `getObservedState(this.workflow)` and include the state snapshot in the error event payload.
|
|
21
|
-
|
|
22
|
-
**Pain Points Addressed**: Without this import, the error handlers cannot capture actual workflow state, breaking error introspection capabilities required by PRD #001 Section 5.1.
|
|
23
|
-
|
|
24
|
-
## Why
|
|
25
|
-
|
|
26
|
-
- **Critical for Error Introspection**: PRD #001 Section 5.1 requires error events to include actual workflow state, not empty objects
|
|
27
|
-
- **Enables Debugging**: Developers need to inspect workflow state at the point of failure to diagnose issues
|
|
28
|
-
- **Consistent Pattern**: Follows the established `getObservedState(this.workflow)` pattern used in WorkflowContext
|
|
29
|
-
- **Prerequisite for S2/S3**: This import is required before the state capture can be implemented in the error handlers
|
|
30
|
-
|
|
31
|
-
## What
|
|
32
|
-
|
|
33
|
-
Add or verify the import statement for `getObservedState` at the top of `src/core/workflow-context.ts`. This is a pure import addition task - no code logic changes required.
|
|
34
|
-
|
|
35
|
-
### Success Criteria
|
|
36
|
-
|
|
37
|
-
- [ ] Import statement exists in `src/core/workflow-context.ts` around line 30
|
|
38
|
-
- [ ] Import follows the pattern: `import { getObservedState } from '../decorators/observed-state.js';`
|
|
39
|
-
- [ ] Import is positioned after type imports and before other regular imports
|
|
40
|
-
- [ ] Function is available for use in `step()` catch block (around line 155-162)
|
|
41
|
-
- [ ] Function is available for use in `replaceLastPromptResult()` catch block (around line 319-326)
|
|
42
|
-
|
|
43
|
-
## All Needed Context
|
|
44
|
-
|
|
45
|
-
### Context Completeness Check
|
|
46
|
-
|
|
47
|
-
**"No Prior Knowledge" Test**: If someone knew nothing about this codebase, would they have everything needed to implement this successfully? YES - This PRP provides exact file location, import pattern, line context, and verification commands.
|
|
48
|
-
|
|
49
|
-
### Documentation & References
|
|
50
|
-
|
|
51
|
-
```yaml
|
|
52
|
-
# MUST READ - Include these in your context window
|
|
53
|
-
- url: https://www.typescriptlang.org/docs/handbook/modules/theory.html
|
|
54
|
-
why: Understanding ES6 import syntax and module resolution
|
|
55
|
-
critical: Use named imports with `import { name } from 'path.js'` - always include .js extension
|
|
56
|
-
|
|
57
|
-
- url: https://www.typescriptlang.org/docs/handbook/decorators.html
|
|
58
|
-
why: Understanding decorator pattern context for getObservedState usage
|
|
59
|
-
critical: Decorators are runtime values, not types - use regular import not import type
|
|
60
|
-
|
|
61
|
-
- file: src/core/workflow-context.ts
|
|
62
|
-
why: The target file requiring the import statement
|
|
63
|
-
pattern: Type imports (lines 8-21), then regular imports (lines 22-30)
|
|
64
|
-
gotcha: Always use .js extension in relative imports even in .ts files (ES2022 module system)
|
|
65
|
-
|
|
66
|
-
- file: src/core/workflow-context.ts:30
|
|
67
|
-
why: Exact line where getObservedState import should be placed
|
|
68
|
-
pattern: `import { getObservedState } from '../decorators/observed-state.js';`
|
|
69
|
-
gotcha: THIS IMPORT ALREADY EXISTS - this task is for verification only
|
|
70
|
-
|
|
71
|
-
- file: src/decorators/observed-state.ts
|
|
72
|
-
why: Source file defining getObservedState function
|
|
73
|
-
pattern: Named export `export function getObservedState(obj: object): SerializedWorkflowState`
|
|
74
|
-
gotcha: Returns empty object {} if no observed fields found (WeakMap-based storage)
|
|
75
|
-
|
|
76
|
-
- file: src/decorators/step.ts:145-165
|
|
77
|
-
why: Reference pattern for getObservedState usage in error handling
|
|
78
|
-
pattern: `const snap = getObservedState(this as object);` then `state: snap` in error object
|
|
79
|
-
gotcha: The @Step decorator is the canonical example of error state capture
|
|
80
|
-
|
|
81
|
-
- file: src/core/workflow-context.ts:155-162
|
|
82
|
-
why: First error handler location (step() method) that will use getObservedState
|
|
83
|
-
pattern: `state: getObservedState(this.workflow), logs: [...this.node.logs]`
|
|
84
|
-
gotcha: Must use `this.workflow` not `this` - WorkflowContext wraps a Workflow instance
|
|
85
|
-
|
|
86
|
-
- file: src/core/workflow-context.ts:319-326
|
|
87
|
-
why: Second error handler location (replaceLastPromptResult() method) that will use getObservedState
|
|
88
|
-
pattern: Same pattern as first error handler
|
|
89
|
-
gotcha: Both error handlers need the same fix
|
|
90
|
-
|
|
91
|
-
- file: src/core/workflow.ts:11
|
|
92
|
-
why: Parallel implementation showing getObservedState import pattern for workflow files
|
|
93
|
-
pattern: `import { getObservedState } from '../decorators/observed-state.js';`
|
|
94
|
-
gotcha: Follow this exact pattern for consistency
|
|
95
|
-
|
|
96
|
-
- docfile: plan/bugfix/architecture/GAP_ANALYSIS_SUMMARY.md
|
|
97
|
-
why: Contains Issue #2 analysis describing empty state/logs bug
|
|
98
|
-
section: Issue #2: Empty Error State in Functional Workflows
|
|
99
|
-
gotcha: The GAP analysis indicates this is a "Real Gap" with "Low" fix effort
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Current Codebase Tree
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
groundswell/
|
|
106
|
-
├── src/
|
|
107
|
-
│ ├── core/
|
|
108
|
-
│ │ ├── workflow.ts # Reference for similar import pattern (line 11)
|
|
109
|
-
│ │ ├── workflow-context.ts # TARGET FILE - import goes here (line 30)
|
|
110
|
-
│ │ └── context.ts
|
|
111
|
-
│ ├── decorators/
|
|
112
|
-
│ │ ├── observed-state.ts # SOURCE FILE - getObservedState defined here
|
|
113
|
-
│ │ ├── step.ts # Reference pattern for usage
|
|
114
|
-
│ │ └── task.ts
|
|
115
|
-
│ ├── types/
|
|
116
|
-
│ │ ├── index.ts
|
|
117
|
-
│ │ └── workflow-context.ts
|
|
118
|
-
│ ├── utils/
|
|
119
|
-
│ │ └── id.ts
|
|
120
|
-
│ └── __tests__/
|
|
121
|
-
│ ├── unit/
|
|
122
|
-
│ │ └── context.test.ts # Tests for WorkflowContext functionality
|
|
123
|
-
│ └── integration/
|
|
124
|
-
├── plan/
|
|
125
|
-
│ └── bugfix/
|
|
126
|
-
│ └── P1M1T2S1/
|
|
127
|
-
│ └── PRP.md # This file
|
|
128
|
-
└── vitest.config.ts
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### Desired Codebase Tree (No Changes - File Structure Unchanged)
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
# No structural changes - this is an import addition only
|
|
135
|
-
# The file src/core/workflow-context.ts already exists and is being modified
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### Known Gotchas of Our Codebase & Library Quirks
|
|
139
|
-
|
|
140
|
-
```typescript
|
|
141
|
-
// CRITICAL: TypeScript ES2022 module system requires .js extensions
|
|
142
|
-
// Even in .ts files, relative imports must use .js extension
|
|
143
|
-
// WRONG: import { getObservedState } from '../decorators/observed-state';
|
|
144
|
-
// CORRECT: import { getObservedState } from '../decorators/observed-state.js';
|
|
145
|
-
|
|
146
|
-
// CRITICAL: Import organization pattern in this codebase
|
|
147
|
-
// Type imports come first with "import type { ... }" (lines 8-21)
|
|
148
|
-
// Regular imports follow, grouped by functionality (lines 22-30)
|
|
149
|
-
// Decorator imports are mixed with other utility imports
|
|
150
|
-
|
|
151
|
-
// CRITICAL: getObservedState is a named export, not a default export
|
|
152
|
-
// Must use: import { getObservedState } from '...'
|
|
153
|
-
// Cannot use: import getObservedState from '...'
|
|
154
|
-
|
|
155
|
-
// IMPORTANT: This task is for VERIFICATION ONLY
|
|
156
|
-
// The import already exists in the file at line 30
|
|
157
|
-
// This PRP serves as validation documentation
|
|
158
|
-
|
|
159
|
-
// GOTCHA: getObservedState returns empty object {} if no @ObservedState decorators
|
|
160
|
-
// This is expected behavior - not an error
|
|
161
|
-
// Uses WeakMap-based storage keyed by class prototype
|
|
162
|
-
|
|
163
|
-
// CRITICAL: WorkflowContext uses this.workflow not this
|
|
164
|
-
// When calling getObservedState in WorkflowContext, use:
|
|
165
|
-
// getObservedState(this.workflow) NOT getObservedState(this)
|
|
166
|
-
// Because WorkflowContext wraps a Workflow instance
|
|
167
|
-
|
|
168
|
-
// GOTCHA: The related subtask P1.M1.T2.S2 and S3 have ALREADY been completed
|
|
169
|
-
// The step() error handler at line 155-162 already uses getObservedState(this.workflow)
|
|
170
|
-
// The replaceLastPromptResult() error handler at line 319-326 also uses it
|
|
171
|
-
// This means P1.M1.T2.S1 through S3 are all complete
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
## Implementation Blueprint
|
|
175
|
-
|
|
176
|
-
### Data Models and Structure
|
|
177
|
-
|
|
178
|
-
No data model changes required. This is an import statement addition only.
|
|
179
|
-
|
|
180
|
-
### Implementation Tasks (ordered by dependencies)
|
|
181
|
-
|
|
182
|
-
```yaml
|
|
183
|
-
Task 1: VERIFY EXISTING IMPORT IN src/core/workflow-context.ts
|
|
184
|
-
- CHECK: Lines 8-30 for import statements section
|
|
185
|
-
- VERIFY: Line 30 contains `import { getObservedState } from '../decorators/observed-state.js';`
|
|
186
|
-
- CONFIRM: Import is positioned after type imports (lines 8-21)
|
|
187
|
-
- CONFIRM: Import is after other regular imports (lines 22-29) as last import
|
|
188
|
-
- NAMING: Named import `{ getObservedState }` - matches source export
|
|
189
|
-
- PLACEMENT: Top of file, after type imports, before usage
|
|
190
|
-
|
|
191
|
-
Task 2: VERIFY FUNCTION AVAILABILITY IN ERROR HANDLERS
|
|
192
|
-
- FIND: Usage of getObservedState in step() method (around line 155-162)
|
|
193
|
-
- VERIFY: Error handler contains `state: getObservedState(this.workflow),`
|
|
194
|
-
- VERIFY: Error handler contains `logs: [...this.node.logs] as LogEntry[],`
|
|
195
|
-
- FIND: Usage of getObservedState in replaceLastPromptResult() method (around line 319-326)
|
|
196
|
-
- VERIFY: Same pattern as step() error handler
|
|
197
|
-
- CONFIRM: No TypeScript errors related to undefined getObservedState
|
|
198
|
-
|
|
199
|
-
Task 3: RUN VALIDATION
|
|
200
|
-
- EXECUTE: Type checking with `npm run build` or `npx tsc --noEmit`
|
|
201
|
-
- VERIFY: No import errors for getObservedState
|
|
202
|
-
- EXECUTE: Linting with `npm run lint`
|
|
203
|
-
- VERIFY: No linting errors in workflow-context.ts
|
|
204
|
-
- EXECUTE: Tests with `npm test -- src/__tests__/unit/context.test.ts`
|
|
205
|
-
- VERIFY: All context tests pass
|
|
206
|
-
|
|
207
|
-
# NOTE: All tasks are VERIFICATION tasks
|
|
208
|
-
# The implementation has already been completed
|
|
209
|
-
# This PRP documents the completion and provides validation steps
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
### Implementation Patterns & Key Details
|
|
213
|
-
|
|
214
|
-
```typescript
|
|
215
|
-
// Import statement pattern (src/core/workflow-context.ts:30)
|
|
216
|
-
import { getObservedState } from '../decorators/observed-state.js';
|
|
217
|
-
|
|
218
|
-
// Usage pattern in step() error handler (src/core/workflow-context.ts:155-162)
|
|
219
|
-
} catch (error) {
|
|
220
|
-
const context = this.createReflectionContext(stepFn);
|
|
221
|
-
this.emitEvent({
|
|
222
|
-
type: 'stepError',
|
|
223
|
-
node: this.workflow.node,
|
|
224
|
-
error: {
|
|
225
|
-
message: error instanceof Error ? error.message : 'Unknown error',
|
|
226
|
-
original: error,
|
|
227
|
-
workflowId: this.workflow.id,
|
|
228
|
-
stack: error instanceof Error ? error.stack : undefined,
|
|
229
|
-
state: getObservedState(this.workflow), // ← Uses imported function
|
|
230
|
-
logs: [...this.node.logs] as LogEntry[],
|
|
231
|
-
},
|
|
232
|
-
stepName: stepFn.name,
|
|
233
|
-
});
|
|
234
|
-
throw error;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
// Usage pattern in replaceLastPromptResult() error handler (src/core/workflow-context.ts:319-326)
|
|
238
|
-
} catch (error) {
|
|
239
|
-
this.emitEvent({
|
|
240
|
-
type: 'stepError',
|
|
241
|
-
node: this.workflow.node,
|
|
242
|
-
error: {
|
|
243
|
-
message: error instanceof Error ? error.message : 'Unknown error',
|
|
244
|
-
original: error,
|
|
245
|
-
workflowId: this.workflow.id,
|
|
246
|
-
stack: error instanceof Error ? error.stack : undefined,
|
|
247
|
-
state: getObservedState(this.workflow), // ← Uses imported function
|
|
248
|
-
logs: [...this.node.logs] as LogEntry[],
|
|
249
|
-
},
|
|
250
|
-
});
|
|
251
|
-
throw error;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
// Reference pattern from @Step decorator (src/decorators/step.ts:145-165)
|
|
255
|
-
const snap = getObservedState(this as object);
|
|
256
|
-
|
|
257
|
-
const workflowError: WorkflowError = {
|
|
258
|
-
message: error?.message ?? 'Unknown error',
|
|
259
|
-
original: err,
|
|
260
|
-
workflowId: wf.id,
|
|
261
|
-
stack: error?.stack,
|
|
262
|
-
state: snap, // State snapshot included in error
|
|
263
|
-
logs: [...wf.node.logs] as LogEntry[],
|
|
264
|
-
};
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
### Integration Points
|
|
268
|
-
|
|
269
|
-
```yaml
|
|
270
|
-
NO NEW INTEGRATIONS:
|
|
271
|
-
- This task verifies an existing import statement only
|
|
272
|
-
- No new dependencies required
|
|
273
|
-
- No configuration changes needed
|
|
274
|
-
- No database changes needed
|
|
275
|
-
- No route changes needed
|
|
276
|
-
|
|
277
|
-
EXISTING INTEGRATIONS AFFECTED:
|
|
278
|
-
- step() error handler (already using getObservedState at line ~160)
|
|
279
|
-
- replaceLastPromptResult() error handler (already using getObservedState at line ~324)
|
|
280
|
-
- WorkflowContext.createReflectionContext() method (related to error handling)
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
## Validation Loop
|
|
284
|
-
|
|
285
|
-
### Level 1: Syntax & Style (Immediate Feedback)
|
|
286
|
-
|
|
287
|
-
```bash
|
|
288
|
-
# Run verification commands
|
|
289
|
-
npm run build # TypeScript compilation check
|
|
290
|
-
npm run lint # ESLint style check
|
|
291
|
-
npx tsc --noEmit # Type checking without emitting files
|
|
292
|
-
|
|
293
|
-
# Expected: Zero errors. If errors exist, READ output and fix before proceeding.
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
### Level 2: Unit Tests (Component Validation)
|
|
297
|
-
|
|
298
|
-
```bash
|
|
299
|
-
# Test WorkflowContext functionality specifically
|
|
300
|
-
npm test -- src/__tests__/unit/context.test.ts
|
|
301
|
-
|
|
302
|
-
# Full test suite for regression check
|
|
303
|
-
npm test
|
|
304
|
-
|
|
305
|
-
# Expected: All tests pass
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
### Level 3: Integration Testing (System Validation)
|
|
309
|
-
|
|
310
|
-
```bash
|
|
311
|
-
# No specific integration tests needed for import verification
|
|
312
|
-
# The standard test suite covers integration scenarios
|
|
313
|
-
|
|
314
|
-
npm test
|
|
315
|
-
|
|
316
|
-
# Expected: All integration tests pass
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
### Level 4: Manual Verification
|
|
320
|
-
|
|
321
|
-
```bash
|
|
322
|
-
# 1. Visual inspection of the import
|
|
323
|
-
head -n 35 src/core/workflow-context.ts | tail -n 10
|
|
324
|
-
|
|
325
|
-
# Expected output should show around line 30:
|
|
326
|
-
# import { getObservedState } from '../decorators/observed-state.js';
|
|
327
|
-
|
|
328
|
-
# 2. Verify usage in error handlers
|
|
329
|
-
grep -n "getObservedState" src/core/workflow-context.ts
|
|
330
|
-
|
|
331
|
-
# Expected output should show:
|
|
332
|
-
# 30:import { getObservedState } from '../decorators/observed-state.js';
|
|
333
|
-
# ~160: state: getObservedState(this.workflow),
|
|
334
|
-
# ~324: state: getObservedState(this.workflow),
|
|
335
|
-
|
|
336
|
-
# 3. Verify no duplicate imports
|
|
337
|
-
grep -c "import.*getObservedState" src/core/workflow-context.ts
|
|
338
|
-
|
|
339
|
-
# Expected: 1 (single import, no duplicates)
|
|
340
|
-
|
|
341
|
-
# 4. Verify the import was added in git history
|
|
342
|
-
git log --oneline -5 -- src/core/workflow-context.ts
|
|
343
|
-
|
|
344
|
-
# Expected: Should show commit 84e63ed or 5f6ce19 that added the import
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
## Final Validation Checklist
|
|
348
|
-
|
|
349
|
-
### Technical Validation
|
|
350
|
-
|
|
351
|
-
- [ ] All 4 validation levels completed successfully
|
|
352
|
-
- [ ] All tests pass: `npm test`
|
|
353
|
-
- [ ] No linting errors: `npm run lint`
|
|
354
|
-
- [ ] No type errors: `npm run build`
|
|
355
|
-
- [ ] Import statement exists at line 30 of src/core/workflow-context.ts
|
|
356
|
-
- [ ] No duplicate imports of getObservedState
|
|
357
|
-
|
|
358
|
-
### Feature Validation
|
|
359
|
-
|
|
360
|
-
- [ ] Import follows codebase pattern: `import { getObservedState } from '../decorators/observed-state.js';`
|
|
361
|
-
- [ ] Import positioned correctly (after type imports, as last regular import)
|
|
362
|
-
- [ ] Function available in step() catch block
|
|
363
|
-
- [ ] Function available in replaceLastPromptResult() catch block
|
|
364
|
-
- [ ] Manual verification confirms single import at line 30
|
|
365
|
-
|
|
366
|
-
### Code Quality Validation
|
|
367
|
-
|
|
368
|
-
- [ ] Follows existing codebase import organization pattern
|
|
369
|
-
- [ ] Uses .js extension in relative import path (ES2022 requirement)
|
|
370
|
-
- [ ] Named import matches source export in observed-state.ts
|
|
371
|
-
- [ ] No unused imports (verified by ESLint)
|
|
372
|
-
- [ ] Consistent with other decorator imports in codebase
|
|
373
|
-
|
|
374
|
-
### Documentation & Deployment
|
|
375
|
-
|
|
376
|
-
- [ ] No new environment variables added
|
|
377
|
-
- [ ] No configuration changes required
|
|
378
|
-
- [ ] PRP documents that task was already complete (verification only)
|
|
379
|
-
|
|
380
|
-
---
|
|
381
|
-
|
|
382
|
-
## Anti-Patterns to Avoid
|
|
383
|
-
|
|
384
|
-
- ❌ Don't add duplicate imports - check line 30 first
|
|
385
|
-
- ❌ Don't use `import type` for getObservedState - it's a runtime function
|
|
386
|
-
- ❌ Don't forget the .js extension in the import path
|
|
387
|
-
- ❌ Don't use default import syntax - getObservedState is a named export
|
|
388
|
-
- ❌ Don't place import in the wrong location (must be after type imports)
|
|
389
|
-
- ❌ Don't skip verification - always run tests after changes
|
|
390
|
-
- ❌ Don't use `getObservedState(this)` in WorkflowContext - use `getObservedState(this.workflow)`
|
|
391
|
-
|
|
392
|
-
---
|
|
393
|
-
|
|
394
|
-
## Implementation Status
|
|
395
|
-
|
|
396
|
-
**CRITICAL NOTE**: This task has been **ALREADY COMPLETED**. The verification process confirms:
|
|
397
|
-
|
|
398
|
-
1. ✅ Import exists at `src/core/workflow-context.ts:30`
|
|
399
|
-
2. ✅ Usage in `step()` error handler at line ~160
|
|
400
|
-
3. ✅ Usage in `replaceLastPromptResult()` error handler at line ~324
|
|
401
|
-
4. ✅ Git commits `84e63ed` and `5f6ce19` contain the implementation
|
|
402
|
-
5. ✅ Related subtasks P1.M1.T2.S2 and S3 are also complete
|
|
403
|
-
|
|
404
|
-
This PRP serves as **validation documentation** rather than implementation instructions. The work was completed in prior commits.
|
|
405
|
-
|
|
406
|
-
## Confidence Score
|
|
407
|
-
|
|
408
|
-
**10/10** - Implementation is already complete and verified. The PRP provides comprehensive context for understanding the pattern and validating the existing implementation.
|
|
409
|
-
|
|
410
|
-
## Related Work Items
|
|
411
|
-
|
|
412
|
-
- **P1.M1.T1.S1**: Add getObservedState import to workflow.ts - ✅ COMPLETE (similar pattern)
|
|
413
|
-
- **P1.M1.T2.S2**: Fix first error handler in step() method - ✅ COMPLETE (line ~160)
|
|
414
|
-
- **P1.M1.T2.S3**: Fix second error handler in replaceLastPromptResult() - ✅ COMPLETE (line ~324)
|
|
415
|
-
- **P1.M1.T2.S4**: Write test for WorkflowContext error state capture - ⏳ Researching (depends on S2/S3)
|