agentic-flow-kit 0.2.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.
Files changed (111) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -0
  3. package/bin/flow-kit.mjs +4 -0
  4. package/modules/gates/dotnet-ca/README.md +24 -0
  5. package/modules/gates/dotnet-ca/check-architecture.sh +128 -0
  6. package/modules/gates/dotnet-ca/local-pre-commit.line +1 -0
  7. package/modules/hosts/omp/agents/implementer.md +12 -0
  8. package/modules/hosts/omp/agents/independent-reviewer.md +11 -0
  9. package/modules/hosts/omp/agents/ui-verifier.md +12 -0
  10. package/modules/hosts/opencode/agents/implementer.md +14 -0
  11. package/modules/hosts/opencode/agents/independent-reviewer.md +10 -0
  12. package/modules/hosts/opencode/agents/ui-verifier.md +10 -0
  13. package/modules/hosts/opencode/commands/build.md +13 -0
  14. package/modules/hosts/opencode/commands/deploy.md +12 -0
  15. package/modules/hosts/opencode/commands/design.md +12 -0
  16. package/modules/hosts/opencode/commands/maintain.md +12 -0
  17. package/modules/hosts/opencode/commands/new-task.md +12 -0
  18. package/modules/hosts/opencode/commands/plan.md +12 -0
  19. package/modules/hosts/opencode/commands/review.md +12 -0
  20. package/modules/hosts/opencode/commands/test.md +14 -0
  21. package/modules/hosts/trae/agents/implementer.md +9 -0
  22. package/modules/hosts/trae/agents/independent-reviewer.md +8 -0
  23. package/modules/hosts/trae/agents/ui-verifier.md +12 -0
  24. package/modules/hosts/trae/commands/wf-build.md +14 -0
  25. package/modules/hosts/trae/commands/wf-deploy.md +13 -0
  26. package/modules/hosts/trae/commands/wf-design.md +13 -0
  27. package/modules/hosts/trae/commands/wf-maintain.md +13 -0
  28. package/modules/hosts/trae/commands/wf-new-task.md +13 -0
  29. package/modules/hosts/trae/commands/wf-plan.md +13 -0
  30. package/modules/hosts/trae/commands/wf-review.md +13 -0
  31. package/modules/hosts/trae/commands/wf-test.md +14 -0
  32. package/modules/hosts/trae/hooks/post-edit-check.cjs +87 -0
  33. package/modules/hosts/trae/hooks/pre-shell-check.cjs +151 -0
  34. package/modules/hosts/trae/hooks/resolve-shell.cjs +21 -0
  35. package/modules/hosts/trae/hooks.json +29 -0
  36. package/modules/hosts/trae/rules/beautify-input-chinese.md +6 -0
  37. package/modules/hosts/trae/rules/git-commit-message.md +10 -0
  38. package/modules/hosts/trae/rules/project-workflow.md +14 -0
  39. package/modules/hosts/zcode/agents/implementer.md +11 -0
  40. package/modules/hosts/zcode/agents/independent-reviewer.md +10 -0
  41. package/modules/hosts/zcode/agents/ui-verifier.md +10 -0
  42. package/package.json +34 -0
  43. package/src/add-gate.mjs +83 -0
  44. package/src/add-host.mjs +63 -0
  45. package/src/cli.mjs +81 -0
  46. package/src/doctor.mjs +150 -0
  47. package/src/init.mjs +190 -0
  48. package/src/profiles.mjs +101 -0
  49. package/src/render.mjs +68 -0
  50. package/src/run-tests.mjs +35 -0
  51. package/src/sync.mjs +141 -0
  52. package/src/sync.test.mjs +207 -0
  53. package/templates/.gitattributes +6 -0
  54. package/templates/AGENTS.md +52 -0
  55. package/templates/_agents/board/index.html +382 -0
  56. package/templates/_agents/board/marked.min.js +6 -0
  57. package/templates/_agents/cache/kb-index.json +1 -0
  58. package/templates/_agents/commands/build.md +74 -0
  59. package/templates/_agents/commands/deploy.md +65 -0
  60. package/templates/_agents/commands/design.md +54 -0
  61. package/templates/_agents/commands/maintain.md +91 -0
  62. package/templates/_agents/commands/new-task.md +73 -0
  63. package/templates/_agents/commands/plan.md +46 -0
  64. package/templates/_agents/commands/review.md +59 -0
  65. package/templates/_agents/commands/test.md +80 -0
  66. package/templates/_agents/hooks/check-pairing-incremental.sh +29 -0
  67. package/templates/_agents/hooks/check-wiki-ledger.sh +18 -0
  68. package/templates/_agents/hooks/commit-check.cjs +140 -0
  69. package/templates/_agents/hooks/local-pre-commit +6 -0
  70. package/templates/_agents/notes/runtime-env.md +18 -0
  71. package/templates/_agents/roles/implementer.md +46 -0
  72. package/templates/_agents/roles/independent-reviewer.md +43 -0
  73. package/templates/_agents/roles/ui-verifier.md +42 -0
  74. package/templates/_agents/rule-budgets.txt +8 -0
  75. package/templates/_agents/scripts/agg-delegations.cjs +175 -0
  76. package/templates/_agents/scripts/check-loop.sh +803 -0
  77. package/templates/_agents/scripts/check-loop.test.sh +1042 -0
  78. package/templates/_agents/scripts/ensure-board.ps1 +48 -0
  79. package/templates/_agents/scripts/gen-wiki-board.mjs +197 -0
  80. package/templates/_agents/scripts/gen-wiki-board.test.mjs +136 -0
  81. package/templates/_agents/scripts/gen-workflow-index.mjs +190 -0
  82. package/templates/_agents/scripts/gen-workflow-index.test.mjs +113 -0
  83. package/templates/_agents/scripts/gen-workflow-metrics.mjs +172 -0
  84. package/templates/_agents/scripts/gen-workflow-metrics.test.mjs +101 -0
  85. package/templates/_agents/scripts/kb-cache-evict.mjs +50 -0
  86. package/templates/_agents/scripts/kb-cache-evict.test.mjs +104 -0
  87. package/templates/_agents/scripts/kb-search.mjs +307 -0
  88. package/templates/_agents/scripts/kb-search.test.mjs +153 -0
  89. package/templates/_agents/scripts/rule-budget.sh +68 -0
  90. package/templates/_agents/scripts/verify-wiki-consistency.mjs +192 -0
  91. package/templates/_agents/scripts/wiki-search.mjs +19 -0
  92. package/templates/_agents/scripts/workflow-board-server.mjs +244 -0
  93. package/templates/_agents/skills/verify-ui/SKILL.md +24 -0
  94. package/templates/_agents/skills/wiki/SKILL.md +104 -0
  95. package/templates/_agents/workflow-modules.txt +11 -0
  96. package/templates/_githooks/commit-msg +15 -0
  97. package/templates/_githooks/post-commit +10 -0
  98. package/templates/_githooks/pre-commit +58 -0
  99. package/templates/_githooks/pre-merge-commit +24 -0
  100. package/templates/_githooks/pre-push +32 -0
  101. package/templates/wiki/INDEX.md +23 -0
  102. package/templates/wiki/drafts-archive/README.md +3 -0
  103. package/templates/wiki//347/237/245/350/257/206/346/262/211/346/267/200/346/200/273/350/247/210.html +56 -0
  104. package/templates/workflow/README.md +52 -0
  105. package/templates/workflow/delegations.md +28 -0
  106. package/templates/workflow/incidents/_TEMPLATE.md +42 -0
  107. package/templates/workflow/intents/_TEMPLATE.md +40 -0
  108. package/templates/workflow/papercuts.md +7 -0
  109. package/templates/workflow/plans/_TEMPLATE.md +38 -0
  110. package/templates/workflow/regression-checklist.md +22 -0
  111. package/templates/workflow/specs/_TEMPLATE.md +41 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 agentic-flow-kit contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,62 @@
