@hunter-harness/workflow-harness 0.2.41 → 0.2.42
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/harness/bundles/general/claude-code/.harness-build.json +1 -1
- package/harness/bundles/general/claude-code/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-knowledge-ingest/SKILL.md +42 -16
- package/harness/bundles/general/claude-code/harness-knowledge-ingest/reference.md +57 -6
- package/harness/bundles/general/claude-code/harness-knowledge-ingest/scripts/harness_knowledge.py +1097 -174
- package/harness/bundles/general/claude-code/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-plan/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-review/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-sync/SKILL.md +16 -10
- package/harness/bundles/general/claude-code/harness-sync/reference.md +34 -14
- package/harness/bundles/general/claude-code/harness-test/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
- package/harness/bundles/general/codebuddy/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-knowledge-ingest/SKILL.md +41 -15
- package/harness/bundles/general/codebuddy/harness-knowledge-ingest/reference.md +57 -6
- package/harness/bundles/general/codebuddy/harness-knowledge-ingest/scripts/harness_knowledge.py +1097 -174
- package/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-plan/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-review/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +16 -10
- package/harness/bundles/general/codebuddy/harness-sync/reference.md +34 -14
- package/harness/bundles/general/codebuddy/harness-test/SKILL.md +1 -1
- package/harness/bundles/general/codex/.harness-build.json +1 -1
- package/harness/bundles/general/codex/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-knowledge-ingest/SKILL.md +41 -15
- package/harness/bundles/general/codex/harness-knowledge-ingest/reference.md +57 -6
- package/harness/bundles/general/codex/harness-knowledge-ingest/scripts/harness_knowledge.py +1097 -174
- package/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-plan/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-review/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-sync/SKILL.md +16 -10
- package/harness/bundles/general/codex/harness-sync/reference.md +34 -14
- package/harness/bundles/general/codex/harness-test/SKILL.md +1 -1
- package/harness/bundles/general/cursor/.harness-build.json +1 -1
- package/harness/bundles/general/cursor/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-knowledge-ingest/SKILL.md +41 -15
- package/harness/bundles/general/cursor/harness-knowledge-ingest/reference.md +57 -6
- package/harness/bundles/general/cursor/harness-knowledge-ingest/scripts/harness_knowledge.py +1097 -174
- package/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-plan/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-review/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-sync/SKILL.md +16 -10
- package/harness/bundles/general/cursor/harness-sync/reference.md +34 -14
- package/harness/bundles/general/cursor/harness-test/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/.harness-build.json +1 -1
- package/harness/bundles/java/claude-code/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-knowledge-ingest/SKILL.md +42 -16
- package/harness/bundles/java/claude-code/harness-knowledge-ingest/reference.md +57 -6
- package/harness/bundles/java/claude-code/harness-knowledge-ingest/scripts/harness_knowledge.py +1097 -174
- package/harness/bundles/java/claude-code/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-plan/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-review/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-sync/SKILL.md +16 -10
- package/harness/bundles/java/claude-code/harness-sync/reference.md +34 -14
- package/harness/bundles/java/claude-code/harness-test/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
- package/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-knowledge-ingest/SKILL.md +41 -15
- package/harness/bundles/java/codebuddy/harness-knowledge-ingest/reference.md +57 -6
- package/harness/bundles/java/codebuddy/harness-knowledge-ingest/scripts/harness_knowledge.py +1097 -174
- package/harness/bundles/java/codebuddy/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-plan/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-review/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +16 -10
- package/harness/bundles/java/codebuddy/harness-sync/reference.md +34 -14
- package/harness/bundles/java/codebuddy/harness-test/SKILL.md +1 -1
- package/harness/bundles/java/codex/.harness-build.json +1 -1
- package/harness/bundles/java/codex/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-knowledge-ingest/SKILL.md +41 -15
- package/harness/bundles/java/codex/harness-knowledge-ingest/reference.md +57 -6
- package/harness/bundles/java/codex/harness-knowledge-ingest/scripts/harness_knowledge.py +1097 -174
- package/harness/bundles/java/codex/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-plan/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-review/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-sync/SKILL.md +16 -10
- package/harness/bundles/java/codex/harness-sync/reference.md +34 -14
- package/harness/bundles/java/codex/harness-test/SKILL.md +1 -1
- package/harness/bundles/java/cursor/.harness-build.json +1 -1
- package/harness/bundles/java/cursor/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-knowledge-ingest/SKILL.md +41 -15
- package/harness/bundles/java/cursor/harness-knowledge-ingest/reference.md +57 -6
- package/harness/bundles/java/cursor/harness-knowledge-ingest/scripts/harness_knowledge.py +1097 -174
- package/harness/bundles/java/cursor/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-plan/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-review/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-sync/SKILL.md +16 -10
- package/harness/bundles/java/cursor/harness-sync/reference.md +34 -14
- package/harness/bundles/java/cursor/harness-test/SKILL.md +1 -1
- package/harness/manifests/general/claude-code.json +19 -19
- package/harness/manifests/general/codebuddy.json +19 -19
- package/harness/manifests/general/codex.json +19 -19
- package/harness/manifests/general/cursor.json +19 -19
- package/harness/manifests/java/claude-code.json +21 -21
- package/harness/manifests/java/codebuddy.json +21 -21
- package/harness/manifests/java/codex.json +21 -21
- package/harness/manifests/java/cursor.json +21 -21
- package/hunter-workflow-family.json +10 -10
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ name: harness-knowledge-query
|
|
|
3
3
|
description: 根据新需求、设计任务、代码修改请求或问题排查,在规划和编码前查询 .harness/knowledge
|
|
4
4
|
历史上下文。适用场景:query knowledge、查找历史需求、根据归档理解需求、继续之前类似开发、生成需求上下文包。
|
|
5
5
|
---
|
|
6
|
-
<!-- generated by harness_deploy.py; core=
|
|
6
|
+
<!-- generated by harness_deploy.py; core=5f4653e62a19bff2; overlay=java; agent=cursor; do not edit -->
|
|
7
7
|
# harness-knowledge-query
|
|
8
8
|
|
|
9
9
|
并行 change 中查询必须传 `--change <change-id>`;成功后以该 change 的 `meta/knowledge-context.json` 为稳定指针。全局 `context-packs/latest.json` 仅向后兼容,不得用于判断多个 active change 的上下文归属。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: harness-package
|
|
3
3
|
description: 增量模块打包:拉取最新→编译验证→mvn package→汇总 jar/war。使用场景:打包、package、发版准备
|
|
4
4
|
---
|
|
5
|
-
<!-- generated by harness_deploy.py; core=
|
|
5
|
+
<!-- generated by harness_deploy.py; core=5f4653e62a19bff2; overlay=java; agent=cursor; do not edit -->
|
|
6
6
|
# harness-package — 增量模块打包(Java overlay)
|
|
7
7
|
|
|
8
8
|
## Purpose
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: harness-plan
|
|
3
3
|
description: 将需求转化为设计文档+实施计划+完整测试场景表,必须在编码前完成。使用场景:需求分析、feature plan、技术方案设计、实现方案规划
|
|
4
4
|
---
|
|
5
|
-
<!-- generated by harness_deploy.py; core=
|
|
5
|
+
<!-- generated by harness_deploy.py; core=5f4653e62a19bff2; overlay=java; agent=cursor; do not edit -->
|
|
6
6
|
# harness-plan — 需求规划
|
|
7
7
|
|
|
8
8
|
## Purpose
|
|
@@ -3,7 +3,7 @@ name: harness-review
|
|
|
3
3
|
description: 6维度代码审查(架构/安全/规范/兼容/测试/性能),对照项目规则(见
|
|
4
4
|
.harness/context-index.json)和测试场景表,在隔离上下文运行。使用场景:代码审查、提交前检查、合并评审
|
|
5
5
|
---
|
|
6
|
-
<!-- generated by harness_deploy.py; core=
|
|
6
|
+
<!-- generated by harness_deploy.py; core=5f4653e62a19bff2; overlay=java; agent=cursor; do not edit -->
|
|
7
7
|
# harness-review — 代码审查
|
|
8
8
|
|
|
9
9
|
## Purpose
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: harness-run
|
|
3
3
|
description: 按变更簇执行 TDD 编码循环(RED→GREEN→REFACTOR→编译验证),逐变更簇实现计划中的任务。使用场景:开始编码、实现功能、写代码、TDD 编码
|
|
4
4
|
---
|
|
5
|
-
<!-- generated by harness_deploy.py; core=
|
|
5
|
+
<!-- generated by harness_deploy.py; core=5f4653e62a19bff2; overlay=java; agent=cursor; do not edit -->
|
|
6
6
|
# harness-run — 需求编码
|
|
7
7
|
|
|
8
8
|
## Purpose
|
|
@@ -3,7 +3,7 @@ name: harness-submit
|
|
|
3
3
|
description: 最终提交封装:验证→中文 commit→提交/推送;worktree 模式含 --no-ff
|
|
4
4
|
合并回主分支。使用场景:提交代码、commit、push、合并分支、merge to main、完成开发
|
|
5
5
|
---
|
|
6
|
-
<!-- generated by harness_deploy.py; core=
|
|
6
|
+
<!-- generated by harness_deploy.py; core=5f4653e62a19bff2; overlay=java; agent=cursor; do not edit -->
|
|
7
7
|
# harness-submit — 最终提交(含 worktree 合并)
|
|
8
8
|
|
|
9
9
|
## Purpose
|
|
@@ -4,7 +4,7 @@ description: Use when the user asks to synchronize, refresh, or validate Harness
|
|
|
4
4
|
metadata, adapters, knowledge, rules, instruction entrypoints, config origins,
|
|
5
5
|
or CodeGraph status.
|
|
6
6
|
---
|
|
7
|
-
<!-- generated by harness_deploy.py; core=
|
|
7
|
+
<!-- generated by harness_deploy.py; core=5f4653e62a19bff2; overlay=java; agent=cursor; do not edit -->
|
|
8
8
|
# harness-sync
|
|
9
9
|
|
|
10
10
|
## Purpose
|
|
@@ -13,13 +13,10 @@ description: Use when the user asks to synchronize, refresh, or validate Harness
|
|
|
13
13
|
|
|
14
14
|
## Before running
|
|
15
15
|
|
|
16
|
-
读取 `reference.md
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
工作流要求 `sync@1`、`rules-sync@1`、`rules-review@1`、`knowledge-sync@2`。`BLOCKED_CAPABILITY_MISMATCH` 属环境阻塞,不得降级为手工拼接旧流程。
|
|
16
|
+
读取 `reference.md`。`sync` 自身会在任何重操作之前完成能力握手;不要另起一个
|
|
17
|
+
`capabilities` 进程。工作流要求 `sync@2`、`rules-sync@1`、`rules-review@1`、
|
|
18
|
+
`knowledge-sync@3`、`codegraph-status@2`。`BLOCKED_CAPABILITY_MISMATCH` 属环境阻塞,
|
|
19
|
+
不得降级为手工拼接旧流程。
|
|
23
20
|
|
|
24
21
|
## Run
|
|
25
22
|
|
|
@@ -29,17 +26,26 @@ npx hunter-harness sync --project <项目路径> --profile interactive --progres
|
|
|
29
26
|
|
|
30
27
|
CLI 负责 Python runtime 解析、投影事务、knowledge、rules、map、指令图、配置来源、change 状态及 CodeGraph 证据汇总。禁止直接调用内部 Python 脚本,禁止使用固定 `HEAD~5`,禁止自动全量重建 CodeGraph。
|
|
31
28
|
|
|
32
|
-
|
|
29
|
+
只读诊断使用 `--check`(`--dry-run` 为兼容别名);它不得写报告、receipt 或投影。
|
|
30
|
+
长阶段的 heartbeat 写 stderr;stdout 只保留紧凑摘要。完整报告写入摘要中的
|
|
31
|
+
`reportPath`,并带 `reportSha256`。需要组件级证据时显式加 `--verbose`,不得默认把完整
|
|
32
|
+
JSON 报告回显到对话。
|
|
33
|
+
|
|
34
|
+
摘要中的 `remediations[]` 是稳定修复契约。先用对应 `previewCommand` 预览;低风险修复用
|
|
35
|
+
`--apply safe`,指定修复用 `--fix <id>`。需覆盖受管投影的修复必须同时提供 `--yes`,
|
|
36
|
+
并依赖 refresh 事务留下的 before snapshot;不允许绕过确认或无备份覆盖。指定修复时,
|
|
37
|
+
无关组件只做只读评估,不得顺带写入。
|
|
33
38
|
|
|
34
39
|
## Interpret
|
|
35
40
|
|
|
36
41
|
- `OK`:所有可验证组件通过。
|
|
42
|
+
- `ADVISORY`:索引最新,但有待评审候选等非阻塞健康提示;退出码仍为 0。
|
|
37
43
|
- `WARN`:存在过期、冲突、待评审或 `UNKNOWN` 证据;按 `reportPath` 中的 `nextAction` 处理。
|
|
38
44
|
- `FAIL`:组件执行失败;不得宣称同步完成。
|
|
39
45
|
- `BLOCKED`:runtime、项目状态或能力契约阻塞;先修复阻塞条件。
|
|
40
46
|
- `UNKNOWN`:证据不足,不等于成功,也不触发无界重建。
|
|
41
47
|
|
|
42
|
-
非交互或 CI 使用 `--profile general --progress jsonl --json`,不得等待规则候选确认。交互式运行若报告规则待评审,再按 `reference.md` 的显式入口处理。
|
|
48
|
+
非交互或 CI 使用 `--check --profile general --progress jsonl --json`,不得等待规则候选确认。交互式运行若报告规则待评审,再按 `reference.md` 的显式入口处理。
|
|
43
49
|
|
|
44
50
|
## Safety
|
|
45
51
|
|
|
@@ -6,13 +6,8 @@ description: harness-sync 的能力契约、统一状态模型、报告收据和
|
|
|
6
6
|
|
|
7
7
|
## 1. 能力握手
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
```powershell
|
|
12
|
-
npx hunter-harness capabilities --json
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
工作流 family manifest 声明 `minimumCliVersion` 和 `capabilities`。CLI 在任何高成本阶段之前核对版本与能力;缺失时返回:
|
|
9
|
+
工作流 family manifest 声明 `minimumCliVersion` 和 `capabilities`。`sync` 在任何高成本
|
|
10
|
+
阶段之前自行核对版本与能力;Skill 不要再运行独立的 `capabilities` 子进程。缺失时返回:
|
|
16
11
|
|
|
17
12
|
```json
|
|
18
13
|
{
|
|
@@ -47,22 +42,41 @@ npx hunter-harness sync --project <项目路径> --profile interactive --progres
|
|
|
47
42
|
CI/非交互式:
|
|
48
43
|
|
|
49
44
|
```powershell
|
|
50
|
-
npx hunter-harness sync --project <项目路径> --profile general --progress jsonl --json
|
|
45
|
+
npx hunter-harness sync --check --project <项目路径> --profile general --progress jsonl --json
|
|
51
46
|
```
|
|
52
47
|
|
|
53
|
-
`--dry-run`
|
|
48
|
+
`--check` 是严格只读检查;`--dry-run` 是兼容别名。两者都不生成持久报告、receipt 或
|
|
49
|
+
投影。每个长阶段通过 stderr 输出受限 heartbeat;stdout 默认只输出:
|
|
54
50
|
|
|
55
51
|
```json
|
|
56
52
|
{
|
|
57
53
|
"status": "WARN",
|
|
58
54
|
"runId": "<run-id>",
|
|
59
|
-
"components": {"ok": 7, "
|
|
55
|
+
"components": {"ok": 7, "advisory": 1, "warn": 0, "fail": 0, "blocked": 0, "unknown": 0},
|
|
56
|
+
"versions": {
|
|
57
|
+
"cliVersion": "0.0.0",
|
|
58
|
+
"workflowBundleVersion": "0.0.0",
|
|
59
|
+
"adapterBundleVersions": {}
|
|
60
|
+
},
|
|
61
|
+
"remediations": [],
|
|
60
62
|
"reportPath": ".harness/runtime/sync/<run-id>/reports/sync-report.json",
|
|
61
63
|
"reportSha256": "<sha256>"
|
|
62
64
|
}
|
|
63
65
|
```
|
|
64
66
|
|
|
65
|
-
|
|
67
|
+
只读检查的 `reportPath/reportSha256` 为 `null`。详细报告必须受大小限制,并包含每个组件
|
|
68
|
+
的 `status`、`reasonCode`、`observedAt`、`durationMs`、输入/输出 hash、证据、是否自动
|
|
69
|
+
修复及 `nextAction`;只有显式 `--verbose` 才把组件级详情写到 stdout。
|
|
70
|
+
|
|
71
|
+
### 结构化修复
|
|
72
|
+
|
|
73
|
+
- `remediations[]` 含稳定 `id`、风险、写入范围、备份/回滚说明、预计耗时、是否需确认、
|
|
74
|
+
`previewCommand` 与 `applyCommand`。
|
|
75
|
+
- `--apply safe` 只执行低风险、无需确认的修复。
|
|
76
|
+
- `--fix <id>` 只执行该项;需要覆盖受管 Adapter 时必须加 `--yes`。
|
|
77
|
+
- 指定修复时,其他组件仍参与诊断但保持只读。
|
|
78
|
+
- Adapter 覆盖由 refresh 事务执行,before snapshot 位于最新 committed refresh
|
|
79
|
+
transaction;事务失败会自动回滚。预览永远不得产生写入。
|
|
66
80
|
|
|
67
81
|
## 4. 组件状态
|
|
68
82
|
|
|
@@ -77,15 +91,21 @@ npx hunter-harness sync --project <项目路径> --profile general --progress js
|
|
|
77
91
|
| instruction graph | 入口、include 边、环、主题可达性 | 缺失引用或循环为 `FAIL` |
|
|
78
92
|
| config origins | canonical/projection 路径与 hash | 漂移 `WARN`,不静默覆盖 |
|
|
79
93
|
| changes | 五态分类及归档收据 | `INVALID`/`ORPHAN` 不自动删除 |
|
|
80
|
-
| CodeGraph |
|
|
94
|
+
| CodeGraph | `codegraph status --json` 的 pending、数据库观察时间、watcher 可达性 | 输出 `CURRENT/PENDING/STALE/INDEX_PRESENT_UNVERIFIED/MISSING/UNKNOWN`;日志 mtime 只证明 watcher 活动,不证明索引完成;不自动全量 reindex |
|
|
81
95
|
|
|
82
|
-
全局状态优先级:`BLOCKED` → `FAIL` → `WARN` → `OK`。任一 `UNKNOWN`
|
|
96
|
+
全局状态优先级:`BLOCKED` → `FAIL` → `WARN` → `ADVISORY` → `OK`。任一 `UNKNOWN`
|
|
97
|
+
至少使全局结果为 `WARN`。knowledge freshness 与 health 分开:索引一致但仍有待裁决候选时
|
|
98
|
+
为 `ADVISORY`,不得误报为过期。
|
|
83
99
|
|
|
84
100
|
## 5. Git 与 CodeGraph
|
|
85
101
|
|
|
86
102
|
增量基线来自上次成功 sync receipt 的 `headCommit`。首次运行或 receipt 不可用时,仅收集当前 HEAD 和有界文件统计;禁止固定 `HEAD~5`。
|
|
87
103
|
|
|
88
|
-
CodeGraph
|
|
104
|
+
CodeGraph 状态探测优先读取 `codegraph status --json` 的权威 pending 列表;只有该 API
|
|
105
|
+
不可用时才退回受限文件扫描,并把来源标成 `database-scan` 或 `unverified`。`.agents/`、
|
|
106
|
+
`.cursor/`、`.claude/` 等 Adapter 投影和 Markdown 文档不计入源码 pending。daemon log
|
|
107
|
+
mtime 只写入 `watcherObservedAt`,不能冒充 `indexObservedAt`。只有服务可达、watcher 已
|
|
108
|
+
启用且权威 `pendingFileCount=0` 时为 `CURRENT`。不要在 sync 内执行全量索引。
|
|
89
109
|
|
|
90
110
|
## 6. Instruction graph
|
|
91
111
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: harness-test
|
|
3
3
|
description: 测试执行:读取场景表,执行单元测试+API接口测试+数据兼容验证,输出测试报告。当用户说'跑测试/验证/跑用例/接口测试/单元测试'时使用
|
|
4
4
|
---
|
|
5
|
-
<!-- generated by harness_deploy.py; core=
|
|
5
|
+
<!-- generated by harness_deploy.py; core=5f4653e62a19bff2; overlay=java; agent=cursor; do not edit -->
|
|
6
6
|
# harness-test — 测试执行
|
|
7
7
|
|
|
8
8
|
## Purpose
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
"schema_version": 2,
|
|
3
3
|
"profile": "general",
|
|
4
4
|
"adapter": "claude-code",
|
|
5
|
-
"bundle_version": "0.2.
|
|
5
|
+
"bundle_version": "0.2.31",
|
|
6
6
|
"requires": {
|
|
7
|
-
"minimumCliVersion": "0.2.
|
|
7
|
+
"minimumCliVersion": "0.2.44",
|
|
8
8
|
"capabilities": [
|
|
9
|
-
"sync@
|
|
9
|
+
"sync@2",
|
|
10
10
|
"rules-sync@1",
|
|
11
11
|
"rules-review@1",
|
|
12
|
-
"knowledge-sync@
|
|
12
|
+
"knowledge-sync@3",
|
|
13
13
|
"build-profile@3",
|
|
14
14
|
"verification-graph@1",
|
|
15
15
|
"external-convergence@1",
|
|
16
|
-
"codegraph-status@
|
|
16
|
+
"codegraph-status@2",
|
|
17
17
|
"doctor-capability@1",
|
|
18
18
|
"registry-governance@1"
|
|
19
19
|
]
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"files": [
|
|
23
23
|
{
|
|
24
24
|
"path": ".harness-build.json",
|
|
25
|
-
"sha256": "
|
|
25
|
+
"sha256": "87389b46fe1cd171ac419b2bea1d86c859642768deaf77e58b6ee31d082c8f5c"
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
"path": "agents/harness-evaluator.md",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
76
|
"path": "harness-archive/SKILL.md",
|
|
77
|
-
"sha256": "
|
|
77
|
+
"sha256": "251ceb2210428ca34db6d3a76d55acfa7f53a7e7953f8b57c9a0fa13d11f2aaf"
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
80
|
"path": "harness-archive/templates/render-summary.mjs",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
96
|
"path": "harness-codebase-map/SKILL.md",
|
|
97
|
-
"sha256": "
|
|
97
|
+
"sha256": "e80b9578f785db234ca0ce0ffad2326b7221f0871930a6c61c3defd70213f6f9"
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
"path": "harness-codebase-map/templates/ARCHITECTURE.md",
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
148
|
"path": "harness-knowledge-ingest/reference.md",
|
|
149
|
-
"sha256": "
|
|
149
|
+
"sha256": "aaff0f08ff72f17ad610d6db51e9482b4eaeda87962765f679b2893dff9762e7"
|
|
150
150
|
},
|
|
151
151
|
{
|
|
152
152
|
"path": "harness-knowledge-ingest/scripts/harness_knowledge_mcp.py",
|
|
@@ -154,15 +154,15 @@
|
|
|
154
154
|
},
|
|
155
155
|
{
|
|
156
156
|
"path": "harness-knowledge-ingest/scripts/harness_knowledge.py",
|
|
157
|
-
"sha256": "
|
|
157
|
+
"sha256": "1d7e6a59fcee223c6988f4993bc838a6bf435eae9d195afd015596298c3162b3"
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
160
|
"path": "harness-knowledge-ingest/SKILL.md",
|
|
161
|
-
"sha256": "
|
|
161
|
+
"sha256": "948dea77f853df34786f8465a907170154255528503573b3b87aa27a57ef6235"
|
|
162
162
|
},
|
|
163
163
|
{
|
|
164
164
|
"path": "harness-knowledge-query/SKILL.md",
|
|
165
|
-
"sha256": "
|
|
165
|
+
"sha256": "bd6235efef89893cf35cc1e01e93112355f368c33722b69f4e72abc48d900ef0"
|
|
166
166
|
},
|
|
167
167
|
{
|
|
168
168
|
"path": "harness-plan/checklist.md",
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
},
|
|
179
179
|
{
|
|
180
180
|
"path": "harness-plan/SKILL.md",
|
|
181
|
-
"sha256": "
|
|
181
|
+
"sha256": "e5c1e00b76d02aa9ba5c765d84cb496f5304677d282385d3f7323240a4a64dc0"
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
184
|
"path": "harness-review/checklist.md",
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
},
|
|
195
195
|
{
|
|
196
196
|
"path": "harness-review/SKILL.md",
|
|
197
|
-
"sha256": "
|
|
197
|
+
"sha256": "5934dea44bebc26411edc3b1f5f127f032dea2e97f8f4f38a9d2d472a280bee3"
|
|
198
198
|
},
|
|
199
199
|
{
|
|
200
200
|
"path": "harness-run/checklist.md",
|
|
@@ -210,7 +210,7 @@
|
|
|
210
210
|
},
|
|
211
211
|
{
|
|
212
212
|
"path": "harness-run/SKILL.md",
|
|
213
|
-
"sha256": "
|
|
213
|
+
"sha256": "324297b618540c072fd7d6cabc6d424679e49bc6884c9340737a750a5887e00d"
|
|
214
214
|
},
|
|
215
215
|
{
|
|
216
216
|
"path": "harness-submit/checklist.md",
|
|
@@ -222,15 +222,15 @@
|
|
|
222
222
|
},
|
|
223
223
|
{
|
|
224
224
|
"path": "harness-submit/SKILL.md",
|
|
225
|
-
"sha256": "
|
|
225
|
+
"sha256": "c36b6af82ff4b6249e6312df63462c548e7e13ed1215e9a59624d76178e5c5f1"
|
|
226
226
|
},
|
|
227
227
|
{
|
|
228
228
|
"path": "harness-sync/reference.md",
|
|
229
|
-
"sha256": "
|
|
229
|
+
"sha256": "d841ffde8afd2739ed14c765e4d2dd40b4a799771e8256f0ac07d11e0c97f54d"
|
|
230
230
|
},
|
|
231
231
|
{
|
|
232
232
|
"path": "harness-sync/SKILL.md",
|
|
233
|
-
"sha256": "
|
|
233
|
+
"sha256": "27c56c5cca98a91b99c3f8e16f9b78a61d257be9aa8be21c8c4b5a7282b26dc9"
|
|
234
234
|
},
|
|
235
235
|
{
|
|
236
236
|
"path": "harness-test/checklist.md",
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
},
|
|
255
255
|
{
|
|
256
256
|
"path": "harness-test/SKILL.md",
|
|
257
|
-
"sha256": "
|
|
257
|
+
"sha256": "0986a30598cf5e4723cb6fa307b4ed8c2192f55f2cdc3cc5a5133c5382eb390f"
|
|
258
258
|
},
|
|
259
259
|
{
|
|
260
260
|
"path": "protocols/archive-report-protocol.md",
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
"schema_version": 2,
|
|
3
3
|
"profile": "general",
|
|
4
4
|
"adapter": "codebuddy",
|
|
5
|
-
"bundle_version": "0.2.
|
|
5
|
+
"bundle_version": "0.2.31",
|
|
6
6
|
"requires": {
|
|
7
|
-
"minimumCliVersion": "0.2.
|
|
7
|
+
"minimumCliVersion": "0.2.44",
|
|
8
8
|
"capabilities": [
|
|
9
|
-
"sync@
|
|
9
|
+
"sync@2",
|
|
10
10
|
"rules-sync@1",
|
|
11
11
|
"rules-review@1",
|
|
12
|
-
"knowledge-sync@
|
|
12
|
+
"knowledge-sync@3",
|
|
13
13
|
"build-profile@3",
|
|
14
14
|
"verification-graph@1",
|
|
15
15
|
"external-convergence@1",
|
|
16
|
-
"codegraph-status@
|
|
16
|
+
"codegraph-status@2",
|
|
17
17
|
"doctor-capability@1",
|
|
18
18
|
"registry-governance@1"
|
|
19
19
|
]
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"files": [
|
|
23
23
|
{
|
|
24
24
|
"path": ".harness-build.json",
|
|
25
|
-
"sha256": "
|
|
25
|
+
"sha256": "70855871e3c714d3a6b76269d28a5524f6c1a27a78e8cf5d6ba0401df99709da"
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
"path": "agents/harness-evaluator.md",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
76
|
"path": "harness-archive/SKILL.md",
|
|
77
|
-
"sha256": "
|
|
77
|
+
"sha256": "fadef0073049f45fd1259f0e6bf9cda57a3bd9a41fa3d7bd57adee2d9bce1f91"
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
80
|
"path": "harness-archive/templates/render-summary.mjs",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
96
|
"path": "harness-codebase-map/SKILL.md",
|
|
97
|
-
"sha256": "
|
|
97
|
+
"sha256": "89c2092fa50c2520b5fa80c7f9366de32566a7b427fef677f03139c5213b8d3a"
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
"path": "harness-codebase-map/templates/ARCHITECTURE.md",
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
148
|
"path": "harness-knowledge-ingest/reference.md",
|
|
149
|
-
"sha256": "
|
|
149
|
+
"sha256": "aaff0f08ff72f17ad610d6db51e9482b4eaeda87962765f679b2893dff9762e7"
|
|
150
150
|
},
|
|
151
151
|
{
|
|
152
152
|
"path": "harness-knowledge-ingest/scripts/harness_knowledge_mcp.py",
|
|
@@ -154,15 +154,15 @@
|
|
|
154
154
|
},
|
|
155
155
|
{
|
|
156
156
|
"path": "harness-knowledge-ingest/scripts/harness_knowledge.py",
|
|
157
|
-
"sha256": "
|
|
157
|
+
"sha256": "1d7e6a59fcee223c6988f4993bc838a6bf435eae9d195afd015596298c3162b3"
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
160
|
"path": "harness-knowledge-ingest/SKILL.md",
|
|
161
|
-
"sha256": "
|
|
161
|
+
"sha256": "ce134f946f9e38eac1eac6183cf11fc72948f17e12b19b54b0f1fd1b6a0284f9"
|
|
162
162
|
},
|
|
163
163
|
{
|
|
164
164
|
"path": "harness-knowledge-query/SKILL.md",
|
|
165
|
-
"sha256": "
|
|
165
|
+
"sha256": "a449ff17b8effb6635b4460cd16ac83392644d8dd0105e65b5cf73cb19c79d8a"
|
|
166
166
|
},
|
|
167
167
|
{
|
|
168
168
|
"path": "harness-plan/checklist.md",
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
},
|
|
179
179
|
{
|
|
180
180
|
"path": "harness-plan/SKILL.md",
|
|
181
|
-
"sha256": "
|
|
181
|
+
"sha256": "db6a033d2f7ca62dd9575381df28832e6af3e88c75dc9ebd36d119dd1fbd39fe"
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
184
|
"path": "harness-review/checklist.md",
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
},
|
|
195
195
|
{
|
|
196
196
|
"path": "harness-review/SKILL.md",
|
|
197
|
-
"sha256": "
|
|
197
|
+
"sha256": "454bd9e468973cef3671b814d81cf34b50c7afdd1fc79195d2e34920ff4d3f54"
|
|
198
198
|
},
|
|
199
199
|
{
|
|
200
200
|
"path": "harness-run/checklist.md",
|
|
@@ -210,7 +210,7 @@
|
|
|
210
210
|
},
|
|
211
211
|
{
|
|
212
212
|
"path": "harness-run/SKILL.md",
|
|
213
|
-
"sha256": "
|
|
213
|
+
"sha256": "37042ff9d43bd46809194285adcc97885d99bd4aa88023734aacc5ea02afc073"
|
|
214
214
|
},
|
|
215
215
|
{
|
|
216
216
|
"path": "harness-submit/checklist.md",
|
|
@@ -222,15 +222,15 @@
|
|
|
222
222
|
},
|
|
223
223
|
{
|
|
224
224
|
"path": "harness-submit/SKILL.md",
|
|
225
|
-
"sha256": "
|
|
225
|
+
"sha256": "0491ce2ecd1ce83e849d97c93d49aa4bc768b8919f29ade390da76963d8b2399"
|
|
226
226
|
},
|
|
227
227
|
{
|
|
228
228
|
"path": "harness-sync/reference.md",
|
|
229
|
-
"sha256": "
|
|
229
|
+
"sha256": "d841ffde8afd2739ed14c765e4d2dd40b4a799771e8256f0ac07d11e0c97f54d"
|
|
230
230
|
},
|
|
231
231
|
{
|
|
232
232
|
"path": "harness-sync/SKILL.md",
|
|
233
|
-
"sha256": "
|
|
233
|
+
"sha256": "42c20b2f7eff305836d78cbabbbdb750c897b2ca055be007f89daf2de9b7115f"
|
|
234
234
|
},
|
|
235
235
|
{
|
|
236
236
|
"path": "harness-test/checklist.md",
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
},
|
|
255
255
|
{
|
|
256
256
|
"path": "harness-test/SKILL.md",
|
|
257
|
-
"sha256": "
|
|
257
|
+
"sha256": "a20d65fd82de0d0cf0e1e4da7b950f7b04758f2fbd23499cd5f28283c442b65d"
|
|
258
258
|
},
|
|
259
259
|
{
|
|
260
260
|
"path": "protocols/archive-report-protocol.md",
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
"schema_version": 2,
|
|
3
3
|
"profile": "general",
|
|
4
4
|
"adapter": "codex",
|
|
5
|
-
"bundle_version": "0.2.
|
|
5
|
+
"bundle_version": "0.2.31",
|
|
6
6
|
"requires": {
|
|
7
|
-
"minimumCliVersion": "0.2.
|
|
7
|
+
"minimumCliVersion": "0.2.44",
|
|
8
8
|
"capabilities": [
|
|
9
|
-
"sync@
|
|
9
|
+
"sync@2",
|
|
10
10
|
"rules-sync@1",
|
|
11
11
|
"rules-review@1",
|
|
12
|
-
"knowledge-sync@
|
|
12
|
+
"knowledge-sync@3",
|
|
13
13
|
"build-profile@3",
|
|
14
14
|
"verification-graph@1",
|
|
15
15
|
"external-convergence@1",
|
|
16
|
-
"codegraph-status@
|
|
16
|
+
"codegraph-status@2",
|
|
17
17
|
"doctor-capability@1",
|
|
18
18
|
"registry-governance@1"
|
|
19
19
|
]
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"files": [
|
|
23
23
|
{
|
|
24
24
|
"path": ".harness-build.json",
|
|
25
|
-
"sha256": "
|
|
25
|
+
"sha256": "cf5a74d847533327f7c4840e932c1779eefeb11e7fa5720b1e7ee275eedc2d45"
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
"path": "CONTEXT.md",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
64
|
"path": "harness-archive/SKILL.md",
|
|
65
|
-
"sha256": "
|
|
65
|
+
"sha256": "d445fab2dda24d35a8e639cac993d907acddd17cc1f866fcea5b9f79a89371ad"
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
68
|
"path": "harness-archive/templates/render-summary.mjs",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
},
|
|
83
83
|
{
|
|
84
84
|
"path": "harness-codebase-map/SKILL.md",
|
|
85
|
-
"sha256": "
|
|
85
|
+
"sha256": "7ce6cab6d2a05b2a6b92cf3e7ad4d13f3447375aa46a4e9cfd50138a56a565c1"
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
"path": "harness-codebase-map/templates/ARCHITECTURE.md",
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
136
|
"path": "harness-knowledge-ingest/reference.md",
|
|
137
|
-
"sha256": "
|
|
137
|
+
"sha256": "aaff0f08ff72f17ad610d6db51e9482b4eaeda87962765f679b2893dff9762e7"
|
|
138
138
|
},
|
|
139
139
|
{
|
|
140
140
|
"path": "harness-knowledge-ingest/scripts/harness_knowledge_mcp.py",
|
|
@@ -142,15 +142,15 @@
|
|
|
142
142
|
},
|
|
143
143
|
{
|
|
144
144
|
"path": "harness-knowledge-ingest/scripts/harness_knowledge.py",
|
|
145
|
-
"sha256": "
|
|
145
|
+
"sha256": "1d7e6a59fcee223c6988f4993bc838a6bf435eae9d195afd015596298c3162b3"
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
148
|
"path": "harness-knowledge-ingest/SKILL.md",
|
|
149
|
-
"sha256": "
|
|
149
|
+
"sha256": "81d75aebc5e6b82e905fc5c20a989ba45dccadc2e1edc6a466f49842569502a5"
|
|
150
150
|
},
|
|
151
151
|
{
|
|
152
152
|
"path": "harness-knowledge-query/SKILL.md",
|
|
153
|
-
"sha256": "
|
|
153
|
+
"sha256": "40f1bfa2f1657e0a7af25a77784476d9682eabfa4311f38c5faaa2d2d3ea5793"
|
|
154
154
|
},
|
|
155
155
|
{
|
|
156
156
|
"path": "harness-plan/checklist.md",
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
},
|
|
167
167
|
{
|
|
168
168
|
"path": "harness-plan/SKILL.md",
|
|
169
|
-
"sha256": "
|
|
169
|
+
"sha256": "90e6f538ff014b35316de5616b154963a2dd7cc18856b511fde6f5c4a23b886a"
|
|
170
170
|
},
|
|
171
171
|
{
|
|
172
172
|
"path": "harness-review/checklist.md",
|
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
184
|
"path": "harness-review/SKILL.md",
|
|
185
|
-
"sha256": "
|
|
185
|
+
"sha256": "20a6d9993fef4b5ae8b4ba456b06e001a1116c751db17e8ed79054562fb7abfb"
|
|
186
186
|
},
|
|
187
187
|
{
|
|
188
188
|
"path": "harness-run/checklist.md",
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
},
|
|
199
199
|
{
|
|
200
200
|
"path": "harness-run/SKILL.md",
|
|
201
|
-
"sha256": "
|
|
201
|
+
"sha256": "b2a45e99134297e9d9c6395c700727aa046a4d07932b61a2a8d2e597a20558fc"
|
|
202
202
|
},
|
|
203
203
|
{
|
|
204
204
|
"path": "harness-submit/checklist.md",
|
|
@@ -210,15 +210,15 @@
|
|
|
210
210
|
},
|
|
211
211
|
{
|
|
212
212
|
"path": "harness-submit/SKILL.md",
|
|
213
|
-
"sha256": "
|
|
213
|
+
"sha256": "0f5f407f13ca43fc32157e71229b53a1786b16028821bf47b48b81bca9ce5b7f"
|
|
214
214
|
},
|
|
215
215
|
{
|
|
216
216
|
"path": "harness-sync/reference.md",
|
|
217
|
-
"sha256": "
|
|
217
|
+
"sha256": "d841ffde8afd2739ed14c765e4d2dd40b4a799771e8256f0ac07d11e0c97f54d"
|
|
218
218
|
},
|
|
219
219
|
{
|
|
220
220
|
"path": "harness-sync/SKILL.md",
|
|
221
|
-
"sha256": "
|
|
221
|
+
"sha256": "413a93db18dd96141ebb49790a3fd2747058a3ac80522b770fcc91c76cd4f6fa"
|
|
222
222
|
},
|
|
223
223
|
{
|
|
224
224
|
"path": "harness-test/checklist.md",
|
|
@@ -242,7 +242,7 @@
|
|
|
242
242
|
},
|
|
243
243
|
{
|
|
244
244
|
"path": "harness-test/SKILL.md",
|
|
245
|
-
"sha256": "
|
|
245
|
+
"sha256": "cd4b2a34e551ea33d114f06548cb9212b79911821564491d6d4e8456d13abccb"
|
|
246
246
|
},
|
|
247
247
|
{
|
|
248
248
|
"path": "protocols/archive-report-protocol.md",
|