@dommaker/harness 0.16.9 → 0.17.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/CHANGELOG.md +39 -0
- package/README.md +33 -32
- package/bin/harness.js +33 -20
- package/dist/cli/commands/check.d.ts +3 -2
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +69 -36
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/constraints-report.d.ts +42 -0
- package/dist/cli/commands/constraints-report.d.ts.map +1 -0
- package/dist/cli/commands/constraints-report.js +233 -0
- package/dist/cli/commands/constraints-report.js.map +1 -0
- package/dist/cli/commands/constraints-retire.d.ts +71 -0
- package/dist/cli/commands/constraints-retire.d.ts.map +1 -0
- package/dist/cli/commands/constraints-retire.js +384 -0
- package/dist/cli/commands/constraints-retire.js.map +1 -0
- package/dist/cli/commands/constraints.d.ts +1 -1
- package/dist/cli/commands/constraints.d.ts.map +1 -1
- package/dist/cli/commands/constraints.js +4 -4
- package/dist/cli/commands/constraints.js.map +1 -1
- package/dist/cli/commands/index.d.ts +2 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +10 -4
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +20 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +81 -59
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/report.js +4 -4
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +3 -4
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/sync-docs/capabilities-syncer.d.ts +5 -1
- package/dist/cli/commands/sync-docs/capabilities-syncer.d.ts.map +1 -1
- package/dist/cli/commands/sync-docs/capabilities-syncer.js +2 -10
- package/dist/cli/commands/sync-docs/capabilities-syncer.js.map +1 -1
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +1 -5
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/core/constraints/capabilities-parser.d.ts +7 -0
- package/dist/core/constraints/capabilities-parser.d.ts.map +1 -1
- package/dist/core/constraints/capabilities-parser.js +13 -0
- package/dist/core/constraints/capabilities-parser.js.map +1 -1
- package/dist/core/constraints/checker.d.ts +13 -5
- package/dist/core/constraints/checker.d.ts.map +1 -1
- package/dist/core/constraints/checker.js +62 -25
- package/dist/core/constraints/checker.js.map +1 -1
- package/dist/core/constraints/checkers/capability-sync.d.ts +9 -2
- package/dist/core/constraints/checkers/capability-sync.d.ts.map +1 -1
- package/dist/core/constraints/checkers/capability-sync.js +55 -22
- package/dist/core/constraints/checkers/capability-sync.js.map +1 -1
- package/dist/core/constraints/checkers/context-doc-sync.d.ts +3 -0
- package/dist/core/constraints/checkers/context-doc-sync.d.ts.map +1 -1
- package/dist/core/constraints/checkers/context-doc-sync.js +8 -2
- package/dist/core/constraints/checkers/context-doc-sync.js.map +1 -1
- package/dist/core/constraints/checkers/docs-freshness.d.ts +1 -0
- package/dist/core/constraints/checkers/docs-freshness.d.ts.map +1 -1
- package/dist/core/constraints/checkers/docs-freshness.js +39 -0
- package/dist/core/constraints/checkers/docs-freshness.js.map +1 -1
- package/dist/core/constraints/checkers/index.d.ts +8 -4
- package/dist/core/constraints/checkers/index.d.ts.map +1 -1
- package/dist/core/constraints/checkers/index.js +29 -46
- package/dist/core/constraints/checkers/index.js.map +1 -1
- package/dist/core/constraints/checkers/iron-flags.d.ts +6 -7
- package/dist/core/constraints/checkers/iron-flags.d.ts.map +1 -1
- package/dist/core/constraints/checkers/iron-flags.js +10 -17
- package/dist/core/constraints/checkers/iron-flags.js.map +1 -1
- package/dist/core/constraints/checkers/no-hardcoded-credentials.d.ts +13 -0
- package/dist/core/constraints/checkers/no-hardcoded-credentials.d.ts.map +1 -0
- package/dist/core/constraints/checkers/no-hardcoded-credentials.js +91 -0
- package/dist/core/constraints/checkers/no-hardcoded-credentials.js.map +1 -0
- package/dist/core/constraints/checkers/types.d.ts +15 -4
- package/dist/core/constraints/checkers/types.d.ts.map +1 -1
- package/dist/core/constraints/checkers/types.js +16 -4
- package/dist/core/constraints/checkers/types.js.map +1 -1
- package/dist/core/constraints/context-builder.d.ts +6 -3
- package/dist/core/constraints/context-builder.d.ts.map +1 -1
- package/dist/core/constraints/context-builder.js +29 -20
- package/dist/core/constraints/context-builder.js.map +1 -1
- package/dist/core/constraints/definitions/guidelines.d.ts +6 -2
- package/dist/core/constraints/definitions/guidelines.d.ts.map +1 -1
- package/dist/core/constraints/definitions/guidelines.js +29 -572
- package/dist/core/constraints/definitions/guidelines.js.map +1 -1
- package/dist/core/constraints/definitions/iron-laws.d.ts +6 -2
- package/dist/core/constraints/definitions/iron-laws.d.ts.map +1 -1
- package/dist/core/constraints/definitions/iron-laws.js +48 -231
- package/dist/core/constraints/definitions/iron-laws.js.map +1 -1
- package/dist/core/constraints/definitions/prompts.d.ts +12 -0
- package/dist/core/constraints/definitions/prompts.d.ts.map +1 -0
- package/dist/core/constraints/definitions/prompts.js +405 -0
- package/dist/core/constraints/definitions/prompts.js.map +1 -0
- package/dist/core/constraints/definitions.d.ts +15 -9
- package/dist/core/constraints/definitions.d.ts.map +1 -1
- package/dist/core/constraints/definitions.js +18 -12
- package/dist/core/constraints/definitions.js.map +1 -1
- package/dist/core/constraints/index.d.ts +3 -2
- package/dist/core/constraints/index.d.ts.map +1 -1
- package/dist/core/constraints/index.js +8 -2
- package/dist/core/constraints/index.js.map +1 -1
- package/dist/core/constraints/injection-drift.d.ts +48 -0
- package/dist/core/constraints/injection-drift.d.ts.map +1 -0
- package/dist/core/constraints/injection-drift.js +140 -0
- package/dist/core/constraints/injection-drift.js.map +1 -0
- package/dist/core/constraints/injection-renderer.d.ts +23 -0
- package/dist/core/constraints/injection-renderer.d.ts.map +1 -0
- package/dist/core/constraints/injection-renderer.js +44 -0
- package/dist/core/constraints/injection-renderer.js.map +1 -0
- package/dist/core/constraints/interceptor.d.ts.map +1 -1
- package/dist/core/constraints/interceptor.js +3 -2
- package/dist/core/constraints/interceptor.js.map +1 -1
- package/dist/core/constraints/usage-report.d.ts +95 -0
- package/dist/core/constraints/usage-report.d.ts.map +1 -0
- package/dist/core/constraints/usage-report.js +206 -0
- package/dist/core/constraints/usage-report.js.map +1 -0
- package/dist/core/effective-constraints.d.ts +47 -0
- package/dist/core/effective-constraints.d.ts.map +1 -0
- package/dist/core/effective-constraints.js +60 -0
- package/dist/core/effective-constraints.js.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/project-config-loader.d.ts +17 -2
- package/dist/core/project-config-loader.d.ts.map +1 -1
- package/dist/core/project-config-loader.js +55 -8
- package/dist/core/project-config-loader.js.map +1 -1
- package/dist/dashboard/data.d.ts +1 -9
- package/dist/dashboard/data.d.ts.map +1 -1
- package/dist/dashboard/data.js +7 -15
- package/dist/dashboard/data.js.map +1 -1
- package/dist/dashboard/types.d.ts +13 -1
- package/dist/dashboard/types.d.ts.map +1 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -13
- package/dist/index.js.map +1 -1
- package/dist/monitoring/index.d.ts +0 -2
- package/dist/monitoring/index.d.ts.map +1 -1
- package/dist/monitoring/index.js +0 -2
- package/dist/monitoring/index.js.map +1 -1
- package/dist/monitoring/knowledge-evolver.d.ts +1 -1
- package/dist/monitoring/knowledge-evolver.js +1 -1
- package/dist/monitoring/trace-analyzer.d.ts +1 -1
- package/dist/monitoring/trace-analyzer.d.ts.map +1 -1
- package/dist/monitoring/trace-analyzer.js +16 -10
- package/dist/monitoring/trace-analyzer.js.map +1 -1
- package/dist/monitoring/traces.d.ts +2 -1
- package/dist/monitoring/traces.d.ts.map +1 -1
- package/dist/monitoring/traces.js +5 -3
- package/dist/monitoring/traces.js.map +1 -1
- package/dist/presets/standard.d.ts +3 -1
- package/dist/presets/standard.d.ts.map +1 -1
- package/dist/presets/standard.js +18 -8
- package/dist/presets/standard.js.map +1 -1
- package/dist/types/constraint.d.ts +51 -11
- package/dist/types/constraint.d.ts.map +1 -1
- package/dist/types/constraint.js +8 -4
- package/dist/types/constraint.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/monitoring-types.d.ts +2 -63
- package/dist/types/monitoring-types.d.ts.map +1 -1
- package/dist/types/monitoring-types.js +2 -2
- package/dist/types/project-config.d.ts +26 -1
- package/dist/types/project-config.d.ts.map +1 -1
- package/dist/types/trace.d.ts +16 -7
- package/dist/types/trace.d.ts.map +1 -1
- package/dist/types/trace.js +8 -0
- package/dist/types/trace.js.map +1 -1
- package/package.json +1 -1
- package/src/CONTEXT.md +2 -2
- package/src/__tests__/checker-extra.test.ts +228 -333
- package/src/__tests__/checker.test.ts +87 -724
- package/src/__tests__/constraint-doctor.test.ts +5 -5
- package/src/__tests__/doctor-extra.test.ts +164 -0
- package/src/__tests__/effective-constraints.test.ts +147 -0
- package/src/__tests__/extend-exceptions.test.ts +3 -3
- package/src/__tests__/iron-laws.test.ts +115 -91
- package/src/__tests__/no-hardcoded-credentials.test.ts +90 -0
- package/src/__tests__/presets.test.ts +7 -7
- package/src/__tests__/project-config-loader-extra.test.ts +41 -4
- package/src/__tests__/skip-semantics.test.ts +322 -0
- package/src/cli/commands/CONTEXT.md +5 -3
- package/src/cli/commands/__tests__/check-drift.test.ts +127 -0
- package/src/cli/commands/__tests__/check-skip-output.test.ts +128 -0
- package/src/cli/commands/__tests__/check.test.ts +14 -25
- package/src/cli/commands/__tests__/constraints-report.test.ts +327 -0
- package/src/cli/commands/__tests__/constraints-retire.test.ts +283 -0
- package/src/cli/commands/__tests__/init-injection.test.ts +234 -0
- package/src/cli/commands/__tests__/status-extra.test.ts +11 -11
- package/src/cli/commands/__tests__/status.test.ts +1 -1
- package/src/cli/commands/check.ts +72 -38
- package/src/cli/commands/constraints-report.ts +234 -0
- package/src/cli/commands/constraints-retire.ts +443 -0
- package/src/cli/commands/constraints.ts +5 -5
- package/src/cli/commands/index.ts +2 -1
- package/src/cli/commands/init.ts +94 -66
- package/src/cli/commands/report.ts +6 -6
- package/src/cli/commands/status.ts +3 -4
- package/src/cli/commands/sync-docs/capabilities-syncer.ts +5 -7
- package/src/cli/commands/validate.ts +1 -5
- package/src/core/CONTEXT.md +7 -4
- package/src/core/constraints/__tests__/injection-drift.test.ts +164 -0
- package/src/core/constraints/__tests__/interceptor.test.ts +4 -0
- package/src/core/constraints/capabilities-parser.ts +13 -0
- package/src/core/constraints/checker.ts +73 -28
- package/src/core/constraints/checkers/capability-sync.ts +72 -29
- package/src/core/constraints/checkers/context-doc-sync.ts +9 -2
- package/src/core/constraints/checkers/docs-freshness.ts +43 -0
- package/src/core/constraints/checkers/index.ts +38 -71
- package/src/core/constraints/checkers/iron-flags.ts +13 -49
- package/src/core/constraints/checkers/no-hardcoded-credentials.ts +93 -0
- package/src/core/constraints/checkers/types.ts +27 -5
- package/src/core/constraints/context-builder.ts +28 -19
- package/src/core/constraints/definitions/guidelines.ts +29 -597
- package/src/core/constraints/definitions/iron-laws.ts +48 -239
- package/src/core/constraints/definitions/prompts.ts +419 -0
- package/src/core/constraints/definitions.ts +18 -11
- package/src/core/constraints/index.ts +10 -1
- package/src/core/constraints/injection-drift.ts +139 -0
- package/src/core/constraints/injection-renderer.ts +44 -0
- package/src/core/constraints/interceptor.ts +3 -2
- package/src/core/constraints/usage-report.ts +254 -0
- package/src/core/effective-constraints.ts +85 -0
- package/src/core/index.ts +4 -1
- package/src/core/project-config-loader.ts +59 -9
- package/src/dashboard/__tests__/data.test.ts +5 -12
- package/src/dashboard/data.ts +9 -19
- package/src/dashboard/types.ts +18 -1
- package/src/index.ts +0 -12
- package/src/knowledge/CONTEXT.md +2 -2
- package/src/monitoring/CONTEXT.md +3 -4
- package/src/monitoring/index.ts +0 -2
- package/src/monitoring/knowledge-evolver.ts +1 -1
- package/src/monitoring/trace-analyzer.ts +15 -10
- package/src/monitoring/traces.ts +10 -6
- package/src/presets/__tests__/standard.test.ts +11 -9
- package/src/presets/standard.ts +24 -15
- package/src/types/constraint.ts +59 -14
- package/src/types/index.ts +1 -3
- package/src/types/monitoring-types.ts +2 -84
- package/src/types/project-config.ts +30 -1
- package/src/types/trace.ts +18 -7
- package/src/verification/CONTEXT.md +1 -1
- package/dist/cli/commands/flow.d.ts +0 -22
- package/dist/cli/commands/flow.d.ts.map +0 -1
- package/dist/cli/commands/flow.js +0 -275
- package/dist/cli/commands/flow.js.map +0 -1
- package/dist/constraints/lifecycle-runner.d.ts +0 -52
- package/dist/constraints/lifecycle-runner.d.ts.map +0 -1
- package/dist/constraints/lifecycle-runner.js +0 -151
- package/dist/constraints/lifecycle-runner.js.map +0 -1
- package/dist/constraints/registry.d.ts +0 -27
- package/dist/constraints/registry.d.ts.map +0 -1
- package/dist/constraints/registry.js +0 -128
- package/dist/constraints/registry.js.map +0 -1
- package/dist/constraints/types.d.ts +0 -53
- package/dist/constraints/types.d.ts.map +0 -1
- package/dist/constraints/types.js +0 -8
- package/dist/constraints/types.js.map +0 -1
- package/dist/core/constraints/checkers/always-pass.d.ts +0 -17
- package/dist/core/constraints/checkers/always-pass.d.ts.map +0 -1
- package/dist/core/constraints/checkers/always-pass.js +0 -23
- package/dist/core/constraints/checkers/always-pass.js.map +0 -1
- package/dist/core/constraints/checkers/guideline-flags.d.ts +0 -9
- package/dist/core/constraints/checkers/guideline-flags.d.ts.map +0 -1
- package/dist/core/constraints/checkers/guideline-flags.js +0 -13
- package/dist/core/constraints/checkers/guideline-flags.js.map +0 -1
- package/dist/core/constraints/checkers/no-any-type.d.ts +0 -6
- package/dist/core/constraints/checkers/no-any-type.d.ts.map +0 -1
- package/dist/core/constraints/checkers/no-any-type.js +0 -42
- package/dist/core/constraints/checkers/no-any-type.js.map +0 -1
- package/dist/core/constraints/checkers/no-excuse-patterns.d.ts +0 -6
- package/dist/core/constraints/checkers/no-excuse-patterns.d.ts.map +0 -1
- package/dist/core/constraints/checkers/no-excuse-patterns.js +0 -25
- package/dist/core/constraints/checkers/no-excuse-patterns.js.map +0 -1
- package/dist/core/constraints/checkers/no-fuzzy-completion-claim.d.ts +0 -6
- package/dist/core/constraints/checkers/no-fuzzy-completion-claim.d.ts.map +0 -1
- package/dist/core/constraints/checkers/no-fuzzy-completion-claim.js +0 -34
- package/dist/core/constraints/checkers/no-fuzzy-completion-claim.js.map +0 -1
- package/dist/core/constraints/checkers/no-performative-agreement.d.ts +0 -8
- package/dist/core/constraints/checkers/no-performative-agreement.d.ts.map +0 -1
- package/dist/core/constraints/checkers/no-performative-agreement.js +0 -23
- package/dist/core/constraints/checkers/no-performative-agreement.js.map +0 -1
- package/dist/core/constraints/checkers/no-simplification-without-approval.d.ts +0 -6
- package/dist/core/constraints/checkers/no-simplification-without-approval.d.ts.map +0 -1
- package/dist/core/constraints/checkers/no-simplification-without-approval.js +0 -30
- package/dist/core/constraints/checkers/no-simplification-without-approval.js.map +0 -1
- package/dist/core/constraints/checkers/test-coverage.d.ts +0 -6
- package/dist/core/constraints/checkers/test-coverage.d.ts.map +0 -1
- package/dist/core/constraints/checkers/test-coverage.js +0 -33
- package/dist/core/constraints/checkers/test-coverage.js.map +0 -1
- package/dist/core/constraints/checkers/yagni.d.ts +0 -8
- package/dist/core/constraints/checkers/yagni.d.ts.map +0 -1
- package/dist/core/constraints/checkers/yagni.js +0 -96
- package/dist/core/constraints/checkers/yagni.js.map +0 -1
- package/dist/core/constraints/definitions/tips.d.ts +0 -7
- package/dist/core/constraints/definitions/tips.d.ts.map +0 -1
- package/dist/core/constraints/definitions/tips.js +0 -62
- package/dist/core/constraints/definitions/tips.js.map +0 -1
- package/dist/evolution/auto-evolve.d.ts +0 -35
- package/dist/evolution/auto-evolve.d.ts.map +0 -1
- package/dist/evolution/auto-evolve.js +0 -64
- package/dist/evolution/auto-evolve.js.map +0 -1
- package/dist/evolution/index.d.ts +0 -2
- package/dist/evolution/index.d.ts.map +0 -1
- package/dist/evolution/index.js +0 -18
- package/dist/evolution/index.js.map +0 -1
- package/dist/monitoring/constraint-evolver.d.ts +0 -120
- package/dist/monitoring/constraint-evolver.d.ts.map +0 -1
- package/dist/monitoring/constraint-evolver.js +0 -410
- package/dist/monitoring/constraint-evolver.js.map +0 -1
- package/src/__tests__/constraint-evolver.test.ts +0 -405
- package/src/__tests__/doctor-evolver.test.ts +0 -381
- package/src/cli/commands/__tests__/flow.test.ts +0 -343
- package/src/cli/commands/flow.ts +0 -277
- package/src/constraints/__tests__/lifecycle-runner.test.ts +0 -246
- package/src/constraints/__tests__/registry.test.ts +0 -196
- package/src/constraints/lifecycle-runner.ts +0 -184
- package/src/constraints/registry.ts +0 -134
- package/src/constraints/types.ts +0 -59
- package/src/core/constraints/checkers/always-pass.ts +0 -22
- package/src/core/constraints/checkers/guideline-flags.ts +0 -30
- package/src/core/constraints/checkers/no-any-type.ts +0 -42
- package/src/core/constraints/checkers/no-excuse-patterns.ts +0 -24
- package/src/core/constraints/checkers/no-fuzzy-completion-claim.ts +0 -33
- package/src/core/constraints/checkers/no-performative-agreement.ts +0 -22
- package/src/core/constraints/checkers/no-simplification-without-approval.ts +0 -29
- package/src/core/constraints/checkers/test-coverage.ts +0 -35
- package/src/core/constraints/checkers/yagni.ts +0 -65
- package/src/core/constraints/definitions/tips.ts +0 -63
- package/src/evolution/CONTEXT.md +0 -22
- package/src/evolution/__tests__/auto-evolve.test.ts +0 -319
- package/src/evolution/auto-evolve.ts +0 -98
- package/src/evolution/index.ts +0 -1
- package/src/monitoring/constraint-evolver.ts +0 -501
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities-parser.js","sourceRoot":"","sources":["../../../src/core/constraints/capabilities-parser.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCH,4DAqBC;AAKD,0DAMC;AAQD,0DAOC;
|
|
1
|
+
{"version":3,"file":"capabilities-parser.js","sourceRoot":"","sources":["../../../src/core/constraints/capabilities-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 约束检查引擎
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* - Iron Laws:检查失败立即抛出异常
|
|
6
|
-
* - Guidelines:检查失败记录警告
|
|
7
|
-
* -
|
|
4
|
+
* kind 二元模型(ADR-0001):
|
|
5
|
+
* - check · Iron Laws:检查失败立即抛出异常
|
|
6
|
+
* - check · Guidelines:检查失败记录警告
|
|
7
|
+
* - prompt:不执行 checker,仅参与注入
|
|
8
8
|
*/
|
|
9
9
|
import { Constraint, ConstraintContext, ConstraintResult, ConstraintCheckResult } from '../../types/constraint';
|
|
10
10
|
import type { ExecutionTrace } from '../../types/trace';
|
|
@@ -77,6 +77,9 @@ export declare class ConstraintChecker {
|
|
|
77
77
|
tips: Record<string, Constraint & {
|
|
78
78
|
check: (ctx: ConstraintContext) => Promise<ConstraintResult>;
|
|
79
79
|
}>;
|
|
80
|
+
prompts: Record<string, Constraint & {
|
|
81
|
+
check: (ctx: ConstraintContext) => Promise<ConstraintResult>;
|
|
82
|
+
}>;
|
|
80
83
|
};
|
|
81
84
|
/**
|
|
82
85
|
* 检查单个约束
|
|
@@ -92,6 +95,9 @@ export declare class ConstraintChecker {
|
|
|
92
95
|
private getSeverity;
|
|
93
96
|
/**
|
|
94
97
|
* 判断约束是否匹配当前触发条件
|
|
98
|
+
*
|
|
99
|
+
* context.operation 为主触发条件,context.extraTriggers 为次级推断
|
|
100
|
+
* (ADR-0001:pre-commit 代码变更附加 code_implementation),任一命中即匹配。
|
|
95
101
|
*/
|
|
96
102
|
private matchesTrigger;
|
|
97
103
|
/**
|
|
@@ -101,7 +107,8 @@ export declare class ConstraintChecker {
|
|
|
101
107
|
/**
|
|
102
108
|
* 检查约束前置条件(工单 21:分发至 checkers/ 注册表)
|
|
103
109
|
*
|
|
104
|
-
*
|
|
110
|
+
* 注册表闭环(ADR-0001):kind='check' 未注册 checker 直接抛错,
|
|
111
|
+
* 不再有"未注册默认通过"路径;kind='prompt' 在 check() 入口已短路。
|
|
105
112
|
*/
|
|
106
113
|
private checkPrecondition;
|
|
107
114
|
/**
|
|
@@ -114,6 +121,7 @@ export declare class ConstraintChecker {
|
|
|
114
121
|
ironLaws: Constraint[];
|
|
115
122
|
guidelines: Constraint[];
|
|
116
123
|
tips: Constraint[];
|
|
124
|
+
prompts: Constraint[];
|
|
117
125
|
};
|
|
118
126
|
/**
|
|
119
127
|
* 执行三层约束检查
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EAItB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAsC1E;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;CACrC;AAID;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAE3C,mBAAmB;IACnB,OAAO,CAAC,YAAY,CAAwC;IAE5D,6CAA6C;IAC7C,OAAO,CAAC,KAAK,CAA+C;IAE5D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAA6C;IAE7D,6DAA6D;IAC7D,OAAO,CAAC,aAAa,CAAsC;IAE3D,OAAO;IAEP;;OAEG;IACH,OAAO,CAAC,OAAO;IAUf;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI/C;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAItD;;;;OAIG;IACH,cAAc,CAAC,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,GAAG;QAC7D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG;YAAE,KAAK,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;SAAE,CAAC,CAAC;QACxG,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG;YAAE,KAAK,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;SAAE,CAAC,CAAC;QAC1G,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG;YAAE,KAAK,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;SAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* 约束检查引擎
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* - Iron Laws:检查失败立即抛出异常
|
|
7
|
-
* - Guidelines:检查失败记录警告
|
|
8
|
-
* -
|
|
5
|
+
* kind 二元模型(ADR-0001):
|
|
6
|
+
* - check · Iron Laws:检查失败立即抛出异常
|
|
7
|
+
* - check · Guidelines:检查失败记录警告
|
|
8
|
+
* - prompt:不执行 checker,仅参与注入
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.constraintChecker = exports.ConstraintChecker = void 0;
|
|
@@ -125,8 +125,8 @@ class ConstraintChecker {
|
|
|
125
125
|
getConstraints(customConfig) {
|
|
126
126
|
const config = customConfig ?? this.customConfig;
|
|
127
127
|
const source = config
|
|
128
|
-
? { ironLaws: config.ironLaws, guidelines: config.guidelines, tips: config.tips }
|
|
129
|
-
: { ironLaws: definitions_1.IRON_LAWS, guidelines: definitions_1.GUIDELINES, tips: definitions_1.TIPS };
|
|
128
|
+
? { ironLaws: config.ironLaws, guidelines: config.guidelines, tips: config.tips, prompts: config.prompts ?? definitions_1.PROMPTS }
|
|
129
|
+
: { ironLaws: definitions_1.IRON_LAWS, guidelines: definitions_1.GUIDELINES, tips: definitions_1.TIPS, prompts: definitions_1.PROMPTS };
|
|
130
130
|
// Wire unified check() method on every constraint
|
|
131
131
|
const wire = (constraints) => {
|
|
132
132
|
for (const c of Object.values(constraints)) {
|
|
@@ -134,12 +134,27 @@ class ConstraintChecker {
|
|
|
134
134
|
}
|
|
135
135
|
return constraints;
|
|
136
136
|
};
|
|
137
|
-
return {
|
|
137
|
+
return {
|
|
138
|
+
ironLaws: wire(source.ironLaws),
|
|
139
|
+
guidelines: wire(source.guidelines),
|
|
140
|
+
tips: wire(source.tips),
|
|
141
|
+
prompts: wire(source.prompts),
|
|
142
|
+
};
|
|
138
143
|
}
|
|
139
144
|
/**
|
|
140
145
|
* 检查单个约束
|
|
141
146
|
*/
|
|
142
147
|
async check(constraint, context) {
|
|
148
|
+
// prompt 类约束不参与 checker 执行(ADR-0001:仅参与注入)
|
|
149
|
+
if (constraint.kind === 'prompt') {
|
|
150
|
+
return {
|
|
151
|
+
id: constraint.id,
|
|
152
|
+
level: constraint.level,
|
|
153
|
+
satisfied: true,
|
|
154
|
+
constraint,
|
|
155
|
+
checkedAt: new Date(),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
143
158
|
// 检查例外条件(仅 Guidelines 有效)
|
|
144
159
|
if (constraint.level === 'guideline' && constraint.exceptions) {
|
|
145
160
|
if (this.checkException(constraint, context)) {
|
|
@@ -153,8 +168,20 @@ class ConstraintChecker {
|
|
|
153
168
|
};
|
|
154
169
|
}
|
|
155
170
|
}
|
|
156
|
-
//
|
|
157
|
-
const
|
|
171
|
+
// 检查前置条件('skip' = 约定未采用/证据未接线:satisfied 置 true 但不计 pass/fail)
|
|
172
|
+
const outcome = await this.checkPrecondition(constraint, context);
|
|
173
|
+
if (outcome === 'skip') {
|
|
174
|
+
return {
|
|
175
|
+
id: constraint.id,
|
|
176
|
+
level: constraint.level,
|
|
177
|
+
satisfied: true,
|
|
178
|
+
skipped: true,
|
|
179
|
+
constraint,
|
|
180
|
+
message: `约束 ${constraint.id} 跳过评估(约定未采用或证据未接线)`,
|
|
181
|
+
checkedAt: new Date(),
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
const satisfied = outcome;
|
|
158
185
|
return {
|
|
159
186
|
id: constraint.id,
|
|
160
187
|
level: constraint.level,
|
|
@@ -182,6 +209,7 @@ class ConstraintChecker {
|
|
|
182
209
|
return 'error';
|
|
183
210
|
case 'guideline':
|
|
184
211
|
return 'warning';
|
|
212
|
+
case 'prompt':
|
|
185
213
|
case 'tip':
|
|
186
214
|
return 'info';
|
|
187
215
|
default:
|
|
@@ -190,10 +218,14 @@ class ConstraintChecker {
|
|
|
190
218
|
}
|
|
191
219
|
/**
|
|
192
220
|
* 判断约束是否匹配当前触发条件
|
|
221
|
+
*
|
|
222
|
+
* context.operation 为主触发条件,context.extraTriggers 为次级推断
|
|
223
|
+
* (ADR-0001:pre-commit 代码变更附加 code_implementation),任一命中即匹配。
|
|
193
224
|
*/
|
|
194
|
-
matchesTrigger(constraint,
|
|
225
|
+
matchesTrigger(constraint, context) {
|
|
195
226
|
const triggers = (0, exec_1.normalizeTriggers)(constraint.trigger);
|
|
196
|
-
|
|
227
|
+
const operations = [context.operation, ...(context.extraTriggers ?? [])];
|
|
228
|
+
return operations.some(op => triggers.includes(op));
|
|
197
229
|
}
|
|
198
230
|
/**
|
|
199
231
|
* 记录约束检查的 trace
|
|
@@ -203,7 +235,7 @@ class ConstraintChecker {
|
|
|
203
235
|
constraintId: constraint.id,
|
|
204
236
|
level: constraint.level,
|
|
205
237
|
timestamp: Date.now(),
|
|
206
|
-
result: checkResult.satisfied ? 'pass' : 'fail',
|
|
238
|
+
result: checkResult.skipped ? 'skip' : checkResult.satisfied ? 'pass' : 'fail',
|
|
207
239
|
operation: context.operation,
|
|
208
240
|
severity: this.getSeverity(constraint.level),
|
|
209
241
|
exceptionApplied: checkResult.message?.includes('豁免')
|
|
@@ -216,12 +248,15 @@ class ConstraintChecker {
|
|
|
216
248
|
/**
|
|
217
249
|
* 检查约束前置条件(工单 21:分发至 checkers/ 注册表)
|
|
218
250
|
*
|
|
219
|
-
*
|
|
251
|
+
* 注册表闭环(ADR-0001):kind='check' 未注册 checker 直接抛错,
|
|
252
|
+
* 不再有"未注册默认通过"路径;kind='prompt' 在 check() 入口已短路。
|
|
220
253
|
*/
|
|
221
254
|
async checkPrecondition(constraint, context) {
|
|
222
255
|
const impl = (0, checkers_1.getConstraintCheck)(constraint.id);
|
|
223
|
-
if (!impl)
|
|
224
|
-
|
|
256
|
+
if (!impl) {
|
|
257
|
+
throw new Error(`[harness] 约束 "${constraint.id}" (kind='check') 未注册 checker,拒绝静默通过。` +
|
|
258
|
+
`请在 checkers/ 注册实现,或将约束改为 kind='prompt'。`);
|
|
259
|
+
}
|
|
225
260
|
const projectPath = context.projectPath || process.cwd();
|
|
226
261
|
const env = {
|
|
227
262
|
context,
|
|
@@ -239,20 +274,21 @@ class ConstraintChecker {
|
|
|
239
274
|
* @param customConfig 可选,per-request 自定义配置(避免多请求间的单例状态污染)
|
|
240
275
|
*/
|
|
241
276
|
findApplicableConstraints(context, customConfig) {
|
|
242
|
-
const
|
|
277
|
+
const operations = [context.operation, ...(context.extraTriggers ?? [])];
|
|
243
278
|
const constraints = this.getConstraints(customConfig);
|
|
244
279
|
const filterByTrigger = (constraintSet) => {
|
|
245
280
|
return Object.values(constraintSet).filter(constraint => {
|
|
246
281
|
const triggers = Array.isArray(constraint.trigger)
|
|
247
282
|
? constraint.trigger
|
|
248
283
|
: [constraint.trigger];
|
|
249
|
-
return triggers.includes(
|
|
284
|
+
return operations.some(op => triggers.includes(op));
|
|
250
285
|
});
|
|
251
286
|
};
|
|
252
287
|
return {
|
|
253
288
|
ironLaws: filterByTrigger(constraints.ironLaws),
|
|
254
289
|
guidelines: filterByTrigger(constraints.guidelines),
|
|
255
290
|
tips: filterByTrigger(constraints.tips),
|
|
291
|
+
prompts: filterByTrigger(constraints.prompts),
|
|
256
292
|
};
|
|
257
293
|
}
|
|
258
294
|
/**
|
|
@@ -282,7 +318,7 @@ class ConstraintChecker {
|
|
|
282
318
|
const constraints = this.getConstraints(customConfig);
|
|
283
319
|
// 1. Iron Laws: 必须全部通过
|
|
284
320
|
for (const constraint of Object.values(constraints.ironLaws)) {
|
|
285
|
-
if (!this.matchesTrigger(constraint, context
|
|
321
|
+
if (!this.matchesTrigger(constraint, context))
|
|
286
322
|
continue;
|
|
287
323
|
const checkResult = await this.check(constraint, context);
|
|
288
324
|
result.ironLaws.push(checkResult);
|
|
@@ -294,7 +330,7 @@ class ConstraintChecker {
|
|
|
294
330
|
}
|
|
295
331
|
// 2. Guidelines: 记录警告
|
|
296
332
|
for (const constraint of Object.values(constraints.guidelines)) {
|
|
297
|
-
if (!this.matchesTrigger(constraint, context
|
|
333
|
+
if (!this.matchesTrigger(constraint, context))
|
|
298
334
|
continue;
|
|
299
335
|
const checkResult = await this.check(constraint, context);
|
|
300
336
|
result.guidelines.push(checkResult);
|
|
@@ -305,7 +341,7 @@ class ConstraintChecker {
|
|
|
305
341
|
}
|
|
306
342
|
// 3. Tips: 仅记录
|
|
307
343
|
for (const constraint of Object.values(constraints.tips)) {
|
|
308
|
-
if (!this.matchesTrigger(constraint, context
|
|
344
|
+
if (!this.matchesTrigger(constraint, context))
|
|
309
345
|
continue;
|
|
310
346
|
const checkResult = await this.check(constraint, context);
|
|
311
347
|
result.tips.push(checkResult);
|
|
@@ -342,7 +378,7 @@ class ConstraintChecker {
|
|
|
342
378
|
const traceCollector = this.traceRecorder;
|
|
343
379
|
const constraints = this.getConstraints(customConfig);
|
|
344
380
|
for (const constraint of Object.values(constraints.ironLaws)) {
|
|
345
|
-
if (!this.matchesTrigger(constraint, context
|
|
381
|
+
if (!this.matchesTrigger(constraint, context))
|
|
346
382
|
continue;
|
|
347
383
|
const checkResult = await this.check(constraint, context);
|
|
348
384
|
result.ironLaws.push(checkResult);
|
|
@@ -351,7 +387,7 @@ class ConstraintChecker {
|
|
|
351
387
|
result.passed = false;
|
|
352
388
|
}
|
|
353
389
|
for (const constraint of Object.values(constraints.guidelines)) {
|
|
354
|
-
if (!this.matchesTrigger(constraint, context
|
|
390
|
+
if (!this.matchesTrigger(constraint, context))
|
|
355
391
|
continue;
|
|
356
392
|
const checkResult = await this.check(constraint, context);
|
|
357
393
|
result.guidelines.push(checkResult);
|
|
@@ -360,7 +396,7 @@ class ConstraintChecker {
|
|
|
360
396
|
result.warningCount++;
|
|
361
397
|
}
|
|
362
398
|
for (const constraint of Object.values(constraints.tips)) {
|
|
363
|
-
if (!this.matchesTrigger(constraint, context
|
|
399
|
+
if (!this.matchesTrigger(constraint, context))
|
|
364
400
|
continue;
|
|
365
401
|
const checkResult = await this.check(constraint, context);
|
|
366
402
|
result.tips.push(checkResult);
|
|
@@ -383,7 +419,7 @@ class ConstraintChecker {
|
|
|
383
419
|
*/
|
|
384
420
|
async beforeExecution(context, customConfig) {
|
|
385
421
|
const constraints = this.getConstraints(customConfig);
|
|
386
|
-
const operations =
|
|
422
|
+
const operations = [context.operation, ...(context.extraTriggers ?? [])];
|
|
387
423
|
for (const constraint of Object.values(constraints.ironLaws)) {
|
|
388
424
|
if (!(0, exec_1.normalizeTriggers)(constraint.trigger).some((t) => operations.includes(t)))
|
|
389
425
|
continue;
|
|
@@ -406,7 +442,8 @@ async function checkConstraint(constraintId, context) {
|
|
|
406
442
|
const constraints = checker.getConstraints();
|
|
407
443
|
const constraint = constraints.ironLaws[constraintId] ||
|
|
408
444
|
constraints.guidelines[constraintId] ||
|
|
409
|
-
constraints.tips[constraintId]
|
|
445
|
+
constraints.tips[constraintId] ||
|
|
446
|
+
constraints.prompts[constraintId];
|
|
410
447
|
if (!constraint) {
|
|
411
448
|
return {
|
|
412
449
|
id: constraintId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,15 @@
|
|
|
5
5
|
* 1. Git diff 增量 — 当前变更的非测试文件是否在文档中有记录
|
|
6
6
|
* 2. 全量扫描 — 源码根下所有源文件是否都在 CAPABILITIES.md 中(T-058)
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* 覆盖判定两步统一(isCoveredBy):目录条目(以 / 结尾)前缀匹配,
|
|
9
|
+
* 文件条目精确匹配或路径边界后缀匹配。module 模式下目录条目参与覆盖,
|
|
10
|
+
* 未覆盖文件按源码根下第一级子目录聚合。
|
|
11
|
+
*
|
|
12
|
+
* 清单格式(计数行,mode=listing 或嗅探命中)无文件表可核对,直接放行;
|
|
13
|
+
* 检查异常时 fail-open 但输出 console.warn 保留可观测性。
|
|
14
|
+
*
|
|
15
|
+
* ADR-0001 存在性探测:项目根无 CAPABILITIES.md(未采用该约定)时返回 'skip',
|
|
16
|
+
* 不计 pass/fail,避免在未采用约定的项目上全量误报。
|
|
10
17
|
*/
|
|
11
18
|
import type { ConstraintCheck } from './types';
|
|
12
19
|
export declare const capabilitySync: ConstraintCheck;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/capability-sync.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"capability-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/capability-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAoB/C,eAAO,MAAM,cAAc,EAAE,eA8F5B,CAAC"}
|
|
@@ -6,8 +6,15 @@
|
|
|
6
6
|
* 1. Git diff 增量 — 当前变更的非测试文件是否在文档中有记录
|
|
7
7
|
* 2. 全量扫描 — 源码根下所有源文件是否都在 CAPABILITIES.md 中(T-058)
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* 覆盖判定两步统一(isCoveredBy):目录条目(以 / 结尾)前缀匹配,
|
|
10
|
+
* 文件条目精确匹配或路径边界后缀匹配。module 模式下目录条目参与覆盖,
|
|
11
|
+
* 未覆盖文件按源码根下第一级子目录聚合。
|
|
12
|
+
*
|
|
13
|
+
* 清单格式(计数行,mode=listing 或嗅探命中)无文件表可核对,直接放行;
|
|
14
|
+
* 检查异常时 fail-open 但输出 console.warn 保留可观测性。
|
|
15
|
+
*
|
|
16
|
+
* ADR-0001 存在性探测:项目根无 CAPABILITIES.md(未采用该约定)时返回 'skip',
|
|
17
|
+
* 不计 pass/fail,避免在未采用约定的项目上全量误报。
|
|
11
18
|
*/
|
|
12
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
20
|
exports.capabilitySync = void 0;
|
|
@@ -16,10 +23,28 @@ const path_1 = require("path");
|
|
|
16
23
|
const capabilities_parser_1 = require("../capabilities-parser");
|
|
17
24
|
const project_config_loader_1 = require("../../project-config-loader");
|
|
18
25
|
const detect_source_roots_1 = require("../../../utils/detect-source-roots");
|
|
26
|
+
/** markdown 表格分隔行(|------|------|):区分「无表格的散文文档」与「有表格但零条目」 */
|
|
27
|
+
const TABLE_SEPARATOR_REGEX = /^\s*\|[\s:|-]+\|\s*$/m;
|
|
28
|
+
/**
|
|
29
|
+
* 变更文件是否被条目覆盖
|
|
30
|
+
*
|
|
31
|
+
* 目录条目(以 / 结尾)前缀匹配;文件条目精确匹配或路径边界后缀匹配
|
|
32
|
+
* (兼容 basename 条目,但拒绝 xfoo.ts 命中 foo.ts、docs/src/foo.tsx 命中 src/foo.ts
|
|
33
|
+
* 这类 endsWith/includes 模糊匹配造成的碰撞)
|
|
34
|
+
*/
|
|
35
|
+
function isCoveredBy(entries, changed) {
|
|
36
|
+
return entries.some((listed) => listed.endsWith('/')
|
|
37
|
+
? changed.startsWith(listed)
|
|
38
|
+
: changed === listed || changed.endsWith('/' + listed));
|
|
39
|
+
}
|
|
19
40
|
exports.capabilitySync = {
|
|
20
41
|
id: 'capability_sync',
|
|
21
42
|
async evaluate(env) {
|
|
22
43
|
const projectPath = env.projectPath;
|
|
44
|
+
// ADR-0001 存在性探测:项目未采用 CAPABILITIES.md 约定 → skip(不计 pass/fail)
|
|
45
|
+
if (!(0, fs_1.existsSync)((0, path_1.join)(projectPath, 'CAPABILITIES.md'))) {
|
|
46
|
+
return 'skip';
|
|
47
|
+
}
|
|
23
48
|
try {
|
|
24
49
|
const capabilitiesPath = (0, path_1.join)(projectPath, 'CAPABILITIES.md');
|
|
25
50
|
if (!(0, fs_1.existsSync)(capabilitiesPath)) {
|
|
@@ -28,35 +53,41 @@ exports.capabilitySync = {
|
|
|
28
53
|
const changedCodeFiles = diff.split('\n').filter((f) => f.endsWith('.ts') || f.endsWith('.tsx') || f.endsWith('.js'));
|
|
29
54
|
return changedCodeFiles.length === 0;
|
|
30
55
|
}
|
|
31
|
-
const
|
|
56
|
+
const content = (0, fs_1.readFileSync)(capabilitiesPath, 'utf-8');
|
|
57
|
+
const capabilitiesMode = (0, project_config_loader_1.getCapabilitiesMode)(projectPath);
|
|
58
|
+
// 清单格式(计数行)没有文件表可核对,计数由 sync-docs 维护,直接放行
|
|
59
|
+
if (capabilitiesMode === 'listing' || (0, capabilities_parser_1.isCapabilityListingFormat)(content)) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
const listedFiles = (0, capabilities_parser_1.parseCapabilitiesEntries)(content, { secondColumnOnly: true });
|
|
63
|
+
// module 模式下目录条目同样构成覆盖依据,与 step 2 判定对齐
|
|
64
|
+
const entries = capabilitiesMode === 'module'
|
|
65
|
+
? (0, capabilities_parser_1.parseCapabilitiesEntries)(content, { includeDirs: true })
|
|
66
|
+
: listedFiles;
|
|
67
|
+
// 有表格但零条目 = 文档什么都没登记,不得直接放行;无表格的散文文档保持历史放行
|
|
68
|
+
const hasTable = TABLE_SEPARATOR_REGEX.test(content);
|
|
32
69
|
// ── Step 1: Git diff 增量检查 ──
|
|
33
70
|
const diff = await env.stagedDiffNames();
|
|
34
71
|
const changedCodeFiles = diff.split('\n').filter((f) => f.endsWith('.ts') || f.endsWith('.tsx') || f.endsWith('.js'));
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
72
|
+
const significantChanges = changedCodeFiles.filter((f) => !f.includes('__tests__') && !f.includes('.test.') && !f.includes('.spec.'));
|
|
73
|
+
// 每个变更文件都必须被覆盖(every;some 会让一个命中掩盖其余漏网)
|
|
74
|
+
if (significantChanges.length > 0 &&
|
|
75
|
+
(entries.length > 0 || hasTable) &&
|
|
76
|
+
!significantChanges.every((changed) => isCoveredBy(entries, changed))) {
|
|
77
|
+
return false;
|
|
42
78
|
}
|
|
43
79
|
// ── Step 2: 全量源码根扫描(T-058 修复核心)──
|
|
44
|
-
const capabilitiesMode = (0, project_config_loader_1.getCapabilitiesMode)(projectPath);
|
|
45
80
|
if (capabilitiesMode === 'module') {
|
|
46
|
-
// module
|
|
81
|
+
// module 模式:目录条目参与覆盖(isCoveredBy 统一判定);
|
|
47
82
|
// 未覆盖文件按源码根下第一级子目录聚合,任一组非空即失败
|
|
48
|
-
|
|
49
|
-
if (entries.length > 0) {
|
|
50
|
-
const fileEntries = entries.filter(e => !e.endsWith('/'));
|
|
51
|
-
const dirEntries = entries.filter(e => e.endsWith('/'));
|
|
83
|
+
if (entries.length > 0 || hasTable) {
|
|
52
84
|
const uncoveredDirs = new Set();
|
|
53
85
|
const sourceRoots = (0, detect_source_roots_1.detectSourceRoots)(projectPath);
|
|
54
86
|
for (const root of sourceRoots) {
|
|
55
87
|
const srcDir = (0, path_1.join)(projectPath, root);
|
|
56
88
|
if ((0, fs_1.existsSync)(srcDir)) {
|
|
57
89
|
for (const file of env.srcScan(root)) {
|
|
58
|
-
|
|
59
|
-
if (!covered) {
|
|
90
|
+
if (!isCoveredBy(entries, file)) {
|
|
60
91
|
uncoveredDirs.add((0, capabilities_parser_1.aggregateToSourceSubdir)(root, file));
|
|
61
92
|
}
|
|
62
93
|
}
|
|
@@ -66,13 +97,13 @@ exports.capabilitySync = {
|
|
|
66
97
|
return false;
|
|
67
98
|
}
|
|
68
99
|
}
|
|
69
|
-
else if (listedFiles.length > 0) {
|
|
100
|
+
else if (listedFiles.length > 0 || hasTable) {
|
|
70
101
|
const sourceRoots = (0, detect_source_roots_1.detectSourceRoots)(projectPath);
|
|
71
102
|
for (const root of sourceRoots) {
|
|
72
103
|
const srcDir = (0, path_1.join)(projectPath, root);
|
|
73
104
|
if ((0, fs_1.existsSync)(srcDir)) {
|
|
74
105
|
for (const file of env.srcScan(root)) {
|
|
75
|
-
if (!listedFiles
|
|
106
|
+
if (!isCoveredBy(listedFiles, file)) {
|
|
76
107
|
return false;
|
|
77
108
|
}
|
|
78
109
|
}
|
|
@@ -81,8 +112,10 @@ exports.capabilitySync = {
|
|
|
81
112
|
}
|
|
82
113
|
return true;
|
|
83
114
|
}
|
|
84
|
-
catch {
|
|
85
|
-
|
|
115
|
+
catch (err) {
|
|
116
|
+
// fail-open 语义保留,但必须可观测:静默吞错会让解析 bug 变成「永远通过」
|
|
117
|
+
console.warn('[capability_sync] 检查执行异常,默认放行:', err);
|
|
118
|
+
return true;
|
|
86
119
|
}
|
|
87
120
|
},
|
|
88
121
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-sync.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/capability-sync.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"capability-sync.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/capability-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* context_doc_sync:关键目录必须有 CONTEXT.md(工单 21)
|
|
3
|
+
*
|
|
4
|
+
* ADR-0001 存在性探测:项目未配置 governance.context_files 约定
|
|
5
|
+
* (未启用或无 required_dirs)时返回 'skip',不计 pass/fail。
|
|
3
6
|
*/
|
|
4
7
|
import type { ConstraintCheck } from './types';
|
|
5
8
|
export declare const contextDocSync: ConstraintCheck;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-doc-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/context-doc-sync.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"context-doc-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/context-doc-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,cAAc,EAAE,eA8B5B,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* context_doc_sync:关键目录必须有 CONTEXT.md(工单 21)
|
|
4
|
+
*
|
|
5
|
+
* ADR-0001 存在性探测:项目未配置 governance.context_files 约定
|
|
6
|
+
* (未启用或无 required_dirs)时返回 'skip',不计 pass/fail。
|
|
4
7
|
*/
|
|
5
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
9
|
exports.contextDocSync = void 0;
|
|
@@ -16,9 +19,12 @@ exports.contextDocSync = {
|
|
|
16
19
|
const governance = config.governance;
|
|
17
20
|
const contextFiles = governance?.context_files;
|
|
18
21
|
if (!contextFiles?.enabled || !Array.isArray(contextFiles.required_dirs)) {
|
|
19
|
-
return
|
|
22
|
+
return 'skip'; // 未配置 context_files 约定,跳过评估
|
|
20
23
|
}
|
|
21
24
|
const requiredDirs = contextFiles.required_dirs;
|
|
25
|
+
if (requiredDirs.length === 0) {
|
|
26
|
+
return 'skip'; // 无目标目录,约定未生效
|
|
27
|
+
}
|
|
22
28
|
for (const dir of requiredDirs) {
|
|
23
29
|
const contextPath = (0, path_1.join)(projectPath, dir, 'CONTEXT.md');
|
|
24
30
|
if (!(0, fs_1.existsSync)(contextPath)) {
|
|
@@ -28,7 +34,7 @@ exports.contextDocSync = {
|
|
|
28
34
|
return true;
|
|
29
35
|
}
|
|
30
36
|
catch {
|
|
31
|
-
return
|
|
37
|
+
return 'skip'; // 配置不存在或解析失败 = 无法判定约定,跳过
|
|
32
38
|
}
|
|
33
39
|
},
|
|
34
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-doc-sync.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/context-doc-sync.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"context-doc-sync.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/context-doc-sync.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2BAAgC;AAChC,+BAA4B;AAC5B,uEAAmE;AAGtD,QAAA,cAAc,GAAoB;IAC7C,EAAE,EAAE,kBAAkB;IACtB,KAAK,CAAC,QAAQ,CAAC,GAAG;QAChB,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,4CAAoB,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAiD,CAAC;YAC5E,MAAM,YAAY,GAAG,UAAU,EAAE,aAAoD,CAAC;YAEtF,IAAI,CAAC,YAAY,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzE,OAAO,MAAM,CAAC,CAAC,4BAA4B;YAC7C,CAAC;YAED,MAAM,YAAY,GAAG,YAAY,CAAC,aAAyB,CAAC;YAC5D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC,CAAC,cAAc;YAC/B,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;gBACzD,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;oBAC7B,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,CAAC,yBAAyB;QAC1C,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-freshness.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/docs-freshness.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"docs-freshness.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/docs-freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAkG/C,eAAO,MAAM,aAAa,EAAE,eA6C3B,CAAC"}
|