@lumenflow/core 3.1.1 → 3.1.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/README.md +16 -16
- package/dist/cli/is-agent-branch.js +31 -10
- package/dist/index.js +3 -0
- package/package.json +5 -2
- package/dist/active-wu-detector.d.ts +0 -25
- package/dist/active-wu-detector.d.ts.map +0 -1
- package/dist/active-wu-detector.js +0 -109
- package/dist/active-wu-detector.js.map +0 -1
- package/dist/adapters/context-adapters.d.ts +0 -101
- package/dist/adapters/context-adapters.d.ts.map +0 -1
- package/dist/adapters/context-adapters.js +0 -98
- package/dist/adapters/context-adapters.js.map +0 -1
- package/dist/adapters/filesystem-metrics.adapter.d.ts +0 -91
- package/dist/adapters/filesystem-metrics.adapter.d.ts.map +0 -1
- package/dist/adapters/filesystem-metrics.adapter.js +0 -530
- package/dist/adapters/filesystem-metrics.adapter.js.map +0 -1
- package/dist/adapters/index.d.ts +0 -15
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/index.js +0 -21
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/mock-dashboard-renderer.adapter.d.ts +0 -86
- package/dist/adapters/mock-dashboard-renderer.adapter.d.ts.map +0 -1
- package/dist/adapters/mock-dashboard-renderer.adapter.js +0 -93
- package/dist/adapters/mock-dashboard-renderer.adapter.js.map +0 -1
- package/dist/adapters/recovery-adapters.d.ts +0 -41
- package/dist/adapters/recovery-adapters.d.ts.map +0 -1
- package/dist/adapters/recovery-adapters.js +0 -32
- package/dist/adapters/recovery-adapters.js.map +0 -1
- package/dist/adapters/terminal-renderer.adapter.d.ts +0 -86
- package/dist/adapters/terminal-renderer.adapter.d.ts.map +0 -1
- package/dist/adapters/terminal-renderer.adapter.js +0 -342
- package/dist/adapters/terminal-renderer.adapter.js.map +0 -1
- package/dist/adapters/validation-adapters.d.ts +0 -53
- package/dist/adapters/validation-adapters.d.ts.map +0 -1
- package/dist/adapters/validation-adapters.js +0 -48
- package/dist/adapters/validation-adapters.js.map +0 -1
- package/dist/agent-patterns-registry.d.ts +0 -141
- package/dist/agent-patterns-registry.d.ts.map +0 -1
- package/dist/agent-patterns-registry.js +0 -319
- package/dist/agent-patterns-registry.js.map +0 -1
- package/dist/arg-parser.d.ts +0 -94
- package/dist/arg-parser.d.ts.map +0 -1
- package/dist/arg-parser.js +0 -774
- package/dist/arg-parser.js.map +0 -1
- package/dist/atomic-merge.d.ts +0 -21
- package/dist/atomic-merge.d.ts.map +0 -1
- package/dist/atomic-merge.js +0 -87
- package/dist/atomic-merge.js.map +0 -1
- package/dist/backlog-editor.d.ts +0 -103
- package/dist/backlog-editor.d.ts.map +0 -1
- package/dist/backlog-editor.js +0 -158
- package/dist/backlog-editor.js.map +0 -1
- package/dist/backlog-generator.d.ts +0 -90
- package/dist/backlog-generator.d.ts.map +0 -1
- package/dist/backlog-generator.js +0 -536
- package/dist/backlog-generator.js.map +0 -1
- package/dist/backlog-parser.d.ts +0 -46
- package/dist/backlog-parser.d.ts.map +0 -1
- package/dist/backlog-parser.js +0 -105
- package/dist/backlog-parser.js.map +0 -1
- package/dist/backlog-sync-validator.d.ts +0 -88
- package/dist/backlog-sync-validator.d.ts.map +0 -1
- package/dist/backlog-sync-validator.js +0 -324
- package/dist/backlog-sync-validator.js.map +0 -1
- package/dist/beacon-migration.d.ts +0 -56
- package/dist/beacon-migration.js +0 -101
- package/dist/branch-check.d.ts +0 -63
- package/dist/branch-check.d.ts.map +0 -1
- package/dist/branch-check.js +0 -197
- package/dist/branch-check.js.map +0 -1
- package/dist/branch-drift.d.ts +0 -24
- package/dist/branch-drift.d.ts.map +0 -1
- package/dist/branch-drift.js +0 -54
- package/dist/branch-drift.js.map +0 -1
- package/dist/cleanup-install-config.d.ts +0 -24
- package/dist/cleanup-install-config.d.ts.map +0 -1
- package/dist/cleanup-install-config.js +0 -40
- package/dist/cleanup-install-config.js.map +0 -1
- package/dist/cleanup-lock.d.ts +0 -125
- package/dist/cleanup-lock.d.ts.map +0 -1
- package/dist/cleanup-lock.js +0 -325
- package/dist/cleanup-lock.js.map +0 -1
- package/dist/cli/is-agent-branch.d.ts +0 -15
- package/dist/cli/is-agent-branch.d.ts.map +0 -1
- package/dist/cli/is-agent-branch.js.map +0 -1
- package/dist/cloud-detect.d.ts +0 -145
- package/dist/cloud-detect.d.ts.map +0 -1
- package/dist/cloud-detect.js +0 -116
- package/dist/cloud-detect.js.map +0 -1
- package/dist/code-path-validator.d.ts +0 -147
- package/dist/code-path-validator.d.ts.map +0 -1
- package/dist/code-path-validator.js +0 -551
- package/dist/code-path-validator.js.map +0 -1
- package/dist/code-paths-overlap.d.ts +0 -50
- package/dist/code-paths-overlap.d.ts.map +0 -1
- package/dist/code-paths-overlap.js +0 -248
- package/dist/code-paths-overlap.js.map +0 -1
- package/dist/color-support.d.ts +0 -21
- package/dist/color-support.d.ts.map +0 -1
- package/dist/color-support.js +0 -67
- package/dist/color-support.js.map +0 -1
- package/dist/commands-logger.d.ts +0 -71
- package/dist/commands-logger.d.ts.map +0 -1
- package/dist/commands-logger.js +0 -256
- package/dist/commands-logger.js.map +0 -1
- package/dist/commit-message-utils.d.ts +0 -26
- package/dist/commit-message-utils.d.ts.map +0 -1
- package/dist/commit-message-utils.js +0 -44
- package/dist/commit-message-utils.js.map +0 -1
- package/dist/compliance-parser.d.ts +0 -125
- package/dist/compliance-parser.d.ts.map +0 -1
- package/dist/compliance-parser.js +0 -457
- package/dist/compliance-parser.js.map +0 -1
- package/dist/constants/backlog-patterns.d.ts +0 -21
- package/dist/constants/backlog-patterns.d.ts.map +0 -1
- package/dist/constants/backlog-patterns.js +0 -26
- package/dist/constants/backlog-patterns.js.map +0 -1
- package/dist/constants/dora-constants.d.ts +0 -50
- package/dist/constants/dora-constants.d.ts.map +0 -1
- package/dist/constants/dora-constants.js +0 -56
- package/dist/constants/dora-constants.js.map +0 -1
- package/dist/constants/gate-constants.d.ts +0 -16
- package/dist/constants/gate-constants.d.ts.map +0 -1
- package/dist/constants/gate-constants.js +0 -18
- package/dist/constants/gate-constants.js.map +0 -1
- package/dist/constants/linter-constants.d.ts +0 -17
- package/dist/constants/linter-constants.d.ts.map +0 -1
- package/dist/constants/linter-constants.js +0 -19
- package/dist/constants/linter-constants.js.map +0 -1
- package/dist/constants/tokenizer-constants.d.ts +0 -16
- package/dist/constants/tokenizer-constants.d.ts.map +0 -1
- package/dist/constants/tokenizer-constants.js +0 -18
- package/dist/constants/tokenizer-constants.js.map +0 -1
- package/dist/context/context-computer.d.ts +0 -36
- package/dist/context/context-computer.d.ts.map +0 -1
- package/dist/context/context-computer.js +0 -128
- package/dist/context/context-computer.js.map +0 -1
- package/dist/context/git-state-reader.d.ts +0 -37
- package/dist/context/git-state-reader.d.ts.map +0 -1
- package/dist/context/git-state-reader.js +0 -64
- package/dist/context/git-state-reader.js.map +0 -1
- package/dist/context/index.d.ts +0 -18
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/index.js +0 -20
- package/dist/context/index.js.map +0 -1
- package/dist/context/location-resolver.d.ts +0 -34
- package/dist/context/location-resolver.d.ts.map +0 -1
- package/dist/context/location-resolver.js +0 -179
- package/dist/context/location-resolver.js.map +0 -1
- package/dist/context/wu-state-reader.d.ts +0 -30
- package/dist/context/wu-state-reader.d.ts.map +0 -1
- package/dist/context/wu-state-reader.js +0 -126
- package/dist/context/wu-state-reader.js.map +0 -1
- package/dist/context-di.d.ts +0 -185
- package/dist/context-di.d.ts.map +0 -1
- package/dist/context-di.js +0 -165
- package/dist/context-di.js.map +0 -1
- package/dist/context-validation-integration.d.ts +0 -69
- package/dist/context-validation-integration.d.ts.map +0 -1
- package/dist/context-validation-integration.js +0 -161
- package/dist/context-validation-integration.js.map +0 -1
- package/dist/core/scope-checker.d.ts +0 -80
- package/dist/core/scope-checker.d.ts.map +0 -1
- package/dist/core/scope-checker.js +0 -166
- package/dist/core/scope-checker.js.map +0 -1
- package/dist/core/tool-runner.d.ts +0 -136
- package/dist/core/tool-runner.d.ts.map +0 -1
- package/dist/core/tool-runner.js +0 -396
- package/dist/core/tool-runner.js.map +0 -1
- package/dist/core/tool.constants.d.ts +0 -106
- package/dist/core/tool.constants.d.ts.map +0 -1
- package/dist/core/tool.constants.js +0 -104
- package/dist/core/tool.constants.js.map +0 -1
- package/dist/core/tool.schemas.d.ts +0 -227
- package/dist/core/tool.schemas.d.ts.map +0 -1
- package/dist/core/tool.schemas.js +0 -229
- package/dist/core/tool.schemas.js.map +0 -1
- package/dist/core/worktree-guard.d.ts +0 -115
- package/dist/core/worktree-guard.d.ts.map +0 -1
- package/dist/core/worktree-guard.js +0 -245
- package/dist/core/worktree-guard.js.map +0 -1
- package/dist/coverage-gate.d.ts +0 -126
- package/dist/coverage-gate.d.ts.map +0 -1
- package/dist/coverage-gate.js +0 -209
- package/dist/coverage-gate.js.map +0 -1
- package/dist/cycle-detector.d.ts +0 -52
- package/dist/cycle-detector.d.ts.map +0 -1
- package/dist/cycle-detector.js +0 -84
- package/dist/cycle-detector.js.map +0 -1
- package/dist/date-utils.d.ts +0 -66
- package/dist/date-utils.d.ts.map +0 -1
- package/dist/date-utils.js +0 -143
- package/dist/date-utils.js.map +0 -1
- package/dist/delegation-escalation.d.ts +0 -71
- package/dist/delegation-escalation.d.ts.map +0 -1
- package/dist/delegation-escalation.js +0 -264
- package/dist/delegation-escalation.js.map +0 -1
- package/dist/delegation-monitor.d.ts +0 -262
- package/dist/delegation-monitor.d.ts.map +0 -1
- package/dist/delegation-monitor.js +0 -678
- package/dist/delegation-monitor.js.map +0 -1
- package/dist/delegation-recovery.d.ts +0 -62
- package/dist/delegation-recovery.d.ts.map +0 -1
- package/dist/delegation-recovery.js +0 -304
- package/dist/delegation-recovery.js.map +0 -1
- package/dist/delegation-registry-schema.d.ts +0 -75
- package/dist/delegation-registry-schema.d.ts.map +0 -1
- package/dist/delegation-registry-schema.js +0 -93
- package/dist/delegation-registry-schema.js.map +0 -1
- package/dist/delegation-registry-store.d.ts +0 -145
- package/dist/delegation-registry-store.d.ts.map +0 -1
- package/dist/delegation-registry-store.js +0 -308
- package/dist/delegation-registry-store.js.map +0 -1
- package/dist/delegation-tree.d.ts +0 -52
- package/dist/delegation-tree.d.ts.map +0 -1
- package/dist/delegation-tree.js +0 -205
- package/dist/delegation-tree.js.map +0 -1
- package/dist/dependency-graph.d.ts +0 -169
- package/dist/dependency-graph.d.ts.map +0 -1
- package/dist/dependency-graph.js +0 -612
- package/dist/dependency-graph.js.map +0 -1
- package/dist/dependency-guard.d.ts +0 -41
- package/dist/dependency-guard.d.ts.map +0 -1
- package/dist/dependency-guard.js +0 -145
- package/dist/dependency-guard.js.map +0 -1
- package/dist/dependency-validator.d.ts +0 -89
- package/dist/dependency-validator.d.ts.map +0 -1
- package/dist/dependency-validator.js +0 -155
- package/dist/dependency-validator.js.map +0 -1
- package/dist/docs-path-validator.d.ts +0 -16
- package/dist/docs-path-validator.d.ts.map +0 -1
- package/dist/docs-path-validator.js +0 -98
- package/dist/docs-path-validator.js.map +0 -1
- package/dist/domain/context.schemas.d.ts +0 -170
- package/dist/domain/context.schemas.d.ts.map +0 -1
- package/dist/domain/context.schemas.js +0 -151
- package/dist/domain/context.schemas.js.map +0 -1
- package/dist/domain/index.d.ts +0 -15
- package/dist/domain/index.d.ts.map +0 -1
- package/dist/domain/index.js +0 -23
- package/dist/domain/index.js.map +0 -1
- package/dist/domain/orchestration.constants.d.ts +0 -111
- package/dist/domain/orchestration.constants.d.ts.map +0 -1
- package/dist/domain/orchestration.constants.js +0 -130
- package/dist/domain/orchestration.constants.js.map +0 -1
- package/dist/domain/orchestration.schemas.d.ts +0 -307
- package/dist/domain/orchestration.schemas.d.ts.map +0 -1
- package/dist/domain/orchestration.schemas.js +0 -214
- package/dist/domain/orchestration.schemas.js.map +0 -1
- package/dist/domain/orchestration.types.d.ts +0 -134
- package/dist/domain/orchestration.types.d.ts.map +0 -1
- package/dist/domain/orchestration.types.js +0 -5
- package/dist/domain/orchestration.types.js.map +0 -1
- package/dist/domain/recovery.schemas.d.ts +0 -164
- package/dist/domain/recovery.schemas.d.ts.map +0 -1
- package/dist/domain/recovery.schemas.js +0 -134
- package/dist/domain/recovery.schemas.js.map +0 -1
- package/dist/domain/validation.schemas.d.ts +0 -147
- package/dist/domain/validation.schemas.d.ts.map +0 -1
- package/dist/domain/validation.schemas.js +0 -117
- package/dist/domain/validation.schemas.js.map +0 -1
- package/dist/error-handler.d.ts +0 -144
- package/dist/error-handler.d.ts.map +0 -1
- package/dist/error-handler.js +0 -214
- package/dist/error-handler.js.map +0 -1
- package/dist/file-classifiers.d.ts +0 -63
- package/dist/file-classifiers.d.ts.map +0 -1
- package/dist/file-classifiers.js +0 -111
- package/dist/file-classifiers.js.map +0 -1
- package/dist/force-bypass-audit.d.ts +0 -47
- package/dist/force-bypass-audit.d.ts.map +0 -1
- package/dist/force-bypass-audit.js +0 -146
- package/dist/force-bypass-audit.js.map +0 -1
- package/dist/gates-agent-mode.d.ts +0 -107
- package/dist/gates-agent-mode.d.ts.map +0 -1
- package/dist/gates-agent-mode.js +0 -138
- package/dist/gates-agent-mode.js.map +0 -1
- package/dist/gates-config.d.ts +0 -268
- package/dist/gates-config.d.ts.map +0 -1
- package/dist/gates-config.js +0 -644
- package/dist/gates-config.js.map +0 -1
- package/dist/generate-traceability.d.ts +0 -106
- package/dist/generate-traceability.d.ts.map +0 -1
- package/dist/generate-traceability.js +0 -387
- package/dist/generate-traceability.js.map +0 -1
- package/dist/git-adapter.d.ts +0 -406
- package/dist/git-adapter.d.ts.map +0 -1
- package/dist/git-adapter.js +0 -686
- package/dist/git-adapter.js.map +0 -1
- package/dist/git-context-extractor.d.ts +0 -102
- package/dist/git-context-extractor.d.ts.map +0 -1
- package/dist/git-context-extractor.js +0 -571
- package/dist/git-context-extractor.js.map +0 -1
- package/dist/git-staged-validator.d.ts +0 -33
- package/dist/git-staged-validator.d.ts.map +0 -1
- package/dist/git-staged-validator.js +0 -52
- package/dist/git-staged-validator.js.map +0 -1
- package/dist/hardcoded-strings.d.ts +0 -67
- package/dist/hardcoded-strings.d.ts.map +0 -1
- package/dist/hardcoded-strings.js +0 -276
- package/dist/hardcoded-strings.js.map +0 -1
- package/dist/incremental-lint.d.ts +0 -71
- package/dist/incremental-lint.d.ts.map +0 -1
- package/dist/incremental-lint.js +0 -132
- package/dist/incremental-lint.js.map +0 -1
- package/dist/incremental-test.d.ts +0 -33
- package/dist/incremental-test.d.ts.map +0 -1
- package/dist/incremental-test.js +0 -64
- package/dist/incremental-test.js.map +0 -1
- package/dist/index.d.ts +0 -104
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/invariants/check-automated-tests.d.ts +0 -42
- package/dist/invariants/check-automated-tests.d.ts.map +0 -1
- package/dist/invariants/check-automated-tests.js +0 -171
- package/dist/invariants/check-automated-tests.js.map +0 -1
- package/dist/invariants-runner.d.ts +0 -108
- package/dist/invariants-runner.d.ts.map +0 -1
- package/dist/invariants-runner.js +0 -547
- package/dist/invariants-runner.js.map +0 -1
- package/dist/lane-checker.d.ts +0 -132
- package/dist/lane-checker.d.ts.map +0 -1
- package/dist/lane-checker.js +0 -743
- package/dist/lane-checker.js.map +0 -1
- package/dist/lane-inference.d.ts +0 -29
- package/dist/lane-inference.d.ts.map +0 -1
- package/dist/lane-inference.js +0 -210
- package/dist/lane-inference.js.map +0 -1
- package/dist/lane-lock.d.ts +0 -220
- package/dist/lane-lock.d.ts.map +0 -1
- package/dist/lane-lock.js +0 -499
- package/dist/lane-lock.js.map +0 -1
- package/dist/lane-suggest-prompt.d.ts +0 -97
- package/dist/lane-suggest-prompt.d.ts.map +0 -1
- package/dist/lane-suggest-prompt.js +0 -362
- package/dist/lane-suggest-prompt.js.map +0 -1
- package/dist/lane-validator.d.ts +0 -49
- package/dist/lane-validator.d.ts.map +0 -1
- package/dist/lane-validator.js +0 -117
- package/dist/lane-validator.js.map +0 -1
- package/dist/logs-lib.d.ts +0 -89
- package/dist/logs-lib.d.ts.map +0 -1
- package/dist/logs-lib.js +0 -214
- package/dist/logs-lib.js.map +0 -1
- package/dist/lumenflow-config-schema.d.ts +0 -1428
- package/dist/lumenflow-config-schema.d.ts.map +0 -1
- package/dist/lumenflow-config-schema.js +0 -1255
- package/dist/lumenflow-config-schema.js.map +0 -1
- package/dist/lumenflow-config.d.ts +0 -94
- package/dist/lumenflow-config.d.ts.map +0 -1
- package/dist/lumenflow-config.js +0 -253
- package/dist/lumenflow-config.js.map +0 -1
- package/dist/lumenflow-home.d.ts +0 -118
- package/dist/lumenflow-home.d.ts.map +0 -1
- package/dist/lumenflow-home.js +0 -214
- package/dist/lumenflow-home.js.map +0 -1
- package/dist/manual-test-validator.d.ts +0 -84
- package/dist/manual-test-validator.d.ts.map +0 -1
- package/dist/manual-test-validator.js +0 -206
- package/dist/manual-test-validator.js.map +0 -1
- package/dist/merge-lock.d.ts +0 -107
- package/dist/merge-lock.d.ts.map +0 -1
- package/dist/merge-lock.js +0 -263
- package/dist/merge-lock.js.map +0 -1
- package/dist/micro-worktree-shared.d.ts +0 -128
- package/dist/micro-worktree-shared.d.ts.map +0 -1
- package/dist/micro-worktree-shared.js +0 -352
- package/dist/micro-worktree-shared.js.map +0 -1
- package/dist/micro-worktree.d.ts +0 -165
- package/dist/micro-worktree.d.ts.map +0 -1
- package/dist/micro-worktree.js +0 -463
- package/dist/micro-worktree.js.map +0 -1
- package/dist/migration-deployer.d.ts +0 -70
- package/dist/migration-deployer.d.ts.map +0 -1
- package/dist/migration-deployer.js +0 -152
- package/dist/migration-deployer.js.map +0 -1
- package/dist/normalize-config-keys.d.ts +0 -10
- package/dist/normalize-config-keys.d.ts.map +0 -1
- package/dist/normalize-config-keys.js +0 -70
- package/dist/normalize-config-keys.js.map +0 -1
- package/dist/orchestration-advisory-loader.d.ts +0 -19
- package/dist/orchestration-advisory-loader.d.ts.map +0 -1
- package/dist/orchestration-advisory-loader.js +0 -94
- package/dist/orchestration-advisory-loader.js.map +0 -1
- package/dist/orchestration-advisory.d.ts +0 -49
- package/dist/orchestration-advisory.d.ts.map +0 -1
- package/dist/orchestration-advisory.js +0 -97
- package/dist/orchestration-advisory.js.map +0 -1
- package/dist/orchestration-di.d.ts +0 -36
- package/dist/orchestration-di.d.ts.map +0 -1
- package/dist/orchestration-di.js +0 -60
- package/dist/orchestration-di.js.map +0 -1
- package/dist/orchestration-rules.d.ts +0 -60
- package/dist/orchestration-rules.d.ts.map +0 -1
- package/dist/orchestration-rules.js +0 -212
- package/dist/orchestration-rules.js.map +0 -1
- package/dist/orphan-detector.d.ts +0 -148
- package/dist/orphan-detector.d.ts.map +0 -1
- package/dist/orphan-detector.js +0 -253
- package/dist/orphan-detector.js.map +0 -1
- package/dist/pack-authoring-template-engine.d.ts +0 -54
- package/dist/pack-authoring-template-engine.d.ts.map +0 -1
- package/dist/pack-authoring-template-engine.js +0 -510
- package/dist/pack-authoring-template-engine.js.map +0 -1
- package/dist/path-classifiers.d.ts +0 -58
- package/dist/path-classifiers.d.ts.map +0 -1
- package/dist/path-classifiers.js +0 -96
- package/dist/path-classifiers.js.map +0 -1
- package/dist/patrol-loop.d.ts +0 -171
- package/dist/patrol-loop.d.ts.map +0 -1
- package/dist/patrol-loop.js +0 -197
- package/dist/patrol-loop.js.map +0 -1
- package/dist/piped-command-detector.d.ts +0 -25
- package/dist/piped-command-detector.d.ts.map +0 -1
- package/dist/piped-command-detector.js +0 -67
- package/dist/piped-command-detector.js.map +0 -1
- package/dist/ports/context.ports.d.ts +0 -136
- package/dist/ports/context.ports.d.ts.map +0 -1
- package/dist/ports/context.ports.js +0 -4
- package/dist/ports/context.ports.js.map +0 -1
- package/dist/ports/core-tools.ports.d.ts +0 -282
- package/dist/ports/core-tools.ports.d.ts.map +0 -1
- package/dist/ports/core-tools.ports.js +0 -4
- package/dist/ports/core-tools.ports.js.map +0 -1
- package/dist/ports/dashboard-renderer.port.d.ts +0 -113
- package/dist/ports/dashboard-renderer.port.d.ts.map +0 -1
- package/dist/ports/dashboard-renderer.port.js +0 -4
- package/dist/ports/dashboard-renderer.port.js.map +0 -1
- package/dist/ports/git-validator.ports.d.ts +0 -114
- package/dist/ports/git-validator.ports.d.ts.map +0 -1
- package/dist/ports/git-validator.ports.js +0 -4
- package/dist/ports/git-validator.ports.js.map +0 -1
- package/dist/ports/index.d.ts +0 -21
- package/dist/ports/index.d.ts.map +0 -1
- package/dist/ports/index.js +0 -23
- package/dist/ports/index.js.map +0 -1
- package/dist/ports/metrics-collector.port.d.ts +0 -133
- package/dist/ports/metrics-collector.port.d.ts.map +0 -1
- package/dist/ports/metrics-collector.port.js +0 -4
- package/dist/ports/metrics-collector.port.js.map +0 -1
- package/dist/ports/recovery.ports.d.ts +0 -59
- package/dist/ports/recovery.ports.d.ts.map +0 -1
- package/dist/ports/recovery.ports.js +0 -4
- package/dist/ports/recovery.ports.js.map +0 -1
- package/dist/ports/validation.ports.d.ts +0 -75
- package/dist/ports/validation.ports.d.ts.map +0 -1
- package/dist/ports/validation.ports.js +0 -4
- package/dist/ports/validation.ports.js.map +0 -1
- package/dist/ports/wu-helpers.ports.d.ts +0 -227
- package/dist/ports/wu-helpers.ports.d.ts.map +0 -1
- package/dist/ports/wu-helpers.ports.js +0 -4
- package/dist/ports/wu-helpers.ports.js.map +0 -1
- package/dist/process-detector.d.ts +0 -69
- package/dist/process-detector.d.ts.map +0 -1
- package/dist/process-detector.js +0 -175
- package/dist/process-detector.js.map +0 -1
- package/dist/prompt-linter.d.ts +0 -66
- package/dist/prompt-linter.d.ts.map +0 -1
- package/dist/prompt-linter.js +0 -323
- package/dist/prompt-linter.js.map +0 -1
- package/dist/prompt-monitor.d.ts +0 -6
- package/dist/prompt-monitor.d.ts.map +0 -1
- package/dist/prompt-monitor.js +0 -218
- package/dist/prompt-monitor.js.map +0 -1
- package/dist/rebase-artifact-cleanup.d.ts +0 -156
- package/dist/rebase-artifact-cleanup.d.ts.map +0 -1
- package/dist/rebase-artifact-cleanup.js +0 -475
- package/dist/rebase-artifact-cleanup.js.map +0 -1
- package/dist/recovery/index.d.ts +0 -12
- package/dist/recovery/index.d.ts.map +0 -1
- package/dist/recovery/index.js +0 -14
- package/dist/recovery/index.js.map +0 -1
- package/dist/recovery/recovery-analyzer.d.ts +0 -49
- package/dist/recovery/recovery-analyzer.d.ts.map +0 -1
- package/dist/recovery/recovery-analyzer.js +0 -149
- package/dist/recovery/recovery-analyzer.js.map +0 -1
- package/dist/resolve-policy.d.ts +0 -257
- package/dist/resolve-policy.d.ts.map +0 -1
- package/dist/resolve-policy.js +0 -269
- package/dist/resolve-policy.js.map +0 -1
- package/dist/retry-strategy.d.ts +0 -191
- package/dist/retry-strategy.d.ts.map +0 -1
- package/dist/retry-strategy.js +0 -286
- package/dist/retry-strategy.js.map +0 -1
- package/dist/risk-detector.d.ts +0 -109
- package/dist/risk-detector.d.ts.map +0 -1
- package/dist/risk-detector.js +0 -253
- package/dist/risk-detector.js.map +0 -1
- package/dist/rollback-utils.d.ts +0 -129
- package/dist/rollback-utils.d.ts.map +0 -1
- package/dist/rollback-utils.js +0 -217
- package/dist/rollback-utils.js.map +0 -1
- package/dist/sandbox-allowlist.d.ts +0 -16
- package/dist/sandbox-allowlist.d.ts.map +0 -1
- package/dist/sandbox-allowlist.js +0 -77
- package/dist/sandbox-allowlist.js.map +0 -1
- package/dist/sandbox-backend-linux.d.ts +0 -6
- package/dist/sandbox-backend-linux.d.ts.map +0 -1
- package/dist/sandbox-backend-linux.js +0 -67
- package/dist/sandbox-backend-linux.js.map +0 -1
- package/dist/sandbox-backend-macos.d.ts +0 -6
- package/dist/sandbox-backend-macos.d.ts.map +0 -1
- package/dist/sandbox-backend-macos.js +0 -66
- package/dist/sandbox-backend-macos.js.map +0 -1
- package/dist/sandbox-backend-windows.d.ts +0 -6
- package/dist/sandbox-backend-windows.d.ts.map +0 -1
- package/dist/sandbox-backend-windows.js +0 -30
- package/dist/sandbox-backend-windows.js.map +0 -1
- package/dist/sandbox-profile.d.ts +0 -53
- package/dist/sandbox-profile.d.ts.map +0 -1
- package/dist/sandbox-profile.js +0 -64
- package/dist/sandbox-profile.js.map +0 -1
- package/dist/schemas/arg-validators.d.ts +0 -58
- package/dist/schemas/arg-validators.d.ts.map +0 -1
- package/dist/schemas/arg-validators.js +0 -193
- package/dist/schemas/arg-validators.js.map +0 -1
- package/dist/schemas/command-schemas.d.ts +0 -171
- package/dist/schemas/command-schemas.d.ts.map +0 -1
- package/dist/schemas/command-schemas.js +0 -145
- package/dist/schemas/command-schemas.js.map +0 -1
- package/dist/schemas/flow-arg-validators.d.ts +0 -32
- package/dist/schemas/flow-arg-validators.d.ts.map +0 -1
- package/dist/schemas/flow-arg-validators.js +0 -57
- package/dist/schemas/flow-arg-validators.js.map +0 -1
- package/dist/schemas/flow-schemas.d.ts +0 -152
- package/dist/schemas/flow-schemas.d.ts.map +0 -1
- package/dist/schemas/flow-schemas.js +0 -105
- package/dist/schemas/flow-schemas.js.map +0 -1
- package/dist/schemas/index.d.ts +0 -33
- package/dist/schemas/index.d.ts.map +0 -1
- package/dist/schemas/index.js +0 -96
- package/dist/schemas/index.js.map +0 -1
- package/dist/schemas/initiative-arg-validators.d.ts +0 -64
- package/dist/schemas/initiative-arg-validators.d.ts.map +0 -1
- package/dist/schemas/initiative-arg-validators.js +0 -65
- package/dist/schemas/initiative-arg-validators.js.map +0 -1
- package/dist/schemas/initiative-schemas.d.ts +0 -256
- package/dist/schemas/initiative-schemas.d.ts.map +0 -1
- package/dist/schemas/initiative-schemas.js +0 -186
- package/dist/schemas/initiative-schemas.js.map +0 -1
- package/dist/schemas/memory-arg-validators.d.ts +0 -91
- package/dist/schemas/memory-arg-validators.d.ts.map +0 -1
- package/dist/schemas/memory-arg-validators.js +0 -75
- package/dist/schemas/memory-arg-validators.js.map +0 -1
- package/dist/schemas/memory-schemas.d.ts +0 -287
- package/dist/schemas/memory-schemas.d.ts.map +0 -1
- package/dist/schemas/memory-schemas.js +0 -242
- package/dist/schemas/memory-schemas.js.map +0 -1
- package/dist/schemas/schema-utils.d.ts +0 -87
- package/dist/schemas/schema-utils.d.ts.map +0 -1
- package/dist/schemas/schema-utils.js +0 -320
- package/dist/schemas/schema-utils.js.map +0 -1
- package/dist/schemas/setup-arg-validators.d.ts +0 -91
- package/dist/schemas/setup-arg-validators.d.ts.map +0 -1
- package/dist/schemas/setup-arg-validators.js +0 -98
- package/dist/schemas/setup-arg-validators.js.map +0 -1
- package/dist/schemas/setup-schemas.d.ts +0 -335
- package/dist/schemas/setup-schemas.d.ts.map +0 -1
- package/dist/schemas/setup-schemas.js +0 -260
- package/dist/schemas/setup-schemas.js.map +0 -1
- package/dist/schemas/validation-arg-validators.d.ts +0 -18
- package/dist/schemas/validation-arg-validators.d.ts.map +0 -1
- package/dist/schemas/validation-arg-validators.js +0 -59
- package/dist/schemas/validation-arg-validators.js.map +0 -1
- package/dist/schemas/validation-schemas.d.ts +0 -80
- package/dist/schemas/validation-schemas.d.ts.map +0 -1
- package/dist/schemas/validation-schemas.js +0 -88
- package/dist/schemas/validation-schemas.js.map +0 -1
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts +0 -118
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts.map +0 -1
- package/dist/schemas/wu-lifecycle-arg-validators.js +0 -82
- package/dist/schemas/wu-lifecycle-arg-validators.js.map +0 -1
- package/dist/schemas/wu-lifecycle-schemas.d.ts +0 -362
- package/dist/schemas/wu-lifecycle-schemas.d.ts.map +0 -1
- package/dist/schemas/wu-lifecycle-schemas.js +0 -284
- package/dist/schemas/wu-lifecycle-schemas.js.map +0 -1
- package/dist/section-headings.d.ts +0 -35
- package/dist/section-headings.d.ts.map +0 -1
- package/dist/section-headings.js +0 -54
- package/dist/section-headings.js.map +0 -1
- package/dist/spawn-escalation.d.ts +0 -91
- package/dist/spawn-escalation.d.ts.map +0 -1
- package/dist/spawn-escalation.js +0 -258
- package/dist/spawn-escalation.js.map +0 -1
- package/dist/spawn-monitor.d.ts +0 -230
- package/dist/spawn-monitor.d.ts.map +0 -1
- package/dist/spawn-monitor.js +0 -675
- package/dist/spawn-monitor.js.map +0 -1
- package/dist/spawn-prompt-schema.d.ts +0 -107
- package/dist/spawn-prompt-schema.d.ts.map +0 -1
- package/dist/spawn-prompt-schema.js +0 -163
- package/dist/spawn-prompt-schema.js.map +0 -1
- package/dist/spawn-recovery.d.ts +0 -83
- package/dist/spawn-recovery.d.ts.map +0 -1
- package/dist/spawn-recovery.js +0 -299
- package/dist/spawn-recovery.js.map +0 -1
- package/dist/spawn-registry-schema.d.ts +0 -122
- package/dist/spawn-registry-schema.d.ts.map +0 -1
- package/dist/spawn-registry-schema.js +0 -129
- package/dist/spawn-registry-schema.js.map +0 -1
- package/dist/spawn-registry-store.d.ts +0 -161
- package/dist/spawn-registry-store.d.ts.map +0 -1
- package/dist/spawn-registry-store.js +0 -301
- package/dist/spawn-registry-store.js.map +0 -1
- package/dist/spawn-strategy.d.ts +0 -60
- package/dist/spawn-strategy.d.ts.map +0 -1
- package/dist/spawn-strategy.js +0 -112
- package/dist/spawn-strategy.js.map +0 -1
- package/dist/spawn-tree.d.ts +0 -125
- package/dist/spawn-tree.d.ts.map +0 -1
- package/dist/spawn-tree.js +0 -286
- package/dist/spawn-tree.js.map +0 -1
- package/dist/stamp-status-validator.d.ts +0 -77
- package/dist/stamp-status-validator.d.ts.map +0 -1
- package/dist/stamp-status-validator.js +0 -138
- package/dist/stamp-status-validator.js.map +0 -1
- package/dist/stamp-tracking.d.ts +0 -12
- package/dist/stamp-tracking.d.ts.map +0 -1
- package/dist/stamp-tracking.js +0 -43
- package/dist/stamp-tracking.js.map +0 -1
- package/dist/stamp-utils.d.ts +0 -94
- package/dist/stamp-utils.d.ts.map +0 -1
- package/dist/stamp-utils.js +0 -245
- package/dist/stamp-utils.js.map +0 -1
- package/dist/state-cleanup-core.d.ts +0 -206
- package/dist/state-cleanup-core.d.ts.map +0 -1
- package/dist/state-cleanup-core.js +0 -225
- package/dist/state-cleanup-core.js.map +0 -1
- package/dist/state-doctor-core.d.ts +0 -177
- package/dist/state-doctor-core.d.ts.map +0 -1
- package/dist/state-doctor-core.js +0 -395
- package/dist/state-doctor-core.js.map +0 -1
- package/dist/state-machine.d.ts +0 -10
- package/dist/state-machine.d.ts.map +0 -1
- package/dist/state-machine.js +0 -89
- package/dist/state-machine.js.map +0 -1
- package/dist/stream-error-handler.d.ts +0 -68
- package/dist/stream-error-handler.d.ts.map +0 -1
- package/dist/stream-error-handler.js +0 -77
- package/dist/stream-error-handler.js.map +0 -1
- package/dist/system-map-validator.d.ts +0 -111
- package/dist/system-map-validator.d.ts.map +0 -1
- package/dist/system-map-validator.js +0 -383
- package/dist/system-map-validator.js.map +0 -1
- package/dist/telemetry.d.ts +0 -81
- package/dist/telemetry.d.ts.map +0 -1
- package/dist/telemetry.js +0 -219
- package/dist/telemetry.js.map +0 -1
- package/dist/template-loader.d.ts +0 -151
- package/dist/template-loader.d.ts.map +0 -1
- package/dist/template-loader.js +0 -400
- package/dist/template-loader.js.map +0 -1
- package/dist/test-baseline.d.ts +0 -177
- package/dist/test-baseline.d.ts.map +0 -1
- package/dist/test-baseline.js +0 -286
- package/dist/test-baseline.js.map +0 -1
- package/dist/token-counter.d.ts +0 -50
- package/dist/token-counter.d.ts.map +0 -1
- package/dist/token-counter.js +0 -144
- package/dist/token-counter.js.map +0 -1
- package/dist/usecases/analyze-recovery.usecase.d.ts +0 -43
- package/dist/usecases/analyze-recovery.usecase.d.ts.map +0 -1
- package/dist/usecases/analyze-recovery.usecase.js +0 -34
- package/dist/usecases/analyze-recovery.usecase.js.map +0 -1
- package/dist/usecases/compute-context.usecase.d.ts +0 -63
- package/dist/usecases/compute-context.usecase.d.ts.map +0 -1
- package/dist/usecases/compute-context.usecase.js +0 -91
- package/dist/usecases/compute-context.usecase.js.map +0 -1
- package/dist/usecases/get-dashboard-data.usecase.d.ts +0 -53
- package/dist/usecases/get-dashboard-data.usecase.d.ts.map +0 -1
- package/dist/usecases/get-dashboard-data.usecase.js +0 -54
- package/dist/usecases/get-dashboard-data.usecase.js.map +0 -1
- package/dist/usecases/get-suggestions.usecase.d.ts +0 -101
- package/dist/usecases/get-suggestions.usecase.d.ts.map +0 -1
- package/dist/usecases/get-suggestions.usecase.js +0 -148
- package/dist/usecases/get-suggestions.usecase.js.map +0 -1
- package/dist/usecases/index.d.ts +0 -15
- package/dist/usecases/index.d.ts.map +0 -1
- package/dist/usecases/index.js +0 -21
- package/dist/usecases/index.js.map +0 -1
- package/dist/usecases/validate-command.usecase.d.ts +0 -56
- package/dist/usecases/validate-command.usecase.d.ts.map +0 -1
- package/dist/usecases/validate-command.usecase.js +0 -143
- package/dist/usecases/validate-command.usecase.js.map +0 -1
- package/dist/user-normalizer.d.ts +0 -36
- package/dist/user-normalizer.d.ts.map +0 -1
- package/dist/user-normalizer.js +0 -149
- package/dist/user-normalizer.js.map +0 -1
- package/dist/validation/command-registry.d.ts +0 -26
- package/dist/validation/command-registry.d.ts.map +0 -1
- package/dist/validation/command-registry.js +0 -269
- package/dist/validation/command-registry.js.map +0 -1
- package/dist/validation/index.d.ts +0 -16
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/index.js +0 -18
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/types.d.ts +0 -140
- package/dist/validation/types.d.ts.map +0 -1
- package/dist/validation/types.js +0 -4
- package/dist/validation/types.js.map +0 -1
- package/dist/validation/validate-command.d.ts +0 -16
- package/dist/validation/validate-command.d.ts.map +0 -1
- package/dist/validation/validate-command.js +0 -163
- package/dist/validation/validate-command.js.map +0 -1
- package/dist/validators/backlog-sync.d.ts +0 -11
- package/dist/validators/backlog-sync.d.ts.map +0 -1
- package/dist/validators/backlog-sync.js +0 -65
- package/dist/validators/backlog-sync.js.map +0 -1
- package/dist/validators/phi-constants.d.ts +0 -98
- package/dist/validators/phi-constants.d.ts.map +0 -1
- package/dist/validators/phi-constants.js +0 -153
- package/dist/validators/phi-constants.js.map +0 -1
- package/dist/validators/phi-scanner.d.ts +0 -59
- package/dist/validators/phi-scanner.d.ts.map +0 -1
- package/dist/validators/phi-scanner.js +0 -222
- package/dist/validators/phi-scanner.js.map +0 -1
- package/dist/validators/supabase-docs-linter.d.ts +0 -15
- package/dist/validators/supabase-docs-linter.d.ts.map +0 -1
- package/dist/validators/supabase-docs-linter.js +0 -45
- package/dist/validators/supabase-docs-linter.js.map +0 -1
- package/dist/validators/wu-tasks.d.ts +0 -21
- package/dist/validators/wu-tasks.d.ts.map +0 -1
- package/dist/validators/wu-tasks.js +0 -93
- package/dist/validators/wu-tasks.js.map +0 -1
- package/dist/work-classifier.d.ts +0 -95
- package/dist/work-classifier.d.ts.map +0 -1
- package/dist/work-classifier.js +0 -408
- package/dist/work-classifier.js.map +0 -1
- package/dist/worktree-ownership.d.ts +0 -51
- package/dist/worktree-ownership.d.ts.map +0 -1
- package/dist/worktree-ownership.js +0 -77
- package/dist/worktree-ownership.js.map +0 -1
- package/dist/worktree-scanner.d.ts +0 -118
- package/dist/worktree-scanner.d.ts.map +0 -1
- package/dist/worktree-scanner.js +0 -171
- package/dist/worktree-scanner.js.map +0 -1
- package/dist/worktree-symlink.d.ts +0 -86
- package/dist/worktree-symlink.d.ts.map +0 -1
- package/dist/worktree-symlink.js +0 -349
- package/dist/worktree-symlink.js.map +0 -1
- package/dist/wu-backlog-updater.d.ts +0 -10
- package/dist/wu-backlog-updater.d.ts.map +0 -1
- package/dist/wu-backlog-updater.js +0 -40
- package/dist/wu-backlog-updater.js.map +0 -1
- package/dist/wu-checkpoint.d.ts +0 -110
- package/dist/wu-checkpoint.d.ts.map +0 -1
- package/dist/wu-checkpoint.js +0 -236
- package/dist/wu-checkpoint.js.map +0 -1
- package/dist/wu-claim-helpers.d.ts +0 -21
- package/dist/wu-claim-helpers.d.ts.map +0 -1
- package/dist/wu-claim-helpers.js +0 -66
- package/dist/wu-claim-helpers.js.map +0 -1
- package/dist/wu-claim-resume.d.ts +0 -106
- package/dist/wu-claim-resume.d.ts.map +0 -1
- package/dist/wu-claim-resume.js +0 -279
- package/dist/wu-claim-resume.js.map +0 -1
- package/dist/wu-cli-constants.d.ts +0 -425
- package/dist/wu-cli-constants.d.ts.map +0 -1
- package/dist/wu-cli-constants.js +0 -430
- package/dist/wu-cli-constants.js.map +0 -1
- package/dist/wu-consistency-checker.d.ts +0 -189
- package/dist/wu-consistency-checker.d.ts.map +0 -1
- package/dist/wu-consistency-checker.js +0 -1026
- package/dist/wu-consistency-checker.js.map +0 -1
- package/dist/wu-constants.d.ts +0 -29
- package/dist/wu-constants.d.ts.map +0 -1
- package/dist/wu-constants.js +0 -37
- package/dist/wu-constants.js.map +0 -1
- package/dist/wu-context-constants.d.ts +0 -270
- package/dist/wu-context-constants.d.ts.map +0 -1
- package/dist/wu-context-constants.js +0 -267
- package/dist/wu-context-constants.js.map +0 -1
- package/dist/wu-create-defaults.d.ts +0 -11
- package/dist/wu-create-defaults.d.ts.map +0 -1
- package/dist/wu-create-defaults.js +0 -13
- package/dist/wu-create-defaults.js.map +0 -1
- package/dist/wu-create-validators.d.ts +0 -89
- package/dist/wu-create-validators.d.ts.map +0 -1
- package/dist/wu-create-validators.js +0 -215
- package/dist/wu-create-validators.js.map +0 -1
- package/dist/wu-domain-constants.d.ts +0 -295
- package/dist/wu-domain-constants.d.ts.map +0 -1
- package/dist/wu-domain-constants.js +0 -399
- package/dist/wu-domain-constants.js.map +0 -1
- package/dist/wu-done-branch-only.d.ts +0 -120
- package/dist/wu-done-branch-only.d.ts.map +0 -1
- package/dist/wu-done-branch-only.js +0 -412
- package/dist/wu-done-branch-only.js.map +0 -1
- package/dist/wu-done-branch-utils.d.ts +0 -8
- package/dist/wu-done-branch-utils.d.ts.map +0 -1
- package/dist/wu-done-branch-utils.js +0 -34
- package/dist/wu-done-branch-utils.js.map +0 -1
- package/dist/wu-done-cleanup.d.ts +0 -6
- package/dist/wu-done-cleanup.d.ts.map +0 -1
- package/dist/wu-done-cleanup.js +0 -161
- package/dist/wu-done-cleanup.js.map +0 -1
- package/dist/wu-done-concurrent-merge.d.ts +0 -103
- package/dist/wu-done-concurrent-merge.d.ts.map +0 -1
- package/dist/wu-done-concurrent-merge.js +0 -375
- package/dist/wu-done-concurrent-merge.js.map +0 -1
- package/dist/wu-done-docs-generate.d.ts +0 -72
- package/dist/wu-done-docs-generate.d.ts.map +0 -1
- package/dist/wu-done-docs-generate.js +0 -129
- package/dist/wu-done-docs-generate.js.map +0 -1
- package/dist/wu-done-docs-only.d.ts +0 -16
- package/dist/wu-done-docs-only.d.ts.map +0 -1
- package/dist/wu-done-docs-only.js +0 -68
- package/dist/wu-done-docs-only.js.map +0 -1
- package/dist/wu-done-errors.d.ts +0 -13
- package/dist/wu-done-errors.d.ts.map +0 -1
- package/dist/wu-done-errors.js +0 -27
- package/dist/wu-done-errors.js.map +0 -1
- package/dist/wu-done-initiative-sync.d.ts +0 -13
- package/dist/wu-done-initiative-sync.d.ts.map +0 -1
- package/dist/wu-done-initiative-sync.js +0 -235
- package/dist/wu-done-initiative-sync.js.map +0 -1
- package/dist/wu-done-inputs.d.ts +0 -10
- package/dist/wu-done-inputs.d.ts.map +0 -1
- package/dist/wu-done-inputs.js +0 -55
- package/dist/wu-done-inputs.js.map +0 -1
- package/dist/wu-done-machine.d.ts +0 -175
- package/dist/wu-done-machine.d.ts.map +0 -1
- package/dist/wu-done-machine.js +0 -227
- package/dist/wu-done-machine.js.map +0 -1
- package/dist/wu-done-merged-worktree.d.ts +0 -65
- package/dist/wu-done-merged-worktree.d.ts.map +0 -1
- package/dist/wu-done-merged-worktree.js +0 -197
- package/dist/wu-done-merged-worktree.js.map +0 -1
- package/dist/wu-done-messages.d.ts +0 -120
- package/dist/wu-done-messages.d.ts.map +0 -1
- package/dist/wu-done-messages.js +0 -191
- package/dist/wu-done-messages.js.map +0 -1
- package/dist/wu-done-metadata.d.ts +0 -123
- package/dist/wu-done-metadata.d.ts.map +0 -1
- package/dist/wu-done-metadata.js +0 -240
- package/dist/wu-done-metadata.js.map +0 -1
- package/dist/wu-done-paths.d.ts +0 -87
- package/dist/wu-done-paths.d.ts.map +0 -1
- package/dist/wu-done-paths.js +0 -263
- package/dist/wu-done-paths.js.map +0 -1
- package/dist/wu-done-pr.d.ts +0 -76
- package/dist/wu-done-pr.d.ts.map +0 -1
- package/dist/wu-done-pr.js +0 -189
- package/dist/wu-done-pr.js.map +0 -1
- package/dist/wu-done-preflight.d.ts +0 -65
- package/dist/wu-done-preflight.d.ts.map +0 -1
- package/dist/wu-done-preflight.js +0 -205
- package/dist/wu-done-preflight.js.map +0 -1
- package/dist/wu-done-retry-helpers.d.ts +0 -75
- package/dist/wu-done-retry-helpers.d.ts.map +0 -1
- package/dist/wu-done-retry-helpers.js +0 -175
- package/dist/wu-done-retry-helpers.js.map +0 -1
- package/dist/wu-done-ui.d.ts +0 -29
- package/dist/wu-done-ui.d.ts.map +0 -1
- package/dist/wu-done-ui.js +0 -74
- package/dist/wu-done-ui.js.map +0 -1
- package/dist/wu-done-validation.d.ts +0 -128
- package/dist/wu-done-validation.d.ts.map +0 -1
- package/dist/wu-done-validation.js +0 -530
- package/dist/wu-done-validation.js.map +0 -1
- package/dist/wu-done-validators.d.ts +0 -16
- package/dist/wu-done-validators.d.ts.map +0 -1
- package/dist/wu-done-validators.js +0 -16
- package/dist/wu-done-validators.js.map +0 -1
- package/dist/wu-done-worktree-services.d.ts +0 -174
- package/dist/wu-done-worktree-services.d.ts.map +0 -1
- package/dist/wu-done-worktree-services.js +0 -274
- package/dist/wu-done-worktree-services.js.map +0 -1
- package/dist/wu-done-worktree.d.ts +0 -229
- package/dist/wu-done-worktree.d.ts.map +0 -1
- package/dist/wu-done-worktree.js +0 -1290
- package/dist/wu-done-worktree.js.map +0 -1
- package/dist/wu-events-cleanup.d.ts +0 -131
- package/dist/wu-events-cleanup.d.ts.map +0 -1
- package/dist/wu-events-cleanup.js +0 -404
- package/dist/wu-events-cleanup.js.map +0 -1
- package/dist/wu-git-constants.d.ts +0 -176
- package/dist/wu-git-constants.d.ts.map +0 -1
- package/dist/wu-git-constants.js +0 -178
- package/dist/wu-git-constants.js.map +0 -1
- package/dist/wu-helpers.d.ts +0 -133
- package/dist/wu-helpers.d.ts.map +0 -1
- package/dist/wu-helpers.js +0 -268
- package/dist/wu-helpers.js.map +0 -1
- package/dist/wu-id-generator.d.ts +0 -51
- package/dist/wu-id-generator.d.ts.map +0 -1
- package/dist/wu-id-generator.js +0 -110
- package/dist/wu-id-generator.js.map +0 -1
- package/dist/wu-lint.d.ts +0 -191
- package/dist/wu-lint.d.ts.map +0 -1
- package/dist/wu-lint.js +0 -338
- package/dist/wu-lint.js.map +0 -1
- package/dist/wu-list.d.ts +0 -76
- package/dist/wu-list.d.ts.map +0 -1
- package/dist/wu-list.js +0 -181
- package/dist/wu-list.js.map +0 -1
- package/dist/wu-paths-constants.d.ts +0 -264
- package/dist/wu-paths-constants.d.ts.map +0 -1
- package/dist/wu-paths-constants.js +0 -272
- package/dist/wu-paths-constants.js.map +0 -1
- package/dist/wu-paths.d.ts +0 -211
- package/dist/wu-paths.d.ts.map +0 -1
- package/dist/wu-paths.js +0 -223
- package/dist/wu-paths.js.map +0 -1
- package/dist/wu-preflight-validators.d.ts +0 -64
- package/dist/wu-preflight-validators.d.ts.map +0 -1
- package/dist/wu-preflight-validators.js +0 -277
- package/dist/wu-preflight-validators.js.map +0 -1
- package/dist/wu-recovery.d.ts +0 -220
- package/dist/wu-recovery.d.ts.map +0 -1
- package/dist/wu-recovery.js +0 -470
- package/dist/wu-recovery.js.map +0 -1
- package/dist/wu-repair-core.d.ts +0 -150
- package/dist/wu-repair-core.d.ts.map +0 -1
- package/dist/wu-repair-core.js +0 -718
- package/dist/wu-repair-core.js.map +0 -1
- package/dist/wu-rules-core.d.ts +0 -95
- package/dist/wu-rules-core.d.ts.map +0 -1
- package/dist/wu-rules-core.js +0 -401
- package/dist/wu-rules-core.js.map +0 -1
- package/dist/wu-rules-engine.d.ts +0 -29
- package/dist/wu-rules-engine.d.ts.map +0 -1
- package/dist/wu-rules-engine.js +0 -61
- package/dist/wu-rules-engine.js.map +0 -1
- package/dist/wu-rules-resolvers.d.ts +0 -19
- package/dist/wu-rules-resolvers.d.ts.map +0 -1
- package/dist/wu-rules-resolvers.js +0 -210
- package/dist/wu-rules-resolvers.js.map +0 -1
- package/dist/wu-schema-normalization.d.ts +0 -18
- package/dist/wu-schema-normalization.d.ts.map +0 -1
- package/dist/wu-schema-normalization.js +0 -87
- package/dist/wu-schema-normalization.js.map +0 -1
- package/dist/wu-schema.d.ts +0 -772
- package/dist/wu-schema.d.ts.map +0 -1
- package/dist/wu-schema.js +0 -897
- package/dist/wu-schema.js.map +0 -1
- package/dist/wu-spawn-context.d.ts +0 -66
- package/dist/wu-spawn-context.d.ts.map +0 -1
- package/dist/wu-spawn-context.js +0 -185
- package/dist/wu-spawn-context.js.map +0 -1
- package/dist/wu-spawn-helpers.d.ts +0 -110
- package/dist/wu-spawn-helpers.d.ts.map +0 -1
- package/dist/wu-spawn-helpers.js +0 -276
- package/dist/wu-spawn-helpers.js.map +0 -1
- package/dist/wu-spawn-skills.d.ts +0 -39
- package/dist/wu-spawn-skills.d.ts.map +0 -1
- package/dist/wu-spawn-skills.js +0 -214
- package/dist/wu-spawn-skills.js.map +0 -1
- package/dist/wu-spawn.d.ts +0 -394
- package/dist/wu-spawn.d.ts.map +0 -1
- package/dist/wu-spawn.js +0 -1977
- package/dist/wu-spawn.js.map +0 -1
- package/dist/wu-state-schema.d.ts +0 -237
- package/dist/wu-state-schema.d.ts.map +0 -1
- package/dist/wu-state-schema.js +0 -172
- package/dist/wu-state-schema.js.map +0 -1
- package/dist/wu-state-store.d.ts +0 -275
- package/dist/wu-state-store.d.ts.map +0 -1
- package/dist/wu-state-store.js +0 -1057
- package/dist/wu-state-store.js.map +0 -1
- package/dist/wu-status-transition.d.ts +0 -58
- package/dist/wu-status-transition.d.ts.map +0 -1
- package/dist/wu-status-transition.js +0 -370
- package/dist/wu-status-transition.js.map +0 -1
- package/dist/wu-status-updater.d.ts +0 -18
- package/dist/wu-status-updater.d.ts.map +0 -1
- package/dist/wu-status-updater.js +0 -123
- package/dist/wu-status-updater.js.map +0 -1
- package/dist/wu-statuses.d.ts +0 -154
- package/dist/wu-statuses.d.ts.map +0 -1
- package/dist/wu-statuses.js +0 -176
- package/dist/wu-statuses.js.map +0 -1
- package/dist/wu-transaction-collectors.d.ts +0 -116
- package/dist/wu-transaction-collectors.d.ts.map +0 -1
- package/dist/wu-transaction-collectors.js +0 -273
- package/dist/wu-transaction-collectors.js.map +0 -1
- package/dist/wu-transaction.d.ts +0 -172
- package/dist/wu-transaction.d.ts.map +0 -1
- package/dist/wu-transaction.js +0 -288
- package/dist/wu-transaction.js.map +0 -1
- package/dist/wu-type-helpers.d.ts +0 -26
- package/dist/wu-type-helpers.d.ts.map +0 -1
- package/dist/wu-type-helpers.js +0 -45
- package/dist/wu-type-helpers.js.map +0 -1
- package/dist/wu-ui-constants.d.ts +0 -235
- package/dist/wu-ui-constants.d.ts.map +0 -1
- package/dist/wu-ui-constants.js +0 -237
- package/dist/wu-ui-constants.js.map +0 -1
- package/dist/wu-validation-constants.d.ts +0 -61
- package/dist/wu-validation-constants.d.ts.map +0 -1
- package/dist/wu-validation-constants.js +0 -69
- package/dist/wu-validation-constants.js.map +0 -1
- package/dist/wu-validation.d.ts +0 -121
- package/dist/wu-validation.d.ts.map +0 -1
- package/dist/wu-validation.js +0 -266
- package/dist/wu-validation.js.map +0 -1
- package/dist/wu-validator.d.ts +0 -128
- package/dist/wu-validator.d.ts.map +0 -1
- package/dist/wu-validator.js +0 -445
- package/dist/wu-validator.js.map +0 -1
- package/dist/wu-yaml-fixer.d.ts +0 -74
- package/dist/wu-yaml-fixer.d.ts.map +0 -1
- package/dist/wu-yaml-fixer.js +0 -273
- package/dist/wu-yaml-fixer.js.map +0 -1
- package/dist/wu-yaml.d.ts +0 -110
- package/dist/wu-yaml.d.ts.map +0 -1
- package/dist/wu-yaml.js +0 -300
- package/dist/wu-yaml.js.map +0 -1
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
-
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
-
/**
|
|
4
|
-
* Recovery Analyzer for WU State Issues
|
|
5
|
-
*
|
|
6
|
-
* WU-1090: Context-aware state machine for WU lifecycle commands
|
|
7
|
-
*
|
|
8
|
-
* Analyzes WU context to detect state inconsistencies and suggests
|
|
9
|
-
* appropriate recovery actions.
|
|
10
|
-
*
|
|
11
|
-
* Issue types detected:
|
|
12
|
-
* - Partial claim: worktree exists but status is ready
|
|
13
|
-
* - Orphan claim: status is in_progress but worktree missing
|
|
14
|
-
* - Inconsistent state: YAML and state store disagree
|
|
15
|
-
* - Orphan branch: branch exists but worktree missing
|
|
16
|
-
* - Stale lock: lock file from old session
|
|
17
|
-
* - Leftover worktree: WU is done but worktree exists
|
|
18
|
-
* - Merged not done: branch merged to main but WU not stamped (WU-1746)
|
|
19
|
-
*
|
|
20
|
-
* @module
|
|
21
|
-
*/
|
|
22
|
-
import { existsSync } from 'node:fs';
|
|
23
|
-
import { join } from 'node:path';
|
|
24
|
-
import { CONTEXT_VALIDATION, WU_STATUS, DEFAULTS, toKebab, } from '../wu-constants.js';
|
|
25
|
-
const { RECOVERY_ISSUES, RECOVERY_ACTIONS } = CONTEXT_VALIDATION;
|
|
26
|
-
/**
|
|
27
|
-
* Get expected worktree path for a WU.
|
|
28
|
-
*/
|
|
29
|
-
function getExpectedWorktreePath(mainCheckout, lane, wuId) {
|
|
30
|
-
const laneKebab = toKebab(lane);
|
|
31
|
-
const wuIdLower = wuId.toLowerCase();
|
|
32
|
-
return join(mainCheckout, DEFAULTS.WORKTREES_DIR, `${laneKebab}-${wuIdLower}`);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Check if worktree exists for a WU.
|
|
36
|
-
*/
|
|
37
|
-
function worktreeExists(mainCheckout, lane, wuId) {
|
|
38
|
-
const worktreePath = getExpectedWorktreePath(mainCheckout, lane, wuId);
|
|
39
|
-
return existsSync(worktreePath);
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Analyze context for recovery issues.
|
|
43
|
-
*
|
|
44
|
-
* @param context - Current WU context
|
|
45
|
-
* @returns Recovery analysis with issues and suggested actions
|
|
46
|
-
*/
|
|
47
|
-
export async function analyzeRecovery(context) {
|
|
48
|
-
const issues = [];
|
|
49
|
-
const actions = [];
|
|
50
|
-
// No WU context means nothing to analyze
|
|
51
|
-
if (!context.wu) {
|
|
52
|
-
return {
|
|
53
|
-
hasIssues: false,
|
|
54
|
-
issues: [],
|
|
55
|
-
actions: [],
|
|
56
|
-
wuId: null,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
const { wu } = context;
|
|
60
|
-
const mainCheckout = context.location.mainCheckout;
|
|
61
|
-
const hasWorktree = worktreeExists(mainCheckout, wu.lane, wu.id);
|
|
62
|
-
const worktreePath = getExpectedWorktreePath(mainCheckout, wu.lane, wu.id);
|
|
63
|
-
// Check for partial claim: worktree exists but status is ready
|
|
64
|
-
if (hasWorktree && wu.status === WU_STATUS.READY) {
|
|
65
|
-
issues.push({
|
|
66
|
-
code: RECOVERY_ISSUES.PARTIAL_CLAIM,
|
|
67
|
-
description: `Worktree exists for ${wu.id} but status is 'ready'. The claim may have been interrupted.`,
|
|
68
|
-
context: { worktreePath, status: wu.status },
|
|
69
|
-
});
|
|
70
|
-
actions.push({
|
|
71
|
-
type: RECOVERY_ACTIONS.RESUME,
|
|
72
|
-
description: 'Reconcile state and continue working (preserves work)',
|
|
73
|
-
command: `pnpm wu:recover --id ${wu.id} --action resume`,
|
|
74
|
-
requiresForce: false,
|
|
75
|
-
});
|
|
76
|
-
actions.push({
|
|
77
|
-
type: RECOVERY_ACTIONS.RESET,
|
|
78
|
-
description: 'Discard worktree and reset WU to ready',
|
|
79
|
-
command: `pnpm wu:recover --id ${wu.id} --action reset`,
|
|
80
|
-
requiresForce: false,
|
|
81
|
-
warning: 'This will discard UnsafeAny uncommitted work in the worktree',
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
// Check for orphan claim: status is in_progress but worktree missing
|
|
85
|
-
if (!hasWorktree && wu.status === WU_STATUS.IN_PROGRESS) {
|
|
86
|
-
issues.push({
|
|
87
|
-
code: RECOVERY_ISSUES.ORPHAN_CLAIM,
|
|
88
|
-
description: `${wu.id} is 'in_progress' but worktree is missing. The worktree may have been manually deleted.`,
|
|
89
|
-
context: { expectedPath: worktreePath, status: wu.status },
|
|
90
|
-
});
|
|
91
|
-
actions.push({
|
|
92
|
-
type: RECOVERY_ACTIONS.RESET,
|
|
93
|
-
description: 'Reset WU status back to ready for re-claiming',
|
|
94
|
-
command: `pnpm wu:recover --id ${wu.id} --action reset`,
|
|
95
|
-
requiresForce: false,
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
// Check for leftover worktree: WU is done but worktree exists
|
|
99
|
-
if (hasWorktree && wu.status === WU_STATUS.DONE) {
|
|
100
|
-
issues.push({
|
|
101
|
-
code: RECOVERY_ISSUES.LEFTOVER_WORKTREE,
|
|
102
|
-
description: `${wu.id} is 'done' but worktree still exists. The cleanup may have failed.`,
|
|
103
|
-
context: { worktreePath, status: wu.status },
|
|
104
|
-
});
|
|
105
|
-
actions.push({
|
|
106
|
-
type: RECOVERY_ACTIONS.CLEANUP,
|
|
107
|
-
description: 'Remove leftover worktree for completed WU',
|
|
108
|
-
command: `pnpm wu:recover --id ${wu.id} --action cleanup`,
|
|
109
|
-
requiresForce: false,
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
// Check for inconsistent state
|
|
113
|
-
if (!wu.isConsistent && wu.inconsistencyReason) {
|
|
114
|
-
issues.push({
|
|
115
|
-
code: RECOVERY_ISSUES.INCONSISTENT_STATE,
|
|
116
|
-
description: wu.inconsistencyReason,
|
|
117
|
-
context: { wuId: wu.id },
|
|
118
|
-
});
|
|
119
|
-
actions.push({
|
|
120
|
-
type: RECOVERY_ACTIONS.RESET,
|
|
121
|
-
description: 'Reconcile YAML and state store',
|
|
122
|
-
command: `pnpm wu:recover --id ${wu.id} --action reset`,
|
|
123
|
-
requiresForce: false,
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
// WU-1746: Check for merged-not-done: branch is merged to main but WU is not stamped
|
|
127
|
-
// This happens when a worktree is manually merged and deleted without running wu:done
|
|
128
|
-
if (wu.branchMergedToMain && !hasWorktree && wu.status !== WU_STATUS.DONE) {
|
|
129
|
-
issues.push({
|
|
130
|
-
code: RECOVERY_ISSUES.MERGED_NOT_DONE,
|
|
131
|
-
description: `${wu.id} branch commits are merged to main but WU is not marked as done (status: '${wu.status}'). ` +
|
|
132
|
-
`The worktree was likely manually merged and deleted without running wu:done.`,
|
|
133
|
-
context: { expectedPath: worktreePath, status: wu.status, branchMergedToMain: true },
|
|
134
|
-
});
|
|
135
|
-
actions.push({
|
|
136
|
-
type: RECOVERY_ACTIONS.COMPLETE,
|
|
137
|
-
description: 'Complete WU stamping and state cleanup (branch already merged)',
|
|
138
|
-
command: `pnpm wu:done --id ${wu.id}`,
|
|
139
|
-
requiresForce: false,
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
return {
|
|
143
|
-
hasIssues: issues.length > 0,
|
|
144
|
-
issues,
|
|
145
|
-
actions,
|
|
146
|
-
wuId: wu.id,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
//# sourceMappingURL=recovery-analyzer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-analyzer.js","sourceRoot":"","sources":["../../src/recovery/recovery-analyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/resolve-policy.d.ts
DELETED
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolve Policy - Single Source of Truth for Methodology Decisions
|
|
3
|
-
*
|
|
4
|
-
* WU-1259: Provides a unified policy resolver that both wu:spawn and gates use.
|
|
5
|
-
*
|
|
6
|
-
* This module:
|
|
7
|
-
* - Defines the methodology.* config schema
|
|
8
|
-
* - Implements resolvePolicy() to produce ResolvedPolicy
|
|
9
|
-
* - Applies precedence: template defaults -> methodology.overrides -> explicit gates.* -> CLI flags
|
|
10
|
-
*
|
|
11
|
-
* @module resolve-policy
|
|
12
|
-
*/
|
|
13
|
-
import { z } from 'zod';
|
|
14
|
-
import type { LumenFlowConfig } from './lumenflow-config-schema.js';
|
|
15
|
-
/**
|
|
16
|
-
* Testing methodology options
|
|
17
|
-
*/
|
|
18
|
-
export declare const TESTING_METHODOLOGY: {
|
|
19
|
-
readonly TDD: "tdd";
|
|
20
|
-
readonly TEST_AFTER: "test-after";
|
|
21
|
-
readonly NONE: "none";
|
|
22
|
-
};
|
|
23
|
-
export type TestingMethodology = (typeof TESTING_METHODOLOGY)[keyof typeof TESTING_METHODOLOGY];
|
|
24
|
-
/**
|
|
25
|
-
* Architecture methodology options
|
|
26
|
-
*/
|
|
27
|
-
export declare const ARCHITECTURE_METHODOLOGY: {
|
|
28
|
-
readonly HEXAGONAL: "hexagonal";
|
|
29
|
-
readonly LAYERED: "layered";
|
|
30
|
-
readonly NONE: "none";
|
|
31
|
-
};
|
|
32
|
-
export type ArchitectureMethodology = (typeof ARCHITECTURE_METHODOLOGY)[keyof typeof ARCHITECTURE_METHODOLOGY];
|
|
33
|
-
/**
|
|
34
|
-
* Coverage mode options
|
|
35
|
-
*/
|
|
36
|
-
export declare const COVERAGE_MODE: {
|
|
37
|
-
readonly BLOCK: "block";
|
|
38
|
-
readonly WARN: "warn";
|
|
39
|
-
readonly OFF: "off";
|
|
40
|
-
};
|
|
41
|
-
export type CoverageMode = (typeof COVERAGE_MODE)[keyof typeof COVERAGE_MODE];
|
|
42
|
-
/**
|
|
43
|
-
* Zod schema for testing methodology enum
|
|
44
|
-
*/
|
|
45
|
-
export declare const TestingMethodologySchema: z.ZodEnum<{
|
|
46
|
-
tdd: "tdd";
|
|
47
|
-
"test-after": "test-after";
|
|
48
|
-
none: "none";
|
|
49
|
-
}>;
|
|
50
|
-
/**
|
|
51
|
-
* Zod schema for architecture methodology enum
|
|
52
|
-
*/
|
|
53
|
-
export declare const ArchitectureMethodologySchema: z.ZodEnum<{
|
|
54
|
-
none: "none";
|
|
55
|
-
hexagonal: "hexagonal";
|
|
56
|
-
layered: "layered";
|
|
57
|
-
}>;
|
|
58
|
-
/**
|
|
59
|
-
* Zod schema for coverage mode enum
|
|
60
|
-
*/
|
|
61
|
-
export declare const CoverageModeSchema: z.ZodEnum<{
|
|
62
|
-
off: "off";
|
|
63
|
-
warn: "warn";
|
|
64
|
-
block: "block";
|
|
65
|
-
}>;
|
|
66
|
-
/**
|
|
67
|
-
* Methodology overrides schema
|
|
68
|
-
*
|
|
69
|
-
* These allow tweaking template defaults without changing methodology.
|
|
70
|
-
*/
|
|
71
|
-
export declare const MethodologyOverridesSchema: z.ZodObject<{
|
|
72
|
-
coverage_threshold: z.ZodOptional<z.ZodNumber>;
|
|
73
|
-
coverage_mode: z.ZodOptional<z.ZodEnum<{
|
|
74
|
-
off: "off";
|
|
75
|
-
warn: "warn";
|
|
76
|
-
block: "block";
|
|
77
|
-
}>>;
|
|
78
|
-
}, z.core.$strip>;
|
|
79
|
-
export type MethodologyOverrides = z.infer<typeof MethodologyOverridesSchema>;
|
|
80
|
-
/**
|
|
81
|
-
* WU-1899: Work classification UI pattern configuration
|
|
82
|
-
*
|
|
83
|
-
* Allows extending default UI detection patterns with project-specific
|
|
84
|
-
* code path patterns and lane hints. Custom values EXTEND defaults,
|
|
85
|
-
* they do not replace them.
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* ```yaml
|
|
89
|
-
* methodology:
|
|
90
|
-
* work_classification:
|
|
91
|
-
* ui:
|
|
92
|
-
* code_path_patterns:
|
|
93
|
-
* - 'src/widgets/*.tsx'
|
|
94
|
-
* lane_hints:
|
|
95
|
-
* - 'Design'
|
|
96
|
-
* ```
|
|
97
|
-
*/
|
|
98
|
-
export declare const WorkClassificationUiSchema: z.ZodObject<{
|
|
99
|
-
code_path_patterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
100
|
-
lane_hints: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
101
|
-
}, z.core.$strip>;
|
|
102
|
-
/** WU-1899: TypeScript type for work classification UI config */
|
|
103
|
-
export type WorkClassificationUi = z.infer<typeof WorkClassificationUiSchema>;
|
|
104
|
-
/**
|
|
105
|
-
* WU-1899: Work classification configuration schema
|
|
106
|
-
*
|
|
107
|
-
* Controls signal-based work domain detection for code-path-aware
|
|
108
|
-
* UI/backend/docs/infra classification.
|
|
109
|
-
*
|
|
110
|
-
* @example
|
|
111
|
-
* ```yaml
|
|
112
|
-
* methodology:
|
|
113
|
-
* work_classification:
|
|
114
|
-
* ui:
|
|
115
|
-
* code_path_patterns:
|
|
116
|
-
* - 'src/widgets/*.tsx'
|
|
117
|
-
* lane_hints:
|
|
118
|
-
* - 'Design'
|
|
119
|
-
* ```
|
|
120
|
-
*/
|
|
121
|
-
export declare const WorkClassificationConfigSchema: z.ZodObject<{
|
|
122
|
-
ui: z.ZodOptional<z.ZodObject<{
|
|
123
|
-
code_path_patterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
124
|
-
lane_hints: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
125
|
-
}, z.core.$strip>>;
|
|
126
|
-
}, z.core.$strip>;
|
|
127
|
-
/** WU-1899: TypeScript type for work classification config */
|
|
128
|
-
export type WorkClassificationSchemaConfig = z.infer<typeof WorkClassificationConfigSchema>;
|
|
129
|
-
/**
|
|
130
|
-
* Main methodology configuration schema
|
|
131
|
-
*
|
|
132
|
-
* Config example in .lumenflow.config.yaml:
|
|
133
|
-
* ```yaml
|
|
134
|
-
* methodology:
|
|
135
|
-
* testing: 'tdd' # tdd | test-after | none
|
|
136
|
-
* architecture: 'hexagonal' # hexagonal | layered | none
|
|
137
|
-
* overrides:
|
|
138
|
-
* coverage_threshold: 85 # Override TDD's default 90%
|
|
139
|
-
* coverage_mode: 'warn' # Override TDD's default 'block'
|
|
140
|
-
* work_classification:
|
|
141
|
-
* ui:
|
|
142
|
-
* code_path_patterns:
|
|
143
|
-
* - 'src/widgets/*.tsx'
|
|
144
|
-
* lane_hints:
|
|
145
|
-
* - 'Design'
|
|
146
|
-
* ```
|
|
147
|
-
*/
|
|
148
|
-
export declare const MethodologyConfigSchema: z.ZodObject<{
|
|
149
|
-
testing: z.ZodDefault<z.ZodEnum<{
|
|
150
|
-
tdd: "tdd";
|
|
151
|
-
"test-after": "test-after";
|
|
152
|
-
none: "none";
|
|
153
|
-
}>>;
|
|
154
|
-
architecture: z.ZodDefault<z.ZodEnum<{
|
|
155
|
-
none: "none";
|
|
156
|
-
hexagonal: "hexagonal";
|
|
157
|
-
layered: "layered";
|
|
158
|
-
}>>;
|
|
159
|
-
overrides: z.ZodOptional<z.ZodObject<{
|
|
160
|
-
coverage_threshold: z.ZodOptional<z.ZodNumber>;
|
|
161
|
-
coverage_mode: z.ZodOptional<z.ZodEnum<{
|
|
162
|
-
off: "off";
|
|
163
|
-
warn: "warn";
|
|
164
|
-
block: "block";
|
|
165
|
-
}>>;
|
|
166
|
-
}, z.core.$strip>>;
|
|
167
|
-
work_classification: z.ZodOptional<z.ZodObject<{
|
|
168
|
-
ui: z.ZodOptional<z.ZodObject<{
|
|
169
|
-
code_path_patterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
170
|
-
lane_hints: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
171
|
-
}, z.core.$strip>>;
|
|
172
|
-
}, z.core.$strip>>;
|
|
173
|
-
}, z.core.$strip>;
|
|
174
|
-
export type MethodologyConfig = z.infer<typeof MethodologyConfigSchema>;
|
|
175
|
-
/**
|
|
176
|
-
* The resolved policy used by wu:spawn and gates
|
|
177
|
-
*
|
|
178
|
-
* This is the single source of truth for methodology decisions.
|
|
179
|
-
* All consumers (spawn prompts, gate runners, etc.) should use this type.
|
|
180
|
-
*/
|
|
181
|
-
export interface ResolvedPolicy {
|
|
182
|
-
/** Active testing methodology */
|
|
183
|
-
testing: TestingMethodology;
|
|
184
|
-
/** Active architecture methodology */
|
|
185
|
-
architecture: ArchitectureMethodology;
|
|
186
|
-
/** Resolved coverage threshold (0-100) */
|
|
187
|
-
coverage_threshold: number;
|
|
188
|
-
/** Resolved coverage mode */
|
|
189
|
-
coverage_mode: CoverageMode;
|
|
190
|
-
/** Whether tests are required for completion */
|
|
191
|
-
tests_required: boolean;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Options for resolvePolicy
|
|
195
|
-
*/
|
|
196
|
-
export interface ResolvePolicyOptions {
|
|
197
|
-
/**
|
|
198
|
-
* Raw config object before Zod defaults were applied.
|
|
199
|
-
* Used to detect explicit vs default values for gates.* fields.
|
|
200
|
-
*
|
|
201
|
-
* When provided, only EXPLICIT gates.* settings override methodology.
|
|
202
|
-
* When not provided, UnsafeAny gates.* value (including defaults) overrides methodology.
|
|
203
|
-
*/
|
|
204
|
-
rawConfig?: {
|
|
205
|
-
gates?: {
|
|
206
|
-
minCoverage?: number;
|
|
207
|
-
enableCoverage?: boolean;
|
|
208
|
-
};
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Resolve the effective policy from configuration
|
|
213
|
-
*
|
|
214
|
-
* Precedence (highest to lowest):
|
|
215
|
-
* 1. CLI flags (not handled here - handled by command layer)
|
|
216
|
-
* 2. Explicit gates.* configuration (only if rawConfig provided to detect explicit vs default)
|
|
217
|
-
* 3. methodology.overrides
|
|
218
|
-
* 4. methodology template defaults
|
|
219
|
-
*
|
|
220
|
-
* This ensures backwards compatibility: existing users with explicit
|
|
221
|
-
* gates.* config see no change, while new users can use methodology
|
|
222
|
-
* config for a higher-level abstraction.
|
|
223
|
-
*
|
|
224
|
-
* @param config - The full LumenFlow configuration
|
|
225
|
-
* @param options - Options including rawConfig for explicit detection
|
|
226
|
-
* @returns The resolved policy for use by wu:spawn and gates
|
|
227
|
-
*
|
|
228
|
-
* @example
|
|
229
|
-
* ```typescript
|
|
230
|
-
* import { getConfig } from './lumenflow-config.js';
|
|
231
|
-
* import { resolvePolicy } from './resolve-policy.js';
|
|
232
|
-
*
|
|
233
|
-
* const config = getConfig();
|
|
234
|
-
* const policy = resolvePolicy(config);
|
|
235
|
-
*
|
|
236
|
-
* console.log(policy.coverage_threshold); // 90 (or configured value)
|
|
237
|
-
* console.log(policy.testing); // 'tdd' (or configured value)
|
|
238
|
-
* ```
|
|
239
|
-
*
|
|
240
|
-
* @example With raw config for explicit detection
|
|
241
|
-
* ```typescript
|
|
242
|
-
* const rawConfig = { methodology: { testing: 'test-after' } };
|
|
243
|
-
* const config = parseConfig(rawConfig);
|
|
244
|
-
* const policy = resolvePolicy(config, { rawConfig });
|
|
245
|
-
* // policy.coverage_threshold will be 70 (test-after template default)
|
|
246
|
-
* // because gates.minCoverage wasn't EXPLICITLY set
|
|
247
|
-
* ```
|
|
248
|
-
*/
|
|
249
|
-
export declare function resolvePolicy(config: LumenFlowConfig, options?: ResolvePolicyOptions): ResolvedPolicy;
|
|
250
|
-
/**
|
|
251
|
-
* Create a default resolved policy
|
|
252
|
-
*
|
|
253
|
-
* Convenience function for when no config is available.
|
|
254
|
-
* Returns strict TDD defaults.
|
|
255
|
-
*/
|
|
256
|
-
export declare function getDefaultPolicy(): ResolvedPolicy;
|
|
257
|
-
//# sourceMappingURL=resolve-policy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-policy.d.ts","sourceRoot":"","sources":["../src/resolve-policy.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEhG;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;CAI3B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;EAAwC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;EAA2C,CAAC;AAEtF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;EAAmC,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;;;;iBAKrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,0BAA0B;;;iBAcrC,CAAC;AAEH,iEAAiE;AACjE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,8BAA8B;;;;;iBAGzC,CAAC;AAEH,8DAA8D;AAC9D,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAE5F;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;iBAalC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAqCxE;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,sCAAsC;IACtC,YAAY,EAAE,uBAAuB,CAAC;IACtC,0CAA0C;IAC1C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,aAAa,EAAE,YAAY,CAAC;IAC5B,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE;YACN,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,cAAc,CAAC,EAAE,OAAO,CAAC;SAC1B,CAAC;KACH,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,oBAAyB,GACjC,cAAc,CA+DhB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAQjD"}
|
package/dist/resolve-policy.js
DELETED
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
-
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
-
/**
|
|
4
|
-
* Resolve Policy - Single Source of Truth for Methodology Decisions
|
|
5
|
-
*
|
|
6
|
-
* WU-1259: Provides a unified policy resolver that both wu:spawn and gates use.
|
|
7
|
-
*
|
|
8
|
-
* This module:
|
|
9
|
-
* - Defines the methodology.* config schema
|
|
10
|
-
* - Implements resolvePolicy() to produce ResolvedPolicy
|
|
11
|
-
* - Applies precedence: template defaults -> methodology.overrides -> explicit gates.* -> CLI flags
|
|
12
|
-
*
|
|
13
|
-
* @module resolve-policy
|
|
14
|
-
*/
|
|
15
|
-
import { z } from 'zod';
|
|
16
|
-
/**
|
|
17
|
-
* Testing methodology options
|
|
18
|
-
*/
|
|
19
|
-
export const TESTING_METHODOLOGY = {
|
|
20
|
-
TDD: 'tdd',
|
|
21
|
-
TEST_AFTER: 'test-after',
|
|
22
|
-
NONE: 'none',
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Architecture methodology options
|
|
26
|
-
*/
|
|
27
|
-
export const ARCHITECTURE_METHODOLOGY = {
|
|
28
|
-
HEXAGONAL: 'hexagonal',
|
|
29
|
-
LAYERED: 'layered',
|
|
30
|
-
NONE: 'none',
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Coverage mode options
|
|
34
|
-
*/
|
|
35
|
-
export const COVERAGE_MODE = {
|
|
36
|
-
BLOCK: 'block',
|
|
37
|
-
WARN: 'warn',
|
|
38
|
-
OFF: 'off',
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Zod schema for testing methodology enum
|
|
42
|
-
*/
|
|
43
|
-
export const TestingMethodologySchema = z.enum(['tdd', 'test-after', 'none']);
|
|
44
|
-
/**
|
|
45
|
-
* Zod schema for architecture methodology enum
|
|
46
|
-
*/
|
|
47
|
-
export const ArchitectureMethodologySchema = z.enum(['hexagonal', 'layered', 'none']);
|
|
48
|
-
/**
|
|
49
|
-
* Zod schema for coverage mode enum
|
|
50
|
-
*/
|
|
51
|
-
export const CoverageModeSchema = z.enum(['block', 'warn', 'off']);
|
|
52
|
-
/**
|
|
53
|
-
* Methodology overrides schema
|
|
54
|
-
*
|
|
55
|
-
* These allow tweaking template defaults without changing methodology.
|
|
56
|
-
*/
|
|
57
|
-
export const MethodologyOverridesSchema = z.object({
|
|
58
|
-
/** Override the default coverage threshold from the testing methodology */
|
|
59
|
-
coverage_threshold: z.number().min(0).max(100).optional(),
|
|
60
|
-
/** Override the default coverage mode from the testing methodology */
|
|
61
|
-
coverage_mode: CoverageModeSchema.optional(),
|
|
62
|
-
});
|
|
63
|
-
/**
|
|
64
|
-
* WU-1899: Work classification UI pattern configuration
|
|
65
|
-
*
|
|
66
|
-
* Allows extending default UI detection patterns with project-specific
|
|
67
|
-
* code path patterns and lane hints. Custom values EXTEND defaults,
|
|
68
|
-
* they do not replace them.
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```yaml
|
|
72
|
-
* methodology:
|
|
73
|
-
* work_classification:
|
|
74
|
-
* ui:
|
|
75
|
-
* code_path_patterns:
|
|
76
|
-
* - 'src/widgets/*.tsx'
|
|
77
|
-
* lane_hints:
|
|
78
|
-
* - 'Design'
|
|
79
|
-
* ```
|
|
80
|
-
*/
|
|
81
|
-
export const WorkClassificationUiSchema = z.object({
|
|
82
|
-
/**
|
|
83
|
-
* Additional glob patterns for detecting UI work via code paths.
|
|
84
|
-
* These extend the built-in defaults (CSS, SCSS, LESS, components, pages, etc.).
|
|
85
|
-
* Uses minimatch glob syntax.
|
|
86
|
-
*/
|
|
87
|
-
code_path_patterns: z.array(z.string()).optional(),
|
|
88
|
-
/**
|
|
89
|
-
* Additional lane parent hints for detecting UI work.
|
|
90
|
-
* These extend the built-in defaults (Experience, Frontend, UI, Design).
|
|
91
|
-
* Matched case-insensitively against the lane parent (part before the colon).
|
|
92
|
-
*/
|
|
93
|
-
lane_hints: z.array(z.string()).optional(),
|
|
94
|
-
});
|
|
95
|
-
/**
|
|
96
|
-
* WU-1899: Work classification configuration schema
|
|
97
|
-
*
|
|
98
|
-
* Controls signal-based work domain detection for code-path-aware
|
|
99
|
-
* UI/backend/docs/infra classification.
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
* ```yaml
|
|
103
|
-
* methodology:
|
|
104
|
-
* work_classification:
|
|
105
|
-
* ui:
|
|
106
|
-
* code_path_patterns:
|
|
107
|
-
* - 'src/widgets/*.tsx'
|
|
108
|
-
* lane_hints:
|
|
109
|
-
* - 'Design'
|
|
110
|
-
* ```
|
|
111
|
-
*/
|
|
112
|
-
export const WorkClassificationConfigSchema = z.object({
|
|
113
|
-
/** UI detection pattern overrides (extend defaults) */
|
|
114
|
-
ui: WorkClassificationUiSchema.optional(),
|
|
115
|
-
});
|
|
116
|
-
/**
|
|
117
|
-
* Main methodology configuration schema
|
|
118
|
-
*
|
|
119
|
-
* Config example in .lumenflow.config.yaml:
|
|
120
|
-
* ```yaml
|
|
121
|
-
* methodology:
|
|
122
|
-
* testing: 'tdd' # tdd | test-after | none
|
|
123
|
-
* architecture: 'hexagonal' # hexagonal | layered | none
|
|
124
|
-
* overrides:
|
|
125
|
-
* coverage_threshold: 85 # Override TDD's default 90%
|
|
126
|
-
* coverage_mode: 'warn' # Override TDD's default 'block'
|
|
127
|
-
* work_classification:
|
|
128
|
-
* ui:
|
|
129
|
-
* code_path_patterns:
|
|
130
|
-
* - 'src/widgets/*.tsx'
|
|
131
|
-
* lane_hints:
|
|
132
|
-
* - 'Design'
|
|
133
|
-
* ```
|
|
134
|
-
*/
|
|
135
|
-
export const MethodologyConfigSchema = z.object({
|
|
136
|
-
/** Testing methodology (default: 'tdd') */
|
|
137
|
-
testing: TestingMethodologySchema.default('tdd'),
|
|
138
|
-
/** Architecture methodology (default: 'hexagonal') */
|
|
139
|
-
architecture: ArchitectureMethodologySchema.default('hexagonal'),
|
|
140
|
-
/** Optional overrides for template defaults */
|
|
141
|
-
overrides: MethodologyOverridesSchema.optional(),
|
|
142
|
-
/**
|
|
143
|
-
* WU-1899: Work classification configuration.
|
|
144
|
-
* Extends default signal patterns for UI/backend/docs/infra detection.
|
|
145
|
-
* Custom patterns extend defaults, they do not replace them.
|
|
146
|
-
*/
|
|
147
|
-
work_classification: WorkClassificationConfigSchema.optional(),
|
|
148
|
-
});
|
|
149
|
-
const TESTING_TEMPLATE_DEFAULTS = {
|
|
150
|
-
tdd: {
|
|
151
|
-
coverage_threshold: 90,
|
|
152
|
-
coverage_mode: 'block',
|
|
153
|
-
tests_required: true,
|
|
154
|
-
},
|
|
155
|
-
'test-after': {
|
|
156
|
-
coverage_threshold: 70,
|
|
157
|
-
coverage_mode: 'warn',
|
|
158
|
-
tests_required: true,
|
|
159
|
-
},
|
|
160
|
-
none: {
|
|
161
|
-
coverage_threshold: 0,
|
|
162
|
-
coverage_mode: 'off',
|
|
163
|
-
tests_required: false,
|
|
164
|
-
},
|
|
165
|
-
};
|
|
166
|
-
/**
|
|
167
|
-
* Resolve the effective policy from configuration
|
|
168
|
-
*
|
|
169
|
-
* Precedence (highest to lowest):
|
|
170
|
-
* 1. CLI flags (not handled here - handled by command layer)
|
|
171
|
-
* 2. Explicit gates.* configuration (only if rawConfig provided to detect explicit vs default)
|
|
172
|
-
* 3. methodology.overrides
|
|
173
|
-
* 4. methodology template defaults
|
|
174
|
-
*
|
|
175
|
-
* This ensures backwards compatibility: existing users with explicit
|
|
176
|
-
* gates.* config see no change, while new users can use methodology
|
|
177
|
-
* config for a higher-level abstraction.
|
|
178
|
-
*
|
|
179
|
-
* @param config - The full LumenFlow configuration
|
|
180
|
-
* @param options - Options including rawConfig for explicit detection
|
|
181
|
-
* @returns The resolved policy for use by wu:spawn and gates
|
|
182
|
-
*
|
|
183
|
-
* @example
|
|
184
|
-
* ```typescript
|
|
185
|
-
* import { getConfig } from './lumenflow-config.js';
|
|
186
|
-
* import { resolvePolicy } from './resolve-policy.js';
|
|
187
|
-
*
|
|
188
|
-
* const config = getConfig();
|
|
189
|
-
* const policy = resolvePolicy(config);
|
|
190
|
-
*
|
|
191
|
-
* console.log(policy.coverage_threshold); // 90 (or configured value)
|
|
192
|
-
* console.log(policy.testing); // 'tdd' (or configured value)
|
|
193
|
-
* ```
|
|
194
|
-
*
|
|
195
|
-
* @example With raw config for explicit detection
|
|
196
|
-
* ```typescript
|
|
197
|
-
* const rawConfig = { methodology: { testing: 'test-after' } };
|
|
198
|
-
* const config = parseConfig(rawConfig);
|
|
199
|
-
* const policy = resolvePolicy(config, { rawConfig });
|
|
200
|
-
* // policy.coverage_threshold will be 70 (test-after template default)
|
|
201
|
-
* // because gates.minCoverage wasn't EXPLICITLY set
|
|
202
|
-
* ```
|
|
203
|
-
*/
|
|
204
|
-
export function resolvePolicy(config, options = {}) {
|
|
205
|
-
const { rawConfig } = options;
|
|
206
|
-
// Parse methodology config (provides defaults if not specified)
|
|
207
|
-
const methodology = MethodologyConfigSchema.parse(config.methodology ?? {});
|
|
208
|
-
// Get template defaults based on testing methodology
|
|
209
|
-
const templateDefaults = TESTING_TEMPLATE_DEFAULTS[methodology.testing];
|
|
210
|
-
// Layer 1: Start with template defaults
|
|
211
|
-
let coverage_threshold = templateDefaults.coverage_threshold;
|
|
212
|
-
let coverage_mode = templateDefaults.coverage_mode;
|
|
213
|
-
const tests_required = templateDefaults.tests_required;
|
|
214
|
-
// Layer 2: Apply methodology.overrides (if specified)
|
|
215
|
-
if (methodology.overrides?.coverage_threshold !== undefined) {
|
|
216
|
-
coverage_threshold = methodology.overrides.coverage_threshold;
|
|
217
|
-
}
|
|
218
|
-
if (methodology.overrides?.coverage_mode !== undefined) {
|
|
219
|
-
coverage_mode = methodology.overrides.coverage_mode;
|
|
220
|
-
}
|
|
221
|
-
// Layer 3: Apply explicit gates.* configuration (highest precedence)
|
|
222
|
-
// This ensures backwards compatibility with existing gates config
|
|
223
|
-
//
|
|
224
|
-
// Key insight: We only want EXPLICIT gates.* to override methodology.
|
|
225
|
-
// If rawConfig is provided, we check if gates values were explicitly set.
|
|
226
|
-
// If rawConfig is NOT provided (legacy mode), we check if methodology
|
|
227
|
-
// was specified - if so, methodology controls unless gates differ from default.
|
|
228
|
-
const gates = config.gates;
|
|
229
|
-
// Determine if gates.minCoverage was explicitly set
|
|
230
|
-
const gatesMinCoverageExplicit = rawConfig !== undefined ? rawConfig.gates?.minCoverage !== undefined : false;
|
|
231
|
-
// Determine if gates.enableCoverage was explicitly set
|
|
232
|
-
const gatesEnableCoverageExplicit = rawConfig !== undefined ? rawConfig.gates?.enableCoverage !== undefined : false;
|
|
233
|
-
// Apply gates.minCoverage only if explicitly set, or if no methodology was specified
|
|
234
|
-
// (for backwards compatibility with pre-methodology configs)
|
|
235
|
-
const methodologySpecified = config.methodology !== undefined;
|
|
236
|
-
if (gatesMinCoverageExplicit || (!methodologySpecified && rawConfig === undefined)) {
|
|
237
|
-
// gates.minCoverage overrides methodology coverage_threshold
|
|
238
|
-
coverage_threshold = gates.minCoverage;
|
|
239
|
-
}
|
|
240
|
-
// gates.enableCoverage: false effectively sets coverage_mode to 'off'
|
|
241
|
-
if (gatesEnableCoverageExplicit || (!methodologySpecified && rawConfig === undefined)) {
|
|
242
|
-
if (gates?.enableCoverage === false) {
|
|
243
|
-
coverage_mode = 'off';
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
return {
|
|
247
|
-
testing: methodology.testing,
|
|
248
|
-
architecture: methodology.architecture,
|
|
249
|
-
coverage_threshold,
|
|
250
|
-
coverage_mode,
|
|
251
|
-
tests_required,
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Create a default resolved policy
|
|
256
|
-
*
|
|
257
|
-
* Convenience function for when no config is available.
|
|
258
|
-
* Returns strict TDD defaults.
|
|
259
|
-
*/
|
|
260
|
-
export function getDefaultPolicy() {
|
|
261
|
-
return {
|
|
262
|
-
testing: 'tdd',
|
|
263
|
-
architecture: 'hexagonal',
|
|
264
|
-
coverage_threshold: 90,
|
|
265
|
-
coverage_mode: 'block',
|
|
266
|
-
tests_required: true,
|
|
267
|
-
};
|
|
268
|
-
}
|
|
269
|
-
//# sourceMappingURL=resolve-policy.js.map
|