groundswell 0.0.2 → 0.0.3
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/dist/__tests__/adversarial/attachChild-performance.test.d.ts +16 -0
- package/dist/__tests__/adversarial/attachChild-performance.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/attachChild-performance.test.js +187 -0
- package/dist/__tests__/adversarial/attachChild-performance.test.js.map +1 -0
- package/dist/__tests__/adversarial/circular-reference.test.d.ts +13 -0
- package/dist/__tests__/adversarial/circular-reference.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/circular-reference.test.js +92 -0
- package/dist/__tests__/adversarial/circular-reference.test.js.map +1 -0
- package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts +16 -0
- package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/complex-circular-reference.test.js +127 -0
- package/dist/__tests__/adversarial/complex-circular-reference.test.js.map +1 -0
- package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts +21 -0
- package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/concurrent-task-failures.test.js +667 -0
- package/dist/__tests__/adversarial/concurrent-task-failures.test.js.map +1 -0
- package/dist/__tests__/adversarial/deep-analysis.test.d.ts +6 -0
- package/dist/__tests__/adversarial/deep-analysis.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/deep-analysis.test.js +877 -0
- package/dist/__tests__/adversarial/deep-analysis.test.js.map +1 -0
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts +13 -0
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js +186 -0
- package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js.map +1 -0
- package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts +6 -0
- package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/e2e-prd-validation.test.js +626 -0
- package/dist/__tests__/adversarial/e2e-prd-validation.test.js.map +1 -0
- package/dist/__tests__/adversarial/edge-case.test.d.ts +6 -0
- package/dist/__tests__/adversarial/edge-case.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/edge-case.test.js +857 -0
- package/dist/__tests__/adversarial/edge-case.test.js.map +1 -0
- package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts +20 -0
- package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/error-merge-strategy.test.js +907 -0
- package/dist/__tests__/adversarial/error-merge-strategy.test.js.map +1 -0
- package/dist/__tests__/adversarial/incremental-performance.test.d.ts +2 -0
- package/dist/__tests__/adversarial/incremental-performance.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/incremental-performance.test.js +113 -0
- package/dist/__tests__/adversarial/incremental-performance.test.js.map +1 -0
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts +22 -0
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js +383 -0
- package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js.map +1 -0
- package/dist/__tests__/adversarial/observer-propagation.test.d.ts +21 -0
- package/dist/__tests__/adversarial/observer-propagation.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/observer-propagation.test.js +404 -0
- package/dist/__tests__/adversarial/observer-propagation.test.js.map +1 -0
- package/dist/__tests__/adversarial/parent-validation.test.d.ts +13 -0
- package/dist/__tests__/adversarial/parent-validation.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/parent-validation.test.js +128 -0
- package/dist/__tests__/adversarial/parent-validation.test.js.map +1 -0
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts +20 -0
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.js +482 -0
- package/dist/__tests__/adversarial/prd-12-2-compliance.test.js.map +1 -0
- package/dist/__tests__/adversarial/prd-compliance.test.d.ts +6 -0
- package/dist/__tests__/adversarial/prd-compliance.test.d.ts.map +1 -0
- package/dist/__tests__/adversarial/prd-compliance.test.js +886 -0
- package/dist/__tests__/adversarial/prd-compliance.test.js.map +1 -0
- package/dist/__tests__/compatibility/backward-compatibility.test.d.ts +22 -0
- package/dist/__tests__/compatibility/backward-compatibility.test.d.ts.map +1 -0
- package/dist/__tests__/compatibility/backward-compatibility.test.js +1843 -0
- package/dist/__tests__/compatibility/backward-compatibility.test.js.map +1 -0
- package/dist/__tests__/helpers/index.d.ts +10 -0
- package/dist/__tests__/helpers/index.d.ts.map +1 -0
- package/{src/__tests__/helpers/index.ts → dist/__tests__/helpers/index.js} +2 -10
- package/dist/__tests__/helpers/index.js.map +1 -0
- package/dist/__tests__/helpers/tree-verification.d.ts +90 -0
- package/dist/__tests__/helpers/tree-verification.d.ts.map +1 -0
- package/dist/__tests__/helpers/tree-verification.js +202 -0
- package/dist/__tests__/helpers/tree-verification.js.map +1 -0
- package/dist/__tests__/integration/agent-workflow.test.d.ts +2 -0
- package/dist/__tests__/integration/agent-workflow.test.d.ts.map +1 -0
- package/dist/__tests__/integration/agent-workflow.test.js +256 -0
- package/dist/__tests__/integration/agent-workflow.test.js.map +1 -0
- package/dist/__tests__/integration/bidirectional-consistency.test.d.ts +14 -0
- package/dist/__tests__/integration/bidirectional-consistency.test.d.ts.map +1 -0
- package/dist/__tests__/integration/bidirectional-consistency.test.js +668 -0
- package/dist/__tests__/integration/bidirectional-consistency.test.js.map +1 -0
- package/dist/__tests__/integration/observer-logging.test.d.ts +2 -0
- package/dist/__tests__/integration/observer-logging.test.d.ts.map +1 -0
- package/dist/__tests__/integration/observer-logging.test.js +517 -0
- package/dist/__tests__/integration/observer-logging.test.js.map +1 -0
- package/dist/__tests__/integration/tree-mirroring.test.d.ts +2 -0
- package/dist/__tests__/integration/tree-mirroring.test.d.ts.map +1 -0
- package/dist/__tests__/integration/tree-mirroring.test.js +117 -0
- package/dist/__tests__/integration/tree-mirroring.test.js.map +1 -0
- package/dist/__tests__/integration/workflow-reparenting.test.d.ts +12 -0
- package/dist/__tests__/integration/workflow-reparenting.test.d.ts.map +1 -0
- package/dist/__tests__/integration/workflow-reparenting.test.js +239 -0
- package/dist/__tests__/integration/workflow-reparenting.test.js.map +1 -0
- package/dist/__tests__/unit/agent.test.d.ts +2 -0
- package/dist/__tests__/unit/agent.test.d.ts.map +1 -0
- package/dist/__tests__/unit/agent.test.js +143 -0
- package/dist/__tests__/unit/agent.test.js.map +1 -0
- package/dist/__tests__/unit/cache-key.test.d.ts +5 -0
- package/dist/__tests__/unit/cache-key.test.d.ts.map +1 -0
- package/dist/__tests__/unit/cache-key.test.js +145 -0
- package/dist/__tests__/unit/cache-key.test.js.map +1 -0
- package/dist/__tests__/unit/cache.test.d.ts +5 -0
- package/dist/__tests__/unit/cache.test.d.ts.map +1 -0
- package/dist/__tests__/unit/cache.test.js +132 -0
- package/dist/__tests__/unit/cache.test.js.map +1 -0
- package/dist/__tests__/unit/context.test.d.ts +2 -0
- package/dist/__tests__/unit/context.test.d.ts.map +1 -0
- package/dist/__tests__/unit/context.test.js +220 -0
- package/dist/__tests__/unit/context.test.js.map +1 -0
- package/dist/__tests__/unit/decorators.test.d.ts +2 -0
- package/dist/__tests__/unit/decorators.test.d.ts.map +1 -0
- package/dist/__tests__/unit/decorators.test.js +162 -0
- package/dist/__tests__/unit/decorators.test.js.map +1 -0
- package/dist/__tests__/unit/introspection-tools.test.d.ts +5 -0
- package/dist/__tests__/unit/introspection-tools.test.d.ts.map +1 -0
- package/dist/__tests__/unit/introspection-tools.test.js +191 -0
- package/dist/__tests__/unit/introspection-tools.test.js.map +1 -0
- package/dist/__tests__/unit/logger.test.d.ts +2 -0
- package/dist/__tests__/unit/logger.test.d.ts.map +1 -0
- package/dist/__tests__/unit/logger.test.js +241 -0
- package/dist/__tests__/unit/logger.test.js.map +1 -0
- package/dist/__tests__/unit/observable.test.d.ts +2 -0
- package/dist/__tests__/unit/observable.test.d.ts.map +1 -0
- package/dist/__tests__/unit/observable.test.js +251 -0
- package/dist/__tests__/unit/observable.test.js.map +1 -0
- package/dist/__tests__/unit/prompt.test.d.ts +2 -0
- package/dist/__tests__/unit/prompt.test.d.ts.map +1 -0
- package/dist/__tests__/unit/prompt.test.js +113 -0
- package/dist/__tests__/unit/prompt.test.js.map +1 -0
- package/dist/__tests__/unit/reflection.test.d.ts +5 -0
- package/dist/__tests__/unit/reflection.test.d.ts.map +1 -0
- package/dist/__tests__/unit/reflection.test.js +160 -0
- package/dist/__tests__/unit/reflection.test.js.map +1 -0
- package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts +2 -0
- package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts.map +1 -0
- package/dist/__tests__/unit/tree-debugger-incremental.test.js +136 -0
- package/dist/__tests__/unit/tree-debugger-incremental.test.js.map +1 -0
- package/dist/__tests__/unit/tree-debugger.test.d.ts +2 -0
- package/dist/__tests__/unit/tree-debugger.test.d.ts.map +1 -0
- package/dist/__tests__/unit/tree-debugger.test.js +69 -0
- package/dist/__tests__/unit/tree-debugger.test.js.map +1 -0
- package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts +2 -0
- package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts.map +1 -0
- package/dist/__tests__/unit/utils/workflow-error-utils.test.js +154 -0
- package/dist/__tests__/unit/utils/workflow-error-utils.test.js.map +1 -0
- package/dist/__tests__/unit/workflow-detachChild.test.d.ts +2 -0
- package/dist/__tests__/unit/workflow-detachChild.test.d.ts.map +1 -0
- package/dist/__tests__/unit/workflow-detachChild.test.js +76 -0
- package/dist/__tests__/unit/workflow-detachChild.test.js.map +1 -0
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts +2 -0
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts.map +1 -0
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js +122 -0
- package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js.map +1 -0
- package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts +2 -0
- package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts.map +1 -0
- package/dist/__tests__/unit/workflow-isDescendantOf.test.js +140 -0
- package/dist/__tests__/unit/workflow-isDescendantOf.test.js.map +1 -0
- package/dist/__tests__/unit/workflow.test.d.ts +2 -0
- package/dist/__tests__/unit/workflow.test.d.ts.map +1 -0
- package/dist/__tests__/unit/workflow.test.js +330 -0
- package/dist/__tests__/unit/workflow.test.js.map +1 -0
- package/dist/cache/cache-key.d.ts +66 -0
- package/dist/cache/cache-key.d.ts.map +1 -0
- package/dist/cache/cache-key.js +195 -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 +112 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +426 -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 +69 -0
- package/dist/core/mcp-handler.d.ts.map +1 -0
- package/dist/core/mcp-handler.js +143 -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 +57 -0
- package/dist/core/workflow-context.d.ts.map +1 -0
- package/dist/core/workflow-context.js +263 -0
- package/dist/core/workflow-context.js.map +1 -0
- package/dist/core/workflow.d.ts +241 -0
- package/dist/core/workflow.d.ts.map +1 -0
- package/dist/core/workflow.js +464 -0
- package/dist/core/workflow.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 +71 -0
- package/dist/debugger/tree-debugger.d.ts.map +1 -0
- package/dist/debugger/tree-debugger.js +198 -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 +110 -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/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -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 +329 -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 +66 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +6 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/decorators.d.ts +31 -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 +87 -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/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -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/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/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/workflow-context.d.ts +139 -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/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/{src/utils/index.ts → dist/utils/index.d.ts} +1 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.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/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 +5 -2
- 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/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/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/observable.ts +0 -106
- package/src/utils/workflow-error-utils.ts +0 -56
- package/tsconfig.json +0 -22
- package/vitest.config.ts +0 -16
package/plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/docs/P1M1T1S3/vitest_patterns_research.md
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
# Vitest Testing Best Practices Research
|
|
2
|
-
|
|
3
|
-
## Official Documentation URLs
|
|
4
|
-
|
|
5
|
-
- **Main Documentation**: https://vitest.dev
|
|
6
|
-
- **API Reference**: https://vitest.dev/api/
|
|
7
|
-
- **Mocking**: https://vitest.dev/guide/mocking.html
|
|
8
|
-
- **Mock Functions**: https://vitest.dev/api/mock.html
|
|
9
|
-
- **test.each()**: https://vitest.dev/api/test.html#test-each
|
|
10
|
-
- **expectTypeOf()**: https://vitest.dev/api/expect.html#expecttypeof
|
|
11
|
-
|
|
12
|
-
## Parameterized Tests with test.each()
|
|
13
|
-
|
|
14
|
-
### Array-Based Pattern
|
|
15
|
-
```typescript
|
|
16
|
-
test.each([
|
|
17
|
-
[1, 2, 3],
|
|
18
|
-
[2, 3, 5],
|
|
19
|
-
[10, 20, 30],
|
|
20
|
-
])('add(%i, %i) = %i', (a, b, expected) => {
|
|
21
|
-
expect(add(a, b)).toBe(expected);
|
|
22
|
-
});
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### Object-Based Pattern
|
|
26
|
-
```typescript
|
|
27
|
-
test.each([
|
|
28
|
-
{ level: 'info', method: 'info', message: 'info message' },
|
|
29
|
-
{ level: 'warn', method: 'warn', message: 'warn message' },
|
|
30
|
-
{ level: 'error', method: 'error', message: 'error message' },
|
|
31
|
-
])('should log $level correctly', ({ level, method, message }) => {
|
|
32
|
-
const consoleSpy = vi.spyOn(console, level).mockImplementation(() => {});
|
|
33
|
-
logger[method](message);
|
|
34
|
-
expect(consoleSpy).toHaveBeenCalledWith(message);
|
|
35
|
-
consoleSpy.mockRestore();
|
|
36
|
-
});
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Template String Pattern
|
|
40
|
-
```typescript
|
|
41
|
-
test.each`
|
|
42
|
-
a | b | expected
|
|
43
|
-
${1} | ${2} | ${3}
|
|
44
|
-
${2} | ${3} | ${5}
|
|
45
|
-
`('returns $expected when adding $a and $b', ({ a, b, expected }) => {
|
|
46
|
-
expect(add(a, b)).toBe(expected);
|
|
47
|
-
});
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Mock Patterns
|
|
51
|
-
|
|
52
|
-
### vi.fn() for Mock Functions
|
|
53
|
-
```typescript
|
|
54
|
-
const mockFn = vi.fn();
|
|
55
|
-
const mockTransport = { write: vi.fn() };
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### vi.spyOn() for Spying
|
|
59
|
-
```typescript
|
|
60
|
-
const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {});
|
|
61
|
-
// ... test code
|
|
62
|
-
consoleSpy.mockRestore();
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### beforeEach/afterEach for Setup
|
|
66
|
-
```typescript
|
|
67
|
-
describe('Logger tests', () => {
|
|
68
|
-
let consoleLogSpy: ReturnType<typeof vi.spyOn>;
|
|
69
|
-
|
|
70
|
-
beforeEach(() => {
|
|
71
|
-
consoleLogSpy = vi.spyOn(console, 'log').mockImplementation(() => {});
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
afterEach(() => {
|
|
75
|
-
consoleLogSpy.mockRestore();
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
it('test case', () => {
|
|
79
|
-
// consoleLogSpy is already set up
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Testing Hierarchical Relationships
|
|
85
|
-
|
|
86
|
-
```typescript
|
|
87
|
-
describe('HierarchicalLogger', () => {
|
|
88
|
-
it('should create child logger with parent reference', () => {
|
|
89
|
-
const root = new HierarchicalLogger('root');
|
|
90
|
-
const child = new HierarchicalLogger('child', root);
|
|
91
|
-
|
|
92
|
-
expect(child.getParent()).toBe(root);
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
it('should calculate full path for nested children', () => {
|
|
96
|
-
const root = new HierarchicalLogger('root');
|
|
97
|
-
const child = new HierarchicalLogger('child', root);
|
|
98
|
-
const grandchild = new HierarchicalLogger('grandchild', child);
|
|
99
|
-
|
|
100
|
-
expect(grandchild.getFullPath()).toBe('root.child.grandchild');
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## Testing Backward Compatibility
|
|
106
|
-
|
|
107
|
-
```typescript
|
|
108
|
-
describe('Backward compatibility', () => {
|
|
109
|
-
it('should support old method signature', () => {
|
|
110
|
-
const logger = new Logger();
|
|
111
|
-
expect(() => logger.log('message')).not.toThrow();
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
it('should support new method signature', () => {
|
|
115
|
-
const logger = new Logger();
|
|
116
|
-
expect(() => logger.log('info', 'message')).not.toThrow();
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
it('should maintain old behavior with signature change', () => {
|
|
120
|
-
const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {});
|
|
121
|
-
const logger = new Logger();
|
|
122
|
-
|
|
123
|
-
logger.log('message');
|
|
124
|
-
|
|
125
|
-
expect(consoleSpy).toHaveBeenCalledWith('message');
|
|
126
|
-
consoleSpy.mockRestore();
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
## Testing Type Safety
|
|
132
|
-
|
|
133
|
-
```typescript
|
|
134
|
-
import { expectTypeOf } from 'vitest';
|
|
135
|
-
|
|
136
|
-
describe('Type testing', () => {
|
|
137
|
-
it('should have correct types', () => {
|
|
138
|
-
const logger = new Logger();
|
|
139
|
-
|
|
140
|
-
expectTypeOf(logger.log).toBeFunction();
|
|
141
|
-
expectTypeOf(logger.log).parameters.toEqualTypeOf<[string]>();
|
|
142
|
-
expectTypeOf(logger.log).returns.toBeVoid();
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
it('should support interface compatibility', () => {
|
|
146
|
-
expectTypeOf<Logger>().toMatchTypeOf<ILogger>();
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## Best Practices
|
|
152
|
-
|
|
153
|
-
1. **Group related tests with `describe`**
|
|
154
|
-
2. **Use descriptive test names** that explain what is being tested
|
|
155
|
-
3. **Follow AAA pattern** (Arrange, Act, Assert)
|
|
156
|
-
4. **Keep tests independent and isolated**
|
|
157
|
-
5. **Always restore mocks** in `afterEach`
|
|
158
|
-
6. **Prefer spies over mocks** when possible
|
|
159
|
-
7. **Mock at the boundary** of your code
|
|
@@ -1,549 +0,0 @@
|
|
|
1
|
-
# Product Requirement Prompt (PRP)
|
|
2
|
-
## P1.M1.T1.S4: Verify All Existing child() Calls Still Work
|
|
3
|
-
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Goal
|
|
7
|
-
|
|
8
|
-
**Feature Goal**: Verify complete backward compatibility of the WorkflowLogger.child() signature change from `child(parentLogId: string)` to `child(meta: Partial<LogEntry>)` while ensuring all 361 existing tests pass without modification.
|
|
9
|
-
|
|
10
|
-
**Deliverable**: A verification report documenting:
|
|
11
|
-
- All child() usage locations and their compatibility status
|
|
12
|
-
- Full test suite execution results (all 361 tests passing)
|
|
13
|
-
- Any edge cases discovered and how they were handled
|
|
14
|
-
- Confirmation that no production code changes are required
|
|
15
|
-
|
|
16
|
-
**Success Definition**:
|
|
17
|
-
- All existing child() call sites verified as compatible
|
|
18
|
-
- Full test suite passes with zero failures (`npm test` exit code 0)
|
|
19
|
-
- No breaking changes detected in any usage pattern
|
|
20
|
-
- Edge cases documented with resolution strategy
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## User Persona
|
|
25
|
-
|
|
26
|
-
**Target User**: Development team maintaining the hierarchical workflow engine
|
|
27
|
-
|
|
28
|
-
**Use Case**: Ensure that the child() signature enhancement (S2) maintains full backward compatibility with existing code and tests
|
|
29
|
-
|
|
30
|
-
**User Journey**:
|
|
31
|
-
1. Execute the verification process using this PRP
|
|
32
|
-
2. Run the full test suite to confirm no regressions
|
|
33
|
-
3. Review the verification report documenting all usage patterns
|
|
34
|
-
4. Proceed with confidence that the signature change is safe
|
|
35
|
-
|
|
36
|
-
**Pain Points Addressed**:
|
|
37
|
-
- Fear of breaking existing functionality when changing method signatures
|
|
38
|
-
- Uncertainty about which call sites might be affected
|
|
39
|
-
- Need for systematic verification rather than ad-hoc testing
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Why
|
|
44
|
-
|
|
45
|
-
- **Business Value**: Ensures production stability by validating that the child() signature enhancement doesn't break existing workflows
|
|
46
|
-
- **Integration**: Completes the P1.M1.T1 bug fix sequence by verifying S2 implementation works correctly
|
|
47
|
-
- **Problems Solved**: Provides confidence that the Partial<LogEntry> signature is backward compatible and production-ready
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## What
|
|
52
|
-
|
|
53
|
-
Verify that all existing child() method calls continue to work correctly after the signature change from `child(parentLogId: string)` to `child(meta: Partial<LogEntry>)` with backward-compatible overloads.
|
|
54
|
-
|
|
55
|
-
### Success Criteria
|
|
56
|
-
|
|
57
|
-
- [ ] All 361 existing tests pass without modification
|
|
58
|
-
- [ ] All child() usage locations documented and verified compatible
|
|
59
|
-
- [ ] No breaking changes detected in any call site
|
|
60
|
-
- [ ] Verification report created documenting findings
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## All Needed Context
|
|
65
|
-
|
|
66
|
-
### Context Completeness Check
|
|
67
|
-
|
|
68
|
-
**No Prior Knowledge Test**: If someone knew nothing about this codebase, they would need:
|
|
69
|
-
- The exact test command to run
|
|
70
|
-
- The file pattern for child() usage locations
|
|
71
|
-
- The expected test count (361 tests)
|
|
72
|
-
- The signature change details
|
|
73
|
-
- What constitutes success vs failure
|
|
74
|
-
|
|
75
|
-
This PRP provides all of the above.
|
|
76
|
-
|
|
77
|
-
### Documentation & References
|
|
78
|
-
|
|
79
|
-
```yaml
|
|
80
|
-
# MUST READ - Implementation context from previous subtasks
|
|
81
|
-
|
|
82
|
-
- file: plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S2/PRP.md
|
|
83
|
-
why: Contains the original PRP for updating child() signature
|
|
84
|
-
section: Implementation Blueprint - shows the exact signature change pattern
|
|
85
|
-
|
|
86
|
-
- file: plan/001_d3bb02af4886/bugfix/001_e8e04329daf3/P1M1T1S3/PRP.md
|
|
87
|
-
why: Contains the test implementation PRP
|
|
88
|
-
section: All Needed Context - shows test patterns and validation commands
|
|
89
|
-
|
|
90
|
-
- file: src/core/logger.ts
|
|
91
|
-
why: The actual child() implementation with overloads
|
|
92
|
-
pattern: Look for the child() method with function overloads (lines ~84-95)
|
|
93
|
-
gotcha: Implementation uses `typeof input === 'string'` type guard
|
|
94
|
-
|
|
95
|
-
- file: src/types/logging.ts
|
|
96
|
-
why: LogEntry interface definition
|
|
97
|
-
pattern: Contains LogEntry interface with parentLogId field
|
|
98
|
-
gotcha: Only parentLogId field from Partial<LogEntry> is used in child()
|
|
99
|
-
|
|
100
|
-
- file: package.json
|
|
101
|
-
why: Test commands and dependencies
|
|
102
|
-
section: scripts section - contains "test": "vitest run" command
|
|
103
|
-
|
|
104
|
-
- file: vitest.config.ts
|
|
105
|
-
why: Test framework configuration
|
|
106
|
-
pattern: Test files located in src/__tests__/**/*.test.ts
|
|
107
|
-
|
|
108
|
-
# EXISTING USAGE LOCATIONS - Known child() call sites
|
|
109
|
-
|
|
110
|
-
- file: src/__tests__/unit/logger.test.ts
|
|
111
|
-
why: Primary test file with comprehensive child() usage patterns
|
|
112
|
-
pattern: 16 different child() call patterns including Partial<LogEntry> and string
|
|
113
|
-
gotcha: Empty string '' results in undefined parentLogId
|
|
114
|
-
|
|
115
|
-
- file: src/__tests__/adversarial/deep-analysis.test.ts
|
|
116
|
-
why: Edge case testing for empty string
|
|
117
|
-
pattern: Line 61 - `this.logger.child('')`
|
|
118
|
-
gotcha: Tests empty string handling
|
|
119
|
-
|
|
120
|
-
- file: src/__tests__/adversarial/edge-case.test.ts
|
|
121
|
-
why: Backward compatibility verification
|
|
122
|
-
pattern: Line 96 - `this.logger.child('parent-id-123')`
|
|
123
|
-
gotcha: Tests legacy string parameter support
|
|
124
|
-
|
|
125
|
-
# CRITICAL RESEARCH FINDINGS
|
|
126
|
-
|
|
127
|
-
- docfile: plan/001_d3bb02af4886/architecture/logger_child_signature_analysis.md
|
|
128
|
-
why: Detailed analysis of the signature mismatch issue
|
|
129
|
-
section: Complete document
|
|
130
|
-
critical: "Current implementation uses child(parentLogId: string) but PRD requires child(meta: Partial<LogEntry>)"
|
|
131
|
-
|
|
132
|
-
- docfile: plan/001_d3bb02af4886/architecture/codebase_structure.md
|
|
133
|
-
why: Overall codebase architecture and WorkflowLogger design
|
|
134
|
-
section: Section 7 - WorkflowLogger Architecture
|
|
135
|
-
critical: "Shows dual tree architecture and observer patterns"
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### Current Codebase Tree
|
|
139
|
-
|
|
140
|
-
```bash
|
|
141
|
-
src/
|
|
142
|
-
├── core/
|
|
143
|
-
│ └── logger.ts # WorkflowLogger class with child() method
|
|
144
|
-
├── types/
|
|
145
|
-
│ └── logging.ts # LogEntry interface definition
|
|
146
|
-
└── __tests__/
|
|
147
|
-
├── unit/
|
|
148
|
-
│ └── logger.test.ts # 16 child() usage patterns (new tests from S3)
|
|
149
|
-
├── adversarial/
|
|
150
|
-
│ ├── deep-analysis.test.ts # 1 child() usage (empty string edge case)
|
|
151
|
-
│ └── edge-case.test.ts # 1 child() usage (backward compatibility)
|
|
152
|
-
├── integration/ # Integration tests (no direct child() usage)
|
|
153
|
-
└── helpers/ # Test utilities
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### Known child() Usage Patterns
|
|
157
|
-
|
|
158
|
-
```typescript
|
|
159
|
-
// Pattern 1: Partial<LogEntry> with parentLogId (NEW - S3 tests)
|
|
160
|
-
logger.child({ parentLogId: 'parent-123' })
|
|
161
|
-
|
|
162
|
-
// Pattern 2: Partial<LogEntry> with both id and parentLogId (NEW - S3 tests)
|
|
163
|
-
logger.child({ id: 'custom-id', parentLogId: 'correct-parent' })
|
|
164
|
-
|
|
165
|
-
// Pattern 3: Partial<LogEntry> with only id field (NEW - S3 tests)
|
|
166
|
-
logger.child({ id: 'custom-id' }) // parentLogId will be undefined
|
|
167
|
-
|
|
168
|
-
// Pattern 4: Empty Partial<LogEntry> (NEW - S3 tests)
|
|
169
|
-
logger.child({}) // parentLogId will be undefined
|
|
170
|
-
|
|
171
|
-
// Pattern 5: String parameter - backward compatible (EXISTING)
|
|
172
|
-
logger.child('parent-id-123')
|
|
173
|
-
|
|
174
|
-
// Pattern 6: Empty string (EXISTING)
|
|
175
|
-
logger.child('') // parentLogId will be undefined (empty string is falsy)
|
|
176
|
-
|
|
177
|
-
// Pattern 7: Variable string (EXISTING)
|
|
178
|
-
logger.child(parentLogId) // parentLogId is string variable
|
|
179
|
-
|
|
180
|
-
// Pattern 8: Variable Partial<LogEntry> (NEW - S3 tests)
|
|
181
|
-
logger.child({ parentLogId }) // parentLogId from variable
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
### Known Gotchas & Implementation Quirks
|
|
185
|
-
|
|
186
|
-
```typescript
|
|
187
|
-
// CRITICAL: Empty string behavior
|
|
188
|
-
// logger.child('') results in undefined parentLogId (empty string is falsy)
|
|
189
|
-
// This is INTENTIONAL - empty string means "no parent"
|
|
190
|
-
|
|
191
|
-
// CRITICAL: Only parentLogId field is used from Partial<LogEntry>
|
|
192
|
-
// logger.child({ id: 'custom-id' }) does NOT use the id field
|
|
193
|
-
// The id field is completely ignored by the implementation
|
|
194
|
-
|
|
195
|
-
// CRITICAL: Type guard pattern in implementation
|
|
196
|
-
// The implementation uses: typeof input === 'string' ? input : input.parentLogId
|
|
197
|
-
// This means { parentLogId: undefined } results in undefined parentLogId
|
|
198
|
-
|
|
199
|
-
// CRITICAL: No production code uses child()
|
|
200
|
-
// Only test files call child() - reducing risk of breaking changes
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
## Implementation Blueprint
|
|
206
|
-
|
|
207
|
-
### Data Models and Structure
|
|
208
|
-
|
|
209
|
-
This task is **verification only** - no data model changes are required.
|
|
210
|
-
|
|
211
|
-
The relevant data structure is the `LogEntry` interface:
|
|
212
|
-
|
|
213
|
-
```typescript
|
|
214
|
-
// src/types/logging.ts
|
|
215
|
-
export interface LogEntry {
|
|
216
|
-
id: string; // Unique identifier for the log entry
|
|
217
|
-
workflowId: string; // Associated workflow ID
|
|
218
|
-
timestamp: number; // Unix timestamp
|
|
219
|
-
level: LogLevel; // debug, info, warn, error
|
|
220
|
-
message: string; // Log message
|
|
221
|
-
data?: unknown; // Optional payload data
|
|
222
|
-
parentLogId?: string; // Parent log entry ID (ONLY field used by child())
|
|
223
|
-
}
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
### Implementation Tasks (ordered by dependencies)
|
|
227
|
-
|
|
228
|
-
```yaml
|
|
229
|
-
Task 1: LOCATE and DOCUMENT all child() usage locations
|
|
230
|
-
- EXECUTE: grep -rn "\.child(" src/__tests__/ --include="*.ts"
|
|
231
|
-
- DOCUMENT: Each file, line number, and usage pattern
|
|
232
|
-
- CATEGORIZE: As "existing (pre-S2)" or "new (S3 tests)"
|
|
233
|
-
- OUTPUT: Create usage_inventory.md with complete list
|
|
234
|
-
- EXPECTED: 18 total usages (2 existing + 16 new from S3)
|
|
235
|
-
|
|
236
|
-
Task 2: VERIFY TypeScript compilation succeeds
|
|
237
|
-
- EXECUTE: npm run build OR tsc --noEmit (if available)
|
|
238
|
-
- VALIDATE: No type errors related to child() calls
|
|
239
|
-
- CHECK: Function overload resolution works correctly
|
|
240
|
-
- OUTPUT: Record compilation success/failure
|
|
241
|
-
- EXPECTED: Zero compilation errors
|
|
242
|
-
|
|
243
|
-
Task 3: RUN the full test suite
|
|
244
|
-
- EXECUTE: npm test
|
|
245
|
-
- CAPTURE: Full test output including pass/fail counts
|
|
246
|
-
- VALIDATE: All 361 tests pass
|
|
247
|
-
- RECORD: Test execution time
|
|
248
|
-
- OUTPUT: Save test results to test_results.txt
|
|
249
|
-
- EXPECTED: 361 passing, 0 failing
|
|
250
|
-
|
|
251
|
-
Task 4: VERIFY existing test files pass individually
|
|
252
|
-
- EXECUTE: npx vitest run src/__tests__/adversarial/deep-analysis.test.ts
|
|
253
|
-
- EXECUTE: npx vitest run src/__tests__/adversarial/edge-case.test.ts
|
|
254
|
-
- VALIDATE: Both existing test files pass
|
|
255
|
-
- CONFIRM: No test modifications were required
|
|
256
|
-
- OUTPUT: Record individual test results
|
|
257
|
-
- EXPECTED: All tests pass, no code changes needed
|
|
258
|
-
|
|
259
|
-
Task 5: VERIFY new S3 tests demonstrate new functionality
|
|
260
|
-
- EXECUTE: npx vitest run src/__tests__/unit/logger.test.ts
|
|
261
|
-
- VALIDATE: All 16 new usage patterns work correctly
|
|
262
|
-
- CONFIRM: Partial<LogEntry> signature works as expected
|
|
263
|
-
- OUTPUT: Record new test functionality verification
|
|
264
|
-
- EXPECTED: All S3 tests pass
|
|
265
|
-
|
|
266
|
-
Task 6: DOCUMENT edge cases and their handling
|
|
267
|
-
- ANALYZE: Empty string behavior (logger.child(''))
|
|
268
|
-
- ANALYZE: Empty object behavior (logger.child({}))
|
|
269
|
-
- ANALYZE: id field ignoring (logger.child({ id: 'x' }))
|
|
270
|
-
- DOCUMENT: Each edge case and its resolution
|
|
271
|
-
- OUTPUT: Create edge_case_analysis.md
|
|
272
|
-
- INCLUDE: Code examples showing expected vs actual behavior
|
|
273
|
-
|
|
274
|
-
Task 7: CREATE final verification report
|
|
275
|
-
- COMPILE: Results from Tasks 1-6
|
|
276
|
-
- SUMMARIZE: All usage patterns verified as compatible
|
|
277
|
-
- CONFIRM: Backward compatibility maintained
|
|
278
|
-
- DOCUMENT: Any unexpected findings
|
|
279
|
-
- OUTPUT: VERIFICATION_REPORT.md with:
|
|
280
|
-
* Executive summary
|
|
281
|
-
* Detailed findings by file
|
|
282
|
-
* Test results summary
|
|
283
|
-
* Edge case analysis
|
|
284
|
-
* Conclusion and recommendations
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### Implementation Patterns & Key Details
|
|
288
|
-
|
|
289
|
-
```bash
|
|
290
|
-
# PATTERN: Running individual test files
|
|
291
|
-
npx vitest run <path-to-test-file>
|
|
292
|
-
|
|
293
|
-
# PATTERN: Running all tests
|
|
294
|
-
npm test
|
|
295
|
-
# OR
|
|
296
|
-
npx vitest run
|
|
297
|
-
|
|
298
|
-
# PATTERN: Checking TypeScript compilation
|
|
299
|
-
npm run build
|
|
300
|
-
# OR if build script doesn't exist
|
|
301
|
-
npx tsc --noEmit
|
|
302
|
-
|
|
303
|
-
# PATTERN: Searching for usage patterns
|
|
304
|
-
grep -rn "\.child(" src/ --include="*.ts"
|
|
305
|
-
# OR with ripgrep (if available)
|
|
306
|
-
rg "\.child\(" src/ -t ts
|
|
307
|
-
|
|
308
|
-
# CRITICAL: Test count expectations
|
|
309
|
-
# - 361 total tests (not 344 as originally stated)
|
|
310
|
-
# - 135 test suites (describe blocks)
|
|
311
|
-
# - 28 test files
|
|
312
|
-
# - Expect all tests to pass with zero failures
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
### Integration Points
|
|
316
|
-
|
|
317
|
-
```yaml
|
|
318
|
-
NO NEW INTEGRATIONS REQUIRED
|
|
319
|
-
- This is a verification task only
|
|
320
|
-
- No code changes needed
|
|
321
|
-
- No configuration changes needed
|
|
322
|
-
- No migration needed
|
|
323
|
-
|
|
324
|
-
EXISTING INTEGRATION POINTS TO VERIFY
|
|
325
|
-
- WorkflowLogger: src/core/logger.ts - child() method
|
|
326
|
-
- LogEntry type: src/types/logging.ts - Partial<LogEntry> signature
|
|
327
|
-
- Test framework: vitest.config.ts - test execution
|
|
328
|
-
- Build system: package.json - build/test scripts
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
---
|
|
332
|
-
|
|
333
|
-
## Validation Loop
|
|
334
|
-
|
|
335
|
-
### Level 1: Syntax & Type Verification (Immediate Feedback)
|
|
336
|
-
|
|
337
|
-
```bash
|
|
338
|
-
# Verify TypeScript compilation succeeds
|
|
339
|
-
npm run build
|
|
340
|
-
|
|
341
|
-
# Expected output:
|
|
342
|
-
# ✓ Built successfully
|
|
343
|
-
# or similar success message
|
|
344
|
-
|
|
345
|
-
# If build script doesn't exist, use:
|
|
346
|
-
npx tsc --noEmit
|
|
347
|
-
|
|
348
|
-
# Expected: Zero type errors
|
|
349
|
-
# If errors exist, READ output and identify if child()-related
|
|
350
|
-
|
|
351
|
-
# Alternative: Just run tests (tests include type checking)
|
|
352
|
-
npm test
|
|
353
|
-
# Tests will fail if there are type errors
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
### Level 2: Individual Usage Verification (Component Validation)
|
|
357
|
-
|
|
358
|
-
```bash
|
|
359
|
-
# Verify each existing usage location individually
|
|
360
|
-
|
|
361
|
-
# 1. Deep analysis test (existing - pre-S2)
|
|
362
|
-
npx vitest run src/__tests__/adversarial/deep-analysis.test.ts
|
|
363
|
-
# Expected: All tests pass, especially line 61 test with empty string
|
|
364
|
-
|
|
365
|
-
# 2. Edge case test (existing - pre-S2)
|
|
366
|
-
npx vitest run src/__tests__/adversarial/edge-case.test.ts
|
|
367
|
-
# Expected: All tests pass, especially line 96 test with string parameter
|
|
368
|
-
|
|
369
|
-
# 3. New logger tests (S3 additions)
|
|
370
|
-
npx vitest run src/__tests__/unit/logger.test.ts
|
|
371
|
-
# Expected: All 16 new test patterns pass
|
|
372
|
-
|
|
373
|
-
# If any test fails:
|
|
374
|
-
# 1. Read the error message carefully
|
|
375
|
-
# 2. Identify if it's related to child() signature
|
|
376
|
-
# 3. Check if the failure is in existing or new tests
|
|
377
|
-
# 4. Document the issue in edge_case_analysis.md
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
### Level 3: Full Test Suite (System Validation)
|
|
381
|
-
|
|
382
|
-
```bash
|
|
383
|
-
# Run the complete test suite
|
|
384
|
-
npm test
|
|
385
|
-
|
|
386
|
-
# Expected output format:
|
|
387
|
-
# ✓ src/__tests__/unit/logger.test.ts (16)
|
|
388
|
-
# ✓ src/__tests__/adversarial/deep-analysis.test.ts (X)
|
|
389
|
-
# ✓ src/__tests__/adversarial/edge-case.test.ts (Y)
|
|
390
|
-
# ... [all test files]
|
|
391
|
-
#
|
|
392
|
-
# Test Files 28 passed (28)
|
|
393
|
-
# Tests 361 passed (361)
|
|
394
|
-
# Start at: <timestamp>
|
|
395
|
-
# End at: <timestamp>
|
|
396
|
-
|
|
397
|
-
# Success criteria:
|
|
398
|
-
# - Test Files: 28 passed
|
|
399
|
-
# - Tests: 361 passed
|
|
400
|
-
# - Duration: < 30 seconds (typical)
|
|
401
|
-
|
|
402
|
-
# If tests fail:
|
|
403
|
-
# 1. Note which test files failed
|
|
404
|
-
# 2. Note specific test names that failed
|
|
405
|
-
# 3. Read error messages to understand root cause
|
|
406
|
-
# 4. Check if failure is child()-related
|
|
407
|
-
# 5. Document findings in verification report
|
|
408
|
-
|
|
409
|
-
# Capture full output to file:
|
|
410
|
-
npm test 2>&1 | tee test_results.txt
|
|
411
|
-
```
|
|
412
|
-
|
|
413
|
-
### Level 4: Documentation & Reporting (Verification Output)
|
|
414
|
-
|
|
415
|
-
```bash
|
|
416
|
-
# Create comprehensive verification report
|
|
417
|
-
|
|
418
|
-
# 1. Create usage inventory
|
|
419
|
-
cat > usage_inventory.md << 'EOF'
|
|
420
|
-
# child() Usage Inventory
|
|
421
|
-
|
|
422
|
-
## Summary
|
|
423
|
-
- Total usages found: [count]
|
|
424
|
-
- Existing (pre-S2): [count]
|
|
425
|
-
- New (S3 tests): [count]
|
|
426
|
-
- Production code: [count]
|
|
427
|
-
|
|
428
|
-
## Detailed Usage by File
|
|
429
|
-
|
|
430
|
-
### src/__tests__/unit/logger.test.ts
|
|
431
|
-
- Line X: `logger.child({ parentLogId: '...' })` - NEW
|
|
432
|
-
- Line Y: `logger.child('...')` - NEW/BACKWARD_COMPAT
|
|
433
|
-
[... list all usages]
|
|
434
|
-
|
|
435
|
-
### src/__tests__/adversarial/deep-analysis.test.ts
|
|
436
|
-
- Line 61: `logger.child('')` - EXISTING
|
|
437
|
-
|
|
438
|
-
### src/__tests__/adversarial/edge-case.test.ts
|
|
439
|
-
- Line 96: `logger.child('parent-id-123')` - EXISTING
|
|
440
|
-
EOF
|
|
441
|
-
|
|
442
|
-
# 2. Create verification report
|
|
443
|
-
cat > VERIFICATION_REPORT.md << 'EOF'
|
|
444
|
-
# child() Signature Change Verification Report
|
|
445
|
-
|
|
446
|
-
## Executive Summary
|
|
447
|
-
[High-level summary of verification results]
|
|
448
|
-
|
|
449
|
-
## Test Results
|
|
450
|
-
[Full test suite results]
|
|
451
|
-
|
|
452
|
-
## Usage Compatibility Analysis
|
|
453
|
-
[Analysis of each usage pattern]
|
|
454
|
-
|
|
455
|
-
## Edge Cases Discovered
|
|
456
|
-
[Documentation of edge cases and their handling]
|
|
457
|
-
|
|
458
|
-
## Conclusion
|
|
459
|
-
[Final verdict on backward compatibility]
|
|
460
|
-
|
|
461
|
-
## Recommendations
|
|
462
|
-
[Any recommendations for future work]
|
|
463
|
-
EOF
|
|
464
|
-
|
|
465
|
-
# 3. Create edge case analysis
|
|
466
|
-
cat > edge_case_analysis.md << 'EOF'
|
|
467
|
-
# child() Edge Case Analysis
|
|
468
|
-
|
|
469
|
-
## Edge Case 1: Empty String
|
|
470
|
-
### Usage: logger.child('')
|
|
471
|
-
### Expected Behavior: parentLogId = undefined
|
|
472
|
-
### Actual Behavior: parentLogId = undefined
|
|
473
|
-
### Status: ✅ Works correctly
|
|
474
|
-
### Explanation: Empty string is falsy, results in undefined
|
|
475
|
-
|
|
476
|
-
## Edge Case 2: Empty Object
|
|
477
|
-
### Usage: logger.child({})
|
|
478
|
-
### Expected Behavior: parentLogId = undefined
|
|
479
|
-
### Actual Behavior: parentLogId = undefined
|
|
480
|
-
### Status: ✅ Works correctly
|
|
481
|
-
### Explanation: No parentLogId field in object
|
|
482
|
-
|
|
483
|
-
[... continue for all edge cases]
|
|
484
|
-
EOF
|
|
485
|
-
```
|
|
486
|
-
|
|
487
|
-
---
|
|
488
|
-
|
|
489
|
-
## Final Validation Checklist
|
|
490
|
-
|
|
491
|
-
### Technical Validation
|
|
492
|
-
|
|
493
|
-
- [ ] All 361 tests pass: `npm test` exit code 0
|
|
494
|
-
- [ ] No TypeScript compilation errors
|
|
495
|
-
- [ ] All existing child() usage locations documented
|
|
496
|
-
- [ ] All new child() usage patterns from S3 verified
|
|
497
|
-
- [ ] Test execution time recorded
|
|
498
|
-
|
|
499
|
-
### Feature Validation
|
|
500
|
-
|
|
501
|
-
- [ ] Backward compatibility confirmed (2 existing usages work)
|
|
502
|
-
- [ ] New Partial<LogEntry> signature works (16 new patterns)
|
|
503
|
-
- [ ] Edge cases documented with expected behavior
|
|
504
|
-
- [ ] No breaking changes detected
|
|
505
|
-
- [ ] Zero test failures
|
|
506
|
-
|
|
507
|
-
### Documentation Validation
|
|
508
|
-
|
|
509
|
-
- [ ] usage_inventory.md created with all usage locations
|
|
510
|
-
- [ ] edge_case_analysis.md documents all edge cases
|
|
511
|
-
- [ ] VERIFICATION_REPORT.md contains comprehensive findings
|
|
512
|
-
- [ ] Test results captured (test_results.txt or similar)
|
|
513
|
-
|
|
514
|
-
### Code Quality Validation
|
|
515
|
-
|
|
516
|
-
- [ ] No production code changes required
|
|
517
|
-
- [ ] No configuration changes required
|
|
518
|
-
- [ ] All tests pass without modification
|
|
519
|
-
- [ ] Verification process is reproducible
|
|
520
|
-
|
|
521
|
-
---
|
|
522
|
-
|
|
523
|
-
## Anti-Patterns to Avoid
|
|
524
|
-
|
|
525
|
-
- ❌ Don't modify any existing test code to "make it pass"
|
|
526
|
-
- ❌ Don't skip running the full test suite
|
|
527
|
-
- ❌ Don't ignore test failures - investigate and document
|
|
528
|
-
- ❌ Don't assume compatibility without actually running tests
|
|
529
|
-
- ❌ Don't forget to document edge cases discovered
|
|
530
|
-
- ❌ Don't proceed to next task without completing verification
|
|
531
|
-
- ❌ Don't modify production code unless a breaking bug is found
|
|
532
|
-
- ❌ Don't rely on partial test runs - full suite must pass
|
|
533
|
-
|
|
534
|
-
---
|
|
535
|
-
|
|
536
|
-
## Confidence Score
|
|
537
|
-
|
|
538
|
-
**8/10** - High confidence for one-pass verification success
|
|
539
|
-
|
|
540
|
-
**Reasoning**:
|
|
541
|
-
- ✅ Clear, well-defined task with specific success criteria
|
|
542
|
-
- ✅ All usage locations known and documented
|
|
543
|
-
- ✅ Test infrastructure is well-established (Vitest)
|
|
544
|
-
- ✅ Previous subtasks (S1-S3) completed successfully
|
|
545
|
-
- ✅ Implementation already uses backward-compatible overloads
|
|
546
|
-
- ⚠️ Test count mismatch (344 vs 361) suggests recent changes
|
|
547
|
-
- ⚠️ Edge case behavior (empty string) needs careful verification
|
|
548
|
-
|
|
549
|
-
**Risk Mitigation**: The verification is non-destructive (no code changes), so the worst case is discovering issues that need to be addressed in a follow-up task.
|