@dommaker/harness 1.9.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.md +9 -12
- package/dist/cli/commands/check.d.ts +3 -3
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +41 -78
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/constraints-report.d.ts +2 -10
- package/dist/cli/commands/constraints-report.d.ts.map +1 -1
- package/dist/cli/commands/constraints-report.js +4 -57
- package/dist/cli/commands/constraints-report.js.map +1 -1
- package/dist/cli/commands/constraints-retire.d.ts +9 -23
- package/dist/cli/commands/constraints-retire.d.ts.map +1 -1
- package/dist/cli/commands/constraints-retire.js +39 -121
- package/dist/cli/commands/constraints-retire.js.map +1 -1
- package/dist/cli/commands/constraints.d.ts +3 -8
- package/dist/cli/commands/constraints.d.ts.map +1 -1
- package/dist/cli/commands/constraints.js +8 -23
- package/dist/cli/commands/constraints.js.map +1 -1
- package/dist/cli/commands/definitions.d.ts.map +1 -1
- package/dist/cli/commands/definitions.js +7 -12
- package/dist/cli/commands/definitions.js.map +1 -1
- package/dist/cli/commands/init.d.ts +0 -32
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +7 -149
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +14 -17
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/scaffold-templates.d.ts +1 -3
- package/dist/cli/commands/scaffold-templates.d.ts.map +1 -1
- package/dist/cli/commands/scaffold-templates.js +2 -53
- package/dist/cli/commands/scaffold-templates.js.map +1 -1
- package/dist/cli/commands/scaffold.d.ts +0 -2
- package/dist/cli/commands/scaffold.d.ts.map +1 -1
- package/dist/cli/commands/scaffold.js +0 -10
- package/dist/cli/commands/scaffold.js.map +1 -1
- package/dist/cli/commands/status.js +10 -10
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/sync-docs/agents-syncer.d.ts +0 -2
- package/dist/cli/commands/sync-docs/agents-syncer.d.ts.map +1 -1
- package/dist/cli/commands/sync-docs/agents-syncer.js +4 -23
- package/dist/cli/commands/sync-docs/agents-syncer.js.map +1 -1
- package/dist/core/constraints/capabilities-parser.d.ts.map +1 -1
- package/dist/core/constraints/capabilities-parser.js +16 -4
- package/dist/core/constraints/capabilities-parser.js.map +1 -1
- package/dist/core/constraints/checker.d.ts +15 -24
- package/dist/core/constraints/checker.d.ts.map +1 -1
- package/dist/core/constraints/checker.js +33 -72
- package/dist/core/constraints/checker.js.map +1 -1
- package/dist/core/constraints/checkers/docs-freshness.js +1 -1
- package/dist/core/constraints/checkers/docs-freshness.js.map +1 -1
- package/dist/core/constraints/checkers/governance-presence.d.ts +2 -1
- package/dist/core/constraints/checkers/governance-presence.d.ts.map +1 -1
- package/dist/core/constraints/checkers/governance-presence.js +4 -3
- package/dist/core/constraints/checkers/governance-presence.js.map +1 -1
- package/dist/core/constraints/checkers/index.d.ts +1 -1
- package/dist/core/constraints/checkers/index.d.ts.map +1 -1
- package/dist/core/constraints/checkers/index.js +4 -8
- package/dist/core/constraints/checkers/index.js.map +1 -1
- package/dist/core/constraints/checkers/iron-flags.d.ts +3 -4
- package/dist/core/constraints/checkers/iron-flags.d.ts.map +1 -1
- package/dist/core/constraints/checkers/iron-flags.js +4 -5
- package/dist/core/constraints/checkers/iron-flags.js.map +1 -1
- package/dist/core/constraints/checkers/no-test-simplification.js +1 -1
- package/dist/core/constraints/checkers/no-test-simplification.js.map +1 -1
- package/dist/core/constraints/checkers/types.d.ts +1 -1
- package/dist/core/constraints/checkers/types.js +1 -1
- package/dist/core/constraints/definitions/guidelines.d.ts +4 -4
- package/dist/core/constraints/definitions/guidelines.d.ts.map +1 -1
- package/dist/core/constraints/definitions/guidelines.js +9 -25
- package/dist/core/constraints/definitions/guidelines.js.map +1 -1
- package/dist/core/constraints/definitions/iron-laws.d.ts +4 -4
- package/dist/core/constraints/definitions/iron-laws.d.ts.map +1 -1
- package/dist/core/constraints/definitions/iron-laws.js +10 -81
- package/dist/core/constraints/definitions/iron-laws.js.map +1 -1
- package/dist/core/constraints/definitions.d.ts +7 -9
- package/dist/core/constraints/definitions.d.ts.map +1 -1
- package/dist/core/constraints/definitions.js +13 -16
- package/dist/core/constraints/definitions.js.map +1 -1
- package/dist/core/constraints/index.d.ts +2 -5
- package/dist/core/constraints/index.d.ts.map +1 -1
- package/dist/core/constraints/index.js +3 -13
- package/dist/core/constraints/index.js.map +1 -1
- package/dist/core/constraints/injection-writer.d.ts +10 -38
- package/dist/core/constraints/injection-writer.d.ts.map +1 -1
- package/dist/core/constraints/injection-writer.js +17 -54
- package/dist/core/constraints/injection-writer.js.map +1 -1
- package/dist/core/constraints/run-env.d.ts +1 -10
- package/dist/core/constraints/run-env.d.ts.map +1 -1
- package/dist/core/constraints/run-env.js +1 -22
- package/dist/core/constraints/run-env.js.map +1 -1
- package/dist/core/constraints/usage-report.d.ts +6 -8
- package/dist/core/constraints/usage-report.d.ts.map +1 -1
- package/dist/core/constraints/usage-report.js +6 -11
- package/dist/core/constraints/usage-report.js.map +1 -1
- package/dist/core/effective-constraints.d.ts +12 -22
- package/dist/core/effective-constraints.d.ts.map +1 -1
- package/dist/core/effective-constraints.js +13 -30
- package/dist/core/effective-constraints.js.map +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -9
- package/dist/core/index.js.map +1 -1
- package/dist/core/project-config-loader.d.ts +4 -42
- package/dist/core/project-config-loader.d.ts.map +1 -1
- package/dist/core/project-config-loader.js +16 -125
- package/dist/core/project-config-loader.js.map +1 -1
- package/dist/core/validators/passes-gate.d.ts +2 -2
- package/dist/core/validators/passes-gate.js +6 -6
- package/dist/core/validators/passes-gate.js.map +1 -1
- package/dist/index.d.ts +9 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -18
- package/dist/index.js.map +1 -1
- package/dist/knowledge/lint.d.ts +17 -0
- package/dist/knowledge/lint.d.ts.map +1 -1
- package/dist/knowledge/lint.js +52 -0
- package/dist/knowledge/lint.js.map +1 -1
- package/dist/knowledge/store.d.ts +7 -0
- package/dist/knowledge/store.d.ts.map +1 -1
- package/dist/knowledge/store.js +48 -13
- package/dist/knowledge/store.js.map +1 -1
- package/dist/knowledge/types.d.ts +5 -1
- package/dist/knowledge/types.d.ts.map +1 -1
- package/dist/knowledge/types.js +5 -1
- package/dist/knowledge/types.js.map +1 -1
- package/dist/monitoring/trace-analyzer.d.ts.map +1 -1
- package/dist/monitoring/trace-analyzer.js +11 -12
- package/dist/monitoring/trace-analyzer.js.map +1 -1
- package/dist/monitoring/traces.d.ts +4 -4
- package/dist/monitoring/traces.d.ts.map +1 -1
- package/dist/monitoring/traces.js +8 -8
- package/dist/monitoring/traces.js.map +1 -1
- package/dist/presets/standard.d.ts +8 -10
- package/dist/presets/standard.d.ts.map +1 -1
- package/dist/presets/standard.js +10 -16
- package/dist/presets/standard.js.map +1 -1
- package/dist/types/constraint.d.ts +24 -35
- package/dist/types/constraint.d.ts.map +1 -1
- package/dist/types/constraint.js +8 -7
- package/dist/types/constraint.js.map +1 -1
- package/dist/types/passes-gate.d.ts +5 -5
- package/dist/types/passes-gate.d.ts.map +1 -1
- package/dist/types/project-config.d.ts +8 -66
- package/dist/types/project-config.d.ts.map +1 -1
- package/dist/types/project-config.js +3 -2
- package/dist/types/project-config.js.map +1 -1
- package/dist/types/trace.d.ts +8 -10
- package/dist/types/trace.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/CONTEXT.md +2 -2
- package/src/__tests__/checker-extra.test.ts +37 -61
- package/src/__tests__/checker.test.ts +10 -115
- package/src/__tests__/effective-constraints.test.ts +18 -83
- package/src/__tests__/iron-laws.test.ts +71 -90
- package/src/__tests__/passes-gate-check.test.ts +2 -2
- package/src/__tests__/project-config-loader-extra.test.ts +22 -123
- package/src/__tests__/project-config-loader.test.ts +5 -33
- package/src/__tests__/public-exports.test.ts +8 -7
- package/src/__tests__/public-type-surface.test.ts +7 -5
- package/src/__tests__/public-value-surface.test.ts +1 -7
- package/src/__tests__/skip-semantics.test.ts +21 -37
- package/src/__tests__/trace-analyzer-extra.test.ts +14 -14
- package/src/__tests__/trace-analyzer.test.ts +21 -21
- package/src/__tests__/trace-collector.test.ts +22 -22
- package/src/__tests__/traces.test.ts +27 -28
- package/src/__tests__/usage-report-public-export.test.ts +21 -0
- package/src/cli/commands/CONTEXT.md +12 -12
- package/src/cli/commands/__tests__/check-read-count.test.ts +4 -15
- package/src/cli/commands/__tests__/check-skip-output.test.ts +14 -14
- package/src/cli/commands/__tests__/check.test.ts +14 -31
- package/src/cli/commands/__tests__/constraints-report-json-flag.test.ts +101 -0
- package/src/cli/commands/__tests__/constraints-report.test.ts +12 -80
- package/src/cli/commands/__tests__/constraints-retire.test.ts +42 -231
- package/src/cli/commands/__tests__/init-governance-io.test.ts +12 -58
- package/src/cli/commands/__tests__/init-ondisk.test.ts +13 -21
- package/src/cli/commands/__tests__/init.test.ts +1 -16
- package/src/cli/commands/__tests__/numeric-flag-assembly.test.ts +1 -1
- package/src/cli/commands/__tests__/passes-gate-dead-options.test.ts +1 -1
- package/src/cli/commands/__tests__/project-path-anchoring.test.ts +2 -2
- package/src/cli/commands/__tests__/registry.test.ts +1 -1
- package/src/cli/commands/__tests__/report-extra.test.ts +4 -4
- package/src/cli/commands/__tests__/report.test.ts +1 -1
- package/src/cli/commands/__tests__/scaffold.test.ts +4 -14
- package/src/cli/commands/__tests__/status-analysis-wiring.test.ts +3 -3
- package/src/cli/commands/__tests__/status-extra.test.ts +14 -14
- package/src/cli/commands/__tests__/status.test.ts +12 -12
- package/src/cli/commands/__tests__/sync-docs-agents.test.ts +1 -1
- package/src/cli/commands/check.ts +43 -82
- package/src/cli/commands/constraints-report.ts +4 -59
- package/src/cli/commands/constraints-retire.ts +49 -154
- package/src/cli/commands/constraints.ts +11 -26
- package/src/cli/commands/definitions.ts +7 -12
- package/src/cli/commands/init.ts +8 -179
- package/src/cli/commands/report.ts +19 -23
- package/src/cli/commands/scaffold-templates.ts +1 -53
- package/src/cli/commands/scaffold.ts +0 -11
- package/src/cli/commands/status.ts +10 -10
- package/src/cli/commands/sync-docs/agents-syncer.ts +4 -25
- package/src/core/CONTEXT.md +9 -9
- package/src/core/constraints/__tests__/capability-counts.test.ts +5 -5
- package/src/core/constraints/__tests__/collect-constraints.test.ts +13 -8
- package/src/core/constraints/__tests__/git-evidence.test.ts +4 -7
- package/src/core/constraints/__tests__/injection-writer.test.ts +8 -61
- package/src/core/constraints/__tests__/run-env.test.ts +5 -34
- package/src/core/constraints/__tests__/trace-injection.test.ts +1 -1
- package/src/core/constraints/capabilities-parser.ts +17 -5
- package/src/core/constraints/checker.ts +39 -88
- package/src/core/constraints/checkers/__tests__/check-outcome.test.ts +5 -8
- package/src/core/constraints/checkers/__tests__/governance-presence.test.ts +1 -53
- package/src/core/constraints/checkers/__tests__/iron-flags.test.ts +5 -25
- package/src/core/constraints/checkers/docs-freshness.ts +1 -1
- package/src/core/constraints/checkers/governance-presence.ts +4 -3
- package/src/core/constraints/checkers/index.ts +4 -10
- package/src/core/constraints/checkers/iron-flags.ts +3 -12
- package/src/core/constraints/checkers/no-test-simplification.ts +1 -1
- package/src/core/constraints/checkers/types.ts +1 -1
- package/src/core/constraints/definitions/guidelines.ts +8 -25
- package/src/core/constraints/definitions/iron-laws.ts +9 -82
- package/src/core/constraints/definitions.ts +14 -15
- package/src/core/constraints/index.ts +4 -19
- package/src/core/constraints/injection-writer.ts +16 -61
- package/src/core/constraints/run-env.ts +1 -33
- package/src/core/constraints/usage-report.ts +9 -16
- package/src/core/effective-constraints.ts +14 -45
- package/src/core/index.ts +3 -10
- package/src/core/project-config-loader.ts +20 -145
- package/src/core/validators/passes-gate.ts +6 -6
- package/src/failure/CONTEXT.md +1 -1
- package/src/hooks/__tests__/bootstrap.test.ts +3 -5
- package/src/index.ts +28 -18
- package/src/knowledge/CONTEXT.md +4 -3
- package/src/knowledge/__tests__/lint.test.ts +84 -0
- package/src/knowledge/__tests__/store.test.ts +70 -0
- package/src/knowledge/lint.ts +60 -1
- package/src/knowledge/store.ts +48 -11
- package/src/knowledge/types.ts +7 -1
- package/src/monitoring/CONTEXT.md +1 -1
- package/src/monitoring/__tests__/trace-file-anchoring.test.ts +1 -1
- package/src/monitoring/__tests__/traces.test.ts +22 -22
- package/src/monitoring/trace-analyzer.ts +12 -13
- package/src/monitoring/traces.ts +8 -8
- package/src/presets/__tests__/standard.test.ts +12 -16
- package/src/presets/standard.ts +14 -23
- package/src/types/__tests__/types.test.ts +3 -3
- package/src/types/constraint.ts +26 -40
- package/src/types/passes-gate.ts +5 -5
- package/src/types/project-config.ts +8 -77
- package/src/types/trace.ts +8 -11
- package/dist/cli/commands/posteval-plan.d.ts +0 -15
- package/dist/cli/commands/posteval-plan.d.ts.map +0 -1
- package/dist/cli/commands/posteval-plan.js +0 -86
- package/dist/cli/commands/posteval-plan.js.map +0 -1
- package/dist/core/constraints/agent-prompt-renderer.d.ts +0 -32
- package/dist/core/constraints/agent-prompt-renderer.d.ts.map +0 -1
- package/dist/core/constraints/agent-prompt-renderer.js +0 -55
- package/dist/core/constraints/agent-prompt-renderer.js.map +0 -1
- package/dist/core/constraints/checkers/no-bypass-checkpoint.d.ts +0 -6
- package/dist/core/constraints/checkers/no-bypass-checkpoint.d.ts.map +0 -1
- package/dist/core/constraints/checkers/no-bypass-checkpoint.js +0 -40
- package/dist/core/constraints/checkers/no-bypass-checkpoint.js.map +0 -1
- package/dist/core/constraints/definitions/prompts.d.ts +0 -12
- package/dist/core/constraints/definitions/prompts.d.ts.map +0 -1
- package/dist/core/constraints/definitions/prompts.js +0 -400
- package/dist/core/constraints/definitions/prompts.js.map +0 -1
- package/dist/core/constraints/injection-drift.d.ts +0 -61
- package/dist/core/constraints/injection-drift.d.ts.map +0 -1
- package/dist/core/constraints/injection-drift.js +0 -131
- package/dist/core/constraints/injection-drift.js.map +0 -1
- package/dist/core/constraints/injection-renderer.d.ts +0 -23
- package/dist/core/constraints/injection-renderer.d.ts.map +0 -1
- package/dist/core/constraints/injection-renderer.js +0 -44
- package/dist/core/constraints/injection-renderer.js.map +0 -1
- package/src/cli/commands/__tests__/check-drift.test.ts +0 -158
- package/src/cli/commands/__tests__/init-injection.test.ts +0 -466
- package/src/cli/commands/__tests__/posteval-plan.test.ts +0 -204
- package/src/cli/commands/posteval-plan.ts +0 -98
- package/src/core/constraints/__tests__/agent-prompt-renderer.test.ts +0 -129
- package/src/core/constraints/__tests__/injection-drift.test.ts +0 -247
- package/src/core/constraints/agent-prompt-renderer.ts +0 -67
- package/src/core/constraints/checkers/__tests__/no-bypass-checkpoint.test.ts +0 -76
- package/src/core/constraints/checkers/no-bypass-checkpoint.ts +0 -40
- package/src/core/constraints/definitions/prompts.ts +0 -414
- package/src/core/constraints/injection-drift.ts +0 -142
- package/src/core/constraints/injection-renderer.ts +0 -44
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.11.0] - 2026-09-21
|
|
10
|
+
|
|
11
|
+
### Changes
|
|
12
|
+
- fix(knowledge): lint run() 接存量枚举校验 + CONTEXT 值域改正本指针(M1 复审收口)
|
|
13
|
+
- test(constraints): usage-report 包根导出补冻结清单 + ADR-0030 记名(E1 复盘修正 M3.4)
|
|
14
|
+
- fix(cli): constraints report JSON 分支不可达——子命令 --json 换名 --json-output(E1 复盘修正 M3.1)
|
|
15
|
+
- feat(knowledge): maturity/layer 枚举写入闸 + lint 校验(E1 复盘修正 M1)
|
|
16
|
+
- docs(core): CONTEXT.md 补 usage-report 公共导出说明(#602)
|
|
17
|
+
- feat(constraints): usage-report 数据层加入包根公共导出(studio#602 E1 (a) 链路)
|
|
18
|
+
- chore(cli): 移除 posteval-plan 死命令及脚手架 plan coverage 段(#173)
|
|
19
|
+
|
|
20
|
+
## [1.10.0] - 2026-09-20
|
|
21
|
+
|
|
22
|
+
### Changes
|
|
23
|
+
- refactor(constraints)!: 删 kind=prompt/promptInjection 面,severity 显式化,文本注入层关停(studio#605)
|
|
24
|
+
- chore(constraints): 内置注入规则瘦身——删除 11 条冗余/矛盾/不可执行文本规则
|
|
25
|
+
|
|
9
26
|
## [1.9.0] - 2026-09-20
|
|
10
27
|
|
|
11
28
|
### BREAKING
|
package/README.md
CHANGED
|
@@ -42,26 +42,23 @@ await checkBeforeExecution({
|
|
|
42
42
|
const meta = await import('child_process').then(cp =>
|
|
43
43
|
JSON.parse(cp.execSync('npx @dommaker/harness constraints --json', { encoding: 'utf-8' }))
|
|
44
44
|
);
|
|
45
|
-
// { version, hash, counts: {
|
|
45
|
+
// { version, hash, counts: { errors, warnings } }
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
> Agent prompt 注入约束由 `@dommaker/studio-shared` 提供(`formatConstraintsForPrompt(role)`)。
|
|
49
|
-
|
|
50
48
|
---
|
|
51
49
|
|
|
52
|
-
## 约束体系:
|
|
50
|
+
## 约束体系:severity 显式模型(ADR-0029)
|
|
53
51
|
|
|
54
|
-
|
|
|
52
|
+
| severity | 数量 | 行为 |
|
|
55
53
|
|------|:--:|------|
|
|
56
|
-
| **
|
|
57
|
-
| **
|
|
58
|
-
| **prompt** | 16 | 纯文本行为约束,注入 Agent context,不占检查位、不产生 trace 统计 |
|
|
54
|
+
| **error** | 3 | 代码级检查,违规 throw `ConstraintViolationError` 阻断执行 |
|
|
55
|
+
| **warning** | 4 | 代码级检查,违规记录 warning 放行 |
|
|
59
56
|
|
|
60
|
-
- check
|
|
61
|
-
- prompt
|
|
62
|
-
- 生效集由 `getEffectiveConstraints(projectRoot)` 统一计算:内置 → preset 裁剪 → config.yml
|
|
57
|
+
- 全部约束 kind='check',每条必须带真实 checker(注册表闭环,引用未注册 checker 构建报错);`capability_sync`/`docs_freshness`/`context_doc_sync` 为存在性探测——项目未采用对应约定文件时 skip(不阻断、不计 pass/fail)。
|
|
58
|
+
- ADR-0029:三层命名(Iron Laws / Guidelines / Prompts)废弃,纯文本提示层(prompt 类约束 + promptInjection 注入 + HARNESS_CONSTRAINTS 注入段与漂移校验)整体关停,文本规则由消费方手写治理段承接;项目自定义纯文本约束(custom-constraints / scenes)随之一并退役。
|
|
59
|
+
- 生效集由 `getEffectiveConstraints(projectRoot)` 统一计算:内置 → preset 裁剪 → config.yml 禁用。`harness check` 与外部消费者全部走它。
|
|
63
60
|
|
|
64
|
-
|
|
61
|
+
约束定义按 severity 分组维护在数据文件中(`src/core/constraints/definitions/{iron-laws,guidelines}.ts`),检查逻辑在 `checkers/` 目录按规则独立实现。完整约束列表见 [CAPABILITIES.md](CAPABILITIES.md)。
|
|
65
62
|
|
|
66
63
|
---
|
|
67
64
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* harness check 命令
|
|
3
3
|
*
|
|
4
|
-
* 检查约束是否满足(
|
|
4
|
+
* 检查约束是否满足(severity='error' 阻断 / severity='warning' 告警)
|
|
5
5
|
* 工单 23:触发条件与证据检测迁至 core/constraints/context-builder
|
|
6
|
-
*
|
|
6
|
+
* 约束集统一走 getMergedConstraintsConfig 生效集链路(preset/config 禁用)
|
|
7
7
|
* harness#88:本命令是 trace 记录器的组合根——core 不上行依赖 monitoring,
|
|
8
8
|
* 真实收集器在此经构造参数接线;#139:收集器锚根构造,trace 落点跟 --project-path 走
|
|
9
9
|
*/
|
|
@@ -48,7 +48,7 @@ export interface CheckOptions {
|
|
|
48
48
|
*/
|
|
49
49
|
export declare function check(options: CheckOptions, io?: CommandIO): Promise<CommandResult>;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* 列出所有约束(按 severity 分组)
|
|
52
52
|
*/
|
|
53
53
|
/** optionRoutes 一律以 (options) 调用;--list 不消费检查选项,形参仅占位 */
|
|
54
54
|
export declare function listLaws(_options?: Partial<CheckOptions>, io?: CommandIO): CommandResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAI3E,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AA4BxD,MAAM,WAAW,YAAY;IAC3B,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW;IACX,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,KAAK,CACzB,OAAO,EAAE,YAAY,EACrB,EAAE,GAAE,SAAqB,GACxB,OAAO,CAAC,aAAa,CAAC,CA+HxB;AA6CD;;GAEG;AACH,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,QAAQ,GAAE,OAAO,CAAC,YAAY,CAAM,EAAE,EAAE,GAAE,SAAqB,GAAG,aAAa,CAmBvG"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* harness check 命令
|
|
4
4
|
*
|
|
5
|
-
* 检查约束是否满足(
|
|
5
|
+
* 检查约束是否满足(severity='error' 阻断 / severity='warning' 告警)
|
|
6
6
|
* 工单 23:触发条件与证据检测迁至 core/constraints/context-builder
|
|
7
|
-
*
|
|
7
|
+
* 约束集统一走 getMergedConstraintsConfig 生效集链路(preset/config 禁用)
|
|
8
8
|
* harness#88:本命令是 trace 记录器的组合根——core 不上行依赖 monitoring,
|
|
9
9
|
* 真实收集器在此经构造参数接线;#139:收集器锚根构造,trace 落点跟 --project-path 走
|
|
10
10
|
*/
|
|
@@ -55,8 +55,6 @@ const effective_constraints_1 = require("../../core/effective-constraints");
|
|
|
55
55
|
const context_builder_1 = require("../../core/constraints/context-builder");
|
|
56
56
|
const git_evidence_1 = require("../../core/constraints/git-evidence");
|
|
57
57
|
const run_env_1 = require("../../core/constraints/run-env");
|
|
58
|
-
const injection_drift_1 = require("../../core/constraints/injection-drift");
|
|
59
|
-
const injection_writer_1 = require("../../core/constraints/injection-writer");
|
|
60
58
|
const traces_1 = require("../../monitoring/traces");
|
|
61
59
|
const jsonl_1 = require("../../utils/jsonl");
|
|
62
60
|
const trace_1 = require("../../types/trace");
|
|
@@ -93,14 +91,11 @@ async function check(options, io = command_contract_1.processIO) {
|
|
|
93
91
|
const evidence = options.evidence ?? (0, git_evidence_1.createGitEvidence)(projectPath);
|
|
94
92
|
const runEnv = options.runEnv ?? (0, run_env_1.createRunEnv)(projectPath);
|
|
95
93
|
const stateIO = options.stateIO ?? (0, state_io_1.fileStateIO)(projectPath);
|
|
96
|
-
//
|
|
94
|
+
// 生效约束集:内置 → preset → config.yml 禁用。
|
|
97
95
|
// --preset 仅在没有项目自定义配置时覆盖 config.yml 的 preset(工单 23 语义:
|
|
98
96
|
// 项目自定义配置优先于 CLI 预设),优先级规则收在 getMergedConstraintsConfig 一处。
|
|
99
97
|
// CLI 不给 -p 缺省值:没传 = 尊重 config.yml(ADR-0023 步骤 4.5,缺省值曾让两者不可区分)
|
|
100
98
|
const merged = (0, effective_constraints_1.getMergedConstraintsConfig)(runEnv, { preset: options.preset });
|
|
101
|
-
if (merged.custom.length > 0) {
|
|
102
|
-
(0, command_contract_1.log)(io, chalk_1.default.gray(`自定义约束: ${merged.custom.length} 条`));
|
|
103
|
-
}
|
|
104
99
|
if (merged.disabled.length > 0) {
|
|
105
100
|
(0, command_contract_1.log)(io, chalk_1.default.gray(`已禁用约束: ${merged.disabled.join(', ')}`));
|
|
106
101
|
}
|
|
@@ -123,27 +118,27 @@ async function check(options, io = command_contract_1.processIO) {
|
|
|
123
118
|
(0, command_contract_1.log)(io, chalk_1.default.gray(`变更文件: ${changedFiles.length} 个`));
|
|
124
119
|
}
|
|
125
120
|
(0, command_contract_1.log)(io, chalk_1.default.gray(`触发条件: ${[context.operation, ...(context.extraTriggers ?? [])].join(', ')}`));
|
|
126
|
-
//
|
|
121
|
+
// 执行约束检查(per-request 传 customConfig,避免单例状态污染;证据同 run 同源)
|
|
127
122
|
// trace 记录器经构造参数接线(harness#88):一次命令一个 checker 实例
|
|
128
123
|
// #139:收集器锚根构造——不传 projectPath 时 trace 会落进调用方 cwd,B 侧读不到
|
|
129
124
|
const checker = new checker_1.ConstraintChecker(new traces_1.TraceCollector({ projectPath }));
|
|
130
125
|
const result = await checker.checkConstraints(context, merged, evidence, runEnv);
|
|
131
126
|
// 输出结果
|
|
132
127
|
(0, command_contract_1.log)(io);
|
|
133
|
-
// skipped(约定未采用/证据未接线)单独列示,不进 pass/fail
|
|
128
|
+
// skipped(约定未采用/证据未接线)单独列示,不进 pass/fail 统计
|
|
134
129
|
const skippedResults = [
|
|
135
|
-
...result.
|
|
136
|
-
...result.
|
|
130
|
+
...result.errors,
|
|
131
|
+
...result.warnings,
|
|
137
132
|
].filter(r => r.skipped);
|
|
138
|
-
//
|
|
139
|
-
const
|
|
140
|
-
const
|
|
141
|
-
if (
|
|
142
|
-
(0, command_contract_1.log)(io, chalk_1.default.green(`✅
|
|
133
|
+
// severity='error'(违规即阻断)
|
|
134
|
+
const evaluatedErrors = result.errors.filter(r => !r.skipped);
|
|
135
|
+
const errorViolations = evaluatedErrors.filter(r => !r.satisfied);
|
|
136
|
+
if (errorViolations.length === 0 && evaluatedErrors.length > 0) {
|
|
137
|
+
(0, command_contract_1.log)(io, chalk_1.default.green(`✅ error 级约束: 全部通过 (${evaluatedErrors.length} 条)`));
|
|
143
138
|
}
|
|
144
|
-
else if (
|
|
145
|
-
(0, command_contract_1.log)(io, chalk_1.default.red(`❌
|
|
146
|
-
|
|
139
|
+
else if (errorViolations.length > 0) {
|
|
140
|
+
(0, command_contract_1.log)(io, chalk_1.default.red(`❌ error 级约束违规: ${errorViolations.length} 条`));
|
|
141
|
+
errorViolations.forEach(r => {
|
|
147
142
|
if (r.constraint) {
|
|
148
143
|
(0, command_contract_1.log)(io, chalk_1.default.red(` - ${r.constraint.id}: ${r.constraint.message}`));
|
|
149
144
|
(0, command_contract_1.log)(io, chalk_1.default.red(` ${r.constraint.rule}`));
|
|
@@ -151,30 +146,30 @@ async function check(options, io = command_contract_1.processIO) {
|
|
|
151
146
|
}
|
|
152
147
|
});
|
|
153
148
|
(0, command_contract_1.log)(io);
|
|
154
|
-
(0, command_contract_1.log)(io, chalk_1.default.red('🛑
|
|
149
|
+
(0, command_contract_1.log)(io, chalk_1.default.red('🛑 error 级约束检查失败,请修复后再提交'));
|
|
155
150
|
return {
|
|
156
151
|
kind: 'fail',
|
|
157
|
-
reason: `
|
|
152
|
+
reason: `error-severity constraint violated: ${errorViolations.map(r => r.constraint?.id ?? 'unknown').join(', ')}`,
|
|
158
153
|
};
|
|
159
154
|
}
|
|
160
|
-
//
|
|
155
|
+
// severity='warning'(告警不阻断)
|
|
161
156
|
if (result.warningCount > 0) {
|
|
162
|
-
(0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️
|
|
163
|
-
result.
|
|
157
|
+
(0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️ warning 级约束警告: ${result.warningCount} 条`));
|
|
158
|
+
result.warnings.filter(r => !r.satisfied).forEach(r => {
|
|
164
159
|
if (r.constraint) {
|
|
165
160
|
(0, command_contract_1.log)(io, chalk_1.default.yellow(` - ${r.constraint.id}: ${r.constraint.message}`));
|
|
166
161
|
logEvidence(io, r, 'yellow');
|
|
167
162
|
}
|
|
168
163
|
});
|
|
169
164
|
}
|
|
170
|
-
else if (result.
|
|
171
|
-
const
|
|
172
|
-
const
|
|
173
|
-
(0, command_contract_1.log)(io, chalk_1.default.green(`✅
|
|
165
|
+
else if (result.warnings.length > 0) {
|
|
166
|
+
const evaluatedWarnings = result.warnings.filter(r => !r.skipped);
|
|
167
|
+
const passedWarnings = evaluatedWarnings.filter(r => r.satisfied).length;
|
|
168
|
+
(0, command_contract_1.log)(io, chalk_1.default.green(`✅ warning 级约束: ${passedWarnings}/${evaluatedWarnings.length} 通过`));
|
|
174
169
|
}
|
|
175
170
|
// 提示:通过但带证据(harness#119)——与本次变更无因果的仓库级漂移在此露出,
|
|
176
171
|
// 不判违规、不改 exit code,只保证「看得见且能自己修」
|
|
177
|
-
const hints = [...result.
|
|
172
|
+
const hints = [...result.errors, ...result.warnings].filter(r => !r.skipped && r.satisfied && (r.evidence?.length ?? 0) > 0);
|
|
178
173
|
if (hints.length > 0) {
|
|
179
174
|
(0, command_contract_1.log)(io, chalk_1.default.gray(`💡 提示: ${hints.length} 条(不判违规,供参考)`));
|
|
180
175
|
hints.forEach(r => logEvidence(io, r, 'gray', r.id));
|
|
@@ -186,29 +181,6 @@ async function check(options, io = command_contract_1.processIO) {
|
|
|
186
181
|
(0, command_contract_1.log)(io, chalk_1.default.gray(` - ${r.id}`));
|
|
187
182
|
});
|
|
188
183
|
}
|
|
189
|
-
// 注入漂移校验(ADR-0001 决策 7):黄色警告块,不改 exit code、不影响门禁结果。
|
|
190
|
-
// 无漂移/未注入零输出;漂移检测自身异常静默吞掉,绝不影响 check。
|
|
191
|
-
try {
|
|
192
|
-
// 生效集直接用本 run 那一份:一遍算完,且比对对象就是本次实际执法的规则集(ADR-0023 步骤 4.5)
|
|
193
|
-
const drift = (0, injection_drift_1.detectInjectionDrift)(runEnv, undefined, (0, effective_constraints_1.constraintsFromMerged)(merged));
|
|
194
|
-
if (drift.hasDrift) {
|
|
195
|
-
(0, command_contract_1.log)(io);
|
|
196
|
-
(0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️ 检测到 ${drift.injectionFile ?? '治理文档'} 约束注入漂移(仅警告,不阻断):`));
|
|
197
|
-
if (drift.versionDrift) {
|
|
198
|
-
(0, command_contract_1.log)(io, chalk_1.default.yellow(` ⚠️⚠️ 注入段版本 (${drift.versionDrift.actual}) ≠ 已安装 harness 版本 (${drift.versionDrift.expected}):agent 上下文中的规则与已安装 harness 版本不一致`));
|
|
199
|
-
}
|
|
200
|
-
if (drift.contentDrift) {
|
|
201
|
-
(0, command_contract_1.log)(io, chalk_1.default.yellow(` 内容漂移: 缺失 ${drift.contentDrift.missing.length} 条 / 多余 ${drift.contentDrift.extra.length} 条(条目级差异见 harness constraints report)`));
|
|
202
|
-
}
|
|
203
|
-
if (drift.duplicateHeading) {
|
|
204
|
-
(0, command_contract_1.log)(io, chalk_1.default.yellow(` 检测到重复的 "${injection_writer_1.GOVERNANCE_HEADING}" 章节`));
|
|
205
|
-
}
|
|
206
|
-
(0, command_contract_1.log)(io, chalk_1.default.yellow(` 修复: ${drift.fixHint}`));
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
catch {
|
|
210
|
-
// 漂移检测失败不影响 check 结果
|
|
211
|
-
}
|
|
212
184
|
(0, command_contract_1.log)(io);
|
|
213
185
|
(0, command_contract_1.log)(io, chalk_1.default.green('✅ 约束检查通过'));
|
|
214
186
|
// 智能提示
|
|
@@ -264,35 +236,26 @@ async function getSmartHint(projectPath, stateIO) {
|
|
|
264
236
|
return null;
|
|
265
237
|
}
|
|
266
238
|
/**
|
|
267
|
-
*
|
|
239
|
+
* 列出所有约束(按 severity 分组)
|
|
268
240
|
*/
|
|
269
241
|
/** optionRoutes 一律以 (options) 调用;--list 不消费检查选项,形参仅占位 */
|
|
270
242
|
function listLaws(_options = {}, io = command_contract_1.processIO) {
|
|
271
243
|
(0, command_contract_1.log)(io, chalk_1.default.blue('\n📜 所有约束:\n'));
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
(0, command_contract_1.log)(io,
|
|
278
|
-
(
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
});
|
|
288
|
-
// Prompts(ADR-0001:纯注入层,不执行检查)
|
|
289
|
-
(0, command_contract_1.log)(io, chalk_1.default.blue('🔵 提示 (Prompts) - 纯文本注入,不参与检查:\n'));
|
|
290
|
-
Object.values(definitions_1.PROMPTS).forEach(constraint => {
|
|
291
|
-
(0, command_contract_1.log)(io, chalk_1.default.blue(` ${constraint.id}`));
|
|
292
|
-
(0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.rule}`));
|
|
293
|
-
(0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.message}`));
|
|
294
|
-
(0, command_contract_1.log)(io);
|
|
295
|
-
});
|
|
244
|
+
const groups = [
|
|
245
|
+
{ severity: 'error', heading: '🔴 error 级 - 违规即阻断,无例外:', paint: chalk_1.default.red },
|
|
246
|
+
{ severity: 'warning', heading: '🟡 warning 级 - 违规发警告但不阻止:', paint: chalk_1.default.yellow },
|
|
247
|
+
];
|
|
248
|
+
for (const group of groups) {
|
|
249
|
+
(0, command_contract_1.log)(io, group.paint(group.heading + '\n'));
|
|
250
|
+
Object.values(definitions_1.CONSTRAINTS)
|
|
251
|
+
.filter(c => c.severity === group.severity)
|
|
252
|
+
.forEach(constraint => {
|
|
253
|
+
(0, command_contract_1.log)(io, group.paint(` ${constraint.id}`));
|
|
254
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.rule}`));
|
|
255
|
+
(0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.message}`));
|
|
256
|
+
(0, command_contract_1.log)(io);
|
|
257
|
+
});
|
|
258
|
+
}
|
|
296
259
|
return { kind: 'ok' };
|
|
297
260
|
}
|
|
298
261
|
//# sourceMappingURL=check.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* harness constraints report —— 约束使用报告(ADR-0001 决策 3/4
|
|
2
|
+
* harness constraints report —— 约束使用报告(ADR-0001 决策 3/4,ADR-0029 收窄)
|
|
3
3
|
*
|
|
4
4
|
* 只读。面向"人审约束"场景:
|
|
5
|
-
* - check
|
|
5
|
+
* - check 约束统计表(total/pass/fail/skip、fail 率、首次/最近触发)
|
|
6
6
|
* - 退役候选诊断(零触发/零拦截/不可评估/高噪),retire 交互模式的数据源
|
|
7
|
-
* - 当前生效 prompt 注入清单
|
|
8
7
|
* - 配置健康(unknownIds 残留提示)
|
|
9
8
|
* - --export [file]:脱敏 markdown 摘要(不含项目路径)
|
|
10
9
|
*/
|
|
11
10
|
import { type ConstraintsUsageReport } from '../../core/constraints/usage-report';
|
|
12
|
-
import { type InjectionDrift } from '../../core/constraints/injection-drift';
|
|
13
11
|
import { type CommandIO, type CommandResult } from '../command-contract';
|
|
14
12
|
export interface ConstraintsReportOptions {
|
|
15
13
|
projectPath?: string;
|
|
@@ -30,12 +28,6 @@ export interface ConstraintsReportOptions {
|
|
|
30
28
|
* 内容为 harness 版本、日期、统计表、候选清单、配置健康。
|
|
31
29
|
*/
|
|
32
30
|
export declare function renderExportMarkdown(report: ConstraintsUsageReport, version: string, now?: Date): string;
|
|
33
|
-
/**
|
|
34
|
-
* 渲染"注入漂移"小节的文本行(ADR-0001 决策 7:详细条目级差异进 report)
|
|
35
|
-
*
|
|
36
|
-
* 返回纯文本行数组(不含 chalk 着色),调用方逐行 console.log。
|
|
37
|
-
*/
|
|
38
|
-
export declare function renderInjectionDriftLines(drift: InjectionDrift): string[];
|
|
39
31
|
/**
|
|
40
32
|
* CLI handler: harness constraints report
|
|
41
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraints-report.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/constraints-report.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constraints-report.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/constraints-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAIL,KAAK,sBAAsB,EAG5B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzF,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,IAAiB,GACrB,MAAM,CA4CR;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,EAAE,EAAE,GAAE,SAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsEjI"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* harness constraints report —— 约束使用报告(ADR-0001 决策 3/4
|
|
3
|
+
* harness constraints report —— 约束使用报告(ADR-0001 决策 3/4,ADR-0029 收窄)
|
|
4
4
|
*
|
|
5
5
|
* 只读。面向"人审约束"场景:
|
|
6
|
-
* - check
|
|
6
|
+
* - check 约束统计表(total/pass/fail/skip、fail 率、首次/最近触发)
|
|
7
7
|
* - 退役候选诊断(零触发/零拦截/不可评估/高噪),retire 交互模式的数据源
|
|
8
|
-
* - 当前生效 prompt 注入清单
|
|
9
8
|
* - 配置健康(unknownIds 残留提示)
|
|
10
9
|
* - --export [file]:脱敏 markdown 摘要(不含项目路径)
|
|
11
10
|
*/
|
|
@@ -47,15 +46,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
47
46
|
};
|
|
48
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
48
|
exports.renderExportMarkdown = renderExportMarkdown;
|
|
50
|
-
exports.renderInjectionDriftLines = renderInjectionDriftLines;
|
|
51
49
|
exports.constraintsReport = constraintsReport;
|
|
52
50
|
const fs = __importStar(require("fs"));
|
|
53
51
|
const path = __importStar(require("path"));
|
|
54
52
|
const chalk_1 = __importDefault(require("chalk"));
|
|
55
53
|
const usage_report_1 = require("../../core/constraints/usage-report");
|
|
56
54
|
const constraints_1 = require("./constraints");
|
|
57
|
-
const injection_drift_1 = require("../../core/constraints/injection-drift");
|
|
58
|
-
const injection_writer_1 = require("../../core/constraints/injection-writer");
|
|
59
55
|
const command_contract_1 = require("../command-contract");
|
|
60
56
|
function formatTime(ts) {
|
|
61
57
|
return ts === undefined ? '-' : new Date(ts).toISOString().slice(0, 10);
|
|
@@ -86,7 +82,7 @@ function renderExportMarkdown(report, version, now = new Date()) {
|
|
|
86
82
|
lines.push(`- ⚠️ trace 文件有 ${report.skippedLines} 行损坏已跳过,下表统计只含其余合法记录`);
|
|
87
83
|
}
|
|
88
84
|
lines.push('');
|
|
89
|
-
lines.push('##
|
|
85
|
+
lines.push('## 统计表');
|
|
90
86
|
lines.push('');
|
|
91
87
|
lines.push('| id | total | pass | fail | skip | fail 率 | 首次触发 | 最近触发 |');
|
|
92
88
|
lines.push('| --- | ---: | ---: | ---: | ---: | ---: | --- | --- |');
|
|
@@ -115,42 +111,6 @@ function renderExportMarkdown(report, version, now = new Date()) {
|
|
|
115
111
|
}
|
|
116
112
|
return lines.join('\n');
|
|
117
113
|
}
|
|
118
|
-
/**
|
|
119
|
-
* 渲染"注入漂移"小节的文本行(ADR-0001 决策 7:详细条目级差异进 report)
|
|
120
|
-
*
|
|
121
|
-
* 返回纯文本行数组(不含 chalk 着色),调用方逐行 console.log。
|
|
122
|
-
*/
|
|
123
|
-
function renderInjectionDriftLines(drift) {
|
|
124
|
-
const lines = [];
|
|
125
|
-
if (drift.notInjected) {
|
|
126
|
-
lines.push(' CLAUDE.md / AGENTS.md 均无约束注入标记段(未注入,不算漂移);可运行 npx @dommaker/harness init 注入');
|
|
127
|
-
if (drift.duplicateHeading) {
|
|
128
|
-
lines.push(` 另检测到多个 "${injection_writer_1.GOVERNANCE_HEADING}" 标题(历史遗留重复章节),建议手工清理后重跑 npx @dommaker/harness init`);
|
|
129
|
-
}
|
|
130
|
-
return lines;
|
|
131
|
-
}
|
|
132
|
-
if (!drift.hasDrift) {
|
|
133
|
-
lines.push(' 无漂移');
|
|
134
|
-
return lines;
|
|
135
|
-
}
|
|
136
|
-
if (drift.versionDrift) {
|
|
137
|
-
lines.push(` 版本漂移: 注入段版本 (${drift.versionDrift.actual}) ≠ 当前 harness 版本 (${drift.versionDrift.expected})`);
|
|
138
|
-
}
|
|
139
|
-
if (drift.contentDrift) {
|
|
140
|
-
lines.push(' 内容漂移(条目级差异):');
|
|
141
|
-
for (const l of drift.contentDrift.missing) {
|
|
142
|
-
lines.push(` 缺失: ${l}`);
|
|
143
|
-
}
|
|
144
|
-
for (const l of drift.contentDrift.extra) {
|
|
145
|
-
lines.push(` 多余: ${l}`);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
if (drift.duplicateHeading) {
|
|
149
|
-
lines.push(` 重复章节: 标记段之外还存在另一个 "${injection_writer_1.GOVERNANCE_HEADING}" 标题`);
|
|
150
|
-
}
|
|
151
|
-
lines.push(` 修复: ${drift.fixHint}`);
|
|
152
|
-
return lines;
|
|
153
|
-
}
|
|
154
114
|
/**
|
|
155
115
|
* CLI handler: harness constraints report
|
|
156
116
|
*/
|
|
@@ -177,7 +137,7 @@ async function constraintsReport(options = {}, io = command_contract_1.processIO
|
|
|
177
137
|
}
|
|
178
138
|
(0, command_contract_1.log)(io);
|
|
179
139
|
// 统计表
|
|
180
|
-
(0, command_contract_1.log)(io, chalk_1.default.bold('
|
|
140
|
+
(0, command_contract_1.log)(io, chalk_1.default.bold('统计表:'));
|
|
181
141
|
for (const s of report.stats) {
|
|
182
142
|
(0, command_contract_1.log)(io, ` ${renderStatsRow(s)}`);
|
|
183
143
|
}
|
|
@@ -194,12 +154,6 @@ async function constraintsReport(options = {}, io = command_contract_1.processIO
|
|
|
194
154
|
(0, command_contract_1.log)(io, chalk_1.default.gray(' 可运行 `harness constraints retire` 交互式处理候选'));
|
|
195
155
|
}
|
|
196
156
|
(0, command_contract_1.log)(io);
|
|
197
|
-
// 注入清单
|
|
198
|
-
(0, command_contract_1.log)(io, chalk_1.default.bold(`当前生效 prompt 注入(${report.activePromptIds.length} 条):`));
|
|
199
|
-
for (const id of report.activePromptIds) {
|
|
200
|
-
(0, command_contract_1.log)(io, ` ${id}`);
|
|
201
|
-
}
|
|
202
|
-
(0, command_contract_1.log)(io);
|
|
203
157
|
// 配置健康
|
|
204
158
|
if (report.lint.unknownIds.length > 0) {
|
|
205
159
|
(0, command_contract_1.log)(io, chalk_1.default.yellow('⚠️ 配置健康:'));
|
|
@@ -208,13 +162,6 @@ async function constraintsReport(options = {}, io = command_contract_1.processIO
|
|
|
208
162
|
}
|
|
209
163
|
(0, command_contract_1.log)(io);
|
|
210
164
|
}
|
|
211
|
-
// 注入漂移(ADR-0001 决策 7:条目级差异 + 修复指引;--export 摘要不含本地漂移状态)
|
|
212
|
-
(0, command_contract_1.log)(io, chalk_1.default.bold('注入漂移:'));
|
|
213
|
-
const drift = (0, injection_drift_1.detectInjectionDrift)(projectRoot);
|
|
214
|
-
for (const line of renderInjectionDriftLines(drift)) {
|
|
215
|
-
(0, command_contract_1.log)(io, drift.hasDrift ? chalk_1.default.yellow(line) : line);
|
|
216
|
-
}
|
|
217
|
-
(0, command_contract_1.log)(io);
|
|
218
165
|
// --export
|
|
219
166
|
if (options.export !== undefined && options.export !== false) {
|
|
220
167
|
const version = (0, constraints_1.getConstraintsMeta)().version;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraints-report.js","sourceRoot":"","sources":["../../../src/cli/commands/constraints-report.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"constraints-report.js","sourceRoot":"","sources":["../../../src/cli/commands/constraints-report.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDH,oDAgDC;AAKD,8CAsEC;AA3KD,uCAAyB;AACzB,2CAA6B;AAC7B,kDAA0B;AAC1B,sEAO6C;AAC7C,+CAAmD;AACnD,0DAAyF;AAezF,SAAS,UAAU,CAAC,EAAsB;IACxC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,CAAuB;IAC7C,OAAO,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,IAAI,UAAU,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;AACxK,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAClC,MAA8B,EAC9B,OAAe,EACf,MAAY,IAAI,IAAI,EAAE;IAEtB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,sBAAsB;QACtB,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,YAAY,sBAAsB,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACrE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAC/I,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,MAAM,mCAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,UAAoC,EAAE,EAAE,KAAgB,4BAAS;IACvG,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzD,MAAM,UAAU,GAAgC,EAAE,CAAC;IACnD,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS;QAAE,UAAU,CAAC,yBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAC5G,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;QAAE,UAAU,CAAC,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAC9F,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;QAAE,UAAU,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAElG,MAAM,MAAM,GAAG,IAAA,0CAA2B,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAEpE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAA,sBAAG,EAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,MAAM,CAAC,oBAAoB,MAAM,CAAC,YAAY,2BAA2B,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,IAAA,sBAAG,EAAC,EAAE,CAAC,CAAC;IAER,MAAM;IACN,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAA,sBAAG,EAAC,EAAE,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,IAAA,sBAAG,EAAC,EAAE,CAAC,CAAC;IAER,OAAO;IACP,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,UAAU,CAAC,MAAM,cAAc,UAAU,CAAC,yBAAyB,IAAI,0CAA2B,CAAC,yBAAyB,kBAAkB,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,iBAAiB,IAAI,0CAA2B,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,QAAQ,UAAU,CAAC,qBAAqB,IAAI,0CAA2B,CAAC,qBAAqB,QAAQ,CAAC,CAAC,CAAC;IACzX,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,IAAA,sBAAG,EAAC,EAAE,EAAE,MAAM,mCAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,IAAA,sBAAG,EAAC,EAAE,CAAC,CAAC;IAER,OAAO;IACP,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACnC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,MAAM,CAAC,mCAAmC,EAAE,aAAa,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,IAAA,sBAAG,EAAC,EAAE,CAAC,CAAC;IACV,CAAC;IAED,WAAW;IACX,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAA,gCAAkB,GAAE,CAAC,OAAO,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAE5D,IAAI,UAAkB,CAAC;QACvB,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACzG,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9D,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,IAAI,KAAK,CAAC,CAAC;QACvF,CAAC;QAED,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,KAAK,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -1,30 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* harness constraints retire —— 约束退役(ADR-0001 决策 2/5
|
|
2
|
+
* harness constraints retire —— 约束退役(ADR-0001 决策 2/5,ADR-0029 收窄)
|
|
3
3
|
*
|
|
4
4
|
* 建议层全自动(候选诊断复用 report 数据层),执行层保留一次人确认。
|
|
5
|
-
*
|
|
5
|
+
* 落盘形态(一处真相):
|
|
6
6
|
*
|
|
7
|
-
* -
|
|
7
|
+
* - config.yml `enabled: false` + `retired` 元数据:
|
|
8
8
|
*
|
|
9
9
|
* constraints:
|
|
10
10
|
* <id>:
|
|
11
11
|
* enabled: false
|
|
12
12
|
* retired: { at, reason, stats: { total, fail, failRate } }
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
* (不拆 config.yml 第二处):
|
|
14
|
+
* 每条同时写一条 KnowledgeStore 记录(consumptionMode: 'signal')。
|
|
16
15
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* rule: ...
|
|
20
|
-
* retired: { at, reason, stats: { total, fail, failRate } }
|
|
21
|
-
*
|
|
22
|
-
* 每条同时写一条 KnowledgeStore 记录(consumptionMode: 'signal'),
|
|
23
|
-
* 并同步治理注入段(CLAUDE.md 或 AGENTS.md,存在 HARNESS_CONSTRAINTS 标记时;
|
|
24
|
-
* 落点路由与 init 一致,见 core/constraints/injection-drift resolveInjectionTarget)。
|
|
16
|
+
* ADR-0029:custom 纯文本约束与治理注入段同步已随文本注入层关停一并退役,
|
|
17
|
+
* retire 只处理内置 check 约束。
|
|
25
18
|
*
|
|
26
|
-
* retire
|
|
27
|
-
* custom 删 custom-constraints.yml 中 custom_constraints.<id>.retired 段。
|
|
19
|
+
* retire 不是删除——恢复方法:删 config.yml 中 constraints.<id> 段。
|
|
28
20
|
*
|
|
29
21
|
* 交互与执行分离:retireConstraint 为纯执行逻辑(同步、可测),
|
|
30
22
|
* runRetireInteractive 只做 readline 交互,IO 流可注入。
|
|
@@ -40,19 +32,13 @@ export type RetireStatus = 'retired' | 'already_retired' | 'unknown_id';
|
|
|
40
32
|
export interface RetireResult {
|
|
41
33
|
id: string;
|
|
42
34
|
status: RetireStatus;
|
|
43
|
-
/** 是否
|
|
44
|
-
|
|
45
|
-
/** 退役落点:custom 约束落 custom-constraints.yml(studio#82 D6),内置落 config.yml */
|
|
46
|
-
landing: 'config.yml' | 'custom-constraints.yml';
|
|
35
|
+
/** 是否 severity='error'(交互模式据此追加确认) */
|
|
36
|
+
isError: boolean;
|
|
47
37
|
stats: {
|
|
48
38
|
total: number;
|
|
49
39
|
fail: number;
|
|
50
40
|
failRate: number;
|
|
51
41
|
};
|
|
52
|
-
/** 治理注入段(CLAUDE.md / AGENTS.md)是否已同步 */
|
|
53
|
-
injectionSynced: boolean;
|
|
54
|
-
/** 实际同步的落点文件(injectionSynced 时存在) */
|
|
55
|
-
injectionFile?: string;
|
|
56
42
|
/** KnowledgeStore 条目 id(status='retired' 时存在) */
|
|
57
43
|
knowledgeEntryId?: string;
|
|
58
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraints-retire.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/constraints-retire.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constraints-retire.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/constraints-retire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,EAA4B,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAgBnG,MAAM,WAAW,oBAAoB;IACnC,eAAe;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAExE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAwHD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,oBAAyB,GACjC,YAAY,CAqDd;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,GAAE,SAAqB,GAAG,aAAa,CAiBhG;AAMD,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;CAC/B;AAUD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,EAAE,GAAE,QAA2D,GAC9D,OAAO,CAAC,aAAa,CAAC,CA2FxB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,CAAC,EAAE,MAAM,EACX,OAAO,GAAE,wBAA6B,EACtC,EAAE,GAAE,SAAqB,GACxB,OAAO,CAAC,aAAa,CAAC,CA8BxB"}
|