@manehorizons/cadence-core 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +5 -0
- package/bin/cadence.cjs +4 -0
- package/dist/build/record.d.ts +16 -0
- package/dist/build/record.d.ts.map +1 -0
- package/dist/build/record.js +33 -0
- package/dist/build/record.js.map +1 -0
- package/dist/checks/boundary.d.ts +35 -0
- package/dist/checks/boundary.d.ts.map +1 -0
- package/dist/checks/boundary.js +29 -0
- package/dist/checks/boundary.js.map +1 -0
- package/dist/checks/skill-audit.d.ts +29 -0
- package/dist/checks/skill-audit.d.ts.map +1 -0
- package/dist/checks/skill-audit.js +57 -0
- package/dist/checks/skill-audit.js.map +1 -0
- package/dist/classify/tier.d.ts +9 -0
- package/dist/classify/tier.d.ts.map +1 -0
- package/dist/classify/tier.js +15 -0
- package/dist/classify/tier.js.map +1 -0
- package/dist/cli/commands/assumption.d.ts +3 -0
- package/dist/cli/commands/assumption.d.ts.map +1 -0
- package/dist/cli/commands/assumption.js +313 -0
- package/dist/cli/commands/assumption.js.map +1 -0
- package/dist/cli/commands/block.d.ts +3 -0
- package/dist/cli/commands/block.d.ts.map +1 -0
- package/dist/cli/commands/block.js +23 -0
- package/dist/cli/commands/block.js.map +1 -0
- package/dist/cli/commands/build.d.ts +3 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +89 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +91 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/context.d.ts +3 -0
- package/dist/cli/commands/context.d.ts.map +1 -0
- package/dist/cli/commands/context.js +31 -0
- package/dist/cli/commands/context.js.map +1 -0
- package/dist/cli/commands/decision.d.ts +3 -0
- package/dist/cli/commands/decision.d.ts.map +1 -0
- package/dist/cli/commands/decision.js +390 -0
- package/dist/cli/commands/decision.js.map +1 -0
- package/dist/cli/commands/done.d.ts +3 -0
- package/dist/cli/commands/done.d.ts.map +1 -0
- package/dist/cli/commands/done.js +23 -0
- package/dist/cli/commands/done.js.map +1 -0
- package/dist/cli/commands/draft-new.d.ts +4 -0
- package/dist/cli/commands/draft-new.d.ts.map +1 -0
- package/dist/cli/commands/draft-new.js +108 -0
- package/dist/cli/commands/draft-new.js.map +1 -0
- package/dist/cli/commands/draft.d.ts +4 -0
- package/dist/cli/commands/draft.d.ts.map +1 -0
- package/dist/cli/commands/draft.js +125 -0
- package/dist/cli/commands/draft.js.map +1 -0
- package/dist/cli/commands/hook.d.ts +3 -0
- package/dist/cli/commands/hook.d.ts.map +1 -0
- package/dist/cli/commands/hook.js +50 -0
- package/dist/cli/commands/hook.js.map +1 -0
- package/dist/cli/commands/init.d.ts +21 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +255 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/inspect.d.ts +3 -0
- package/dist/cli/commands/inspect.d.ts.map +1 -0
- package/dist/cli/commands/inspect.js +24 -0
- package/dist/cli/commands/inspect.js.map +1 -0
- package/dist/cli/commands/intelligence.d.ts +3 -0
- package/dist/cli/commands/intelligence.d.ts.map +1 -0
- package/dist/cli/commands/intelligence.js +173 -0
- package/dist/cli/commands/intelligence.js.map +1 -0
- package/dist/cli/commands/milestone.d.ts +3 -0
- package/dist/cli/commands/milestone.d.ts.map +1 -0
- package/dist/cli/commands/milestone.js +119 -0
- package/dist/cli/commands/milestone.js.map +1 -0
- package/dist/cli/commands/needs-context.d.ts +3 -0
- package/dist/cli/commands/needs-context.d.ts.map +1 -0
- package/dist/cli/commands/needs-context.js +23 -0
- package/dist/cli/commands/needs-context.js.map +1 -0
- package/dist/cli/commands/progress.d.ts +3 -0
- package/dist/cli/commands/progress.d.ts.map +1 -0
- package/dist/cli/commands/progress.js +21 -0
- package/dist/cli/commands/progress.js.map +1 -0
- package/dist/cli/commands/recommend.d.ts +3 -0
- package/dist/cli/commands/recommend.d.ts.map +1 -0
- package/dist/cli/commands/recommend.js +24 -0
- package/dist/cli/commands/recommend.js.map +1 -0
- package/dist/cli/commands/recommendation.d.ts +3 -0
- package/dist/cli/commands/recommendation.d.ts.map +1 -0
- package/dist/cli/commands/recommendation.js +360 -0
- package/dist/cli/commands/recommendation.js.map +1 -0
- package/dist/cli/commands/settle.d.ts +3 -0
- package/dist/cli/commands/settle.d.ts.map +1 -0
- package/dist/cli/commands/settle.js +453 -0
- package/dist/cli/commands/settle.js.map +1 -0
- package/dist/cli/commands/spec.d.ts +10 -0
- package/dist/cli/commands/spec.d.ts.map +1 -0
- package/dist/cli/commands/spec.js +246 -0
- package/dist/cli/commands/spec.js.map +1 -0
- package/dist/cli/commands/status.d.ts +11 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +211 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +21 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/register.d.ts +3 -0
- package/dist/cli/register.d.ts.map +1 -0
- package/dist/cli/register.js +43 -0
- package/dist/cli/register.js.map +1 -0
- package/dist/coherence/check.d.ts +11 -0
- package/dist/coherence/check.d.ts.map +1 -0
- package/dist/coherence/check.js +34 -0
- package/dist/coherence/check.js.map +1 -0
- package/dist/config/loader.d.ts +4 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +40 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/errors.d.ts +23 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +31 -0
- package/dist/errors.js.map +1 -0
- package/dist/gates/approve.d.ts +20 -0
- package/dist/gates/approve.d.ts.map +1 -0
- package/dist/gates/approve.js +55 -0
- package/dist/gates/approve.js.map +1 -0
- package/dist/gates/build-context.d.ts +17 -0
- package/dist/gates/build-context.d.ts.map +1 -0
- package/dist/gates/build-context.js +81 -0
- package/dist/gates/build-context.js.map +1 -0
- package/dist/gates/build-test-must-pass.d.ts +12 -0
- package/dist/gates/build-test-must-pass.d.ts.map +1 -0
- package/dist/gates/build-test-must-pass.js +23 -0
- package/dist/gates/build-test-must-pass.js.map +1 -0
- package/dist/gates/build-types.d.ts +54 -0
- package/dist/gates/build-types.d.ts.map +1 -0
- package/dist/gates/build-types.js +2 -0
- package/dist/gates/build-types.js.map +1 -0
- package/dist/gates/code-review.d.ts +20 -0
- package/dist/gates/code-review.d.ts.map +1 -0
- package/dist/gates/code-review.js +137 -0
- package/dist/gates/code-review.js.map +1 -0
- package/dist/gates/coherence.d.ts +26 -0
- package/dist/gates/coherence.d.ts.map +1 -0
- package/dist/gates/coherence.js +59 -0
- package/dist/gates/coherence.js.map +1 -0
- package/dist/gates/coverage.d.ts +8 -0
- package/dist/gates/coverage.d.ts.map +1 -0
- package/dist/gates/coverage.js +26 -0
- package/dist/gates/coverage.js.map +1 -0
- package/dist/gates/deep-verify.d.ts +7 -0
- package/dist/gates/deep-verify.d.ts.map +1 -0
- package/dist/gates/deep-verify.js +77 -0
- package/dist/gates/deep-verify.js.map +1 -0
- package/dist/gates/draft-context.d.ts +20 -0
- package/dist/gates/draft-context.d.ts.map +1 -0
- package/dist/gates/draft-context.js +87 -0
- package/dist/gates/draft-context.js.map +1 -0
- package/dist/gates/draft-read.d.ts +10 -0
- package/dist/gates/draft-read.d.ts.map +1 -0
- package/dist/gates/draft-read.js +24 -0
- package/dist/gates/draft-read.js.map +1 -0
- package/dist/gates/draft-types.d.ts +75 -0
- package/dist/gates/draft-types.d.ts.map +1 -0
- package/dist/gates/draft-types.js +2 -0
- package/dist/gates/draft-types.js.map +1 -0
- package/dist/gates/engine.d.ts +21 -0
- package/dist/gates/engine.d.ts.map +1 -0
- package/dist/gates/engine.js +98 -0
- package/dist/gates/engine.js.map +1 -0
- package/dist/gates/interactive.d.ts +11 -0
- package/dist/gates/interactive.d.ts.map +1 -0
- package/dist/gates/interactive.js +55 -0
- package/dist/gates/interactive.js.map +1 -0
- package/dist/gates/per-task-verify.d.ts +12 -0
- package/dist/gates/per-task-verify.d.ts.map +1 -0
- package/dist/gates/per-task-verify.js +52 -0
- package/dist/gates/per-task-verify.js.map +1 -0
- package/dist/gates/plan-review.d.ts +13 -0
- package/dist/gates/plan-review.d.ts.map +1 -0
- package/dist/gates/plan-review.js +98 -0
- package/dist/gates/plan-review.js.map +1 -0
- package/dist/gates/registry.d.ts +53 -0
- package/dist/gates/registry.d.ts.map +1 -0
- package/dist/gates/registry.js +66 -0
- package/dist/gates/registry.js.map +1 -0
- package/dist/gates/security-audit.d.ts +11 -0
- package/dist/gates/security-audit.d.ts.map +1 -0
- package/dist/gates/security-audit.js +40 -0
- package/dist/gates/security-audit.js.map +1 -0
- package/dist/gates/structural-verifier.d.ts +8 -0
- package/dist/gates/structural-verifier.d.ts.map +1 -0
- package/dist/gates/structural-verifier.js +25 -0
- package/dist/gates/structural-verifier.js.map +1 -0
- package/dist/gates/types.d.ts +202 -0
- package/dist/gates/types.d.ts.map +1 -0
- package/dist/gates/types.js +12 -0
- package/dist/gates/types.js.map +1 -0
- package/dist/hooks/dispatcher.d.ts +8 -0
- package/dist/hooks/dispatcher.d.ts.map +1 -0
- package/dist/hooks/dispatcher.js +31 -0
- package/dist/hooks/dispatcher.js.map +1 -0
- package/dist/hooks/handlers.d.ts +21 -0
- package/dist/hooks/handlers.d.ts.map +1 -0
- package/dist/hooks/handlers.js +121 -0
- package/dist/hooks/handlers.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/init/claude-md-template.d.ts +34 -0
- package/dist/init/claude-md-template.d.ts.map +1 -0
- package/dist/init/claude-md-template.js +72 -0
- package/dist/init/claude-md-template.js.map +1 -0
- package/dist/intelligence/backend/cadence.d.ts +21 -0
- package/dist/intelligence/backend/cadence.d.ts.map +1 -0
- package/dist/intelligence/backend/cadence.js +127 -0
- package/dist/intelligence/backend/cadence.js.map +1 -0
- package/dist/intelligence/context.d.ts +11 -0
- package/dist/intelligence/context.d.ts.map +1 -0
- package/dist/intelligence/context.js +197 -0
- package/dist/intelligence/context.js.map +1 -0
- package/dist/intelligence/graph-decision.d.ts +9 -0
- package/dist/intelligence/graph-decision.d.ts.map +1 -0
- package/dist/intelligence/graph-decision.js +55 -0
- package/dist/intelligence/graph-decision.js.map +1 -0
- package/dist/intelligence/inspect.d.ts +9 -0
- package/dist/intelligence/inspect.d.ts.map +1 -0
- package/dist/intelligence/inspect.js +93 -0
- package/dist/intelligence/inspect.js.map +1 -0
- package/dist/intelligence/milestone.d.ts +40 -0
- package/dist/intelligence/milestone.d.ts.map +1 -0
- package/dist/intelligence/milestone.js +312 -0
- package/dist/intelligence/milestone.js.map +1 -0
- package/dist/intelligence/recommend.d.ts +20 -0
- package/dist/intelligence/recommend.d.ts.map +1 -0
- package/dist/intelligence/recommend.js +185 -0
- package/dist/intelligence/recommend.js.map +1 -0
- package/dist/intelligence/render-assumption-detail.d.ts +3 -0
- package/dist/intelligence/render-assumption-detail.d.ts.map +1 -0
- package/dist/intelligence/render-assumption-detail.js +16 -0
- package/dist/intelligence/render-assumption-detail.js.map +1 -0
- package/dist/intelligence/render-assumption.d.ts +3 -0
- package/dist/intelligence/render-assumption.d.ts.map +1 -0
- package/dist/intelligence/render-assumption.js +37 -0
- package/dist/intelligence/render-assumption.js.map +1 -0
- package/dist/intelligence/render-context.d.ts +3 -0
- package/dist/intelligence/render-context.d.ts.map +1 -0
- package/dist/intelligence/render-context.js +92 -0
- package/dist/intelligence/render-context.js.map +1 -0
- package/dist/intelligence/render-decision-detail.d.ts +3 -0
- package/dist/intelligence/render-decision-detail.d.ts.map +1 -0
- package/dist/intelligence/render-decision-detail.js +30 -0
- package/dist/intelligence/render-decision-detail.js.map +1 -0
- package/dist/intelligence/render-decision-graph.d.ts +3 -0
- package/dist/intelligence/render-decision-graph.d.ts.map +1 -0
- package/dist/intelligence/render-decision-graph.js +49 -0
- package/dist/intelligence/render-decision-graph.js.map +1 -0
- package/dist/intelligence/render-decision.d.ts +3 -0
- package/dist/intelligence/render-decision.d.ts.map +1 -0
- package/dist/intelligence/render-decision.js +45 -0
- package/dist/intelligence/render-decision.js.map +1 -0
- package/dist/intelligence/render-inspection.d.ts +3 -0
- package/dist/intelligence/render-inspection.d.ts.map +1 -0
- package/dist/intelligence/render-inspection.js +69 -0
- package/dist/intelligence/render-inspection.js.map +1 -0
- package/dist/intelligence/render-intelligence-audit.d.ts +5 -0
- package/dist/intelligence/render-intelligence-audit.d.ts.map +1 -0
- package/dist/intelligence/render-intelligence-audit.js +93 -0
- package/dist/intelligence/render-intelligence-audit.js.map +1 -0
- package/dist/intelligence/render-intelligence-stats.d.ts +6 -0
- package/dist/intelligence/render-intelligence-stats.d.ts.map +1 -0
- package/dist/intelligence/render-intelligence-stats.js +76 -0
- package/dist/intelligence/render-intelligence-stats.js.map +1 -0
- package/dist/intelligence/render-milestone.d.ts +3 -0
- package/dist/intelligence/render-milestone.d.ts.map +1 -0
- package/dist/intelligence/render-milestone.js +80 -0
- package/dist/intelligence/render-milestone.js.map +1 -0
- package/dist/intelligence/render-recommend.d.ts +3 -0
- package/dist/intelligence/render-recommend.d.ts.map +1 -0
- package/dist/intelligence/render-recommend.js +62 -0
- package/dist/intelligence/render-recommend.js.map +1 -0
- package/dist/intelligence/render-recommendation-detail.d.ts +7 -0
- package/dist/intelligence/render-recommendation-detail.d.ts.map +1 -0
- package/dist/intelligence/render-recommendation-detail.js +93 -0
- package/dist/intelligence/render-recommendation-detail.js.map +1 -0
- package/dist/intelligence/render.d.ts +3 -0
- package/dist/intelligence/render.d.ts.map +1 -0
- package/dist/intelligence/render.js +57 -0
- package/dist/intelligence/render.js.map +1 -0
- package/dist/intelligence/scan.d.ts +3 -0
- package/dist/intelligence/scan.d.ts.map +1 -0
- package/dist/intelligence/scan.js +103 -0
- package/dist/intelligence/scan.js.map +1 -0
- package/dist/intelligence/store.d.ts +143 -0
- package/dist/intelligence/store.d.ts.map +1 -0
- package/dist/intelligence/store.js +701 -0
- package/dist/intelligence/store.js.map +1 -0
- package/dist/notify/code-review.d.ts +34 -0
- package/dist/notify/code-review.d.ts.map +1 -0
- package/dist/notify/code-review.js +56 -0
- package/dist/notify/code-review.js.map +1 -0
- package/dist/notify/collect.d.ts +31 -0
- package/dist/notify/collect.d.ts.map +1 -0
- package/dist/notify/collect.js +127 -0
- package/dist/notify/collect.js.map +1 -0
- package/dist/notify/emit-unconverged.d.ts +26 -0
- package/dist/notify/emit-unconverged.d.ts.map +1 -0
- package/dist/notify/emit-unconverged.js +31 -0
- package/dist/notify/emit-unconverged.js.map +1 -0
- package/dist/notify/factory.d.ts +12 -0
- package/dist/notify/factory.d.ts.map +1 -0
- package/dist/notify/factory.js +29 -0
- package/dist/notify/factory.js.map +1 -0
- package/dist/notify/file.d.ts +13 -0
- package/dist/notify/file.d.ts.map +1 -0
- package/dist/notify/file.js +21 -0
- package/dist/notify/file.js.map +1 -0
- package/dist/notify/loop-violation.d.ts +10 -0
- package/dist/notify/loop-violation.d.ts.map +1 -0
- package/dist/notify/loop-violation.js +46 -0
- package/dist/notify/loop-violation.js.map +1 -0
- package/dist/notify/notifier.d.ts +13 -0
- package/dist/notify/notifier.d.ts.map +1 -0
- package/dist/notify/notifier.js +2 -0
- package/dist/notify/notifier.js.map +1 -0
- package/dist/notify/null.d.ts +11 -0
- package/dist/notify/null.d.ts.map +1 -0
- package/dist/notify/null.js +11 -0
- package/dist/notify/null.js.map +1 -0
- package/dist/notify/plan-review.d.ts +20 -0
- package/dist/notify/plan-review.d.ts.map +1 -0
- package/dist/notify/plan-review.js +15 -0
- package/dist/notify/plan-review.js.map +1 -0
- package/dist/notify/skill-audit.d.ts +18 -0
- package/dist/notify/skill-audit.d.ts.map +1 -0
- package/dist/notify/skill-audit.js +33 -0
- package/dist/notify/skill-audit.js.map +1 -0
- package/dist/notify/spec-review.d.ts +20 -0
- package/dist/notify/spec-review.d.ts.map +1 -0
- package/dist/notify/spec-review.js +15 -0
- package/dist/notify/spec-review.js.map +1 -0
- package/dist/notify/stderr.d.ts +17 -0
- package/dist/notify/stderr.d.ts.map +1 -0
- package/dist/notify/stderr.js +17 -0
- package/dist/notify/stderr.js.map +1 -0
- package/dist/notify/webhook.d.ts +33 -0
- package/dist/notify/webhook.d.ts.map +1 -0
- package/dist/notify/webhook.js +55 -0
- package/dist/notify/webhook.js.map +1 -0
- package/dist/parse/draft-parser.d.ts +3 -0
- package/dist/parse/draft-parser.d.ts.map +1 -0
- package/dist/parse/draft-parser.js +99 -0
- package/dist/parse/draft-parser.js.map +1 -0
- package/dist/parse/draft-scaffold.d.ts +14 -0
- package/dist/parse/draft-scaffold.d.ts.map +1 -0
- package/dist/parse/draft-scaffold.js +31 -0
- package/dist/parse/draft-scaffold.js.map +1 -0
- package/dist/parse/spec-parser.d.ts +3 -0
- package/dist/parse/spec-parser.d.ts.map +1 -0
- package/dist/parse/spec-parser.js +68 -0
- package/dist/parse/spec-parser.js.map +1 -0
- package/dist/parse/summary-writer.d.ts +3 -0
- package/dist/parse/summary-writer.d.ts.map +1 -0
- package/dist/parse/summary-writer.js +41 -0
- package/dist/parse/summary-writer.js.map +1 -0
- package/dist/progress.d.ts +7 -0
- package/dist/progress.d.ts.map +1 -0
- package/dist/progress.js +37 -0
- package/dist/progress.js.map +1 -0
- package/dist/render/state-md.d.ts +3 -0
- package/dist/render/state-md.d.ts.map +1 -0
- package/dist/render/state-md.js +33 -0
- package/dist/render/state-md.js.map +1 -0
- package/dist/state/atomic-write.d.ts +3 -0
- package/dist/state/atomic-write.d.ts.map +1 -0
- package/dist/state/atomic-write.js +52 -0
- package/dist/state/atomic-write.js.map +1 -0
- package/dist/state/backend.d.ts +13 -0
- package/dist/state/backend.d.ts.map +1 -0
- package/dist/state/backend.js +2 -0
- package/dist/state/backend.js.map +1 -0
- package/dist/state/simple.d.ts +18 -0
- package/dist/state/simple.d.ts.map +1 -0
- package/dist/state/simple.js +67 -0
- package/dist/state/simple.js.map +1 -0
- package/dist/status.d.ts +47 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +209 -0
- package/dist/status.js.map +1 -0
- package/dist/verify/anthropic-verifier.d.ts +28 -0
- package/dist/verify/anthropic-verifier.d.ts.map +1 -0
- package/dist/verify/anthropic-verifier.js +109 -0
- package/dist/verify/anthropic-verifier.js.map +1 -0
- package/dist/verify/code-review-factory.d.ts +103 -0
- package/dist/verify/code-review-factory.d.ts.map +1 -0
- package/dist/verify/code-review-factory.js +11 -0
- package/dist/verify/code-review-factory.js.map +1 -0
- package/dist/verify/code-review.d.ts +65 -0
- package/dist/verify/code-review.d.ts.map +1 -0
- package/dist/verify/code-review.js +189 -0
- package/dist/verify/code-review.js.map +1 -0
- package/dist/verify/converge.d.ts +14 -0
- package/dist/verify/converge.d.ts.map +1 -0
- package/dist/verify/converge.js +17 -0
- package/dist/verify/converge.js.map +1 -0
- package/dist/verify/coverage.d.ts +31 -0
- package/dist/verify/coverage.d.ts.map +1 -0
- package/dist/verify/coverage.js +125 -0
- package/dist/verify/coverage.js.map +1 -0
- package/dist/verify/factory.d.ts +107 -0
- package/dist/verify/factory.d.ts.map +1 -0
- package/dist/verify/factory.js +17 -0
- package/dist/verify/factory.js.map +1 -0
- package/dist/verify/interactive.d.ts +22 -0
- package/dist/verify/interactive.d.ts.map +1 -0
- package/dist/verify/interactive.js +61 -0
- package/dist/verify/interactive.js.map +1 -0
- package/dist/verify/local-client.d.ts +13 -0
- package/dist/verify/local-client.d.ts.map +1 -0
- package/dist/verify/local-client.js +73 -0
- package/dist/verify/local-client.js.map +1 -0
- package/dist/verify/mock-verifier.d.ts +16 -0
- package/dist/verify/mock-verifier.d.ts.map +1 -0
- package/dist/verify/mock-verifier.js +30 -0
- package/dist/verify/mock-verifier.js.map +1 -0
- package/dist/verify/per-task-factory.d.ts +103 -0
- package/dist/verify/per-task-factory.d.ts.map +1 -0
- package/dist/verify/per-task-factory.js +11 -0
- package/dist/verify/per-task-factory.js.map +1 -0
- package/dist/verify/per-task.d.ts +69 -0
- package/dist/verify/per-task.d.ts.map +1 -0
- package/dist/verify/per-task.js +154 -0
- package/dist/verify/per-task.js.map +1 -0
- package/dist/verify/plan-review-factory.d.ts +103 -0
- package/dist/verify/plan-review-factory.d.ts.map +1 -0
- package/dist/verify/plan-review-factory.js +11 -0
- package/dist/verify/plan-review-factory.js.map +1 -0
- package/dist/verify/plan-review.d.ts +67 -0
- package/dist/verify/plan-review.d.ts.map +1 -0
- package/dist/verify/plan-review.js +196 -0
- package/dist/verify/plan-review.js.map +1 -0
- package/dist/verify/prompter.d.ts +40 -0
- package/dist/verify/prompter.d.ts.map +1 -0
- package/dist/verify/prompter.js +48 -0
- package/dist/verify/prompter.js.map +1 -0
- package/dist/verify/security-audit-factory.d.ts +103 -0
- package/dist/verify/security-audit-factory.d.ts.map +1 -0
- package/dist/verify/security-audit-factory.js +11 -0
- package/dist/verify/security-audit-factory.js.map +1 -0
- package/dist/verify/security-audit.d.ts +63 -0
- package/dist/verify/security-audit.d.ts.map +1 -0
- package/dist/verify/security-audit.js +196 -0
- package/dist/verify/security-audit.js.map +1 -0
- package/dist/verify/skill-match.d.ts +10 -0
- package/dist/verify/skill-match.d.ts.map +1 -0
- package/dist/verify/skill-match.js +15 -0
- package/dist/verify/skill-match.js.map +1 -0
- package/dist/verify/spec-review-factory.d.ts +103 -0
- package/dist/verify/spec-review-factory.d.ts.map +1 -0
- package/dist/verify/spec-review-factory.js +11 -0
- package/dist/verify/spec-review-factory.js.map +1 -0
- package/dist/verify/spec-review.d.ts +63 -0
- package/dist/verify/spec-review.d.ts.map +1 -0
- package/dist/verify/spec-review.js +182 -0
- package/dist/verify/spec-review.js.map +1 -0
- package/dist/verify/verifier-factory.d.ts +45 -0
- package/dist/verify/verifier-factory.d.ts.map +1 -0
- package/dist/verify/verifier-factory.js +38 -0
- package/dist/verify/verifier-factory.js.map +1 -0
- package/dist/verify/verifier.d.ts +63 -0
- package/dist/verify/verifier.d.ts.map +1 -0
- package/dist/verify/verifier.js +32 -0
- package/dist/verify/verifier.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/intelligence/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Finding } from '../verify/code-review.js';
|
|
2
|
+
import type { selectNotifier } from './factory.js';
|
|
3
|
+
/**
|
|
4
|
+
* Phase 24.3 — emits one `code-review-high` anomaly per HIGH finding via
|
|
5
|
+
* the supplied notifier. Transport failures degrade to a single stderr
|
|
6
|
+
* warning (URL never logged). Bounded by `'anomaly-notify'` gate at the
|
|
7
|
+
* caller.
|
|
8
|
+
*/
|
|
9
|
+
export declare function emitCodeReviewHigh(notifier: ReturnType<typeof selectNotifier>, findings: Record<string, Finding[]>, ctx: {
|
|
10
|
+
provider: string;
|
|
11
|
+
bypassed: boolean;
|
|
12
|
+
}): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Phase 37.1 — emits a single `code-review-unconverged` anomaly when
|
|
15
|
+
* code-review@settle fails to converge after maxAttempts. UNCONDITIONAL by
|
|
16
|
+
* design (mirrors emitPlanReviewUnconverged / emitSkillAuditMiss): code-review's
|
|
17
|
+
* gate cells include `strict×*`, which carry NO `anomaly-notify` gate — a hard
|
|
18
|
+
* human-escalation must still leave an audit trail, so the caller does NOT gate
|
|
19
|
+
* this on `anomaly-notify` (unlike the sibling `emitCodeReviewHigh`, whose
|
|
20
|
+
* Phase 24.3 `anomaly-notify` guard is preserved unchanged). Transport failure
|
|
21
|
+
* → one stderr warning, never throws (the settle refusal/exit is computed
|
|
22
|
+
* independently). Phase 42.1 — transport/ts-stamp/degrade live in the shared
|
|
23
|
+
* `emitUnconverged` spine; this is now just the payload builder.
|
|
24
|
+
*/
|
|
25
|
+
export declare function emitCodeReviewUnconverged(notifier: ReturnType<typeof selectNotifier>, ctx: {
|
|
26
|
+
draftId: string;
|
|
27
|
+
attempts: number;
|
|
28
|
+
maxAttempts: number;
|
|
29
|
+
findings: number;
|
|
30
|
+
provider: string;
|
|
31
|
+
model?: string;
|
|
32
|
+
bypassed?: boolean;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
//# sourceMappingURL=code-review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-review.d.ts","sourceRoot":"","sources":["../../src/notify/code-review.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,EAC3C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EACnC,GAAG,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAC3C,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,EAC3C,GAAG,EAAE;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACA,OAAO,CAAC,IAAI,CAAC,CAGf"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { emitUnconverged } from './emit-unconverged.js';
|
|
2
|
+
/**
|
|
3
|
+
* Phase 24.3 — emits one `code-review-high` anomaly per HIGH finding via
|
|
4
|
+
* the supplied notifier. Transport failures degrade to a single stderr
|
|
5
|
+
* warning (URL never logged). Bounded by `'anomaly-notify'` gate at the
|
|
6
|
+
* caller.
|
|
7
|
+
*/
|
|
8
|
+
export async function emitCodeReviewHigh(notifier, findings, ctx) {
|
|
9
|
+
const events = [];
|
|
10
|
+
const now = new Date().toISOString();
|
|
11
|
+
for (const [file, list] of Object.entries(findings)) {
|
|
12
|
+
for (const f of list) {
|
|
13
|
+
if (f.severity !== 'high')
|
|
14
|
+
continue;
|
|
15
|
+
events.push({
|
|
16
|
+
type: 'code-review-high',
|
|
17
|
+
severity: 'error',
|
|
18
|
+
message: `code-review HIGH at ${file}${f.line !== undefined ? `:${f.line}` : ''} — ${f.message}`,
|
|
19
|
+
context: {
|
|
20
|
+
file,
|
|
21
|
+
...(f.line !== undefined ? { line: f.line } : {}),
|
|
22
|
+
message: f.message,
|
|
23
|
+
provider: ctx.provider,
|
|
24
|
+
bypassed: ctx.bypassed,
|
|
25
|
+
},
|
|
26
|
+
ts: now,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (events.length === 0)
|
|
31
|
+
return;
|
|
32
|
+
try {
|
|
33
|
+
await notifier.notify(events);
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
37
|
+
process.stderr.write(`cadence-notify: ${notifier.name} transport failed — ${msg} (continuing)\n`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Phase 37.1 — emits a single `code-review-unconverged` anomaly when
|
|
42
|
+
* code-review@settle fails to converge after maxAttempts. UNCONDITIONAL by
|
|
43
|
+
* design (mirrors emitPlanReviewUnconverged / emitSkillAuditMiss): code-review's
|
|
44
|
+
* gate cells include `strict×*`, which carry NO `anomaly-notify` gate — a hard
|
|
45
|
+
* human-escalation must still leave an audit trail, so the caller does NOT gate
|
|
46
|
+
* this on `anomaly-notify` (unlike the sibling `emitCodeReviewHigh`, whose
|
|
47
|
+
* Phase 24.3 `anomaly-notify` guard is preserved unchanged). Transport failure
|
|
48
|
+
* → one stderr warning, never throws (the settle refusal/exit is computed
|
|
49
|
+
* independently). Phase 42.1 — transport/ts-stamp/degrade live in the shared
|
|
50
|
+
* `emitUnconverged` spine; this is now just the payload builder.
|
|
51
|
+
*/
|
|
52
|
+
export function emitCodeReviewUnconverged(notifier, ctx) {
|
|
53
|
+
const { draftId, ...rest } = ctx;
|
|
54
|
+
return emitUnconverged(notifier, 'code-review', { entityId: draftId, ...rest });
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=code-review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-review.js","sourceRoot":"","sources":["../../src/notify/code-review.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAA2C,EAC3C,QAAmC,EACnC,GAA4C;IAE5C,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM;gBAAE,SAAS;YACpC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,uBAAuB,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE;gBAChG,OAAO,EAAE;oBACP,IAAI;oBACJ,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;iBACvB;gBACD,EAAE,EAAE,GAAG;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAChC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mBAAmB,QAAQ,CAAC,IAAI,uBAAuB,GAAG,iBAAiB,CAC5E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAA2C,EAC3C,GAQC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IACjC,OAAO,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AnomalyEvent, DeepVerdict, Draft } from '@manehorizons/cadence-types';
|
|
2
|
+
import type { ProgressFile } from '../status.js';
|
|
3
|
+
import type { InteractiveVerdict } from '../verify/interactive.js';
|
|
4
|
+
export interface CollectAnomaliesContext {
|
|
5
|
+
draft: Draft;
|
|
6
|
+
progress: ProgressFile;
|
|
7
|
+
/** True iff `--allow-missing-coverage` was used AND `test-coverage` was in the gate set. */
|
|
8
|
+
coverageBypassed: boolean;
|
|
9
|
+
/** True iff `--force` was set on settle. */
|
|
10
|
+
force: boolean;
|
|
11
|
+
/** Per-AC deep verifier verdicts (Phase 15), if --deep / deep-verify gate ran. */
|
|
12
|
+
deepVerify?: Record<string, DeepVerdict> | undefined;
|
|
13
|
+
/** Per-AC interactive verdicts (Phase 16), if --interactive / interactive-verdict gate ran. */
|
|
14
|
+
interactiveVerify?: Record<string, InteractiveVerdict> | undefined;
|
|
15
|
+
/** Populated when the deep verifier transport itself failed (network/parse/etc). */
|
|
16
|
+
verifierFailure?: {
|
|
17
|
+
message: string;
|
|
18
|
+
provider?: string;
|
|
19
|
+
} | undefined;
|
|
20
|
+
}
|
|
21
|
+
export interface CollectAnomaliesOptions {
|
|
22
|
+
/** Test seam: stand in for `() => new Date()`. Production callers omit it. */
|
|
23
|
+
now?: () => Date;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Walks settle context and emits typed anomaly events for the auto / standard
|
|
27
|
+
* profile. Pure — no I/O. Each event is stamped with `ts` from `opts.now`
|
|
28
|
+
* (defaults to wall-clock).
|
|
29
|
+
*/
|
|
30
|
+
export declare function collectAnomalies(ctx: CollectAnomaliesContext, opts?: CollectAnomaliesOptions): AnomalyEvent[];
|
|
31
|
+
//# sourceMappingURL=collect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../src/notify/collect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,KAAK,EACN,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,4FAA4F;IAC5F,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACrD,+FAA+F;IAC/F,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,CAAC;IACnE,oFAAoF;IACpF,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CACtE;AASD,MAAM,WAAW,uBAAuB;IACtC,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,uBAAuB,EAC5B,IAAI,GAAE,uBAA4B,GACjC,YAAY,EAAE,CA4HhB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { runBoundaryCheck } from '../checks/boundary.js';
|
|
2
|
+
function parseAcRefs(done) {
|
|
3
|
+
return done
|
|
4
|
+
.split(',')
|
|
5
|
+
.map((s) => s.trim())
|
|
6
|
+
.filter((s) => /^AC-\d+$/.test(s));
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Walks settle context and emits typed anomaly events for the auto / standard
|
|
10
|
+
* profile. Pure — no I/O. Each event is stamped with `ts` from `opts.now`
|
|
11
|
+
* (defaults to wall-clock).
|
|
12
|
+
*/
|
|
13
|
+
export function collectAnomalies(ctx, opts = {}) {
|
|
14
|
+
const events = [];
|
|
15
|
+
const nowFn = opts.now ?? (() => new Date());
|
|
16
|
+
const stamp = () => nowFn().toISOString();
|
|
17
|
+
// ac-blocked / ac-needs-context — one event per task in the affected state.
|
|
18
|
+
for (const task of ctx.draft.tasks) {
|
|
19
|
+
const status = ctx.progress.tasks[task.id]?.status;
|
|
20
|
+
const acs = parseAcRefs(task.done);
|
|
21
|
+
if (status === 'BLOCKED') {
|
|
22
|
+
events.push({
|
|
23
|
+
type: 'ac-blocked',
|
|
24
|
+
severity: 'warn',
|
|
25
|
+
message: `${task.id} BLOCKED (${acs.length > 0 ? acs.join(', ') : 'no ACs linked'})`,
|
|
26
|
+
context: { taskId: task.id, taskName: task.name, acs },
|
|
27
|
+
ts: stamp(),
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else if (status === 'NEEDS_CONTEXT') {
|
|
31
|
+
events.push({
|
|
32
|
+
type: 'ac-needs-context',
|
|
33
|
+
severity: 'warn',
|
|
34
|
+
message: `${task.id} NEEDS_CONTEXT (${acs.length > 0 ? acs.join(', ') : 'no ACs linked'})`,
|
|
35
|
+
context: {
|
|
36
|
+
taskId: task.id,
|
|
37
|
+
taskName: task.name,
|
|
38
|
+
acs,
|
|
39
|
+
notes: ctx.progress.tasks[task.id]?.notes ?? '',
|
|
40
|
+
},
|
|
41
|
+
ts: stamp(),
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// coverage-bypassed — single event when bypass flag flipped a gate that was active.
|
|
46
|
+
if (ctx.coverageBypassed) {
|
|
47
|
+
events.push({
|
|
48
|
+
type: 'coverage-bypassed',
|
|
49
|
+
severity: 'warn',
|
|
50
|
+
message: 'test-coverage gate bypassed via --allow-missing-coverage',
|
|
51
|
+
context: {},
|
|
52
|
+
ts: stamp(),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
// files-outside-boundary — one event per touched file that is not in any
|
|
56
|
+
// task's declared `files:` list. Detection shared with the PreToolEdit hook
|
|
57
|
+
// via checks/boundary (Phase 43.1); the deduped Set keeps settle's behavior.
|
|
58
|
+
const touched = new Set();
|
|
59
|
+
for (const entry of Object.values(ctx.progress.tasks)) {
|
|
60
|
+
for (const f of entry.touchedFiles ?? [])
|
|
61
|
+
touched.add(f);
|
|
62
|
+
}
|
|
63
|
+
events.push(...runBoundaryCheck({
|
|
64
|
+
declaredFiles: ctx.draft.tasks.flatMap((t) => t.files),
|
|
65
|
+
touchedFiles: touched,
|
|
66
|
+
stamp,
|
|
67
|
+
}));
|
|
68
|
+
// verifier-failure — emitted when the deep verifier transport itself blew up.
|
|
69
|
+
if (ctx.verifierFailure) {
|
|
70
|
+
events.push({
|
|
71
|
+
type: 'verifier-failure',
|
|
72
|
+
severity: 'error',
|
|
73
|
+
message: `deep verifier failed: ${ctx.verifierFailure.message}`,
|
|
74
|
+
context: {
|
|
75
|
+
message: ctx.verifierFailure.message,
|
|
76
|
+
...(ctx.verifierFailure.provider ? { provider: ctx.verifierFailure.provider } : {}),
|
|
77
|
+
},
|
|
78
|
+
ts: stamp(),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
// force-used — emitted when --force was set AND something it would have
|
|
82
|
+
// bypassed actually failed (structural, deep, or interactive).
|
|
83
|
+
if (ctx.force) {
|
|
84
|
+
const failedAcs = [];
|
|
85
|
+
const reasons = [];
|
|
86
|
+
// structural: any AC whose linked tasks include BLOCKED/NEEDS_CONTEXT, or
|
|
87
|
+
// that has no linked tasks at all.
|
|
88
|
+
for (const ac of ctx.draft.acceptanceCriteria) {
|
|
89
|
+
const linked = ctx.draft.tasks.filter((t) => parseAcRefs(t.done).includes(ac.id));
|
|
90
|
+
if (linked.length === 0) {
|
|
91
|
+
failedAcs.push(ac.id);
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
const linkedStatuses = linked.map((t) => ctx.progress.tasks[t.id]?.status ?? 'PENDING');
|
|
95
|
+
if (linkedStatuses.some((s) => s === 'BLOCKED' || s === 'NEEDS_CONTEXT')) {
|
|
96
|
+
failedAcs.push(ac.id);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (failedAcs.length > 0)
|
|
100
|
+
reasons.push(`structural: ${failedAcs.join(', ')}`);
|
|
101
|
+
if (ctx.deepVerify) {
|
|
102
|
+
const failed = Object.entries(ctx.deepVerify)
|
|
103
|
+
.filter(([, v]) => v.pass === false)
|
|
104
|
+
.map(([id]) => id);
|
|
105
|
+
if (failed.length > 0)
|
|
106
|
+
reasons.push(`deep: ${failed.join(', ')}`);
|
|
107
|
+
}
|
|
108
|
+
if (ctx.interactiveVerify) {
|
|
109
|
+
const failed = Object.entries(ctx.interactiveVerify)
|
|
110
|
+
.filter(([, v]) => v.verdict === 'fail')
|
|
111
|
+
.map(([id]) => id);
|
|
112
|
+
if (failed.length > 0)
|
|
113
|
+
reasons.push(`interactive: ${failed.join(', ')}`);
|
|
114
|
+
}
|
|
115
|
+
if (reasons.length > 0) {
|
|
116
|
+
events.push({
|
|
117
|
+
type: 'force-used',
|
|
118
|
+
severity: 'error',
|
|
119
|
+
message: `settle --force bypassed failing verdicts (${reasons.join('; ')})`,
|
|
120
|
+
context: { reasons },
|
|
121
|
+
ts: stamp(),
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return events;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=collect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/notify/collect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { selectNotifier } from './factory.js';
|
|
2
|
+
/**
|
|
3
|
+
* Phase 42.1 — the shared transport spine for the three convergence
|
|
4
|
+
* "unconverged" emitters (`plan-review`, `spec-review`, `code-review@settle`).
|
|
5
|
+
* Builds the single `*-unconverged` anomaly from a kind + payload, stamps `ts`,
|
|
6
|
+
* dispatches it, and degrades a transport failure to one stderr warning (never
|
|
7
|
+
* throws — the refusal/exit is computed independently by the caller).
|
|
8
|
+
*
|
|
9
|
+
* All three are UNCONDITIONAL by design (no `anomaly-notify` guard): a hard
|
|
10
|
+
* human-escalation must leave an audit trail. The three differ only in the
|
|
11
|
+
* anomaly `type`, the `context` entity key (`draftId`/`specId`), and the
|
|
12
|
+
* message prefix word — which is the `kind` verbatim.
|
|
13
|
+
*/
|
|
14
|
+
export type UnconvergedKind = 'plan-review' | 'spec-review' | 'code-review';
|
|
15
|
+
export interface UnconvergedPayload {
|
|
16
|
+
/** The draft id (plan/code-review) or spec id (spec-review). */
|
|
17
|
+
entityId: string;
|
|
18
|
+
attempts: number;
|
|
19
|
+
maxAttempts: number;
|
|
20
|
+
findings: number;
|
|
21
|
+
provider: string;
|
|
22
|
+
model?: string;
|
|
23
|
+
bypassed?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare function emitUnconverged(notifier: ReturnType<typeof selectNotifier>, kind: UnconvergedKind, payload: UnconvergedPayload): Promise<void>;
|
|
26
|
+
//# sourceMappingURL=emit-unconverged.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-unconverged.d.ts","sourceRoot":"","sources":["../../src/notify/emit-unconverged.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;AAa5E,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,EAC3C,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAyBf"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const KIND_META = {
|
|
2
|
+
'plan-review': { type: 'plan-review-unconverged', entityKey: 'draftId' },
|
|
3
|
+
'spec-review': { type: 'spec-review-unconverged', entityKey: 'specId' },
|
|
4
|
+
'code-review': { type: 'code-review-unconverged', entityKey: 'draftId' },
|
|
5
|
+
};
|
|
6
|
+
export async function emitUnconverged(notifier, kind, payload) {
|
|
7
|
+
const meta = KIND_META[kind];
|
|
8
|
+
const event = {
|
|
9
|
+
type: meta.type,
|
|
10
|
+
severity: 'error',
|
|
11
|
+
message: `${kind} did not converge for ${payload.entityId} after ${payload.attempts}/${payload.maxAttempts} attempts (${payload.findings} finding(s))`,
|
|
12
|
+
context: {
|
|
13
|
+
[meta.entityKey]: payload.entityId,
|
|
14
|
+
attempts: payload.attempts,
|
|
15
|
+
maxAttempts: payload.maxAttempts,
|
|
16
|
+
findings: payload.findings,
|
|
17
|
+
provider: payload.provider,
|
|
18
|
+
...(payload.model !== undefined ? { model: payload.model } : {}),
|
|
19
|
+
...(payload.bypassed !== undefined ? { bypassed: payload.bypassed } : {}),
|
|
20
|
+
},
|
|
21
|
+
ts: new Date().toISOString(),
|
|
22
|
+
};
|
|
23
|
+
try {
|
|
24
|
+
await notifier.notify([event]);
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
28
|
+
process.stderr.write(`cadence-notify: ${notifier.name} transport failed — ${msg} (continuing)\n`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=emit-unconverged.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-unconverged.js","sourceRoot":"","sources":["../../src/notify/emit-unconverged.ts"],"names":[],"mappings":"AAsBA,MAAM,SAAS,GAA6C;IAC1D,aAAa,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,SAAS,EAAE;IACxE,aAAa,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,QAAQ,EAAE;IACvE,aAAa,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,SAAS,EAAE;CACzE,CAAC;AAaF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA2C,EAC3C,IAAqB,EACrB,OAA2B;IAE3B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,GAAG,IAAI,yBAAyB,OAAO,CAAC,QAAQ,UAAU,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,cAAc,OAAO,CAAC,QAAQ,cAAc;QACtJ,OAAO,EAAE;YACP,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E;QACD,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC7B,CAAC;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mBAAmB,QAAQ,CAAC,IAAI,uBAAuB,GAAG,iBAAiB,CAC5E,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CadenceConfig } from '@manehorizons/cadence-types';
|
|
2
|
+
import type { Notifier } from './notifier.js';
|
|
3
|
+
export interface SelectNotifierOptions {
|
|
4
|
+
/** Test seam: stand in for `process.stderr.write`. */
|
|
5
|
+
stderrWrite?: (chunk: string) => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Resolves the configured anomaly transport. Backward-compatible: a config
|
|
9
|
+
* without a `notify` field parses with `transport: 'stderr'`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function selectNotifier(config: Pick<CadenceConfig, 'notify'> | null, opts?: SelectNotifierOptions): Notifier;
|
|
12
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/notify/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAKjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,qBAAqB;IACpC,sDAAsD;IACtD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,IAAI,EAC5C,IAAI,GAAE,qBAA0B,GAC/B,QAAQ,CAiBV"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FileNotifier } from './file.js';
|
|
2
|
+
import { NullNotifier } from './null.js';
|
|
3
|
+
import { StderrNotifier } from './stderr.js';
|
|
4
|
+
import { WebhookNotifier } from './webhook.js';
|
|
5
|
+
const DEFAULT_FILE = '.cadence/anomalies.log';
|
|
6
|
+
/**
|
|
7
|
+
* Resolves the configured anomaly transport. Backward-compatible: a config
|
|
8
|
+
* without a `notify` field parses with `transport: 'stderr'`.
|
|
9
|
+
*/
|
|
10
|
+
export function selectNotifier(config, opts = {}) {
|
|
11
|
+
const transport = config?.notify?.transport ?? 'stderr';
|
|
12
|
+
if (transport === 'none')
|
|
13
|
+
return new NullNotifier();
|
|
14
|
+
if (transport === 'file') {
|
|
15
|
+
return new FileNotifier(config?.notify?.file ?? DEFAULT_FILE);
|
|
16
|
+
}
|
|
17
|
+
if (transport === 'webhook') {
|
|
18
|
+
// Schema refinement guarantees `notify.webhook` is present + valid.
|
|
19
|
+
const wh = config.notify.webhook;
|
|
20
|
+
return new WebhookNotifier({
|
|
21
|
+
url: wh.url,
|
|
22
|
+
...(wh.headers ? { headers: wh.headers } : {}),
|
|
23
|
+
...(wh.timeoutMs !== undefined ? { timeoutMs: wh.timeoutMs } : {}),
|
|
24
|
+
...(opts.stderrWrite ? { stderrWrite: opts.stderrWrite } : {}),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return new StderrNotifier({ write: opts.stderrWrite ?? ((c) => process.stderr.write(c)) });
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/notify/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQ/C,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,MAA4C,EAC5C,OAA8B,EAAE;IAEhC,MAAM,SAAS,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,IAAI,QAAQ,CAAC;IACxD,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,IAAI,YAAY,EAAE,CAAC;IACpD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,YAAY,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,oEAAoE;QACpE,MAAM,EAAE,GAAG,MAAO,CAAC,MAAO,CAAC,OAAQ,CAAC;QACpC,OAAO,IAAI,eAAe,CAAC;YACzB,GAAG,EAAE,EAAE,CAAC,GAAG;YACX,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AnomalyEvent } from '@manehorizons/cadence-types';
|
|
2
|
+
import type { Notifier } from './notifier.js';
|
|
3
|
+
/**
|
|
4
|
+
* Appends NDJSON lines (one event per line) to a file. Creates parent
|
|
5
|
+
* directories if needed. Operator owns rotation/truncation.
|
|
6
|
+
*/
|
|
7
|
+
export declare class FileNotifier implements Notifier {
|
|
8
|
+
private readonly path;
|
|
9
|
+
readonly name = "file";
|
|
10
|
+
constructor(path: string);
|
|
11
|
+
notify(events: AnomalyEvent[]): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/notify/file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;GAGG;AACH,qBAAa,YAAa,YAAW,QAAQ;IAE/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IADjC,QAAQ,CAAC,IAAI,UAAU;gBACM,IAAI,EAAE,MAAM;IAEnC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAMpD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { mkdir, appendFile } from 'node:fs/promises';
|
|
2
|
+
import { dirname } from 'node:path';
|
|
3
|
+
/**
|
|
4
|
+
* Appends NDJSON lines (one event per line) to a file. Creates parent
|
|
5
|
+
* directories if needed. Operator owns rotation/truncation.
|
|
6
|
+
*/
|
|
7
|
+
export class FileNotifier {
|
|
8
|
+
path;
|
|
9
|
+
name = 'file';
|
|
10
|
+
constructor(path) {
|
|
11
|
+
this.path = path;
|
|
12
|
+
}
|
|
13
|
+
async notify(events) {
|
|
14
|
+
if (events.length === 0)
|
|
15
|
+
return;
|
|
16
|
+
await mkdir(dirname(this.path), { recursive: true });
|
|
17
|
+
const body = events.map((e) => JSON.stringify(e)).join('\n') + '\n';
|
|
18
|
+
await appendFile(this.path, body, 'utf8');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/notify/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;GAGG;AACH,MAAM,OAAO,YAAY;IAEM;IADpB,IAAI,GAAG,MAAM,CAAC;IACvB,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE7C,KAAK,CAAC,MAAM,CAAC,MAAsB;QACjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACpE,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LoopViolationError } from '../errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Best-effort `loop-violation` anomaly dispatch from a CLI command's catch
|
|
4
|
+
* block. Loads config + state + gate set; emits when `'anomaly-notify'` is
|
|
5
|
+
* gated on; swallows any error along the way (the loop violation itself is
|
|
6
|
+
* already being surfaced via the existing stderr message + exit 1, and
|
|
7
|
+
* notification must never make things worse). Phase 23.3.
|
|
8
|
+
*/
|
|
9
|
+
export declare function emitLoopViolation(cwd: string, err: LoopViolationError, source: string): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=loop-violation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loop-violation.d.ts","sourceRoot":"","sources":["../../src/notify/loop-violation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAgCf"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { SimpleStateBackend } from '../state/simple.js';
|
|
2
|
+
import { loadConfig } from '../config/loader.js';
|
|
3
|
+
import { effectiveGateSet } from '../gates/engine.js';
|
|
4
|
+
import { selectNotifier } from './factory.js';
|
|
5
|
+
/**
|
|
6
|
+
* Best-effort `loop-violation` anomaly dispatch from a CLI command's catch
|
|
7
|
+
* block. Loads config + state + gate set; emits when `'anomaly-notify'` is
|
|
8
|
+
* gated on; swallows any error along the way (the loop violation itself is
|
|
9
|
+
* already being surfaced via the existing stderr message + exit 1, and
|
|
10
|
+
* notification must never make things worse). Phase 23.3.
|
|
11
|
+
*/
|
|
12
|
+
export async function emitLoopViolation(cwd, err, source) {
|
|
13
|
+
try {
|
|
14
|
+
const backend = new SimpleStateBackend(cwd);
|
|
15
|
+
const state = await backend.readState();
|
|
16
|
+
const cfg = await loadConfig(cwd).catch(() => null);
|
|
17
|
+
// No draft is reliably available in a loop-violation context — pass null
|
|
18
|
+
// so the gate set uses the (state.tier, profile-from-config) signal.
|
|
19
|
+
const gateSet = effectiveGateSet(state, cfg, null);
|
|
20
|
+
if (!gateSet.gates.includes('anomaly-notify'))
|
|
21
|
+
return;
|
|
22
|
+
const ev = {
|
|
23
|
+
type: 'loop-violation',
|
|
24
|
+
severity: 'error',
|
|
25
|
+
message: err.message,
|
|
26
|
+
context: {
|
|
27
|
+
...(err.expected !== undefined ? { expected: err.expected } : {}),
|
|
28
|
+
...(err.actual !== undefined ? { actual: err.actual } : {}),
|
|
29
|
+
source,
|
|
30
|
+
},
|
|
31
|
+
ts: new Date().toISOString(),
|
|
32
|
+
};
|
|
33
|
+
const notifier = selectNotifier(cfg);
|
|
34
|
+
try {
|
|
35
|
+
await notifier.notify([ev]);
|
|
36
|
+
}
|
|
37
|
+
catch (notifyErr) {
|
|
38
|
+
const msg = notifyErr instanceof Error ? notifyErr.message : String(notifyErr);
|
|
39
|
+
process.stderr.write(`cadence-notify: ${notifier.name} transport failed — ${msg} (continuing)\n`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
/* best-effort — never escalate from loop-violation emission */
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=loop-violation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loop-violation.js","sourceRoot":"","sources":["../../src/notify/loop-violation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,GAAuB,EACvB,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpD,yEAAyE;QACzE,qEAAqE;QACrE,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAAE,OAAO;QACtD,MAAM,EAAE,GAAiB;YACvB,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE;gBACP,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM;aACP;YACD,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC7B,CAAC;QACF,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mBAAmB,QAAQ,CAAC,IAAI,uBAAuB,GAAG,iBAAiB,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AnomalyEvent } from '@manehorizons/cadence-types';
|
|
2
|
+
/**
|
|
3
|
+
* Transport for anomaly events emitted by settle (Phase 17).
|
|
4
|
+
*
|
|
5
|
+
* Implementations must:
|
|
6
|
+
* - be safe to construct without I/O beyond their target stream/path,
|
|
7
|
+
* - never block settle on failure — callers convert exceptions to warnings.
|
|
8
|
+
*/
|
|
9
|
+
export interface Notifier {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
notify(events: AnomalyEvent[]): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=notifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifier.d.ts","sourceRoot":"","sources":["../../src/notify/notifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifier.js","sourceRoot":"","sources":["../../src/notify/notifier.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AnomalyEvent } from '@manehorizons/cadence-types';
|
|
2
|
+
import type { Notifier } from './notifier.js';
|
|
3
|
+
/**
|
|
4
|
+
* Drop-on-the-floor notifier. Used for `transport: 'none'` and tests that
|
|
5
|
+
* want to verify silence.
|
|
6
|
+
*/
|
|
7
|
+
export declare class NullNotifier implements Notifier {
|
|
8
|
+
readonly name = "null";
|
|
9
|
+
notify(_events: AnomalyEvent[]): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=null.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"null.d.ts","sourceRoot":"","sources":["../../src/notify/null.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;GAGG;AACH,qBAAa,YAAa,YAAW,QAAQ;IAC3C,QAAQ,CAAC,IAAI,UAAU;IACjB,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrD"}
|