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,495 +0,0 @@
|
|
|
1
|
-
# Product Requirement Prompt (PRP): Find All Console.error Calls for Observer Errors
|
|
2
|
-
|
|
3
|
-
**Work Item**: P1.M3.T1.S1 - Find all console.error calls for observer errors
|
|
4
|
-
**PRD Reference**: Task P1.M3.T1 from plan/001_d3bb02af4886/bug_fix_tasks.json
|
|
5
|
-
**Implementation Target**: src/ directory (research task - no code changes)
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Goal
|
|
10
|
-
|
|
11
|
-
**Feature Goal**: Create a comprehensive inventory of all `console.error` calls in the codebase with precise categorization into observer-related vs other purposes, enabling the subsequent replacement task (P1.M3.T1.S2) to proceed with complete information.
|
|
12
|
-
|
|
13
|
-
**Deliverable**: A categorized list document (`console_error_inventory.md`) containing:
|
|
14
|
-
1. All console.error call locations with exact file paths and line numbers
|
|
15
|
-
2. Categorization: observer-related vs other purpose
|
|
16
|
-
3. Context for each call (method/function, what error is being logged)
|
|
17
|
-
4. Code snippets showing the surrounding context
|
|
18
|
-
|
|
19
|
-
**Success Definition**: The inventory enables the next subtask (P1.M3.T1.S2) to replace observer error console.error calls with logger.error() by:
|
|
20
|
-
- Providing exact locations of all observer-related console.error calls
|
|
21
|
-
- Distinguishing observer errors from validation/structural errors that should remain as console.error
|
|
22
|
-
- Including sufficient context to understand proper replacement patterns
|
|
23
|
-
|
|
24
|
-
## User Persona
|
|
25
|
-
|
|
26
|
-
**Target User**: Developer implementing the console.error replacement (P1.M3.T1.S2) and QA validating the fix (P1.M3.T1.S3)
|
|
27
|
-
|
|
28
|
-
**Use Case**: Understanding the complete landscape of console.error usage before implementing systematic replacement
|
|
29
|
-
|
|
30
|
-
**User Journey**:
|
|
31
|
-
1. Read this PRP to understand the research scope
|
|
32
|
-
2. Examine the generated console_error_inventory.md
|
|
33
|
-
3. Use findings to implement targeted replacement of only observer-related console.error calls
|
|
34
|
-
4. Validate that non-observer console.error calls remain unchanged
|
|
35
|
-
|
|
36
|
-
**Pain Points Addressed**:
|
|
37
|
-
- Uncertainty about which console.error calls should be replaced vs preserved
|
|
38
|
-
- Risk of accidentally removing console.error for structural validation errors
|
|
39
|
-
- Missing observer error locations that would cause inconsistent logging
|
|
40
|
-
|
|
41
|
-
## Why
|
|
42
|
-
|
|
43
|
-
- **Issue 5 Resolution**: Bug report Issue 5 identifies that observer errors use console.error instead of the structured WorkflowLogger
|
|
44
|
-
- **Logging Consistency**: Observer errors should go through the same logging infrastructure as other workflow events
|
|
45
|
-
- **Testability**: Replacing console.error with logger.error enables proper testing and mocking of observer error behavior
|
|
46
|
-
- **Production Readiness**: Structured logging with WorkflowLogger provides timestamps, workflow context, and observer metadata
|
|
47
|
-
|
|
48
|
-
## What
|
|
49
|
-
|
|
50
|
-
### Success Criteria
|
|
51
|
-
|
|
52
|
-
- [ ] Inventory document created at `plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/research/console_error_inventory.md`
|
|
53
|
-
- [ ] All console.error calls in src/ directory documented with file path and line number
|
|
54
|
-
- [ ] Each call categorized as observer-related or other purpose
|
|
55
|
-
- [ ] Observer-related calls identified for replacement in P1.M3.T1.S2
|
|
56
|
-
- [ ] Non-observer calls documented with rationale for preservation
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## All Needed Context
|
|
61
|
-
|
|
62
|
-
### Context Completeness Check
|
|
63
|
-
|
|
64
|
-
_This PRP passes the "No Prior Knowledge" test - someone unfamiliar with the codebase would have everything needed to complete this research task successfully._
|
|
65
|
-
|
|
66
|
-
### Documentation & References
|
|
67
|
-
|
|
68
|
-
```yaml
|
|
69
|
-
# MUST READ - Bug Fix Tasks
|
|
70
|
-
- file: plan/001_d3bb02af4886/bug_fix_tasks.json
|
|
71
|
-
why: Contains P1.M3.T1 task definition and contract for console.error research
|
|
72
|
-
critical: Defines the research scope (observer errors) and expected output format
|
|
73
|
-
section: Lines 221-256 define Task P1.M3.T1 and its subtasks
|
|
74
|
-
|
|
75
|
-
# CRITICAL - Known Locations (from Issue 5 and codebase_structure.md)
|
|
76
|
-
- file: src/core/workflow.ts
|
|
77
|
-
why: Contains console.error calls at lines 277, 286, 376, 394
|
|
78
|
-
gotcha: Mix of observer-related (376, 394) and validation errors (277, 286) - must categorize correctly
|
|
79
|
-
|
|
80
|
-
- file: src/core/logger.ts
|
|
81
|
-
why: Contains console.error call at line 27 for observer onLog errors
|
|
82
|
-
pattern: Error isolation pattern for observer callbacks
|
|
83
|
-
|
|
84
|
-
- file: src/utils/observable.ts
|
|
85
|
-
why: Contains console.error calls at lines 39, 52, 65 for subscriber error handling
|
|
86
|
-
pattern: Observable pattern with error isolation for subscriber callbacks
|
|
87
|
-
|
|
88
|
-
# CRITICAL - Architecture Documentation
|
|
89
|
-
- docfile: plan/001_d3bb02af4886/bugfix/architecture/codebase_structure.md
|
|
90
|
-
why: Validated locations of console.error and observer pattern implementation details
|
|
91
|
-
section: "Bug Report Claims" section validates Issue 5 claims about observer errors
|
|
92
|
-
|
|
93
|
-
- docfile: plan/001_d3bb02af4886/bugfix/architecture/error_handling_patterns.md
|
|
94
|
-
why: Error handling patterns explaining why observer errors need special handling
|
|
95
|
-
section: Observer error isolation and logging requirements
|
|
96
|
-
|
|
97
|
-
# CRITICAL - Observer Interface Definition
|
|
98
|
-
- file: src/types/observer.ts
|
|
99
|
-
why: Defines WorkflowObserver interface with onLog, onEvent, onStateUpdated, onTreeChanged callbacks
|
|
100
|
-
pattern: All four observer callbacks can throw errors that need to be caught and logged
|
|
101
|
-
|
|
102
|
-
# REFERENCE - Logger Implementation
|
|
103
|
-
- file: src/core/logger.ts
|
|
104
|
-
why: WorkflowLogger class with error() method for structured logging
|
|
105
|
-
pattern: this.logger.error(message, data) provides context-aware error logging
|
|
106
|
-
|
|
107
|
-
# REFERENCE - Test Patterns
|
|
108
|
-
- file: src/__tests__/adversarial/edge-case.test.ts
|
|
109
|
-
why: Contains existing test patterns for error handling validation
|
|
110
|
-
pattern: Uses vi.spyOn(console, 'error') for mocking console output
|
|
111
|
-
|
|
112
|
-
# REFERENCE - External Research
|
|
113
|
-
- url: https://blog.logrocket.com/async-await-typescript/
|
|
114
|
-
why: Error handling patterns in TypeScript async contexts
|
|
115
|
-
critical: Observer callbacks may be async, requiring proper error handling
|
|
116
|
-
|
|
117
|
-
- url: https://hupp.tech/blog/typescript/typescript-error-handling-tips-and-best-practices/
|
|
118
|
-
why: TypeScript error handling best practices for observer patterns
|
|
119
|
-
critical: Why console.error is problematic vs structured logging
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### Current Codebase Tree
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
src/
|
|
126
|
-
├── core/
|
|
127
|
-
│ ├── workflow.ts # TARGET FILE - console.error at 277, 286, 376, 394
|
|
128
|
-
│ ├── logger.ts # TARGET FILE - console.error at 27
|
|
129
|
-
│ ├── agent.ts
|
|
130
|
-
│ ├── prompt.ts
|
|
131
|
-
│ └── index.ts
|
|
132
|
-
├── types/
|
|
133
|
-
│ ├── observer.ts # WorkflowObserver interface definition
|
|
134
|
-
│ ├── logging.ts # LogEntry, LogLevel definitions
|
|
135
|
-
│ └── workflow.ts # WorkflowNode interface
|
|
136
|
-
├── utils/
|
|
137
|
-
│ ├── observable.ts # TARGET FILE - console.error at 39, 52, 65
|
|
138
|
-
│ └── id.ts
|
|
139
|
-
├── decorators/
|
|
140
|
-
│ ├── task.ts
|
|
141
|
-
│ └── step.ts
|
|
142
|
-
├── debugger/
|
|
143
|
-
│ └── tree-debugger.ts
|
|
144
|
-
└── __tests__/
|
|
145
|
-
├── unit/
|
|
146
|
-
├── integration/
|
|
147
|
-
└── adversarial/
|
|
148
|
-
└── edge-case.test.ts # Test patterns for validation
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
### Known Gotchas & Library Quirks
|
|
152
|
-
|
|
153
|
-
```typescript
|
|
154
|
-
// CRITICAL: Not all console.error calls are observer-related
|
|
155
|
-
// Lines 277, 286 in workflow.ts are VALIDATION errors before throwing
|
|
156
|
-
// These should NOT be replaced with logger.error
|
|
157
|
-
|
|
158
|
-
// CRITICAL: Observable class errors (observable.ts) may not have access to WorkflowLogger
|
|
159
|
-
// Lines 39, 52, 65 in observable.ts are in a standalone Observable utility class
|
|
160
|
-
// May need logger injection pattern for P1.M3.T1.S2
|
|
161
|
-
|
|
162
|
-
// CRITICAL: Observer error isolation is intentional
|
|
163
|
-
// All observer callbacks are wrapped in try-catch to prevent workflow crashes
|
|
164
|
-
// The console.error is for logging ONLY - workflow continues after error
|
|
165
|
-
|
|
166
|
-
// GOTCHA: Workflow class has this.logger property but Observable class does not
|
|
167
|
-
// src/core/workflow.ts calls can use this.logger.error()
|
|
168
|
-
// src/utils/observable.ts will need different approach (injection or fallback)
|
|
169
|
-
|
|
170
|
-
// PATTERN: Observer callbacks that can throw errors:
|
|
171
|
-
// - obs.onLog(entry) - In WorkflowLogger.emit() at line 27
|
|
172
|
-
// - obs.onEvent(event) - In Workflow.emitEvent() at line 376
|
|
173
|
-
// - obs.onStateUpdated(node) - In Workflow.snapshotState() at line 394
|
|
174
|
-
// - subscriber.next(value) - In Observable.next() at line 39
|
|
175
|
-
// - subscriber.error(err) - In Observable.error() at line 52
|
|
176
|
-
// - subscriber.complete() - In Observable.complete() at line 65
|
|
177
|
-
|
|
178
|
-
// GOTCHA: Validation errors (workflow.ts:277, 286) log before throwing
|
|
179
|
-
// These are structural errors that halt execution
|
|
180
|
-
// They use console.error for immediate visibility before exception propagation
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## Implementation Blueprint
|
|
186
|
-
|
|
187
|
-
### Research Task Breakdown
|
|
188
|
-
|
|
189
|
-
This is a **research-only task**. No code changes should be made.
|
|
190
|
-
|
|
191
|
-
The inventory document should follow this structure:
|
|
192
|
-
|
|
193
|
-
```markdown
|
|
194
|
-
# Console.error Call Inventory
|
|
195
|
-
|
|
196
|
-
## Executive Summary
|
|
197
|
-
- Total console.error calls found: X
|
|
198
|
-
- Observer-related: Y
|
|
199
|
-
- Other purpose: Z
|
|
200
|
-
|
|
201
|
-
## Observer-Related Console.error Calls
|
|
202
|
-
|
|
203
|
-
### 1. src/core/logger.ts:27
|
|
204
|
-
**Method**: WorkflowLogger.emit()
|
|
205
|
-
**Error Type**: Observer onLog callback error
|
|
206
|
-
**Context**: Emitting log entries to observers
|
|
207
|
-
```typescript
|
|
208
|
-
try {
|
|
209
|
-
obs.onLog(entry);
|
|
210
|
-
} catch (err) {
|
|
211
|
-
console.error('Observer onLog error:', err);
|
|
212
|
-
}
|
|
213
|
-
```
|
|
214
|
-
**Categorization**: Observer-related - REPLACE in P1.M3.T1.S2
|
|
215
|
-
**Replacement Pattern**: `this.logger.error('Observer onLog error', { error: err })`
|
|
216
|
-
|
|
217
|
-
### 2. src/core/workflow.ts:376
|
|
218
|
-
[... same pattern for each observer-related call ...]
|
|
219
|
-
|
|
220
|
-
## Other Purpose Console.error Calls
|
|
221
|
-
|
|
222
|
-
### 1. src/core/workflow.ts:277
|
|
223
|
-
**Method**: Workflow.attachChild()
|
|
224
|
-
**Error Type**: Validation error - child already has parent
|
|
225
|
-
**Context**: Structural validation before throwing exception
|
|
226
|
-
```typescript
|
|
227
|
-
const errorMessage = `Child '${childName}' already has a parent '${existingParentName}'. ...`;
|
|
228
|
-
console.error(errorMessage);
|
|
229
|
-
throw new Error(errorMessage);
|
|
230
|
-
```
|
|
231
|
-
**Categorization**: Other purpose - DO NOT REPLACE
|
|
232
|
-
**Rationale**: Validation error that immediately throws; console.error provides visibility before stack trace
|
|
233
|
-
|
|
234
|
-
### 2. src/core/workflow.ts:286
|
|
235
|
-
[... same pattern for validation error ...]
|
|
236
|
-
|
|
237
|
-
## Replacement Recommendations
|
|
238
|
-
|
|
239
|
-
### Observer-Related Calls (Replace with logger.error)
|
|
240
|
-
- src/core/logger.ts:27
|
|
241
|
-
- src/core/workflow.ts:376
|
|
242
|
-
- src/core/workflow.ts:394
|
|
243
|
-
- src/utils/observable.ts:39
|
|
244
|
-
- src/utils/observable.ts:52
|
|
245
|
-
- src/utils/observable.ts:65
|
|
246
|
-
|
|
247
|
-
### Validation Errors (Preserve as console.error)
|
|
248
|
-
- src/core/workflow.ts:277 - Structural validation
|
|
249
|
-
- src/core/workflow.ts:286 - Circular reference detection
|
|
250
|
-
|
|
251
|
-
## Implementation Notes for P1.M3.T1.S2
|
|
252
|
-
|
|
253
|
-
1. Workflow class calls can use `this.logger.error()`
|
|
254
|
-
2. Observable class may need logger injection pattern
|
|
255
|
-
3. Preserve error isolation - observer errors should not crash workflows
|
|
256
|
-
4. Add error context: observer type, event type, error details
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
### Implementation Patterns & Key Details
|
|
260
|
-
|
|
261
|
-
```typescript
|
|
262
|
-
// PATTERN: Observer error handling (current - to be replaced)
|
|
263
|
-
try {
|
|
264
|
-
obs.onEvent(event);
|
|
265
|
-
} catch (err) {
|
|
266
|
-
console.error('Observer onEvent error:', err);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
// PATTERN: Observer error handling (target for P1.M3.T1.S2)
|
|
270
|
-
try {
|
|
271
|
-
obs.onEvent(event);
|
|
272
|
-
} catch (err) {
|
|
273
|
-
this.logger.error('Observer onEvent error', {
|
|
274
|
-
error: err,
|
|
275
|
-
observerType: obs.constructor.name,
|
|
276
|
-
eventType: event.type,
|
|
277
|
-
workflowId: this.node.id
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
// PATTERN: Validation error handling (preserve - do NOT replace)
|
|
282
|
-
const errorMessage = `Child '${childName}' already has a parent '${existingParentName}'. ...`;
|
|
283
|
-
console.error(errorMessage);
|
|
284
|
-
throw new Error(errorMessage);
|
|
285
|
-
// Rationale: Console output provides immediate visibility before exception
|
|
286
|
-
|
|
287
|
-
// GOTCHA: Observable class logger injection (for P1.M3.T1.S2)
|
|
288
|
-
export class Observable<T> {
|
|
289
|
-
private logger?: { error: (msg: string, data?: unknown) => void };
|
|
290
|
-
|
|
291
|
-
constructor(logger?: { error: (msg: string, data?: unknown) => void }) {
|
|
292
|
-
this.logger = logger;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
next(value: T): void {
|
|
296
|
-
for (const subscriber of this.subscribers) {
|
|
297
|
-
try {
|
|
298
|
-
subscriber.next?.(value);
|
|
299
|
-
} catch (err) {
|
|
300
|
-
this.logger?.error('Observable subscriber error', { error: err });
|
|
301
|
-
if (!this.logger) console.error('Observable subscriber error:', err);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
### Integration Points
|
|
309
|
-
|
|
310
|
-
```yaml
|
|
311
|
-
NO CODE CHANGES - This is a research task only.
|
|
312
|
-
|
|
313
|
-
OUTPUT:
|
|
314
|
-
- create: plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/research/console_error_inventory.md
|
|
315
|
-
- content: Inventory document following the structure above
|
|
316
|
-
|
|
317
|
-
SEARCH TOOLS:
|
|
318
|
-
- use: Grep tool with pattern 'console.error' in src/ directory
|
|
319
|
-
- filter: Exclude test files (src/__tests__/) - only production code
|
|
320
|
-
- context: Extract 5 lines before and after each match for context
|
|
321
|
-
|
|
322
|
-
CATEGORIZATION CRITERIA:
|
|
323
|
-
- observer_related: Call is in try-catch around observer/subscriber callback
|
|
324
|
-
- other_purpose: Call is for validation, structural errors, or before throwing exception
|
|
325
|
-
|
|
326
|
-
FOLLOW-UP:
|
|
327
|
-
- next_task: P1.M3.T1.S2 (Replace observer error console.error with logger.error)
|
|
328
|
-
- next_task: P1.M3.T1.S3 (Add tests for observer error logging)
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
---
|
|
332
|
-
|
|
333
|
-
## Validation Loop
|
|
334
|
-
|
|
335
|
-
### Level 1: Search Completeness (Immediate Validation)
|
|
336
|
-
|
|
337
|
-
```bash
|
|
338
|
-
# After completing search, verify no console.error calls were missed
|
|
339
|
-
grep -rn "console\.error" src/ --exclude-dir=__tests__ | wc -l
|
|
340
|
-
|
|
341
|
-
# Expected: At least 8 calls found in production code
|
|
342
|
-
# Compare with inventory document count
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
### Level 2: Categorization Accuracy (Verification)
|
|
346
|
-
|
|
347
|
-
```bash
|
|
348
|
-
# Verify observer-related calls are correctly categorized
|
|
349
|
-
# Observer calls will be in try-catch blocks around observer/subscriber methods
|
|
350
|
-
grep -A 3 "console\.error.*observer" src/
|
|
351
|
-
|
|
352
|
-
# Verify validation errors are correctly categorized
|
|
353
|
-
# Validation calls will be followed by "throw new Error()"
|
|
354
|
-
grep -B 1 -A 1 "console\.error.*errorMessage" src/
|
|
355
|
-
|
|
356
|
-
# Expected: All categorizations match code context
|
|
357
|
-
```
|
|
358
|
-
|
|
359
|
-
### Level 3: Document Quality (Review)
|
|
360
|
-
|
|
361
|
-
```markdown
|
|
362
|
-
Review checklist:
|
|
363
|
-
- [ ] All console.error calls are documented with file path and line number
|
|
364
|
-
- [ ] Each call includes the containing method/function name
|
|
365
|
-
- [ ] Categorization (observer-related vs other) is clearly stated
|
|
366
|
-
- [ ] Code snippets show the surrounding context (try-catch, throw, etc.)
|
|
367
|
-
- [ ] Replacement recommendations section provides clear guidance for P1.M3.T1.S2
|
|
368
|
-
- [ ] Document follows the specified structure
|
|
369
|
-
- [ ] Non-observer calls include rationale for preservation
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
### Level 4: Handoff Readiness
|
|
373
|
-
|
|
374
|
-
```bash
|
|
375
|
-
# Verify the document enables the next task
|
|
376
|
-
grep -i "observer-related" plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M3T1S1/research/console_error_inventory.md | wc -l
|
|
377
|
-
|
|
378
|
-
# Expected: At least 6 observer-related calls identified
|
|
379
|
-
# Next task should be able to proceed without additional research
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
---
|
|
383
|
-
|
|
384
|
-
## Final Validation Checklist
|
|
385
|
-
|
|
386
|
-
### Research Validation
|
|
387
|
-
|
|
388
|
-
- [ ] Grep search for 'console.error' executed in src/ directory
|
|
389
|
-
- [ ] Test files (src/__tests__//) excluded from search results
|
|
390
|
-
- [ ] Each matching file read to understand context
|
|
391
|
-
- [ ] All console.error calls categorized as observer-related or other purpose
|
|
392
|
-
- [ ] Code snippets extracted showing surrounding context
|
|
393
|
-
- [ ] File paths and line numbers verified for accuracy
|
|
394
|
-
|
|
395
|
-
### Document Quality Validation
|
|
396
|
-
|
|
397
|
-
- [ ] Inventory document created at correct path
|
|
398
|
-
- [ ] Executive summary provides total counts
|
|
399
|
-
- [ ] Observer-related calls section includes all 6 expected calls
|
|
400
|
-
- [ ] Other purpose calls section includes validation errors
|
|
401
|
-
- [ ] Each call has: file path, line number, method, error type, context, categorization
|
|
402
|
-
- [ ] Replacement recommendations section clearly identifies which calls to replace
|
|
403
|
-
- [ ] Implementation notes provide guidance for P1.M3.T1.S2
|
|
404
|
-
|
|
405
|
-
### Handoff Validation
|
|
406
|
-
|
|
407
|
-
- [ ] Document location is correct and accessible
|
|
408
|
-
- [ ] All file references include exact paths and line numbers
|
|
409
|
-
- [ ] Next task (P1.M3.T1.S2) can proceed with only this document + codebase access
|
|
410
|
-
- [ ] No additional research should be required for implementation
|
|
411
|
-
- [ ] Categorization logic is clear and reproducible
|
|
412
|
-
|
|
413
|
-
---
|
|
414
|
-
|
|
415
|
-
## Anti-Patterns to Avoid
|
|
416
|
-
|
|
417
|
-
- [ ] Don't make any code changes - this is a research-only task
|
|
418
|
-
- [ ] Don't include test file console.error calls (those are mock assertions, not actual code)
|
|
419
|
-
- [ ] Don't categorize based solely on message text - examine code context
|
|
420
|
-
- [ ] Don't skip validation errors - document why they shouldn't be replaced
|
|
421
|
-
- [ ] Don't forget the Observable class - it has 3 console.error calls that are observer-related
|
|
422
|
-
- [ ] Don't assume all console.error in workflow.ts are observer-related - lines 277, 286 are validation
|
|
423
|
-
- [ ] Don't omit line numbers - exact locations are critical for the replacement task
|
|
424
|
-
- [ ] Don't forget to provide replacement pattern recommendations for P1.M3.T1.S2
|
|
425
|
-
|
|
426
|
-
---
|
|
427
|
-
|
|
428
|
-
## Appendix: Quick Reference
|
|
429
|
-
|
|
430
|
-
### Key File Locations
|
|
431
|
-
|
|
432
|
-
| File | Lines | Call Type | Categorization |
|
|
433
|
-
|------|-------|-----------|----------------|
|
|
434
|
-
| src/core/logger.ts | 27 | Observer onLog error | Observer-related |
|
|
435
|
-
| src/core/workflow.ts | 277 | Validation error | Other purpose |
|
|
436
|
-
| src/core/workflow.ts | 286 | Validation error | Other purpose |
|
|
437
|
-
| src/core/workflow.ts | 376 | Observer onEvent error | Observer-related |
|
|
438
|
-
| src/core/workflow.ts | 394 | Observer onStateUpdated error | Observer-related |
|
|
439
|
-
| src/utils/observable.ts | 39 | Subscriber next error | Observer-related |
|
|
440
|
-
| src/utils/observable.ts | 52 | Subscriber error handler failure | Observer-related |
|
|
441
|
-
| src/utils/observable.ts | 65 | Subscriber complete failure | Observer-related |
|
|
442
|
-
|
|
443
|
-
### Observer Interface
|
|
444
|
-
|
|
445
|
-
```typescript
|
|
446
|
-
export interface WorkflowObserver {
|
|
447
|
-
onLog(entry: LogEntry): void; // Can throw - src/core/logger.ts:27
|
|
448
|
-
onEvent(event: WorkflowEvent): void; // Can throw - src/core/workflow.ts:376
|
|
449
|
-
onStateUpdated(node: WorkflowNode): void; // Can throw - src/core/workflow.ts:394
|
|
450
|
-
onTreeChanged(root: WorkflowNode): void; // No console.error (safe implementation)
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
export interface Observer<T> {
|
|
454
|
-
next?(value: T): void | Promise<void>; // Can throw - src/utils/observable.ts:39
|
|
455
|
-
error?(err: unknown): void | Promise<void>; // Can throw - src/utils/observable.ts:52
|
|
456
|
-
complete?(): void | Promise<void>; // Can throw - src/utils/observable.ts:65
|
|
457
|
-
}
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
### Expected Inventory Totals
|
|
461
|
-
|
|
462
|
-
Based on codebase analysis:
|
|
463
|
-
|
|
464
|
-
- **Total console.error calls**: 8
|
|
465
|
-
- **Observer-related**: 6 (to be replaced in P1.M3.T1.S2)
|
|
466
|
-
- **Other purpose**: 2 (validation errors to preserve)
|
|
467
|
-
|
|
468
|
-
### Observer Error Categories
|
|
469
|
-
|
|
470
|
-
1. **WorkflowObserver callbacks** (3 calls):
|
|
471
|
-
- onLog errors in WorkflowLogger.emit()
|
|
472
|
-
- onEvent errors in Workflow.emitEvent()
|
|
473
|
-
- onStateUpdated errors in Workflow.snapshotState()
|
|
474
|
-
|
|
475
|
-
2. **Observable subscriber callbacks** (3 calls):
|
|
476
|
-
- next() errors in Observable.next()
|
|
477
|
-
- error() handler failures in Observable.error()
|
|
478
|
-
- complete() failures in Observable.complete()
|
|
479
|
-
|
|
480
|
-
3. **Validation errors** (2 calls - preserve as console.error):
|
|
481
|
-
- Child already has parent validation
|
|
482
|
-
- Circular reference detection
|
|
483
|
-
|
|
484
|
-
---
|
|
485
|
-
|
|
486
|
-
## Confidence Score
|
|
487
|
-
|
|
488
|
-
**8/10** - High confidence for one-pass research success
|
|
489
|
-
|
|
490
|
-
**Rationale**:
|
|
491
|
-
- All necessary context has been gathered and documented
|
|
492
|
-
- Research boundaries are clear (observer-related vs other purpose)
|
|
493
|
-
- Expected totals are known (8 total, 6 observer-related)
|
|
494
|
-
- Output format is well-specified
|
|
495
|
-
- Only potential gap: New console.error calls added after research documentation
|