1
+ # agentic-flow-kit
2
+
3
+ AI-Native 闭环工作流 + wiki 知识层脚手架。`flow-kit init` 一条命令为新项目装好整套项目级 AI 工作流引擎:8 个阶段命令、3 个子智能体角色契约、git 门禁钩子(闭环配对 / 敏感信息扫描 / 条件构建 / 规则面预算)、kb 跨语料检索、workflow 实时看板、intents→specs→plans→incidents 文档闭环、wiki 知识库三件套。
4
+
5
+ **装完即自包含**:引擎文件拷贝进项目(零 npm 运行时依赖,Node ≥ 18 即可跑),clone 后只差 `git config core.hooksPath .githooks`——init 会自动挂好。
6
+
7
+ ## 快速开始
8
+
9
+ ```bash
10
+ cd <你的项目根>
11
+ npx agentic-flow-kit init # 交互模式:宿主 → 技术栈 → 端口 → 显式确认安装
12
+ # 或直接给参数
13
+ npx agentic-flow-kit init --stack node --hosts zcode,opencode
14
+
15
+ # 体检(布局 / git 钩子 / managed 台账 / 索引漂移 / check-loop)
16
+ npx agentic-flow-kit doctor
17
+
18
+ # 包出新版后升级(未改动→覆盖;本地已改→跳过并报告,--force 才覆盖;owned 永不触碰)
19
+ npx agentic-flow-kit sync
20
+
21
+ # 后补宿主 / 装门禁(dotnet-ca:Clean Architecture 红线守卫,装后归项目)
22
+ npx agentic-flow-kit add-host opencode
23
+ npx agentic-flow-kit add-gate dotnet-ca
24
+ ```
25
+
26
+ | 选项 | 说明 |
27
+ |------|------|
28
+ | `--stack` | `dotnet` / `node` / `python` / `go` / `none`(默认 none)——**门禁配置三处**:commit-check 条件编译检查(暂存对应扩展名时 commit 前自动构建)+ **质量检测**(`checks`:lint / 类型检查 / vet 等秒级确定性检查,存在对应配置文件(tsconfig / eslint / ruff / go.mod 等)才启用,没有则自动跳过;测试不放提交门——关单在 test.md 阶段门)、settings.json 自检验命令权限、AGENTS.md「项目适配区」命令预填 |
29
+ | `--hosts` | `zcode` / `opencode` / `trae` / `omp` 逗号多选(默认 zcode)——生成对应宿主薄适配层;zcode/omp 为本地配置自动进 .gitignore |
30
+ | `--board-port` | workflow 看板端口(默认 8933) |
31
+ | `--dir` | 目标项目根(默认当前目录) |
32
+ | `--force` | 覆盖已存在的同名文件(默认保守跳过) |
33
+
34
+ init 不问项目名 / 描述:`AGENTS.md` 只生成「AI工作流 + Wiki」两章骨架 + 「项目适配区」;技术栈经 `--stack` 传入只用于门禁配置(编译检查与自检验命令初值),密钥白名单等其余细节在 `.agents/hooks/commit-check.config.json` 里按项目填。
35
+
36
+ ## 装了什么
37
+
38
+ ```
39
+ .agents/ 阶段命令×8 / 角色契约×3 / 门禁钩子 / 引擎脚本(检索·索引·看板·预算·聚合)/ 技能×2 / settings.json / kit.json 台账
40
+ .githooks/ pre-commit(通用门禁编排+项目门禁挂载点)/ pre-push(闭环断档)/ commit-msg / post-commit / pre-merge-commit
41
+ workflow/ intents/specs/plans/incidents 模板×4 + README 协议 + 台账三件(delegations/papercuts/regression-checklist)
42
+ wiki/ INDEX 骨架 + 知识沉淀总览 + drafts-archive
43
+ AGENTS.md 项目规范骨架(项目段占位待填)
44
+ modules/gates/ 可选门禁模块(dotnet-ca:Clean Architecture 参考实现,装进项目后归项目)
45
+ ```
46
+
47
+ **两态文件模型**:`.agents/kit.json` 记录 managed(引擎件,随包升级)与 owned(项目内容,永不覆盖)清单及 sha256;`doctor` 会校验漂移。已存在的文件 init 保守跳过(`--force` 覆盖)。
48
+
49
+ **升级语义(sync)**:managed 文件三方比对(台账 sha / 磁盘 sha / 新版渲染 sha)——未改动 → 直接覆盖新版;本地已改 → 跳过并报告(`--force` 才覆盖,git diff 自查差异);改动恰好等于新版 → 视为已最新。包内新增文件自动安装;包内已删文件仅报告不删盘;缺失的 managed 文件自动恢复。INDEX / wiki 看板等生成器目标不比对 sha,收尾重跑生成器走锚点重写。门禁模块(add-gate 装入)归项目所有,sync 永不覆盖。
50
+
51
+ ## 设计原则
52
+
53
+ - **权威单源**:角色行为只在 `.agents/roles/`,流程只在 `.agents/commands/`,宿主适配层是纯转发薄层——换宿主不换流程。
54
+ - **门禁即 git 钩子**:不依赖任何 agent 客户端自觉;项目专属门禁挂 `.agents/hooks/local-pre-commit`。
55
+ - **中文优先**:文档协议、命令、检查输出全中文;frontmatter 受限子集供机器断言。
56
+ - 抽取自真实项目长期运转的引擎(某真实项目),dogfooding 是后续路线(sync 升级 / add-host / add-gate / npm 发布)的一部分。
57
+
58
+ ## 路线
59
+
60
+ - [x] v0.1.0:init(flags 模式)+ doctor + 4 宿主适配 + dotnet-ca 门禁模块
61
+ - [x] v0.2.0:sync 升级(未动覆盖 / 已改跳过报告 + `--force` / 生成器锚点重写)+ add-host / add-gate
62
+ - [ ] npm 发布
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import { run } from '../src/cli.mjs';
3
+
4
+ run(process.argv.slice(2));
@@ -0,0 +1,24 @@
1
+ # dotnet-ca — Clean Architecture 门禁模块(可选)
2
+
3
+ Clean Architecture(Application/Domain/Infrastructure/API 分层)红线守卫参考实现,抽自真实项目实战门禁。五条红线:Application 禁引 Infrastructure/DbContext、API Controller 禁直注 DbContext、EF 模型层解耦(无关系映射/无导航属性/无 Include)、InnerException 禁透传响应。
4
+
5
+ ## 接线(一次性,装进项目本地)
6
+
7
+ 已装 agentic-flow-kit 的项目直接:
8
+
9
+ ```sh
10
+ npx agentic-flow-kit add-gate dotnet-ca
11
+ ```
12
+
13
+ (装 .agents/hooks/check-architecture.sh + 自动接线 local-pre-commit;装后归项目所有,sync 不覆盖。)
14
+
15
+ 手动装法等价于:
16
+
17
+ ```sh
18
+ mkdir -p .agents/hooks
19
+ cp <包内 modules/gates/dotnet-ca/check-architecture.sh> .agents/hooks/
20
+ # .agents/hooks/local-pre-commit(pre-commit 的项目门禁挂载点,没有则新建):
21
+ echo 'sh .agents/hooks/check-architecture.sh' >> .agents/hooks/local-pre-commit
22
+ ```
23
+
24
+ 然后改脚本头部 `CONFIG` 块的目录/类型名。红线不适用(如不用 EF)的条目自行删除——本模块是参考实现,装进项目后归项目所有。
@@ -0,0 +1,128 @@
1
+ #!/bin/sh
2
+ # check-architecture(agentic-flow-kit · dotnet-ca 门禁模块):Clean Architecture 红线参考实现
3
+ # 红线:Application 禁引用 Infrastructure / 禁 DbContext / EF 模型层解耦(无关系映射/无导航/无 Include)/ 异常详情不透传
4
+ # 违例输出到 stderr 并 exit 1;干净无输出 exit 0
5
+ #
6
+ # 接线(项目一次性):把本文件复制/引用到 .agents/hooks/ 下并在 .agents/hooks/local-pre-commit 里执行——
7
+ # mkdir -p .agents/hooks && cp <包内路径>/check-architecture.sh .agents/hooks/
8
+ # echo 'sh .agents/hooks/check-architecture.sh' >> .agents/hooks/local-pre-commit
9
+ cd "$(git rev-parse --show-toplevel 2>/dev/null)" || { echo "check-architecture: 不在 git 仓库内,门禁 fail-closed,不静默放行" >&2; exit 1; }
10
+
11
+ # ---- CONFIG:按项目改成你的目录/类型名(其余为通用逻辑,升级只动 CONFIG) ----
12
+ APP_DIR="backend/src/YourApp.Application"
13
+ API_DIR="backend/src/YourApp.API"
14
+ DBCTX_FILE="backend/src/YourApp.Infrastructure/Data/AppDbContext.cs"
15
+ DOMAIN_ENTITIES_DIR="backend/src/YourApp.Domain/Entities"
16
+ CONTROLLERS_DIR="backend/src/YourApp.API/Controllers"
17
+ DBCTX_CLASS="AppDbContext"
18
+ INFRA_USING="using YourCompany.YourApp.Infrastructure"
19
+ EXEMPT_CTRL="ExemptedController" # 冒号分隔的豁免 Controller 名(原生 LINQ 等历史豁免)
20
+ SHARED_TYPES="Staff,Company" # 跨模块共享实体名(红线 4.3 白名单)
21
+ # -------------------------------------------------------------------------
22
+
23
+ # 门禁目标存在性:目标缺失时 fail-closed(不静默放行)
24
+ require_target() {
25
+ [ -d "$1" ] || [ -f "$1" ] || { echo "check-architecture: 门禁目标缺失($1)——fail-closed,不静默放行" >&2; exit 1; }
26
+ }
27
+ require_target "$APP_DIR"
28
+ require_target "$API_DIR"
29
+ violations=""
30
+ exempt_grep=$(printf '%s' "$EXEMPT_CTRL" | tr ':' '|')
31
+
32
+ # 红线 1:Application csproj 不得引用 Infrastructure 项目
33
+ if grep -q "Infrastructure" "$APP_DIR"/*.csproj 2>/dev/null; then
34
+ violations="$violations
35
+ - csproj 引用了 Infrastructure 项目(Application 只允许依赖 Domain 与共享层)"
36
+ fi
37
+
38
+ # 红线 2:Application 代码不得出现 DbContext / Infrastructure 命名空间
39
+ hits=$(grep -rn -e "$DBCTX_CLASS" -e "$INFRA_USING" "$APP_DIR" --include="*.cs" 2>/dev/null | grep -v -e "/obj/" -e "/bin/")
40
+ if [ -n "$hits" ]; then
41
+ violations="$violations
42
+ - Application 代码出现 DbContext / Infrastructure 引用:
43
+ $hits"
44
+ fi
45
+
46
+ # 红线 3:API 层 Controller 禁直接注入 DbContext(豁免清单内的 Controller 除外)
47
+ api_hits=$(grep -rn "$DBCTX_CLASS" "$API_DIR" --include="*.cs" 2>/dev/null | grep -v -e "/obj/" -e "/bin/" -e "$exempt_grep")
48
+ if [ -n "$api_hits" ]; then
49
+ violations="$violations
50
+ - API 层出现 DbContext 直接引用(应走仓储/服务接口,豁免仅 $EXEMPT_CTRL):
51
+ $api_hits"
52
+ fi
53
+
54
+ # 红线 4.1:DbContext 禁关系映射配置(模型层解耦,关联一律显式 JOIN/分步查询)
55
+ require_target "$DBCTX_FILE"
56
+ rel_hits=$(grep -nE "HasOne|HasMany|WithOne|WithMany|HasForeignKey|OnDelete" "$DBCTX_FILE" 2>/dev/null)
57
+ if [ -n "$rel_hits" ]; then
58
+ violations="$violations
59
+ - $DBCTX_CLASS 出现关系映射(模型层已解耦):
60
+ $rel_hits"
61
+ fi
62
+
63
+ # 红线 4.2:Application / API 禁代码级 .Include((注释里的「原 Include(...)」无前导点,不误报)
64
+ inc_hits=$(grep -rnE "\.Include\(" "$APP_DIR" "$API_DIR" --include="*.cs" 2>/dev/null | grep -v -e "/obj/" -e "/bin/")
65
+ if [ -n "$inc_hits" ]; then
66
+ violations="$violations
67
+ - Application/API 出现 EF Include(导航已移除,明细/参照数据经仓储分步查询或显式 JOIN):
68
+ $inc_hits"
69
+ fi
70
+
71
+ # 红线 4.3:Domain 实体禁导航属性(按实体类名交叉扫描;枚举/标量属性不误伤)
72
+ require_target "$DOMAIN_ENTITIES_DIR"
73
+ PY_BIN=""
74
+ for c in python python3 py; do
75
+ if command -v "$c" >/dev/null 2>&1; then PY_BIN="$c"; break; fi
76
+ done
77
+ if [ -z "$PY_BIN" ]; then
78
+ violations="$violations
79
+ - 红线 4.3 无法执行:未找到 python/python3/py(Domain 导航属性扫描依赖 Python;门禁 fail-closed,不静默放行)"
80
+ else
81
+ nav_hits=$(DOMAIN_ENTITIES_DIR="$DOMAIN_ENTITIES_DIR" SHARED_TYPES="$SHARED_TYPES" "$PY_BIN" - <<'PYEOF'
82
+ import re, glob, os
83
+ from os import environ
84
+ d = environ['DOMAIN_ENTITIES_DIR']
85
+ shared = {s.strip() for s in environ.get('SHARED_TYPES', '').split(',') if s.strip()}
86
+ files = glob.glob(d + '/**/*.cs', recursive=True)
87
+ names = set()
88
+ for f in files:
89
+ with open(f, encoding='utf-8-sig') as fh:
90
+ names |= set(re.findall(r'public\s+(?:sealed\s+|abstract\s+|partial\s+)*(?:class|record)\s+(\w+)', fh.read()))
91
+ hits = []
92
+ for f in files:
93
+ with open(f, encoding='utf-8-sig') as fh:
94
+ for i, line in enumerate(fh, 1):
95
+ m = re.match(r'\s*public\s+(?:virtual\s+)?([\w<>,\s\.\?]+?)\s+(\w+)\s*\{', line)
96
+ if not m:
97
+ continue
98
+ typ = m.group(1).strip()
99
+ mm = re.search(r'(?:ICollection|List|IEnumerable|IReadOnlyCollection|IReadOnlyList)<\s*(\w+)\s*>', typ)
100
+ core = mm.group(1) if mm else (typ.rstrip('?') if re.fullmatch(r'\w+\??', typ) else None)
101
+ if core and (core in names or core in shared):
102
+ hits.append(f"{os.path.basename(f)}:{i} {m.group(2)} : {typ}")
103
+ if hits:
104
+ print('\n'.join(hits))
105
+ PYEOF
106
+ )
107
+ fi
108
+ if [ -n "$nav_hits" ]; then
109
+ violations="$violations
110
+ - Domain 实体出现导航属性(模型层已解耦,关联只保留外键标量列):
111
+ $nav_hits"
112
+ fi
113
+
114
+ # 红线 5:Controller 禁把 InnerException 原文透传进响应体(详情只许进日志)
115
+ inner_hits=$(grep -rn "InnerException" "$CONTROLLERS_DIR" --include="*.cs" 2>/dev/null \
116
+ | grep -v -e "/obj/" -e "/bin/" \
117
+ | grep -vE "Log(Warning|Error|Information|Debug|Trace)")
118
+ if [ -n "$inner_hits" ]; then
119
+ violations="$violations
120
+ - Controller 出现 InnerException 透传进响应(数据库异常统一翻译;详情只许进日志):
121
+ $inner_hits"
122
+ fi
123
+
124
+ if [ -n "$violations" ]; then
125
+ printf '架构红线违例(dotnet-ca 门禁):\n%s\n' "$violations" >&2
126
+ exit 1
127
+ fi
128
+ exit 0
@@ -0,0 +1 @@
1
+ sh .agents/hooks/check-architecture.sh
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: implementer
3
+ description: Implements an approved, tightly scoped code change or test when the task includes owned files and executable acceptance criteria. 中文:在已批准且边界明确的工作包内实现改动或补测试;超出授权文件范围即停。
4
+ tools: read, grep, glob, bash, edit, write
5
+ ---
6
+ 开工前读项目根 `AGENTS.md` 与 `.agents/roles/implementer.md`,并**完全遵循**该角色契约(必需输入 / 授权文件 / 验收与停止条件)。
7
+
8
+ 宿主适配说明(本机 omp):
9
+ - 只改派单**授权文件**范围内的内容;需偏离(改公共接口 / 动未列文件 / 引新依赖 / 改验收判据)→ **停下报 blocker**,不自行扩大范围。
10
+ - **禁** `git commit` / `git push` / `git reset --hard`;提交与推送由主智能体在复核后执行。
11
+ - 不跑全量静态门(`项目构建命令` / `项目测试命令` / `项目类型检查命令`、项目自有架构门)——由主智能体在改动面收敛后统一跑;本角色只做与工作包直接相关的最小验证。
12
+ - 派单缺授权文件清单或可执行验收判据时,**返回 blocker 且不动文件**。
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: independent-reviewer
3
+ description: Independently reviews a fixed spec, plan, or code diff for correctness and project-rule violations without modifying files. 中文:对已固定的 spec / plan / 代码 diff 做独立复核,产出分级问题清单;只读,禁改文件。
4
+ tools: read, grep, glob, bash
5
+ ---
6
+ 开工前读项目根 `AGENTS.md` 与 `.agents/roles/independent-reviewer.md`,并**完全遵循**该角色契约(复核基准 / 分级口径 / 输出格式 / 独立性要求)。
7
+
8
+ 宿主适配说明(本机 omp):
9
+ - `bash` **仅限只读用途**:`git diff` / `git log` / `git show` / `git status` 与只读查询;**禁**改文件、**禁**跑构建 / 测试 / DDL / 写库。
10
+ - 独立性:本角色不得沿用原作者思路(不得由修改者自查冒充);派单未固定复核目标(spec/plan/diff 基准)与验收来源时,**返回 blocker**。
11
+ - 每条 finding 须过 `skill://review-verification-protocol`(锚定 file:line、给出证据、校准严重级;不确定降级为提问;纯风格不报),输出格式 `path:line: <severity> <problem>. <fix>.` + 一句结论。
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: ui-verifier
3
+ description: Runs browser-based verification for an implemented UI change and returns reproducible evidence without editing repository files. 中文:对已实现的 UI 改动做浏览器实测并返回可复核证据;只验证不修复,禁改仓库文件。
4
+ tools: read, grep, glob, bash, eval
5
+ ---
6
+ 开工前读项目根 `AGENTS.md` 与 `.agents/roles/ui-verifier.md`,并**完全遵循**该角色契约(必需输入 / 步骤 / 证据要求 / 停止条件)。
7
+
8
+ 宿主适配说明(本机 omp):
9
+ - 浏览器实测经 `eval` 的 `browser` 能力(headless Chrome + CDP);环境细节见项目 UI 实测技能 `.agents/skills/verify-ui/SKILL.md` 与项目注记(如有,`.agents/notes/runtime-env.md`)。
10
+ - 只验证不改仓:**禁** `edit`/`write`;临时脚本写到仓库外(系统临时目录),收尾删除;**禁** `git commit` / `git push` / `git reset --hard`。
11
+ - 数据安全:只删自己创建的数据,且必须用创建响应返回的 ID;**严禁**按「列表第一行 / 最近一条 / 名称匹配」等启发式取单删除。
12
+ - 若宿主策略拒绝了所需工具(如 `eval` 被 deny),或派单缺路线 / 步骤 / 可观察预期:**返回 blocker,不启动服务、不改任何文件**。
@@ -0,0 +1,14 @@
1
+ ---
2
+ description: Implements an approved, tightly scoped code change or test when the task includes owned files and executable acceptance criteria
3
+ mode: subagent
4
+ permission:
5
+ edit: allow
6
+ bash:
7
+ "*": allow
8
+ "git commit*": deny
9
+ "git push*": deny
10
+ "git reset --hard*": deny
11
+ task: deny
12
+ ---
13
+
14
+ Before acting, read `AGENTS.md` and `.agents/roles/implementer.md` from the project root and follow them completely. If the dispatch does not provide the required inputs defined there, return a blocker without editing files.
@@ -0,0 +1,10 @@
1
+ ---
2
+ description: Independently reviews a fixed spec, plan, or code diff for correctness and project-rule violations without modifying files
3
+ mode: subagent
4
+ permission:
5
+ edit: deny
6
+ bash: deny
7
+ task: deny
8
+ ---
9
+
10
+ Before reviewing, read `AGENTS.md` and `.agents/roles/independent-reviewer.md` from the project root and follow them completely. If the dispatch does not identify a fixed review target and acceptance source, return a blocker.
@@ -0,0 +1,10 @@
1
+ ---
2
+ description: Runs browser-based verification for an implemented UI change and returns reproducible evidence without editing repository files
3
+ mode: subagent
4
+ permission:
5
+ edit: deny
6
+ bash: allow
7
+ task: deny
8
+ ---
9
+
10
+ Before verifying, read `AGENTS.md` and `.agents/roles/ui-verifier.md` from the project root and follow them completely. If the dispatch lacks a route, steps, or observable expectations, return a blocker without starting services.
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: Build 阶段 · 起 plan + 实现代码 + 自验(两道确认门,确认后才动代码)
3
+ ---
4
+
5
+ 严格按 AGENTS.md 与 .agents/commands/build.md 执行:Build 阶段 · 起 plan + 写代码。
6
+
7
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
8
+
9
+ 【OpenCode 宿主注记】
10
+ - 两道确认门:① plan 草稿全文确认(draft→approved)② 计划模式列改动文件清单确认——两道全过才动代码。
11
+ - 范围明确的工作包可委派 `implementer`(`.opencode/agents/implementer.md`,契约读 `.agents/roles/implementer.md`,权限已禁 git commit/push);不满足角色契约时按 `fallback: main` 由主智能体执行。
12
+ - 实现中需偏离已确认 plan(公共接口 / 未列文件 / 新依赖 / 判据影响)→ 停下向用户说明,确认后再继续。
13
+ - 完成后进 test。
@@ -0,0 +1,12 @@
1
+ ---
2
+ description: Deploy 阶段 · prod 上线清单(静态门 / 配对 / 回归 / DB / 授权 / 24h 观察;关单在 test)
3
+ ---
4
+
5
+ 严格按 AGENTS.md 与 .agents/commands/deploy.md 执行:Deploy 阶段 · prod 上线清单(静态门 / 配对检查 / 回归 / DB / 授权 / 24h 观察;文档关单在 test,本阶段不重复关单)。
6
+
7
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
8
+
9
+ 【OpenCode 宿主注记】
10
+ - 确认门:上线授权 = 用户对话内一句确认 + release/<日期> tag 留痕;无第二审批人,AI 不得自行上线、不得 `git push` 绕门禁。
11
+ - 本阶段不委派子智能体;回滚 SQL 等数据安全判断由主智能体做、用户拍板。
12
+ - 异常进 maintain;用户确认无异常 = prod 闭环,AI 不得自行宣告。
@@ -0,0 +1,12 @@
1
+ ---
2
+ description: Design 阶段 · 起 spec(L2/L3 强制,L1 可省略直接进 build)
3
+ ---
4
+
5
+ 严格按 AGENTS.md 与 .agents/commands/design.md 执行:Design 阶段 · 起 spec(L2/L3 强制,L1 可省略直接进 build)。
6
+
7
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
8
+
9
+ 【OpenCode 宿主注记】
10
+ - 确认门:spec 草稿经用户确认;L3 另有独立复核门,复核未过不得确认。
11
+ - L3 独立复核委派 `independent-reviewer`(`.opencode/agents/independent-reviewer.md`,契约读 `.agents/roles/independent-reviewer.md`)——subagent 天然独立上下文,权威命令 `fallback: new-session` 的隔离要求即满足。
12
+ - 确认后进 build。
@@ -0,0 +1,12 @@
1
+ ---
2
+ description: Maintain 阶段 · 立 incident + 复盘三件套(incident 在 L1+ 即 intent 等价物)
3
+ ---
4
+
5
+ 严格按 AGENTS.md 与 .agents/commands/maintain.md 执行:Maintain 阶段 · 立 incident + 复盘三件套(incident 在 L1+ 即 intent 等价物,不必另造 intent)。
6
+
7
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
8
+
9
+ 【OpenCode 宿主注记】
10
+ - 确认门:止血方案由用户拍板(AI 只执行选定方案);三件套草稿经用户确认后才落地。
11
+ - 配 plan 的时点与形态以权威文件为准——incident≡intent 免掉的是 intent,plan 不可免(commit / push 两处门禁按同名硬拦)。
12
+ - 复现路径与验收明确的局部热修可委派 `implementer`(`.opencode/agents/implementer.md`);事故诊断、根因定性与三件套起草不委派。
@@ -0,0 +1,12 @@
1
+ ---
2
+ description: AI-Native 闭环总入口 · 6 阶段路由(新需求 → plan / 修复 → maintain)+ 级别判断(L0-L3)
3
+ ---
4
+
5
+ 严格按 AGENTS.md 与 .agents/commands/new-task.md 执行:闭环总入口 · 路由判断(新需求 intent → plan / 修复 incident → maintain)+ 级别判断(L0-L3)。
6
+
7
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
8
+
9
+ 【OpenCode 宿主注记】
10
+ - 输出路由结论与级别,指明进入哪个 .agents/commands/*.md 阶段;不并阶段、不跳阶段。
11
+ - approval_required 阶段产出未经用户对话内一句话确认,不得进入下一阶段。
12
+ - opencode 无宿主级即时钩子;机器门禁以 `.githooks/`(git 提交时硬拦)为准,`git commit/merge/push` 三处禁 `--no-verify`。
@@ -0,0 +1,12 @@
1
+ ---
2
+ description: Plan 阶段 · 立 intent(AI 起草、用户确认;本阶段不委派子智能体)
3
+ ---
4
+
5
+ 严格按 AGENTS.md 与 .agents/commands/plan.md 执行:Plan 阶段 · 立 intent(AI 起草、用户确认)。
6
+
7
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
8
+
9
+ 【OpenCode 宿主注记】
10
+ - 确认门:intent 草稿全文输出给用户过目,一句"可以"即确认(draft→approved),确认前不进下一阶段。
11
+ - 已有 approved intent 时按级别跳转:L1 → build;L2/L3 → design。
12
+ - 本阶段不委派子智能体,由主智能体起草;任务入口动作(ensure-board.ps1 看板)与红线勾选口径以权威文件为准。
@@ -0,0 +1,12 @@
1
+ ---
2
+ description: Review · 代码评审(横切,合入前使用;P0/P1/P2 分级清单 + 用户定性与合入时机)
3
+ ---
4
+
5
+ 严格按 AGENTS.md 与 .agents/commands/review.md 执行:Review · 代码评审(横切,合入前使用;P0/P1/P2 分级清单 + 用户定性与合入时机)。
6
+
7
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
8
+
9
+ 【OpenCode 宿主注记】
10
+ - 顺序:机器门禁自动拦(`.githooks/`)→ `independent-reviewer` 复核(L2/L3 强制独立,经 `.opencode/agents/independent-reviewer.md` 派 subagent,天然独立上下文)→ 分级清单交用户定性与决定合入时机。
11
+ - 确认门:P0/P1 未清回 build;清零且用户确认后才可合入。
12
+ - finding 报告门(防误报)与机器兜底清单以权威文件为准。
@@ -0,0 +1,14 @@
1
+ ---
2
+ description: Test 阶段 · 静态门 + 切库冒烟 + UI 实测 + L2/L3 独立复核(关单在本阶段)
3
+ ---
4
+
5
+ 严格按 AGENTS.md 与 .agents/commands/test.md 执行:Test 阶段 · 静态门全过 + 切库冒烟(如触发)+ UI 实测 + L2/L3 独立复核。
6
+
7
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
8
+
9
+ 【OpenCode 宿主注记】
10
+ - 终端是 PowerShell:取真退出码、`$LASTEXITCODE` 假绿陷阱、Git Bash 绝对路径调法见 `.agents/notes/runtime-env.md` §1,断言"通过"前先确认命令真的跑了。
11
+ - 跑静态门前先看 `.agents/notes/runtime-env.md` §2(本地 API 进程锁 bin 下 DLL,谁跑门谁先停 API)。
12
+ - UI 实测委派 `ui-verifier`(`.opencode/agents/ui-verifier.md`);L2/L3 独立复核委派 `independent-reviewer`——本宿主 subagent 原生可用,`fallback: new-session` 的独立上下文天然满足。
13
+ - 失败项修复仍回 build,不在本阶段顺手改代码;全过后用户确认才关单(勾验收 / incident 状态 / 委派留痕口径以权威文件为准)。
14
+ - L1 到此结束;L2/L3 仅当用户确认要上 prod 才进 deploy。
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: implementer
3
+ description: Implements an approved, tightly scoped code change or test when the task includes owned files and executable acceptance criteria
4
+ tools: Read, Glob, Grep, Edit, Write, Bash, LSP
5
+ ---
6
+
7
+ Before acting, read the root `AGENTS.md`, the directory-level `AGENTS.md` for the area you will touch (if present), and `.agents/roles/implementer.md` from the project root, and follow them completely. If the dispatch does not provide the required inputs defined there (task goal, entry docs, owned file list, acceptance criteria), return a blocker without editing files.
8
+
9
+ Hard constraint (Trae subagents cannot deny specific commands the way the OpenCode permission block does): never run `git commit`, `git push`, or `git reset --hard`; the role contract forbids any commit, push, or destructive git operation. The main agent's PreToolUse hook (`.trae/hooks/pre-shell-check.cjs`) enforces this — do not assume it, and do not attempt to reach those commands by another route.
@@ -0,0 +1,8 @@
1
+ ---
2
+ name: independent-reviewer
3
+ description: Independently reviews a fixed spec, plan, or code diff for correctness and project-rule violations without modifying files
4
+ tools: Read, Glob, Grep
5
+ disallowedTools: Edit, Write, Bash
6
+ ---
7
+
8
+ Before reviewing, read the root `AGENTS.md`, the directory-level `AGENTS.md` for the touched area (if present), and `.agents/roles/independent-reviewer.md` from the project root, and follow them completely. If the dispatch does not identify a fixed review target and acceptance source, return a blocker. Read-only: do not edit, write, or run state-changing commands.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: ui-verifier
3
+ description: Runs browser-based verification for an implemented UI change and returns reproducible evidence without editing repository files
4
+ tools: Read, Glob, Grep, Bash, Skill
5
+ disallowedTools: Edit, Write
6
+ ---
7
+
8
+ Before verifying, read the root `AGENTS.md`, the directory-level `AGENTS.md` for the frontend change area (if present), and `.agents/roles/ui-verifier.md` from the project root, and follow them completely. Then follow the project's UI verification skill `.agents/skills/verify-ui/SKILL.md` (if present) to start the API, frontend, and headless Chrome.
9
+
10
+ Trae host notes: the terminal is PowerShell on Windows, so `bash` is not on PATH — call `& "C:\Program Files\Git\bin\bash.exe" <script>` for shell scripts. Start long-lived services (API / frontend dev server / Chrome with CDP on 9222; ports per project notes) as detached processes; background task lifetime is not dependable.
11
+
12
+ If the dispatch lacks a route, steps, or observable expectations, return a blocker without starting services. Do not edit or write any repository file; close the background processes you started.
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: wf-build
3
+ description: Build 阶段 · 起 plan + 实现代码 + 自验(两道确认门,确认后才动代码)
4
+ ---
5
+
6
+ 严格按 AGENTS.md 与 .agents/commands/build.md 执行:Build 阶段 · 起 plan + 实现代码 + 自验。
7
+
8
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
9
+
10
+ 【Trae 宿主注记】
11
+ - 两道确认门:① plan 草稿确认(draft→approved)② 计划模式列改动文件清单确认——两道全过才动代码。
12
+ - 范围明确的工作包可委派 implementer(.trae/agents/implementer.md);子智能体未开启时按 fallback: main 由主智能体按同一角色契约执行。
13
+ - 实现中需偏离已确认 plan(公共接口 / 未列文件 / 新依赖 / 判据影响)→ 停下向用户说明,确认后再继续。
14
+ - 完成后进 wf-test。
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: wf-deploy
3
+ description: Deploy 阶段 · prod 上线清单(静态门 / 配对 / 回归 / DB / 授权 / 24h 观察;关单在 wf-test)
4
+ ---
5
+
6
+ 严格按 AGENTS.md 与 .agents/commands/deploy.md 执行:Deploy 阶段 · prod 上线清单(静态门 / 配对检查 / 回归 / DB / 授权 / 24h 观察;文档关单在 wf-test,本阶段不重复关单)。
7
+
8
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
9
+
10
+ 【Trae 宿主注记】
11
+ - 确认门:上线授权 = 用户对话内一句确认 + release/<日期> tag 留痕;无第二审批人,AI 不得自行上线。
12
+ - 本阶段不委派子智能体;回滚 SQL 等数据安全判断由主智能体做、用户拍板。
13
+ - 异常进 wf-maintain;用户确认无异常 = prod 闭环,AI 不得自行宣告。
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: wf-design
3
+ description: Design 阶段 · 起 spec(L2/L3 强制,L1 可省略直接进 wf-build)
4
+ ---
5
+
6
+ 严格按 AGENTS.md 与 .agents/commands/design.md 执行:Design 阶段 · 起 spec(L2/L3 强制,L1 可省略直接进 wf-build)。
7
+
8
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
9
+
10
+ 【Trae 宿主注记】
11
+ - 确认门:spec 草稿经用户确认;L3 另有独立复核门,复核未过不得确认。
12
+ - L3 独立复核委派 independent-reviewer(.trae/agents/independent-reviewer.md);子智能体未开启时按 fallback: new-session 另开新会话,不得由原会话自查冒充。
13
+ - 确认后进 wf-build。
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: wf-maintain
3
+ description: Maintain 阶段 · 立 incident + 复盘三件套(incident 在 L1+ 即 intent 等价物)
4
+ ---
5
+
6
+ 严格按 AGENTS.md 与 .agents/commands/maintain.md 执行:Maintain 阶段 · 立 incident + 复盘三件套(incident 在 L1+ 即 intent 等价物,不必另造 intent)。
7
+
8
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
9
+
10
+ 【Trae 宿主注记】
11
+ - 确认门:止血方案由用户拍板(AI 只执行选定方案);三件套草稿经用户确认后才落地。
12
+ - 配 plan 的时点与形态以权威文件为准——incident≡intent 免掉的是 intent,plan 不可免(commit / push 两处门禁按同名硬拦)。
13
+ - 复现路径与验收明确的局部热修可委派 implementer(.trae/agents/implementer.md);事故诊断、根因定性与三件套起草不委派。
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: wf-new-task
3
+ description: 闭环总入口 · 路由判断(新需求 → wf-plan / 修复 → wf-maintain)+ 级别判断(L0-L3)
4
+ ---
5
+
6
+ 严格按 AGENTS.md 与 .agents/commands/new-task.md 执行:闭环总入口 · 路由判断(新需求 intent → wf-plan / 修复 incident → wf-maintain)+ 级别判断(L0-L3)。
7
+
8
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
9
+
10
+ 【Trae 宿主注记】
11
+ - 输出路由结论与级别,指明进入哪个 wf-*.md;不并阶段、不跳阶段。
12
+ - approval_required 阶段产出未经用户对话内一句话确认,不得进入下一阶段。
13
+ - 宿主级差异(规则惰性加载 / 终端 shell / 子智能体开关 / 门禁冗余)见 alwaysApply 规则 `.trae/rules/project-workflow.md`,不在此重复。
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: wf-plan
3
+ description: Plan 阶段 · 立 intent(AI 起草、用户确认;本阶段不委派子智能体)
4
+ ---
5
+
6
+ 严格按 AGENTS.md 与 .agents/commands/plan.md 执行:Plan 阶段 · 立 intent(AI 起草、用户确认;本阶段不委派子智能体)。
7
+
8
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
9
+
10
+ 【Trae 宿主注记】
11
+ - 确认门:intent 草稿全文输出给用户过目,一句"可以"即确认(draft→approved),确认前不进下一阶段。
12
+ - 已有 approved intent 时按级别跳转:L1 → wf-build;L2/L3 → wf-design。
13
+ - 本阶段不委派子智能体,由主智能体起草;任务入口动作与红线勾选口径以权威文件为准。
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: wf-review
3
+ description: Review · 代码评审(横切,合入前使用;P0/P1/P2 分级清单 + 用户定性与合入时机)
4
+ ---
5
+
6
+ 严格按 AGENTS.md 与 .agents/commands/review.md 执行:Review · 代码评审(横切,合入前使用;P0/P1/P2 分级清单 + 用户定性与合入时机)。
7
+
8
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
9
+
10
+ 【Trae 宿主注记】
11
+ - 顺序:机器门禁自动拦 → independent-reviewer 复核(L2/L3 强制独立,子智能体未开启时另开新会话)→ 分级清单交用户定性与决定合入时机。
12
+ - 确认门:P0/P1 未清回 wf-build;清零且用户确认后才可合入。
13
+ - finding 报告门(防误报)与机器兜底清单以权威文件为准。
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: wf-test
3
+ description: Test 阶段 · 静态门 + 切库冒烟 + UI 实测 + L2/L3 独立复核(关单在本阶段)
4
+ ---
5
+
6
+ 严格按 AGENTS.md 与 .agents/commands/test.md 执行:Test 阶段 · 静态门全过 + 切库冒烟(如触发)+ UI 实测 + L2/L3 独立复核。
7
+
8
+ 先完整读取上述两个文件并完全遵循,读不到即停下报告阻塞;本文件不内联步骤副本,避免与权威版本漂移。
9
+
10
+ 【Trae 宿主注记】
11
+ - 确认门:全过后用户确认才关单;**关单在本阶段**(勾验收 / incident 状态 / 委派留痕的口径以权威文件为准)。
12
+ - UI 实测委派 ui-verifier(.trae/agents/ui-verifier.md);L2/L3 独立复核委派 independent-reviewer,子智能体未开启时另开新会话。
13
+ - 失败项修复仍回 wf-build,不在本阶段顺手改代码。
14
+ - L1 到此结束;L2/L3 仅当用户确认要上 prod 才进 wf-deploy。