@givolt/i3-composer-agent 3.1.0 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/marketplace.json +1 -1
- package/.claude/commands/i3-sop.md +3 -3
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.gemini/commands/i3-sop.toml +3 -3
- package/README.md +22 -27
- package/commands/i3-sop.toml +3 -3
- package/docs/codex-setup.md +1 -1
- package/docs/other-hosts.md +1 -1
- package/docs/workbuddy-setup.md +1 -1
- package/evals/cases/i3-enterprise-sop.json +70 -32
- package/evals/zh-CN/cases/i3-enterprise-sop.json +77 -31
- package/package.json +1 -23
- package/plugin.json +1 -1
- package/skills/i3-enterprise-sop/SKILL.md +151 -91
- package/skills/i3-enterprise-sop/references/engineering-skeleton/directory-standard.md +29 -15
- package/skills/i3-enterprise-sop/references/handoff.py +171 -100
- package/skills/i3-enterprise-sop/references/read_text.py +60 -0
- package/skills/i3-enterprise-sop/references/technical-baseline/baselines/enterprise-application-technical-baseline-v0-0-4.md +28 -28
- package/skills/i3-enterprise-sop/references/technical-baseline/readme.md +9 -118
- package/skills/i3-enterprise-sop/references/{ad/templates → templates}/ad.md +34 -27
- package/skills/i3-enterprise-sop/references/{brd/templates → templates}/brd.md +21 -10
- package/skills/i3-enterprise-sop/references/{prd/templates → templates}/prd.md +57 -24
- package/skills/i3-enterprise-sop/references/{testcase/templates → templates}/testcase.md +32 -22
- package/docs/upstream-repository/AGENTS.md +0 -92
- package/docs/upstream-repository/CLAUDE.md +0 -60
- package/docs/upstream-repository/CONTRIBUTING.md +0 -137
- package/docs/upstream-repository/README.md +0 -8
- package/docs/upstream-repository/gitattributes.txt +0 -1
- package/docs/upstream-repository/gitignore.txt +0 -10
- package/docs/upstream-repository/manifest.json +0 -71
- package/docs/upstream-repository/opencode-skills.link +0 -1
- package/docs/upstream-repository/skill-gap.yml +0 -80
- package/docs/upstream-repository/skills-contributing.md +0 -15
- package/docs/upstream-repository/test-plugin-install.yml +0 -167
- package/skills/i3-enterprise-sop/references/ad/assets-manifest.json +0 -86
- package/skills/i3-enterprise-sop/references/ad/prompts/01-generate.md +0 -58
- package/skills/i3-enterprise-sop/references/ad/prompts/02-review.md +0 -54
- package/skills/i3-enterprise-sop/references/ad/prompts/03-revise.md +0 -54
- package/skills/i3-enterprise-sop/references/ad/prompts/04-recheck.md +0 -54
- package/skills/i3-enterprise-sop/references/ad/readme.md +0 -70
- package/skills/i3-enterprise-sop/references/assets-manifest.json +0 -230
- package/skills/i3-enterprise-sop/references/brd/assets-manifest.json +0 -83
- package/skills/i3-enterprise-sop/references/brd/prompts/01-generate.md +0 -51
- package/skills/i3-enterprise-sop/references/brd/prompts/02-review.md +0 -47
- package/skills/i3-enterprise-sop/references/brd/prompts/03-revise.md +0 -47
- package/skills/i3-enterprise-sop/references/brd/prompts/04-recheck.md +0 -47
- package/skills/i3-enterprise-sop/references/brd/readme.md +0 -50
- package/skills/i3-enterprise-sop/references/codebuddy-project-guide.md +0 -34
- package/skills/i3-enterprise-sop/references/controlled-handoff.md +0 -41
- package/skills/i3-enterprise-sop/references/controlled_handoff.py +0 -379
- package/skills/i3-enterprise-sop/references/engineering-skeleton/adoption.md +0 -200
- package/skills/i3-enterprise-sop/references/engineering-skeleton/catalog.json +0 -17
- package/skills/i3-enterprise-sop/references/engineering-skeleton/readme.md +0 -52
- package/skills/i3-enterprise-sop/references/handoff-contract.md +0 -196
- package/skills/i3-enterprise-sop/references/lifecycle-contract.md +0 -91
- package/skills/i3-enterprise-sop/references/plan-handoff.md +0 -73
- package/skills/i3-enterprise-sop/references/prd/assets-manifest.json +0 -109
- package/skills/i3-enterprise-sop/references/prd/prompts/01-generate.md +0 -64
- package/skills/i3-enterprise-sop/references/prd/prompts/02-review.md +0 -49
- package/skills/i3-enterprise-sop/references/prd/prompts/03-revise.md +0 -48
- package/skills/i3-enterprise-sop/references/prd/prompts/04-recheck.md +0 -47
- package/skills/i3-enterprise-sop/references/prd/readme.md +0 -137
- package/skills/i3-enterprise-sop/references/prd/template-contracts.md +0 -39
- package/skills/i3-enterprise-sop/references/prd/templates/ad.md +0 -17
- package/skills/i3-enterprise-sop/references/readme.md +0 -167
- package/skills/i3-enterprise-sop/references/recovery-contract.md +0 -65
- package/skills/i3-enterprise-sop/references/review-handoff.md +0 -105
- package/skills/i3-enterprise-sop/references/selection-handoff.md +0 -55
- package/skills/i3-enterprise-sop/references/selection_handoff.py +0 -225
- package/skills/i3-enterprise-sop/references/stages.json +0 -271
- package/skills/i3-enterprise-sop/references/technical-baseline/assets-manifest.json +0 -84
- package/skills/i3-enterprise-sop/references/template-contracts.md +0 -142
- package/skills/i3-enterprise-sop/references/testcase/assets-manifest.json +0 -91
- package/skills/i3-enterprise-sop/references/testcase/prompts/01-generate.md +0 -53
- package/skills/i3-enterprise-sop/references/testcase/prompts/02-review.md +0 -51
- package/skills/i3-enterprise-sop/references/testcase/prompts/03-revise.md +0 -49
- package/skills/i3-enterprise-sop/references/testcase/prompts/04-recheck.md +0 -51
- package/skills/i3-enterprise-sop/references/testcase/readme.md +0 -61
- package/skills/i3-enterprise-sop/references/verification/check_execution.py +0 -185
- package/skills/i3-enterprise-sop/references/verification/check_native_execution.py +0 -282
- package/skills/i3-enterprise-sop/references/verification/check_reads.py +0 -348
- package/skills/i3-enterprise-sop/references/verification/readme.md +0 -149
- package/skills/i3-enterprise-sop/references/verification/review-output.schema.json +0 -155
- package/skills/i3-enterprise-sop/references/verification/review_handoff.py +0 -329
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: i3-enterprise-sop
|
|
3
|
-
description: "
|
|
4
|
-
# i3-description-source: "description:
|
|
3
|
+
description: "组织企业开发文档、工程规格和项目规划。适用于显式调用 i3-enterprise-sop 编写、整理或修订 BRD、PRD、AD、TestCase、生成工程 SPEC 或依据规格规划任务。"
|
|
4
|
+
# i3-description-source: "description: 组织企业开发文档、工程规格和规划交接。用于用户显式选择 enterprise-sop 编写、整理或修订 BRD、PRD、AD、TestCase、工程 SPEC,或依据规格规划任务。Use when explicitly requesting enterprise-sop to prepare enterprise documents with bundled templates, engineering SPEC or project planning."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<!-- i3:zh-CN:start -->
|
|
@@ -12,162 +12,222 @@ description: "组织显式选择的企业 SOP 文档与规划交接。适用于
|
|
|
12
12
|
Skill/Command/Agent 标识、文件路径、命令参数、代码/API 名称、工具调用参数、JSON 键/类型/枚举、机器状态、测试期望字面量及引用原文保持原样。生成文档正文用中文,SPEC.md、tasks/plan.md、tasks/todo.md、CONSTRAINTS.md 等约定路径不改名。
|
|
13
13
|
严重程度按原规则判断,面向用户可写“严重(Critical)”“必须修复(Required)”“小问题(Nit)”“可选(Optional)”“建议考虑(Consider)”“仅供参考(FYI)”;High/Medium/Low、APPROVE/REQUEST CHANGES 和 GO/NO-GO 保留其原始语义与机器值。不得因翻译降低门槛,角色不能互相委派。
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
适用说明:组织企业开发文档、工程规格和项目规划。适用于显式调用 i3-enterprise-sop 编写、整理或修订 BRD、PRD、AD、TestCase、生成工程 SPEC 或依据规格规划任务。
|
|
16
16
|
<!-- i3:zh-CN:end -->
|
|
17
17
|
|
|
18
|
-
#
|
|
18
|
+
# i3-enterprise-sop
|
|
19
19
|
|
|
20
20
|
## Overview
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
主会话使用企业模板和原专业 Skill 完成一次文档作业。T1 保存文档并登记路径,T2 检查选定资料后生成工程 SPEC,T3 调用原规划能力;每阶段交人工审阅后停下。
|
|
23
23
|
|
|
24
24
|
## When to Use
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
- 用户明确选择企业开发 SOP,输入可以是自然语言、外部文档或明确修订意见。
|
|
27
|
+
- 新建、整理同类外部稿、授权修订均可直接进入对应阶段,不要求重跑完整上游。
|
|
28
|
+
- 标准流程沿用原方法。只读分析、状态查询或退出不进入写稿,也不创建目录或清单。
|
|
27
29
|
|
|
28
|
-
##
|
|
30
|
+
## 执行流程
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
```text
|
|
33
|
+
用户调用
|
|
34
|
+
|
|
|
35
|
+
+-- 动作不明确 -> 交互选择或退出
|
|
36
|
+
| 选定后进入对应分支
|
|
37
|
+
|
|
|
38
|
+
+-- brd / prd / ad / testcase -> T1
|
|
39
|
+
| +-- 用户明确选用同类已有文档 -> 读取原件
|
|
40
|
+
| +-- 需要生成或修订 -> 显式调用 i3-spec-driven-development Skill
|
|
41
|
+
| -> 当前模板及来源 -> 保存文档 -> 落盘完整性检查
|
|
42
|
+
| -> 创建/更新 spec/handoff.json,登记本次文档 -> 交人审阅 -> 停止
|
|
43
|
+
|
|
|
44
|
+
+-- spec -> T2
|
|
45
|
+
| 显式调用 i3-spec-driven-development Skill -> 默认读取 spec/handoff.json
|
|
46
|
+
| -> 检查当前主题的 BRD、PRD、AD
|
|
47
|
+
| +-- 缺项 -> 提示 T1 对应操作或补充已有文档 -> 停止等待
|
|
48
|
+
| +-- 齐备 -> 读取正文及工程依据
|
|
49
|
+
| -> 保存 spec/SPEC-{PBC名称}-{主题名称}.md -> 落盘完整性检查 -> 交人审阅 -> 停止
|
|
50
|
+
|
|
|
51
|
+
+-- plan -> T3
|
|
52
|
+
显式调用i3-planning-and-task-breakdown skill + 选定工程 SPEC 及必要来源
|
|
53
|
+
-> Plan 和任务 -> 落盘完整性检查 -> 交人审阅 -> 停止
|
|
54
|
+
```
|
|
31
55
|
|
|
32
|
-
|
|
56
|
+
各分支遇到关键缺口时先提问并等待真实答复;下一阶段由用户明确启动。
|
|
33
57
|
|
|
34
|
-
|
|
58
|
+
### 1. 确定本次操作
|
|
35
59
|
|
|
36
|
-
|
|
|
60
|
+
| 意图 | 操作 |
|
|
37
61
|
| --- | --- |
|
|
38
|
-
| brd |
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
| plan | 清单或手动方式、本次主题/明确组合、必要规格缺口和未完计划冲突,详见[规划交接](references/plan-handoff.md) |
|
|
43
|
-
|
|
44
|
-
`plan` 的范围明确后,JSON与手动路径先经过同一个读取准备环节,不提前分流到原规划。先按项目采用记录或下文真实安装清单定位所选资料根,不能从skills目录猜资料路径。首批完整读取原 `/i3-plan` 命令正文及该根的README.md、stages.json、template-contracts.md、handoff-contract.md、plan-handoff.md;必读资源名以索引planHandoff.requiredResourceReads为同一清单,不只读专用plan说明就继续。手动方式仅省去JSON解析/辅助调用,不豁免共用说明、项目规则或必要业务依据;未知自改组合仍读实际选定原件。
|
|
45
|
-
|
|
46
|
-
SOP准备环节的文件/目录定位使用Read、Glob、Grep,不以ls、find、mkdir等shell命令探测目录或试验权限。需要解析JSON时按当前宿主已许可的接口调用handoff.py;不要因Bash工具名称可见就认为任意命令已获准。原规划方法继续履行本次实际允许范围内的工具义务,不扩大权限。
|
|
47
|
-
|
|
48
|
-
进入原规划前,核上述共用全文回执、原命令全文回执及准确业务/工程依据;相关代码之外,按实际技术栈定位并完整读取真实依赖/构建配置(Node项目例如package.json),不能只从AD或规范复制命令就声称工程配置已核。缺读/部分读/失败先补齐,未齐不加载原规划、不写plan/todo。再核身份与直接上游,最后取得原规划Skill成功回执,才可生成原产物。最终说明列实际读过的共用资料、工程配置、原命令路径和真实失败;只提名称、脚本已读或自称已遵守不代替模型读取。
|
|
49
|
-
|
|
50
|
-
AD声明的能力/主题身份与本次PRD或所选范围冲突,或直接上游路径/声明版本与本次准确PRD矛盾时,必须先停:不调用原规划,不创建、修改plan/todo,也不另写候选计划。即使正文看起来一致、模型判断只是头部笔误,也只报告原文差异、影响和建议,等待人工处理后重新核对;不修改业务稿或JSON。“可独立规划部分”仅适用于身份与上游已核一致后的非阻断缺口。PRD与AD独立版本不必同号,核对的是AD准确引用的PRD版本。
|
|
62
|
+
| `brd`、`prd`、`ad`、`testcase` | T1:确定类型及对象,保存文稿或选用同类已有稿,自动登记路径 |
|
|
63
|
+
| `spec` | T2:检查清单及当前主题 BRD/PRD/AD,齐备后生成工程 SPEC |
|
|
64
|
+
| `plan` | T3:选择工程 SPEC,生成实施计划和任务 |
|
|
65
|
+
| 未给动作或意图不明 | 交互选择“企业文档(再选四类)/工程 SPEC/项目计划/退出” |
|
|
51
66
|
|
|
52
|
-
|
|
67
|
+
自动整理当前项目、输入及目标;只对真实歧义提问,不要求用户填写内部路径或任务卡。文件存在不授权覆盖,推荐不代替用户选定。
|
|
53
68
|
|
|
54
|
-
|
|
69
|
+
### 2. 使用原方法,按需读取资料
|
|
55
70
|
|
|
56
|
-
|
|
71
|
+
T1/T2 写作意图明确后,先通过宿主正式机制显式加载原 `i3-spec-driven-development` Skill并读取正文,再进行实质分析、澄清或写稿。Skill名称以宿主登记为准,可能带 `i3-` 前缀;加载失败先说明并停下。使用原 Skill 的 Specify 方法及外部格式能力,保留适用能力划分、内容、澄清和人审要求;T1 输出企业文档,T2 输出工程 SPEC。
|
|
57
72
|
|
|
58
|
-
|
|
73
|
+
上述原 Spec 与 T3 原规划都须真实调用,并向执行会话完整提供方法正文;不能截取返回,或只提供摘要、预览、长度及成功标识后按“已加载”继续。回包受限时按下述读取规则补齐同一原 Skill 的原文;补读文件不替代宿主的真实 Skill 调用,完整方法取得前不进行该方法的实质工作。
|
|
59
74
|
|
|
60
|
-
|
|
75
|
+
- **来源选择:**按资源角色采用本轮明确材料 → 项目明确采用副本 → 本 Skill 对应资料。读取项目已有的适用规则和采用约定;项目自改模板优先,失效或冲突先说明,不静默换版。提供业务文档不等于选择某份模板。
|
|
76
|
+
- **输入读取:**新建先定位当前完整模板和必要业务/工程原件;恢复或修订先完整取得当前稿及对应模板,再补本次必要来源,不重跑上游阶段。AD仍须按下文完整取得实际采用的规约与目录规范。已读且未变的来源复用,变化后重核受影响内容。索引、统计和引用不代替正文;请求范围、文件总长或后台已读不证明执行会话已收到。只有实际返回正文连续覆盖所选原件,才能报告完整读取。
|
|
77
|
+
- **分页与续读:**UTF-8 长文或截断回包可用只读辅助 [read_text.py](references/read_text.py):主会话内部执行 `python3 "<Skill>/references/read_text.py" --path "<当前原件>" --offset 0`,每次只回传一页,确认本页正文完整收到后,用返回的 `nextOffset` 读取下一页,直至连续覆盖到 `eof`。区分工具外层结果、分页对象与其中的 `text`,不得把对象当正文字符串处理,或把多页、多份长文拼成一次大回包。截断时减小 `--max-chars` 重读当前页;其他读取方式从实际收到的最后完整正文处重叠续读,按工具的真实范围语义核对接缝,不跳过未收到的中段。末页标识只说明读取位置,不能弥补此前缺页。该辅助不写文件、不替代原 Skill 调用,也不要求用户填写路径。
|
|
61
78
|
|
|
62
|
-
|
|
79
|
+
主会话内部调用一页的示意:
|
|
63
80
|
|
|
64
|
-
|
|
81
|
+
```text
|
|
82
|
+
result = 执行 read_text.py --path "<当前原件>" --offset 当前游标(首次为 0)
|
|
83
|
+
退出码非 0:返回真实错误,先处理失败,不推进游标
|
|
84
|
+
page = 解析 result.stdout;向会话原样返回 page(含 path、offset、nextOffset、eof、text)
|
|
85
|
+
本页完整收到且 eof 为 false:下一次使用 page.nextOffset;eof 为 true:核对连续覆盖后结束
|
|
86
|
+
```
|
|
65
87
|
|
|
66
|
-
|
|
88
|
+
成功页不含 `ok` 字段,以进程退出码判断成功。`--max-chars` 默认 6000、允许 512—10000,限制的是包含路径、JSON 标记与换行的整包,正文可能更短;续读位置取 `nextOffset`,不按请求上限相加,也不只返回正文而丢弃游标。
|
|
89
|
+
- **安装定位:**确有需要时局部核包身份、版本、布局、作用域、宿主和当前 Skill 的精确路径;不通读资产列表,也不以安装记录替换项目采用。
|
|
90
|
+
- **澄清:**沿原 Spec 先核来源、已采用规约及真实答复,问清尚未决定且影响本次输出的关键缺口或实际冲突,并等待真人答复。提问说明已有事实及尚缺的差异,已定技术版本不与未定部署范围混问;不重复询问已有决定,也不把一般 Q 全部变成前置审批。资料充分就拟稿,一般未决项保留 Q、有依据的推荐/备选及影响;已有允许保留 Q 的约定时不再泛问能否保留,实际阻断事项仍须说明。多个独立决定分别表达,选项不捆绑额外限制、期限或技术选型。交互工具不可用时用会话文本等待;收到答复后绑定原问题及当前文档继续,来源改变才重核受影响事项。预选和工具授权不算业务答复,未答项保持未确认,不用候选覆盖既有决定。
|
|
91
|
+
- **交互回执:**交互工具的接口未确认时先查实际工具定义,按其必填字段提问;向执行会话返回工具的真实答案或错误,不用自造的成功标记替代。工具报错先纠正调用,未取得真实答复就保持等待,不推定用户已选择。
|
|
92
|
+
- **写入:**确定真实业务项目根及唯一文档目标,先读现稿和人工修改,保留修改前版本及影响。保持各文档独立版本、能力/主题身份与 FT/US/FR/AC,不按最大版本或同号猜配套。只写本次获准文档及按第4节登记的清单,保留来源、历史和未处理意见。
|
|
93
|
+
- **长文写入与恢复:**长文从首次就按章节或可独立核对的小段写入,每次控制在当前工具可完整接收的范围内,确认实际结果后再续写。使用宿主写入能力将正文作为数据传递,避免把整稿嵌入可执行代码。调用失败先核目标文件现状,区分未写入、部分写入和已写入但回执失败;依据实际已保存正文确定续写点,仅补缺失或修复受影响段,不清空重写整稿或盲目重复追加。同类错误经针对修正仍重复,或无法确定续写边界时,保留稿件和原清单,说明已完成/缺失范围与原因并停下。
|
|
67
94
|
|
|
68
|
-
|
|
95
|
+
**保存检查:**核对目标路径、非空正文、实际版本与本次拟交付内容一致;文件存在或标题数量只作辅助。正常保存不要求再次全文加载。分段写入按实际各段核对顺序及全部接缝,检查重复或遗漏;报错涉及的段须复核。工具可比对待保存文本与落盘内容,按需读取差异或受影响正文。完整性不能确认时保留稿件和原清单,说明原因并停下,不自动登记或推进。
|
|
69
96
|
|
|
70
|
-
|
|
97
|
+
**核验汇报:**自查使用现成只读工具或不落盘命令,不为常规统计生成临时脚本,也不扩大获准写入范围。分别说明结构核对、局部抽查、内容自查和工具验证的实际范围、结果及未验证项。抽查不称全文核验,围栏或图块存在不称图语法/渲染通过;只有实际执行相应解析、渲染或比对后才报告其结果。落盘检查、内容自查和人工审阅分别判断,统计不代替正文理解,登记成功不代表内容获批。
|
|
71
98
|
|
|
72
|
-
|
|
99
|
+
### 3. T1:企业文档
|
|
73
100
|
|
|
74
|
-
|
|
101
|
+
| 动作/完整模板 | 业务输入 | 自动带入及输出 |
|
|
102
|
+
| --- | --- | --- |
|
|
103
|
+
| BRD:[brd.md](references/templates/brd.md) | 业务诉求或外部 BRD;已有项目背景和约束 | 本模板;输出一个 EBC 的 BRD,明确目标、范围、场景、BR及 PBC 划分 |
|
|
104
|
+
| PRD:[prd.md](references/templates/prd.md) | BRD及当前主题,或外部 PRD及业务依据 | 本模板和真实答复/适用规则;输出一个 PBC 的一个独立主题 PRD,保留完整行为、权限、状态、字段、AC及依赖 |
|
|
105
|
+
| AD:[ad.md](references/templates/ad.md) | 选定 PRD,或外部 AD及需求依据 | 本模板、默认具体规约与目录规范(项目明确资料优先)、必要契约及工程事实;输出对应 PRD 的三图与完整工程详设 |
|
|
106
|
+
| TestCase:[testcase.md](references/templates/testcase.md) | 选定 PRD/配套 AD,或外部 TestCase及产品、技术依据 | 本模板、必要采用资料及适用测试条件(按模板“来源选择”处理);输出对应主题/AD 的覆盖、用例、预期和 TestReport 要求,不执行测试 |
|
|
75
107
|
|
|
76
|
-
|
|
108
|
+
一个业务项目对应一个 EBC,一个 EBC 一份逻辑 BRD;一个 PBC 可有多个主题 PRD,各自独立演进。AD绑定准确 PRD,TestCase绑定准确 PRD/AD,文档不强制同号。关键依据缺失先说明受限范围;企业文档已交审不代表工程规格已齐备。
|
|
77
109
|
|
|
78
|
-
|
|
110
|
+
四类文档明确记录 `ebcId`、`ebcName`;PRD/AD/TestCase再记录 `pbcId`、`pbcName`、稳定 `prdId`及主题名称,BRD在PBC分配表记录各能力的编号、名称和边界。各稿保留自己的 `documentId`、文档版本、实际路径、状态和采用模板版本。编号沿用已确认业务来源,名称变化不换编号、不自动迁移目录;身份未明先澄清,不从目录名或文件名猜编号。
|
|
79
111
|
|
|
80
|
-
|
|
112
|
+
**统一命名:**目录名、文档文件名及本稿标题/身份信息、`handoff.json`中的名称和文档路径,统一复用本次同一份已确定的EBC/PBC名称和主题名称,不分别取名、缩写或替换同义名称。AD、TestCase和工程SPEC沿用对应PRD的PBC名称和主题名称;已有名称直接沿用,缺失或冲突时先澄清。清单仍使用现有字段,主题名称体现在文档及其路径中,不新增字段;既有明确采用路径和外部原件保持实际位置,不自动改名或搬迁。
|
|
81
113
|
|
|
82
|
-
|
|
114
|
+
按各模板现有身份/输入/采用表记录引用ID与类型、来源身份、准确路径或URL、正文版本或固定提交及条款、采用范围与落实位置、实际状态与缺口,摘要按需记录。直接依据和跨PBC参考分别标明角色与提供方;主链身份与版本须一致,关联资料可来自其他能力。原型由PRD/AD固定引用,规约、目录规范、实际骨架与契约由AD记录采用及权威位置,TestCase承接适用版本和判据;不另建平行引用清单,也不因资料从JSON移出而省略必要正文读取。
|
|
83
115
|
|
|
84
|
-
|
|
116
|
+
四类文档分别操作。用户明确选用同类已有文档时,读取原件并登记路径,不重复生成或覆盖原件;作为上游、参考或待整理/修订输入时,仍按本次委托写稿。
|
|
85
117
|
|
|
86
|
-
|
|
118
|
+
新建企业文档默认按职责分目录:BRD直接保存在`spec/`根目录,完整路径为`spec/{EBC名称}-BRD_v{业务版本}.md`;PRD、AD、TestCase保存在各自PBC目录,完整路径为`spec/{PBC名称}/{PBC名称}-{主题名称}-{PRD|AD|TestCase}_v{各自版本}.md`。项目明确采用的位置或选用外部原件时登记实际路径,已有文档不因本规则自动移动。仅在生成权限和目标明确后创建必要目录。初始业务版本可建议v0.0.1,已有项目不机械改名或升版,模板版本与业务版本分开。
|
|
87
119
|
|
|
88
|
-
|
|
120
|
+
**EARS 使用:**适用行为写清责任系统及可观察响应,有前置条件或触发事件时明确写出,并核对异常和副作用。保留原文的条件、例外及“必须/应/可”的含义;关键缺口先澄清,一般未决项列为待确认问题(Q)。按当前模板使用,不为句式额外读取其他模板。
|
|
89
121
|
|
|
90
|
-
|
|
122
|
+
**写前准备:**沿当前模板的既有章节简要对应本次来源、已定事项和待确认项,复用模板已有的覆盖/追溯位置,不另建中间文件或要求逐章审批。对应关系用于组织正文,不替代原件。开始写入前自查:必要正文已连续取得,关键冲突已有真实处理依据,或本次明确允许形成保留相应 Q 的可审阅稿;条件未满足就补读或澄清,不先写稿再补缺失输入。恢复只补本次获准的缺失或受影响章节,保留现稿和人工修改。
|
|
91
123
|
|
|
92
|
-
|
|
124
|
+
按完整模板写稿或修订,新增规范性要求回查来源、条件及强度,核行为条件与响应、跨章节权限/状态/AC和逐表列义。保存后按第2节核验落盘完整性,完成后按第4节自动登记本次文档路径,不再等待额外的登记口令。汇报文档及清单路径、版本、实际登记结果、保存检查、内容自查、Q及影响,请人审阅并结束当前轮;真实反馈后读取当前稿和准确答复修订,再交审。登记失败如实报告,不因此丢弃已保存稿件,也不自动进入后续阶段。
|
|
93
125
|
|
|
94
|
-
|
|
126
|
+
**AD 准备:**默认完整读取自带的[企业应用具体规约](references/technical-baseline/baselines/enterprise-application-technical-baseline-v0-0-4.md)和[目录规范 1.0.0](references/engineering-skeleton/directory-standard.md),作为生成 AD 的技术与结构输入,不再要求用户先单独选用。项目已经明确采用自己的规约或目录约定时,优先沿用其实际版本。AD §0.3、§9.6直接记录来源、版本、适用范围及工程映射,不另建采用说明。
|
|
95
127
|
|
|
96
|
-
|
|
128
|
+
启动 AD 且没有项目替代规范时,直接将上述默认具体规约及版本矩阵作为本次设计输入,按实际范围记录采用及待落实条件,不再询问是否采用。规约中项目绑定或采用确认的说明在 AD 中据此落实;设计采用不表示真实安装、联调或业务批准。PRD 未规定的工程选型由已采用规约补充,接入细节待定不代表已定技术方向失效,不因此另建替代体系。只有明确的项目差异或实际冲突才交用户裁定。
|
|
97
129
|
|
|
98
|
-
|
|
130
|
+
没有可读、适用的具体技术规约时,先提示用户根据[通用技术规约模板](references/technical-baseline/templates/technical-baseline.md)生成。取得该技术文档的写入委托后,在当前准备环节起草规约并交审;用户确认后继续 AD,不用空模板代替实际规约,也不自行编选型。已选项目规约失效时先说明,不静默切回默认副本。
|
|
99
131
|
|
|
100
|
-
|
|
132
|
+
结合项目 CONSTRAINTS、ADR、正式契约和工程事实落实设计。目录规范不等于已经生成代码,已有与拟建位置分别写明,实际创建留给后续任务。原型按需,可与 AD并行;共享契约、数据责任、版本兼容和变更影响落实到 AD。
|
|
101
133
|
|
|
102
|
-
|
|
134
|
+
### 4. 自动登记与清单读取
|
|
103
135
|
|
|
104
|
-
|
|
136
|
+
T1 交稿时自动创建/更新 handoff.json,登记本次保存的文档;用户明确选用的同类已有文档同样登记实际路径。仅提供参考稿不视作选用成稿。先核所选文档的EBC身份、文档类型及PBC/PRD主题,身份不明时询问,不猜配套。一个业务项目对应一个EBC,新建清单保存在业务项目的`spec/`根目录,路径为`spec/handoff.json`;其中BRD引用`spec/`根目录文件,PRD/AD/TestCase引用各自`spec/{PBC名称}/`内的文件。路径和参数由主会话显式传入,既有明确采用的清单保留实际位置,不自动迁移。
|
|
105
137
|
|
|
106
|
-
|
|
138
|
+
登记前读取原清单并保留历史,仅处理本次明确资料及输出,保留其他主题;登记后回读结果。实际更新时,旧清单保存在清单同级的`history/`目录,新位置对应`spec/history/`;已有历史不自动搬迁。登记记录所选资料路径,不表示文档获批、内容无缺口或允许开工。只读审查、状态查询和退出不创建或修改清单。
|
|
107
139
|
|
|
108
|
-
|
|
140
|
+
新版顶层仅 `schemaVersion`(整数2)、`scope`、`selected`。以下编号、版本和路径为结构示例,不是已形成或已批准的业务资料:
|
|
109
141
|
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
142
|
+
```json
|
|
143
|
+
{
|
|
144
|
+
"schemaVersion": 2,
|
|
145
|
+
"scope": {
|
|
146
|
+
"ebcId": "EBC-PM",
|
|
147
|
+
"ebcName": "项目管理"
|
|
148
|
+
},
|
|
149
|
+
"selected": {
|
|
150
|
+
"brd": "spec/项目管理-BRD_v1.1.md",
|
|
151
|
+
"topics": [
|
|
152
|
+
{
|
|
153
|
+
"pbcId": "PBC-PRJINIT",
|
|
154
|
+
"pbcName": "立项管理",
|
|
155
|
+
"prdId": "PRD-PRJINIT-001",
|
|
156
|
+
"prd": "spec/立项管理/立项管理-立项申请与评审-PRD_v0.1.0.md",
|
|
157
|
+
"ad": "spec/立项管理/立项管理-立项申请与评审-AD_v0.2.0.md",
|
|
158
|
+
"testCase": "spec/立项管理/立项管理-立项申请与评审-TestCase_v0.1.0.md"
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
}
|
|
114
163
|
```
|
|
115
164
|
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
|
|
165
|
+
- 一份清单对应一个EBC,`scope.ebcId`、`scope.ebcName`为非空字符串;每条主题必有 `pbcId`、`pbcName`、`prdId`。`pbcId`+`prdId`在本清单内唯一,同一 `pbcId` 的名称须一致。
|
|
166
|
+
- `selected.topics`始终为数组,无主题时为`[]`;`brd`及主题中的`prd`/`ad`/`testCase`仅在实际形成并选用后登记非空文件路径。主题至少有一份已选资料,缺项省略,不填null、空串、未来路径或虚构配套。
|
|
167
|
+
- 相对路径始终基于业务项目根,不随清单位置变化;脚本将新登记的项目内文档引用统一写成以`/`分隔的业务根相对路径,因此JSON中的BRD路径为`spec/{EBC名称}-BRD_v{业务版本}.md`,PRD/AD/TestCase路径为`spec/{PBC名称}/{PBC名称}-{主题名称}-{文档类型}_v{各自版本}.md`。主会话传入实际已保存的文件路径,脚本不猜目录、不移动文件;已有明确采用位置按实际路径登记,明确选用的外部原件可使用绝对路径。各文档自行记录版本及准确来源,SPEC和Plan继续记录自身来源。
|
|
168
|
+
- 清单不保存 `work`、`capabilityId`、`technicalBaseline`、`engineeringSkeleton`、`prototype`、`contracts`;移出资料的准确引用由第3节及模板承接。v2未知字段先报错并保留原件,不静默删字段。
|
|
169
|
+
|
|
170
|
+
可按实际CLI使用 [handoff.py](references/handoff.py)(Python 3.9+):T1无清单时先`init`,再`select`;T2用`resolve`只读取得当前主题引用。T1写稿或明确选用文档的委托包含登记,不另问一次。所有操作必须显式传入预期`--ebc-id`,清单模式还须传同一业务根及实际清单位置;预期编号由当前任务与所选BRD/PRD确定,不能把清单里的值机械回填当作正文核验。
|
|
121
171
|
|
|
122
|
-
|
|
172
|
+
`init`须提供`--ebc-name`;`select`主题资料须提供成对的`--pbc-id`、`--prd-id`,新建主题还须提供`--pbc-name`,已有主题可复用已登记名称。传入名称与已登记身份冲突时报告原文差异,不静默改名。`resolve`只有一个主题时可自动定位,多个主题必须显式选择,不能按最大版本猜选。返回结果含`scope`、所选`topic`身份与名称及各文档实际路径,只证明已读取路径,正文语义及配套仍由主会话核对。
|
|
123
173
|
|
|
124
|
-
|
|
174
|
+
以下为新项目的内部调用示意,清单路径显式传入`spec/handoff.json`;既有明确采用的清单替换为其实际位置。其余参数由实际已选资料取得,不要求用户填写内部路径:
|
|
125
175
|
|
|
126
176
|
```text
|
|
127
|
-
python3
|
|
177
|
+
python3 "<Skill>/references/handoff.py" init --project-root "<业务根>" --manifest "spec/handoff.json" --ebc-id "<ebcId>" --ebc-name "<ebcName>"
|
|
178
|
+
python3 "<Skill>/references/handoff.py" select --project-root "<业务根>" --manifest "spec/handoff.json" --ebc-id "<ebcId>" --role brd --path "<已选BRD路径>"
|
|
179
|
+
python3 "<Skill>/references/handoff.py" select --project-root "<业务根>" --manifest "spec/handoff.json" --ebc-id "<ebcId>" --role prd --path "<已选PRD路径>" --pbc-id "<pbcId>" --pbc-name "<pbcName>" --prd-id "<prdId>"
|
|
180
|
+
python3 "<Skill>/references/handoff.py" select --project-root "<业务根>" --manifest "spec/handoff.json" --ebc-id "<ebcId>" --role ad --path "<已选AD路径>" --pbc-id "<pbcId>" --prd-id "<prdId>"
|
|
181
|
+
python3 "<Skill>/references/handoff.py" resolve --project-root "<业务根>" --manifest "spec/handoff.json" --ebc-id "<ebcId>" --pbc-id "<pbcId>" --prd-id "<prdId>"
|
|
128
182
|
```
|
|
129
183
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
引导、status、review、recheck 零项目写入。审查只给问题、原文位置、来源、影响和建议;作者会话不冒充独立审查,报告另存由获准调用者处理。
|
|
133
|
-
|
|
134
|
-
review/recheck共用外层解析/模型正文读取规则,按[独立只读审查衔接](references/review-handoff.md)执行。当前作者会话有获准且已验证的CLI隔离能力时,由外层调用者整理本次所选资料、准确目标和真实来源,使用该资料根的verification/review_handoff.py启动新的只读会话;辅助不在审查者内部执行,不调用原Spec、Plan或原代码review,不串行修稿。复查绑定旧稿、原报告及逐项人工回应,仍使用新上下文。没有隔离机制则给出可复制的新会话任务并结束;已在新会话也须如实说明实际权限证据,不能自称清除了上下文。证据检查通过仅接受本轮报告,业务问题及人工处理空间保留。
|
|
135
|
-
|
|
136
|
-
### 6. 交原 Plan 与 Build
|
|
184
|
+
已有v2清单不重复初始化。BRD登记不带PBC/PRD身份;主题资料仅使用`prd`/`ad`/`testCase`角色。EBC不匹配、名称冲突、旧版或未知字段均保留原件并说明原因;失败按实际参数、路径及范围核对,不盲重试、不另造清单规避。
|
|
137
185
|
|
|
138
|
-
|
|
186
|
+
旧v1不自动迁移,也不把`work`当作EBC编号。只有明确处理具体业务清单时,先回读BRD/PRD核实身份,确认原型引用已由PRD/AD、规约/骨架/契约引用已由AD及适用TestCase承接,再按本次授权补齐文档及v2清单并保留原件/历史;引用未承接或授权不足时保留待处理,不仅删字段。
|
|
139
187
|
|
|
140
|
-
|
|
188
|
+
`select`支持`brd`/`prd`/`ad`/`testCase`四类文档换路径。主会话先回读新旧文档,核实EBC、PBC/PRD主题和文档类型,再登记本次明确使用的路径;脚本在清单模式的每次操作校验`--ebc-id`与`scope.ebcId`,不能省略。只更新指定字段,保留旧文档、清单历史、同主题其他引用及其他主题;回执中的`updatedSelection`提供旧/新路径,不写入业务JSON。
|
|
141
189
|
|
|
142
|
-
|
|
190
|
+
PRD更新后保留原AD/TestCase引用,由T2检查是否配套,不自动改稿或删除引用。身份或范围不明、其他资料换选、清单并发变化及登记失败时,保留文稿与原清单,说明原因并停下;不绕过保护。T2只读解析不创建或修改清单。
|
|
143
191
|
|
|
144
|
-
|
|
192
|
+
T2默认读取已登记路径;用户仍可明确选择手动传递,不强制补JSON。`resolve --manual`只接受四类文档:有清单时仍核`--ebc-id`,覆盖仅对本次读取生效;无清单时提供`--ebc-id`、`--ebc-name`,主题资料另提供`--pbc-id`、`--pbc-name`、`--prd-id`,形成临时上下文。两种手动方式都不创建目录、清单或历史;主会话同样核BRD/PRD/AD身份、版本及必要引用。
|
|
145
193
|
|
|
146
|
-
|
|
194
|
+
### 5. T2:工程 SPEC
|
|
147
195
|
|
|
148
|
-
|
|
196
|
+
1. 确定预期EBC和PRD主题,优先沿用已明确采用的清单,否则默认定位并读取`spec/handoff.json`;显式传入实际`--manifest`及`--ebc-id`校验范围:从`selected.brd`取BRD,从当前`pbcId`+`prdId`对应主题取PRD、AD。多个主题/版本不明先交人选择,不猜最新。无清单且未明确提供手动输入时,提示回T1生成并登记,或由用户补充已有文档;停下等待。
|
|
197
|
+
2. 检查BRD、PRD、AD三份文档的路径、可读正文、EBC/PBC名称编号、主题身份与各自版本,以及AD引用的直接PRD是否与当前选定版本一致。生成稿与用户明确选用的外部稿均可使用。缺少任一项或无法读取时,列出具体缺项及T1对应的`brd`/`prd`/`ad`操作,提示生成或补充现有文件;停止本轮,不先写工程SPEC。PRD更新而AD仍引用旧版、身份名称冲突或其他来源矛盾时,先说明并提示处理,不继续写SPEC,也不用其他主题或旧稿代替。TestCase保持可选。
|
|
198
|
+
3. 使用第2节已显式加载的原Spec,完整读取选定BRD、本主题PRD、配套AD,并沿文档的固定引用读取必要原型、实际采用规范/契约/骨架和相关配置;已有且适用的TestCase读取准确版本。直接依据须与本主题一致,跨PBC参考须明确提供方、用途及准确版本;缺少必要附件时说明受限范围,不因JSON精简而跳过。复用已确认业务事实,只澄清新增工程缺口或冲突。
|
|
199
|
+
4. 按原 Spec 结构形成完整六项:Objective来自BRD/PRD;Commands、Project Structure、Code Style、Boundaries来自AD及实际规范/骨架/工程配置;Testing Strategy来自AD、已有用例或项目测试规范。写明精确技术版本、成功条件、Q及来源,关键设计落实为可实施和可验收条款,不只写“见AD”,也不编造工程事实。
|
|
200
|
+
5. 新建工程SPEC保存在业务项目的`spec/`根目录,路径为`spec/SPEC-{PBC名称}-{主题名称}.md`;项目已有明确采用位置时沿用实际位置,不自动迁移或覆盖旧稿。记录主题身份、准确来源路径/版本及条款。通常一主题一份SPEC;涉及多个独立能力时按原Spec先划分并交人确认,不将PBC/prdId自动当技术module id。多选目标仍遵守各次审阅停点。
|
|
201
|
+
6. 按第2节核验工程SPEC的落盘完整性并做内容自查,说明六项当前依据、未决影响与可交审范围,请人认可或修改并立即停轮,不自动生成Plan。
|
|
149
202
|
|
|
150
|
-
|
|
203
|
+
### 6. T3:原规划
|
|
151
204
|
|
|
152
|
-
|
|
205
|
+
1. 选择实际工程SPEC;未明确路径时,默认从业务项目的`spec/`根目录定位当前主题的`SPEC*.md`,既有明确采用位置沿用实际路径。多个范围/版本不明先问。无SPEC时提示T2或退出;普通文档、模板和JSON不当作工程规格。用户另行选择原Plan的等效规格方式,仍沿原能力处理。
|
|
206
|
+
2. 显式调用原 `i3-planning-and-task-breakdown`并按第2节取得完整方法;宿主提供原Plan命令时读取正文并履行产物/停点约定,无命令包装时按原规划Skill执行。加载失败停下说明。
|
|
207
|
+
3. 读取完整选定SPEC及相关代码,按其引用补读规划必要的AD/契约/采用依据,核六项、关键设计、来源变化、直接上游和原方法要求的实际认可。
|
|
208
|
+
4. 输出原 `tasks/plan.md` 及唯一任务目标(默认 `tasks/todo.md`,或项目指定tracker)。将需求/AC和关键设计映射到任务、预计文件、结构与行为验收及验证步骤,记录准确来源。TestCase可选;已有适用版本就用,没有则从真实规格安排验证及必要用例设计任务,不豁免测试策略。
|
|
209
|
+
5. 保留原方法的未完计划保护和依赖/切片规则,不覆盖其他工作未完成的计划。按第2节核验产物落盘完整性并做内容自查,交人审阅后停下;Plan获批后由用户按原Build及后续入口继续,遵守各原方法的权限和停点。
|
|
153
210
|
|
|
154
211
|
## Common Rationalizations
|
|
155
212
|
|
|
156
|
-
|
|
|
213
|
+
| 借口 | 纠正 |
|
|
157
214
|
| --- | --- |
|
|
158
|
-
|
|
|
159
|
-
|
|
|
160
|
-
|
|
|
215
|
+
| 输入少,就补齐一套默认业务或技术规则 | 关键缺口向真人澄清,一般问题标Q,建议保留未确认状态 |
|
|
216
|
+
| 已保存或登记,就可以继续下一阶段 | 保存、登记、业务审阅、工程认可及Plan批准分别判断,保留当前停点 |
|
|
217
|
+
| 索引或统计检查通过就等于内容正确 | 输入要实际读取必要正文;输出的落盘检查、内容自查与人工审阅分别判断 |
|
|
161
218
|
|
|
162
219
|
## Red Flags
|
|
163
220
|
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
-
|
|
221
|
+
- 模板/项目副本被静默换版,或尚未明确的主题被自动选定。
|
|
222
|
+
- 来源、权限、状态、关键工程约束在文档和任务间不一致。
|
|
223
|
+
- 文件名/正文版本不符,覆盖人工修改,或把建议、预选和工具授权当成业务决定。
|
|
224
|
+
- 没有原Skill实际加载结果,或作者自查被当作独立审查、业务认可或运行通过。
|
|
167
225
|
|
|
168
226
|
## Verification
|
|
169
227
|
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
-
|
|
228
|
+
- [ ] 实际调用原方法,输入、模板、来源及主题/版本可定位,未读和缺失范围如实说明。
|
|
229
|
+
- [ ] 输出覆盖完整模板/原方法要求,事实、建议、决定、工程现状和运行结果分别表达。
|
|
230
|
+
- [ ] 长文按段保存,实际段间衔接及失败续写范围已核对;已核验输出落盘完整性,内容自查覆盖来源、身份版本、权限/状态/AC、结构约束及表格,汇报范围与实际检查相符。
|
|
231
|
+
- [ ] 修改前版本、人工编辑、未处理意见和失败记录保留,只写本次授权目标。
|
|
232
|
+
- [ ] T1已保存并核验完整性或读取选定原件,并如实报告清单登记结果;T2已核对同一主题的BRD、PRD、AD,缺项或冲突时未写工程SPEC。
|
|
233
|
+
- [ ] 汇报真实路径、版本、自查、Q及影响,按原方法交审停轮,不代签认可或自动推进。
|
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
|
|
9
9
|
<!-- i3:zh-guide:end -->
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
规范基线版本:1.0.0。作为本 Skill生成 AD 的默认目录输入;项目已有明确目录约定时优先沿用。AD记录本项目的实际映射,T2工程 SPEC承接约束,T3原 Plan安排任务,获准 Build形成真实产物。
|
|
12
12
|
|
|
13
13
|
## 1. 基本规则
|
|
14
14
|
|
|
15
15
|
- 先确定实际业务项目根。工程相对路径均从该根解析;安装的 Skill/资源目录及 i3 维护工作树不是业务输出根。
|
|
16
|
+
- 一个业务项目对应一个EBC;新建BRD、handoff.json及工程SPEC保存在`spec/`根目录,PRD/AD/TestCase保存在各自`spec/{PBC名称}/`目录。
|
|
16
17
|
- 规范约定外层职责;工程内部遵循项目已采用的语言/框架惯例,具体位置由 AD 和真实配置明确。
|
|
17
18
|
- 只采用当前需要的工程类别;实际有内容时再建目录。空目录不等于已交付工程,Git 也不保存空目录。需要先说明预留位置时可写有意义的 README,无需到处添加占位文件。
|
|
18
19
|
- 新建工程标识使用稳定、可区分的小写短横线名称,例如 admin-web、business-api。语言内部包名/模块名遵循其自身规则;现有项目保留原名并建立映射。
|
|
@@ -26,11 +27,16 @@
|
|
|
26
27
|
```text
|
|
27
28
|
project/
|
|
28
29
|
├── README.md 工程入口、工程清单与真实命令
|
|
29
|
-
├── spec/
|
|
30
|
+
├── spec/ 文档及交接资料
|
|
31
|
+
│ ├── {EBC名称}-BRD_v{业务版本}.md EBC的BRD直接放在spec根目录
|
|
32
|
+
│ ├── handoff.json 本项目EBC的交接清单
|
|
33
|
+
│ ├── SPEC-{PBC名称}-{主题名称}.md 当前主题工程SPEC
|
|
34
|
+
│ ├── history/ 清单实际更新时保留的历史
|
|
35
|
+
│ └── {PBC名称}/ 本PBC各主题的PRD/AD/TestCase及版本历史
|
|
30
36
|
├── tasks/
|
|
31
37
|
│ ├── plan.md 原 Plan 的默认计划
|
|
32
38
|
│ └── todo.md 仅在采用默认文件任务目标时维护
|
|
33
|
-
├── docs/engineering/
|
|
39
|
+
├── docs/engineering/ 按需:项目技术规约与工程记录
|
|
34
40
|
├── frontend/<engineering-id>/ 按需:前端源码工程
|
|
35
41
|
├── backend/<engineering-id>/ 按需:业务后端源码工程
|
|
36
42
|
├── agents/<engineering-id>/ 按需:本项目内 Agent 源码工程
|
|
@@ -50,7 +56,7 @@ project/
|
|
|
50
56
|
|
|
51
57
|
使用现有 SOP JSON 时沿用其已采用位置;不要求为了目录规范再创建 .i3/project.yaml、templates.lock、contracts.lock 或生成记录库。已有项目或工具确有这些文件时按其真实用途保留。
|
|
52
58
|
|
|
53
|
-
spec/
|
|
59
|
+
BRD默认直接保存到`spec/`根目录,路径为`spec/{EBC名称}-BRD_v{业务版本}.md`;PRD、AD、TestCase默认保存到各自PBC目录,路径为`spec/{PBC名称}/{PBC名称}-{主题名称}-{PRD|AD|TestCase}_v{各自版本}.md`。交接清单保存在`spec/handoff.json`,工程SPEC保存在`spec/SPEC-{PBC名称}-{主题名称}.md`;清单内相对路径均基于业务项目根,实际更新清单时保留的历史位于清单同级`history/`(新位置为`spec/history/`)。一个项目对应一个EBC,其BRD识别相关PBC,同一PBC的多个主题独立维护PRD及配套AD/TestCase版本,配套版本号可以不同。既有明确采用位置、历史及外部原件保留实际路径,不因本规范自动迁移。
|
|
54
60
|
|
|
55
61
|
## 3. 独立 Agent:agent-standalone
|
|
56
62
|
|
|
@@ -59,9 +65,14 @@ spec/ 下按业务能力组织文档。一个 EBC 的 BRD 识别相关 PBC;同
|
|
|
59
65
|
```text
|
|
60
66
|
agent-project/
|
|
61
67
|
├── README.md
|
|
62
|
-
├── spec/
|
|
68
|
+
├── spec/
|
|
69
|
+
│ ├── {EBC名称}-BRD_v{业务版本}.md
|
|
70
|
+
│ ├── handoff.json
|
|
71
|
+
│ ├── SPEC-{PBC名称}-{主题名称}.md
|
|
72
|
+
│ ├── history/ 清单实际更新时保留的历史
|
|
73
|
+
│ └── {PBC名称}/ 本PBC各主题的PRD/AD/TestCase
|
|
63
74
|
├── tasks/ 原 Plan 和唯一任务目标
|
|
64
|
-
├── docs/engineering/
|
|
75
|
+
├── docs/engineering/ 按需:项目规范与工程记录
|
|
65
76
|
├── <框架构建/配置入口>
|
|
66
77
|
├── <源码根>/ AD 确定的本应用源码
|
|
67
78
|
├── <程序测试位置>/ 采用框架的原有测试位置
|
|
@@ -70,9 +81,9 @@ agent-project/
|
|
|
70
81
|
└── delivery/ 按需:运行装配/部署
|
|
71
82
|
```
|
|
72
83
|
|
|
73
|
-
|
|
84
|
+
在 AD中把主 Agent 工程映射到项目根“.”。日后确需组合多个可独立构建工程时,按 AD 明确新增位置,不能因为模板示例存在 agents/ 就把当前代码自动搬进去。
|
|
74
85
|
|
|
75
|
-
此处 Agent
|
|
86
|
+
此处 Agent 是业务工程。外部 Agent 服务只引用正式契约和消费者适配,不把其源码和内部 AD 复制到本项目。
|
|
76
87
|
|
|
77
88
|
## 4. 四类工程与配套目录职责
|
|
78
89
|
|
|
@@ -95,20 +106,23 @@ jobs 可以是已有后端工程里的模块;Agent 也可以是已有工程中
|
|
|
95
106
|
|
|
96
107
|
AD 至少映射本次需要的源码/业务模块、配置、测试、契约、迁移及运行装配位置;不适用项有依据说明。Plan 进一步列出每项任务预计新增/修改的文件及路径。Build 按获准任务生成有实际内容的文件,未选择工程不预建空架子。
|
|
97
108
|
|
|
98
|
-
编译、打包、依赖和缓存产物遵循真实工具配置,例如 dist、target
|
|
109
|
+
编译、打包、依赖和缓存产物遵循真实工具配置,例如 dist、target 等;在 AD中必要时说明输出及忽略规则。不能把构建输出位置的差异等同于业务源码越界,也不通过移动编译产物掩盖源码位置错误。
|
|
99
110
|
|
|
100
111
|
项目根可按工具实际需要保留构建配置、workspace/CI 等公共文件,路径在 AD 或计划中说明。不要为满足外层分类,把框架入口强行放到无法正常工作的目录。
|
|
101
112
|
|
|
102
|
-
## 6. AD
|
|
113
|
+
## 6. 在 AD 中记录工程映射并交接
|
|
114
|
+
|
|
115
|
+
不单独编写采用说明。直接在 AD §0.3、§9.2、§9.6记录:规范及版本、业务项目根、pbc-composite或agent-standalone组织方式、工程标识与职责、工程根和必要模块/配置/测试/契约/迁移/运行位置,以及共享维护方、已有/拟建状态和偏差理由。已有项目资料可以引用,不能把未知写成已应用。
|
|
103
116
|
|
|
104
117
|
| 环节 | 必须明确的内容 | 如何核对 |
|
|
105
118
|
| --- | --- | --- |
|
|
106
|
-
|
|
|
107
|
-
|
|
|
108
|
-
|
|
|
109
|
-
|
|
|
119
|
+
| AD | 本规范或项目约定的准确来源、工程与模块映射、共享责任和例外 | 对照真实来源及代码,已有、拟建与未定分开 |
|
|
120
|
+
| T2工程SPEC | 当前 AD的关键目录和设计约束、相关来源及准确版本 | 形成可实施、可验收条款,不仅写“见AD” |
|
|
121
|
+
| T3原Plan | 选定工程SPEC;任务预计文件、依赖、结构/行为验收和验证方法 | 任务落到真实或拟建位置,共享文件不安排互相覆盖的写入 |
|
|
122
|
+
| 获准原Build/Build auto | 任务所需来源,实际源码、配置和测试落点 | 对照任务及实际变更,遵守原测试、构建、提交和风险停点 |
|
|
123
|
+
| 原测试/Review/Ship | 实际代码、运行结果与本次范围 | 目录只是适用验收之一,不替代功能正确性或发布条件 |
|
|
110
124
|
|
|
111
|
-
|
|
125
|
+
目录文件存在不代表后续方法已读取。按本 Skill将目录约束写入 AD和工程SPEC,再由原规划落实到任务;具体流程见 [SKILL.md](../../SKILL.md)。本规范不改变原版 Skill、命令或任务权威。
|
|
112
126
|
|
|
113
127
|
## 7. 存量工程、人工修改与变更
|
|
114
128
|
|