create-yss-spec 2.2.2 → 2.2.3

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 (75) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +5 -5
  4. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  5. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +3 -3
  6. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +3 -3
  7. package/template/.agents/skills/yss-router/SKILL.md +1 -1
  8. package/template/.agents/skills/yss-router/references/slice-implementation-contract.md +1 -0
  9. package/template/.claude/skills/yss-product-lifecycle/SKILL.md +5 -5
  10. package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  11. package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +3 -3
  12. package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +3 -3
  13. package/template/.claude/skills/yss-router/SKILL.md +1 -1
  14. package/template/.claude/skills/yss-router/references/slice-implementation-contract.md +1 -0
  15. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +5 -5
  16. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  17. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +3 -3
  18. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +3 -3
  19. package/template/.codex/skills/yss-router/SKILL.md +1 -1
  20. package/template/.codex/skills/yss-router/references/slice-implementation-contract.md +1 -0
  21. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +5 -5
  22. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  23. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +3 -3
  24. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +3 -3
  25. package/template/.cursor/skills/yss-router/SKILL.md +1 -1
  26. package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +1 -0
  27. package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +5 -5
  28. package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  29. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +3 -3
  30. package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +3 -3
  31. package/template/.hermes/skills/yss-router/SKILL.md +1 -1
  32. package/template/.hermes/skills/yss-router/references/slice-implementation-contract.md +1 -0
  33. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +5 -5
  34. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  35. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +3 -3
  36. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +3 -3
  37. package/template/.pi/skills/yss-router/SKILL.md +1 -1
  38. package/template/.pi/skills/yss-router/references/slice-implementation-contract.md +1 -0
  39. package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +5 -5
  40. package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  41. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +3 -3
  42. package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +3 -3
  43. package/template/.qoder/skills/yss-router/SKILL.md +1 -1
  44. package/template/.qoder/skills/yss-router/references/slice-implementation-contract.md +1 -0
  45. package/template/.trae/skills/yss-product-lifecycle/SKILL.md +5 -5
  46. package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +1 -1
  47. package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +3 -3
  48. package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +3 -3
  49. package/template/.trae/skills/yss-router/SKILL.md +1 -1
  50. package/template/.trae/skills/yss-router/references/slice-implementation-contract.md +1 -0
  51. package/template/AGENTS.md +6 -3
  52. package/template/CONTEXT.md +14 -2
  53. package/template/docs/agents/digital-human-roles.md +83 -0
  54. package/template/docs/agents/digital-human-roles.yaml +253 -0
  55. package/template/docs/agents/triage-labels.md +5 -5
  56. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +2 -1
  57. package/template/docs/process/subagent-collaboration.md +5 -3
  58. package/template/docs/process/templates/stage-checkpoint-template.md +3 -1
  59. package/template/docs/templates/approval-record-template.yaml +14 -0
  60. package/template/docs/templates/digital-human-runtime-profile-template.md +38 -0
  61. package/template/docs/templates/grok-bot-profile-template.md +24 -0
  62. package/template/docs/templates/implementation-routing-template.md +3 -3
  63. package/template/docs/templates/local-parent-ticket-template.md +8 -0
  64. package/template/docs/templates/subagent-task-package-template.md +4 -0
  65. package/template/docs/templates/vertical-slice-ticket-template.md +7 -0
  66. package/template/docs/user-guide//344/272/247/345/223/201/347/240/224/345/217/221/345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -0
  67. package/template/scripts/lib/approval-record.mjs +123 -0
  68. package/template/scripts/lib/digital-human-roles.mjs +398 -0
  69. package/template/scripts/verify-approval-record +13 -0
  70. package/template/scripts/verify-digital-human-roles +10 -0
  71. package/template/scripts/verify-digital-human-roles-scenarios +147 -0
  72. package/template/scripts/verify-lifecycle-checkpoint +2 -0
  73. package/template/scripts/verify-template +5 -2
  74. package/template/skills-lock.json +2 -2
  75. package/template.snapshot.json +4 -4
@@ -52,7 +52,7 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
52
52
  ## Matt flow 进入条件
53
53
 
54
54
  - `work-unit.discovery-requirements` 实际调用 `grilling` 和 `domain-modeling`;`work-unit.discovery-opportunity` 按事实类型路由 `competitive-intelligence` 或 `research`。生命周期原生工作单元默认负责 Spec、Ticket 和实现资产;`to-spec`、`to-tickets`、`implement` 仅保留为显式兼容入口,结果必须回交生命周期验收。
55
- - 原生 `work-unit.ticket-decomposition` 只能在 OpenAPI Freeze 或无 API 影响记录后创建垂直切片,初始角色统一为 `ready-for-human`;生命周期复算完整公式后才能提升 `ready-for-agent`。
55
+ - 原生 `work-unit.ticket-decomposition` 只能在 OpenAPI Freeze 或无 API 影响记录后创建垂直切片,初始 Ticket 状态统一为 `ready-for-human`;生命周期复算完整公式后才能提升 `ready-for-agent`。
56
56
  - 原生 `work-unit.slice-implementation` 必须在生命周期批准并持久化 Slice Implementation Contract 和 Build Architecture Checklist 后执行;用户显式 `implement` 仍走兼容入口,不得绕过生命周期。
57
57
  - `implement` 遇到 backend `scaffold_status=required` 时,还必须满足原型确认后的脚手架策略:脚手架 Execution Result、`yss-backend-scaffold-parent` 基线、Wrapper 验证和 Router 合同重编译均已回写;否则停在工程基线,不得写业务代码。
58
58
  - `Workflow Execution Result` 出现 `drift`、`new_impacts`、`stale_candidates`、`violation`、`missing_evidence`、空 `evidence_refs` 或缺少必需字段时暂停当前工作单元;旧结果只能先经只读兼容 adapter 归一化。
@@ -73,13 +73,13 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
73
73
 
74
74
  ## 必须暂停
75
75
 
76
- - Spec baseline、需求冻结、原型确认、OpenAPI Freeze 或 Architecture Review 等普通门禁等待人工裁决。
76
+ - Spec baseline、需求冻结、原型确认、OpenAPI Freeze 或 Architecture Review 等普通门禁等待会签裁决(数字人或生物人,以 `docs/agents/digital-human-roles.yaml` 的 `gate_policy` 为准)。暂停输出必须包含:门禁 ID、指定 `role_id`、`runtime_id`、会签文件路径。恢复前执行 `scripts/verify-approval-record`;角色错误、起草者自签或生物人门禁被数字人关闭时返回 `blocked`,不得标 `approved`。
77
77
  - 需要目标仓库、外部凭据、发布窗口或其他新授权。
78
78
  - 状态与证据冲突且无法可靠重建。
79
79
  - 专项 skill 失败或返回不可验收结果。
80
80
  - 即将作出可合并、可发布或完成结论。
81
81
 
82
- 暂停输出:门禁、证据、责任人、推荐答案、一个问题、恢复动作。
82
+ 暂停输出:门禁、指定会签 `role_id`、`runtime_id`、会签文件路径、证据、推荐答案、一个问题、恢复动作。
83
83
 
84
84
  ## Wayfinder 完成判定
85
85
 
@@ -11,7 +11,7 @@
11
11
  | `tracker.kind` | `local-markdown`、`github`、`gitlab` |
12
12
  | `ticket.role` | `needs-triage`、`needs-info`、`ready-for-agent`、`ready-for-human`、`wontfix` |
13
13
 
14
- Matt 五态不得扩义。资产的 `ready-for-human` 与 Ticket label 必须带命名空间表达。
14
+ Matt 五态不得扩义。资产的 `ready-for-human` 与 Ticket label 必须带命名空间表达。`paused-human-gate` 表示等待 `docs/agents/digital-human-roles.yaml` 指定的会签人(数字人或生物人),不是「必须是生物人」。
15
15
 
16
16
  ## 上下文与外部输入证据
17
17
 
@@ -34,7 +34,7 @@ phase_boundary:
34
34
 
35
35
  ## `ready-for-agent` 公式
36
36
 
37
- 仅当以下全部为真,垂直切片 Ticket 才能获得该角色:
37
+ 仅当以下全部为真,垂直切片 Ticket 才能获得该 Ticket 状态:
38
38
 
39
39
  ```text
40
40
  required gates ∈ {approved, not-applicable}
@@ -53,7 +53,7 @@ AND UI 影响切片的前端实现还原计划已通过 schema 校验、`templat
53
53
 
54
54
  发布前还必须满足所有已触发门禁均为 `approved` 或 `not-applicable`;UI 影响切片必须额外通过 `gate.frontend-implementation-verified`,不能只凭 fresh verification 和回滚点放行。
55
55
 
56
- 用户显式运行 `to-tickets` 后,垂直切片初始角色固定为 `ready-for-human`。只有 `yss-product-lifecycle` 复算上述公式全部为真后,才能把它提升为 `ready-for-agent`;生命周期不会自动调用 `to-tickets`,其默认标签也不参与该裁决。
56
+ 用户显式运行 `to-tickets` 后,垂直切片初始 Ticket 状态固定为 `ready-for-human`。只有 `yss-product-lifecycle` 复算上述公式全部为真后,才能把它提升为 `ready-for-agent`;生命周期不会自动调用 `to-tickets`,其默认标签也不参与该裁决。
57
57
 
58
58
  ## Review 与 Git 授权状态
59
59
 
@@ -46,4 +46,4 @@ description: Use when a YSS vertical slice is entering implementation, spans mul
46
46
 
47
47
  ## 输出
48
48
 
49
- 输出合同草案、技能依赖闭包、不适用理由、阻塞项、TDD 模式、工作单元、预期证据、验证命令、人工审查点和完整重路由触发器。自然语言说明不能替代结构化合同字段。
49
+ 输出合同草案、技能依赖闭包、不适用理由、阻塞项、TDD 模式、工作单元、预期证据、验证命令、人工审查点、完整重路由触发器,以及建议的 `suggested_owner_role_id`(UI 影响 → `role.frontend-engineer`,后端影响 → `role.backend-engineer`,测试/审查 → `role.test-engineer`)。自然语言说明不能替代结构化合同字段。Router 不得自行批准合同、设置 `ready-for-agent` 或关闭会签门禁;owner 建议只供主控派活。
@@ -9,6 +9,7 @@ slice_contract:
9
9
  contract_version: 1
10
10
  slice_id:
11
11
  status: draft
12
+ suggested_owner_role_id: # role.frontend-engineer | role.backend-engineer | role.test-engineer;Router 只建议,编排器派活并批准
12
13
  lifecycle_refs:
13
14
  spec:
14
15
  ticket:
@@ -11,10 +11,10 @@ description: 编排 YSS 产品或模块从机会调研到 Spec、原型、技术
11
11
 
12
12
  1. 先读取 `yss-project.yaml`、`CONTEXT.md`、相关 ADR、父 Ticket/checkpoint 和当前资产。
13
13
  2. `repository_mode=template-source` 只走模板维护流程;命中产品流程时返回 `blocked: template-source-product-artifact-forbidden`,不得生成产品 Spec、原型、OpenAPI 或切片 Ticket。
14
- 3. `repository_mode=project-instance` 以 `docs/process/lifecycle-registry.yaml`、`harness-process-tailoring.md` 和本目录 references 为唯一阶段、门禁和裁剪事实源。
14
+ 3. `repository_mode=project-instance` 以 `docs/process/lifecycle-registry.yaml`、`harness-process-tailoring.md` 和本目录 references 为唯一阶段、门禁和裁剪事实源。数字人角色、阶段协作组、运行时绑定与会签级别以 `docs/agents/digital-human-roles.yaml` 为准;职称实例不另起编排器。
15
15
  4. 模式:`route` 只读规划;`orchestrate` 有界推进;`resume` 重建后推进;`audit` 严格只读。未明确时使用 `route`。
16
16
 
17
- Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为显式兼容入口;默认路径是本 skill 持有的原生工作单元,由本编排器创建正式资产、维护状态并在四类人工门禁暂停。兼容入口不得自动调用它们或代替其创建正式资产;Matt 只导航,不得写生命周期资产或改变门禁/Ticket 状态;任何写入前回交本编排器。
17
+ Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为显式兼容入口;默认路径是本 skill 持有的原生工作单元,由本编排器创建正式资产、维护状态并在会签门禁暂停(级别见数字人角色注册表)。兼容入口不得自动调用它们或代替其创建正式资产;Matt 只导航,不得写生命周期资产或改变门禁/Ticket 状态;任何写入前回交本编排器。
18
18
 
19
19
  ## 不可裁剪的主链
20
20
 
@@ -28,13 +28,13 @@ Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为
28
28
  |---|---|---|---|
29
29
  | 入口分诊 | 身份、影响面、最近可信阶段 | `yss-product-lifecycle` | `yss-project.yaml` 合法且影响面可解释 |
30
30
  | 机会调研/需求分析 | Discovery、用户/MVP/非目标/成功标准、测试 seam | `work-unit.discovery-opportunity` + `work-unit.discovery-requirements`;市场/竞品事实用 `competitive-intelligence`,技术/标准事实用 `research`;`grill-with-docs` 为兼容入口 | 未决事实已 research 或 handoff,用户确认,无 runnable blocker |
31
- | Spec/功能架构 | Spec、产品总体设计、功能架构;必要时 Spec Delta | 原生 `work-unit.spec-synthesis`;`to-spec` 为兼容入口 | 初稿先为 `ready-for-human`;只有 Spec baseline 人工批准后资产才为 `approved` 并进入下游 |
31
+ | Spec/功能架构 | Spec、产品总体设计、功能架构;必要时 Spec Delta | 原生 `work-unit.spec-synthesis`;`to-spec` 为兼容入口 | 初稿先为 `ready-for-human`;只有 Spec baseline 会签批准后资产才为 `approved` 并进入下游 |
32
32
  | 原型设计 | 交互说明、低保真、状态矩阵、高保真 HTML、评审记录 | `yss-design-system` → `yss-prototype-stage` → `yss-antd-design`(仅原型事实)→ Codex `product-design:index`(非 Codex 交付等价合同)。前端落地改用 `yss-ui` | `gate.prototype-reviewed`、`gate.prototype-verified`、`gate.user-confirmation` 均有证据 |
33
33
  | 技术分析 | OpenAPI Draft/Freeze、数据架构、工程基线、架构审查 | `yss-openapi-governance` / `yss-openapi-draft-review`、`codebase-design`、`implementation-repo-onboarding`、`yss-router` | API/架构契约冻结;无 API 影响有明确记录;脚手架策略满足 |
34
34
  | Ticket 正式化 | 功能父 Ticket、垂直切片、Slice Implementation Contract | 原生 `work-unit.ticket-decomposition`;`to-tickets` 为兼容入口;生命周期复算 | 依赖、验收、测试 seam 可执行;合同已批准、持久化且为当前版本 |
35
35
  | 技术实现 | 前端/后端代码、TDD 证据、YSS Skill Execution Result | 原生 `work-unit.slice-implementation`;`implement` 为兼容入口;前端按 `yss-ui` + `yss-page-module-development`,后端按 `yss-router` 最小闭包,业务行为统一 `tdd` | 只写允许路径;业务行为用 `behavior-tdd`;UI 影响必须有还原计划 |
36
36
  | Review/验证 | 不可变候选快照、review 结论、fresh verification | `code-review`(独立于实现者);UI 影响追加 `yss-ui` + `yss-design-system` 的 UI fidelity 轴 | findings 已处理;同一候选快照通过全部审查轴与验证 |
37
- | 发布/复盘 | 发布/回滚证据、复盘记录 | 生命周期自有工作单元 | fresh verification、独立审查和人工发布裁决齐全 |
37
+ | 发布/复盘 | 发布/回滚证据、复盘记录 | 生命周期自有工作单元 | fresh verification、独立审查和发布裁决齐全;`gate.release-ready` 仍须生物人 |
38
38
 
39
39
  ## 前端实现还原硬检查
40
40
 
@@ -44,6 +44,6 @@ Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为
44
44
 
45
45
  每个工作单元必须返回 `Workflow Execution Result`(workflow reference、skill、changed files、evidence refs、actual verification、deferred seams、drift/new impacts)。缺少可读证据、`stale`、`violation`、`drift`、`new_impacts` 或阻塞信号时不得标记 completed。实现授权不包含 Git commit/push 授权;“做完提交”等自然语言意向不构成上述结构化 Git 授权。
46
46
 
47
- 输出固定包含:模式、当前阶段、影响面、资产/门禁状态、证据、阻塞项、本轮动作、下一工作单元、暂停/继续理由、Ticket 同步和 Git checkpoint 判断。暂停时只提出一个具体人工决策,并给出推荐答案与恢复动作。
47
+ 输出固定包含:模式、当前阶段、影响面、资产/门禁状态、证据、阻塞项、本轮动作、下一工作单元、暂停/继续理由、Ticket 同步和 Git checkpoint 判断。暂停会签时必须输出门禁 ID、指定 `role_id`、`runtime_id` 和会签文件路径(`docs/.scratch/<feature>/gates/<gate-id>-approval.yaml`)。恢复前运行 `scripts/verify-approval-record`;错误会签记为 `blocked`,不得把该门禁标为 `approved`。任务包的 `core_skills` / `forbidden_skills` 必须从 `docs/agents/digital-human-roles.yaml` 复制(`taskPackageDefaults`),禁止手写第二套。
48
48
 
49
49
  详细执行循环、readiness、脚手架(包括 `controlled-generation`)、审查快照、状态传播和 Matt 边界见 [orchestration.md](references/orchestration.md)、[orchestration-contract.yaml](references/orchestration-contract.yaml)、[artifact-dependencies.md](references/artifact-dependencies.md) 和 [state-model.md](references/state-model.md)。
@@ -23,7 +23,7 @@ Matt skills 决定如何工作;YSS 生命周期决定是否允许推进;YSS
23
23
  | 技术事实 | `research` | 一手资料回填 Spec/OpenAPI/架构/ADR |
24
24
  | runnable 问题 | `prototype` | 生成单文件可分享 HTML,保留 `prototype/<name>` 分支作为主来源;必须 source/return handoff 和结论回填,不得替代阶段 4 的低保真评审、Ant Design v6 高保真 HTML、AntD CLI 证据和用户确认 |
25
25
  | Spec 综合 | 原生 `work-unit.spec-synthesis`;`to-spec`(用户显式兼容) | 初稿进入 `ready-for-human`,不得直接实现 |
26
- | 切片 | 原生 `work-unit.ticket-decomposition`;`to-tickets`(用户显式兼容) | 仅在冻结/无影响记录后拆垂直切片,初始角色为 `ready-for-human` |
26
+ | 切片 | 原生 `work-unit.ticket-decomposition`;`to-tickets`(用户显式兼容) | 仅在冻结/无影响记录后拆垂直切片,初始 Ticket 状态为 `ready-for-human` |
27
27
  | 实现 | 原生 `work-unit.slice-implementation`;`implement`(用户显式兼容) | 当前合同批准并持久化后执行;内部使用 `tdd`,结果回交后再次核验 |
28
28
  | Bug | `diagnosing-bugs`、`tdd` | 先建立红色反馈;高风险影响升级上游门禁 |
29
29
  | 审查 | `code-review` | 唯一默认代码审查入口;审查者独立,结合 Spec、仓库治理规则和 YSS 标准 |
@@ -52,7 +52,7 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
52
52
  ## Matt flow 进入条件
53
53
 
54
54
  - `work-unit.discovery-requirements` 实际调用 `grilling` 和 `domain-modeling`;`work-unit.discovery-opportunity` 按事实类型路由 `competitive-intelligence` 或 `research`。生命周期原生工作单元默认负责 Spec、Ticket 和实现资产;`to-spec`、`to-tickets`、`implement` 仅保留为显式兼容入口,结果必须回交生命周期验收。
55
- - 原生 `work-unit.ticket-decomposition` 只能在 OpenAPI Freeze 或无 API 影响记录后创建垂直切片,初始角色统一为 `ready-for-human`;生命周期复算完整公式后才能提升 `ready-for-agent`。
55
+ - 原生 `work-unit.ticket-decomposition` 只能在 OpenAPI Freeze 或无 API 影响记录后创建垂直切片,初始 Ticket 状态统一为 `ready-for-human`;生命周期复算完整公式后才能提升 `ready-for-agent`。
56
56
  - 原生 `work-unit.slice-implementation` 必须在生命周期批准并持久化 Slice Implementation Contract 和 Build Architecture Checklist 后执行;用户显式 `implement` 仍走兼容入口,不得绕过生命周期。
57
57
  - `implement` 遇到 backend `scaffold_status=required` 时,还必须满足原型确认后的脚手架策略:脚手架 Execution Result、`yss-backend-scaffold-parent` 基线、Wrapper 验证和 Router 合同重编译均已回写;否则停在工程基线,不得写业务代码。
58
58
  - `Workflow Execution Result` 出现 `drift`、`new_impacts`、`stale_candidates`、`violation`、`missing_evidence`、空 `evidence_refs` 或缺少必需字段时暂停当前工作单元;旧结果只能先经只读兼容 adapter 归一化。
@@ -73,13 +73,13 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
73
73
 
74
74
  ## 必须暂停
75
75
 
76
- - Spec baseline、需求冻结、原型确认、OpenAPI Freeze 或 Architecture Review 等普通门禁等待人工裁决。
76
+ - Spec baseline、需求冻结、原型确认、OpenAPI Freeze 或 Architecture Review 等普通门禁等待会签裁决(数字人或生物人,以 `docs/agents/digital-human-roles.yaml` 的 `gate_policy` 为准)。暂停输出必须包含:门禁 ID、指定 `role_id`、`runtime_id`、会签文件路径。恢复前执行 `scripts/verify-approval-record`;角色错误、起草者自签或生物人门禁被数字人关闭时返回 `blocked`,不得标 `approved`。
77
77
  - 需要目标仓库、外部凭据、发布窗口或其他新授权。
78
78
  - 状态与证据冲突且无法可靠重建。
79
79
  - 专项 skill 失败或返回不可验收结果。
80
80
  - 即将作出可合并、可发布或完成结论。
81
81
 
82
- 暂停输出:门禁、证据、责任人、推荐答案、一个问题、恢复动作。
82
+ 暂停输出:门禁、指定会签 `role_id`、`runtime_id`、会签文件路径、证据、推荐答案、一个问题、恢复动作。
83
83
 
84
84
  ## Wayfinder 完成判定
85
85
 
@@ -11,7 +11,7 @@
11
11
  | `tracker.kind` | `local-markdown`、`github`、`gitlab` |
12
12
  | `ticket.role` | `needs-triage`、`needs-info`、`ready-for-agent`、`ready-for-human`、`wontfix` |
13
13
 
14
- Matt 五态不得扩义。资产的 `ready-for-human` 与 Ticket label 必须带命名空间表达。
14
+ Matt 五态不得扩义。资产的 `ready-for-human` 与 Ticket label 必须带命名空间表达。`paused-human-gate` 表示等待 `docs/agents/digital-human-roles.yaml` 指定的会签人(数字人或生物人),不是「必须是生物人」。
15
15
 
16
16
  ## 上下文与外部输入证据
17
17
 
@@ -34,7 +34,7 @@ phase_boundary:
34
34
 
35
35
  ## `ready-for-agent` 公式
36
36
 
37
- 仅当以下全部为真,垂直切片 Ticket 才能获得该角色:
37
+ 仅当以下全部为真,垂直切片 Ticket 才能获得该 Ticket 状态:
38
38
 
39
39
  ```text
40
40
  required gates ∈ {approved, not-applicable}
@@ -53,7 +53,7 @@ AND UI 影响切片的前端实现还原计划已通过 schema 校验、`templat
53
53
 
54
54
  发布前还必须满足所有已触发门禁均为 `approved` 或 `not-applicable`;UI 影响切片必须额外通过 `gate.frontend-implementation-verified`,不能只凭 fresh verification 和回滚点放行。
55
55
 
56
- 用户显式运行 `to-tickets` 后,垂直切片初始角色固定为 `ready-for-human`。只有 `yss-product-lifecycle` 复算上述公式全部为真后,才能把它提升为 `ready-for-agent`;生命周期不会自动调用 `to-tickets`,其默认标签也不参与该裁决。
56
+ 用户显式运行 `to-tickets` 后,垂直切片初始 Ticket 状态固定为 `ready-for-human`。只有 `yss-product-lifecycle` 复算上述公式全部为真后,才能把它提升为 `ready-for-agent`;生命周期不会自动调用 `to-tickets`,其默认标签也不参与该裁决。
57
57
 
58
58
  ## Review 与 Git 授权状态
59
59
 
@@ -46,4 +46,4 @@ description: Use when a YSS vertical slice is entering implementation, spans mul
46
46
 
47
47
  ## 输出
48
48
 
49
- 输出合同草案、技能依赖闭包、不适用理由、阻塞项、TDD 模式、工作单元、预期证据、验证命令、人工审查点和完整重路由触发器。自然语言说明不能替代结构化合同字段。
49
+ 输出合同草案、技能依赖闭包、不适用理由、阻塞项、TDD 模式、工作单元、预期证据、验证命令、人工审查点、完整重路由触发器,以及建议的 `suggested_owner_role_id`(UI 影响 → `role.frontend-engineer`,后端影响 → `role.backend-engineer`,测试/审查 → `role.test-engineer`)。自然语言说明不能替代结构化合同字段。Router 不得自行批准合同、设置 `ready-for-agent` 或关闭会签门禁;owner 建议只供主控派活。
@@ -9,6 +9,7 @@ slice_contract:
9
9
  contract_version: 1
10
10
  slice_id:
11
11
  status: draft
12
+ suggested_owner_role_id: # role.frontend-engineer | role.backend-engineer | role.test-engineer;Router 只建议,编排器派活并批准
12
13
  lifecycle_refs:
13
14
  spec:
14
15
  ticket:
@@ -11,10 +11,10 @@ description: 编排 YSS 产品或模块从机会调研到 Spec、原型、技术
11
11
 
12
12
  1. 先读取 `yss-project.yaml`、`CONTEXT.md`、相关 ADR、父 Ticket/checkpoint 和当前资产。
13
13
  2. `repository_mode=template-source` 只走模板维护流程;命中产品流程时返回 `blocked: template-source-product-artifact-forbidden`,不得生成产品 Spec、原型、OpenAPI 或切片 Ticket。
14
- 3. `repository_mode=project-instance` 以 `docs/process/lifecycle-registry.yaml`、`harness-process-tailoring.md` 和本目录 references 为唯一阶段、门禁和裁剪事实源。
14
+ 3. `repository_mode=project-instance` 以 `docs/process/lifecycle-registry.yaml`、`harness-process-tailoring.md` 和本目录 references 为唯一阶段、门禁和裁剪事实源。数字人角色、阶段协作组、运行时绑定与会签级别以 `docs/agents/digital-human-roles.yaml` 为准;职称实例不另起编排器。
15
15
  4. 模式:`route` 只读规划;`orchestrate` 有界推进;`resume` 重建后推进;`audit` 严格只读。未明确时使用 `route`。
16
16
 
17
- Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为显式兼容入口;默认路径是本 skill 持有的原生工作单元,由本编排器创建正式资产、维护状态并在四类人工门禁暂停。兼容入口不得自动调用它们或代替其创建正式资产;Matt 只导航,不得写生命周期资产或改变门禁/Ticket 状态;任何写入前回交本编排器。
17
+ Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为显式兼容入口;默认路径是本 skill 持有的原生工作单元,由本编排器创建正式资产、维护状态并在会签门禁暂停(级别见数字人角色注册表)。兼容入口不得自动调用它们或代替其创建正式资产;Matt 只导航,不得写生命周期资产或改变门禁/Ticket 状态;任何写入前回交本编排器。
18
18
 
19
19
  ## 不可裁剪的主链
20
20
 
@@ -28,13 +28,13 @@ Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为
28
28
  |---|---|---|---|
29
29
  | 入口分诊 | 身份、影响面、最近可信阶段 | `yss-product-lifecycle` | `yss-project.yaml` 合法且影响面可解释 |
30
30
  | 机会调研/需求分析 | Discovery、用户/MVP/非目标/成功标准、测试 seam | `work-unit.discovery-opportunity` + `work-unit.discovery-requirements`;市场/竞品事实用 `competitive-intelligence`,技术/标准事实用 `research`;`grill-with-docs` 为兼容入口 | 未决事实已 research 或 handoff,用户确认,无 runnable blocker |
31
- | Spec/功能架构 | Spec、产品总体设计、功能架构;必要时 Spec Delta | 原生 `work-unit.spec-synthesis`;`to-spec` 为兼容入口 | 初稿先为 `ready-for-human`;只有 Spec baseline 人工批准后资产才为 `approved` 并进入下游 |
31
+ | Spec/功能架构 | Spec、产品总体设计、功能架构;必要时 Spec Delta | 原生 `work-unit.spec-synthesis`;`to-spec` 为兼容入口 | 初稿先为 `ready-for-human`;只有 Spec baseline 会签批准后资产才为 `approved` 并进入下游 |
32
32
  | 原型设计 | 交互说明、低保真、状态矩阵、高保真 HTML、评审记录 | `yss-design-system` → `yss-prototype-stage` → `yss-antd-design`(仅原型事实)→ Codex `product-design:index`(非 Codex 交付等价合同)。前端落地改用 `yss-ui` | `gate.prototype-reviewed`、`gate.prototype-verified`、`gate.user-confirmation` 均有证据 |
33
33
  | 技术分析 | OpenAPI Draft/Freeze、数据架构、工程基线、架构审查 | `yss-openapi-governance` / `yss-openapi-draft-review`、`codebase-design`、`implementation-repo-onboarding`、`yss-router` | API/架构契约冻结;无 API 影响有明确记录;脚手架策略满足 |
34
34
  | Ticket 正式化 | 功能父 Ticket、垂直切片、Slice Implementation Contract | 原生 `work-unit.ticket-decomposition`;`to-tickets` 为兼容入口;生命周期复算 | 依赖、验收、测试 seam 可执行;合同已批准、持久化且为当前版本 |
35
35
  | 技术实现 | 前端/后端代码、TDD 证据、YSS Skill Execution Result | 原生 `work-unit.slice-implementation`;`implement` 为兼容入口;前端按 `yss-ui` + `yss-page-module-development`,后端按 `yss-router` 最小闭包,业务行为统一 `tdd` | 只写允许路径;业务行为用 `behavior-tdd`;UI 影响必须有还原计划 |
36
36
  | Review/验证 | 不可变候选快照、review 结论、fresh verification | `code-review`(独立于实现者);UI 影响追加 `yss-ui` + `yss-design-system` 的 UI fidelity 轴 | findings 已处理;同一候选快照通过全部审查轴与验证 |
37
- | 发布/复盘 | 发布/回滚证据、复盘记录 | 生命周期自有工作单元 | fresh verification、独立审查和人工发布裁决齐全 |
37
+ | 发布/复盘 | 发布/回滚证据、复盘记录 | 生命周期自有工作单元 | fresh verification、独立审查和发布裁决齐全;`gate.release-ready` 仍须生物人 |
38
38
 
39
39
  ## 前端实现还原硬检查
40
40
 
@@ -44,6 +44,6 @@ Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为
44
44
 
45
45
  每个工作单元必须返回 `Workflow Execution Result`(workflow reference、skill、changed files、evidence refs、actual verification、deferred seams、drift/new impacts)。缺少可读证据、`stale`、`violation`、`drift`、`new_impacts` 或阻塞信号时不得标记 completed。实现授权不包含 Git commit/push 授权;“做完提交”等自然语言意向不构成上述结构化 Git 授权。
46
46
 
47
- 输出固定包含:模式、当前阶段、影响面、资产/门禁状态、证据、阻塞项、本轮动作、下一工作单元、暂停/继续理由、Ticket 同步和 Git checkpoint 判断。暂停时只提出一个具体人工决策,并给出推荐答案与恢复动作。
47
+ 输出固定包含:模式、当前阶段、影响面、资产/门禁状态、证据、阻塞项、本轮动作、下一工作单元、暂停/继续理由、Ticket 同步和 Git checkpoint 判断。暂停会签时必须输出门禁 ID、指定 `role_id`、`runtime_id` 和会签文件路径(`docs/.scratch/<feature>/gates/<gate-id>-approval.yaml`)。恢复前运行 `scripts/verify-approval-record`;错误会签记为 `blocked`,不得把该门禁标为 `approved`。任务包的 `core_skills` / `forbidden_skills` 必须从 `docs/agents/digital-human-roles.yaml` 复制(`taskPackageDefaults`),禁止手写第二套。
48
48
 
49
49
  详细执行循环、readiness、脚手架(包括 `controlled-generation`)、审查快照、状态传播和 Matt 边界见 [orchestration.md](references/orchestration.md)、[orchestration-contract.yaml](references/orchestration-contract.yaml)、[artifact-dependencies.md](references/artifact-dependencies.md) 和 [state-model.md](references/state-model.md)。
@@ -23,7 +23,7 @@ Matt skills 决定如何工作;YSS 生命周期决定是否允许推进;YSS
23
23
  | 技术事实 | `research` | 一手资料回填 Spec/OpenAPI/架构/ADR |
24
24
  | runnable 问题 | `prototype` | 生成单文件可分享 HTML,保留 `prototype/<name>` 分支作为主来源;必须 source/return handoff 和结论回填,不得替代阶段 4 的低保真评审、Ant Design v6 高保真 HTML、AntD CLI 证据和用户确认 |
25
25
  | Spec 综合 | 原生 `work-unit.spec-synthesis`;`to-spec`(用户显式兼容) | 初稿进入 `ready-for-human`,不得直接实现 |
26
- | 切片 | 原生 `work-unit.ticket-decomposition`;`to-tickets`(用户显式兼容) | 仅在冻结/无影响记录后拆垂直切片,初始角色为 `ready-for-human` |
26
+ | 切片 | 原生 `work-unit.ticket-decomposition`;`to-tickets`(用户显式兼容) | 仅在冻结/无影响记录后拆垂直切片,初始 Ticket 状态为 `ready-for-human` |
27
27
  | 实现 | 原生 `work-unit.slice-implementation`;`implement`(用户显式兼容) | 当前合同批准并持久化后执行;内部使用 `tdd`,结果回交后再次核验 |
28
28
  | Bug | `diagnosing-bugs`、`tdd` | 先建立红色反馈;高风险影响升级上游门禁 |
29
29
  | 审查 | `code-review` | 唯一默认代码审查入口;审查者独立,结合 Spec、仓库治理规则和 YSS 标准 |
@@ -52,7 +52,7 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
52
52
  ## Matt flow 进入条件
53
53
 
54
54
  - `work-unit.discovery-requirements` 实际调用 `grilling` 和 `domain-modeling`;`work-unit.discovery-opportunity` 按事实类型路由 `competitive-intelligence` 或 `research`。生命周期原生工作单元默认负责 Spec、Ticket 和实现资产;`to-spec`、`to-tickets`、`implement` 仅保留为显式兼容入口,结果必须回交生命周期验收。
55
- - 原生 `work-unit.ticket-decomposition` 只能在 OpenAPI Freeze 或无 API 影响记录后创建垂直切片,初始角色统一为 `ready-for-human`;生命周期复算完整公式后才能提升 `ready-for-agent`。
55
+ - 原生 `work-unit.ticket-decomposition` 只能在 OpenAPI Freeze 或无 API 影响记录后创建垂直切片,初始 Ticket 状态统一为 `ready-for-human`;生命周期复算完整公式后才能提升 `ready-for-agent`。
56
56
  - 原生 `work-unit.slice-implementation` 必须在生命周期批准并持久化 Slice Implementation Contract 和 Build Architecture Checklist 后执行;用户显式 `implement` 仍走兼容入口,不得绕过生命周期。
57
57
  - `implement` 遇到 backend `scaffold_status=required` 时,还必须满足原型确认后的脚手架策略:脚手架 Execution Result、`yss-backend-scaffold-parent` 基线、Wrapper 验证和 Router 合同重编译均已回写;否则停在工程基线,不得写业务代码。
58
58
  - `Workflow Execution Result` 出现 `drift`、`new_impacts`、`stale_candidates`、`violation`、`missing_evidence`、空 `evidence_refs` 或缺少必需字段时暂停当前工作单元;旧结果只能先经只读兼容 adapter 归一化。
@@ -73,13 +73,13 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
73
73
 
74
74
  ## 必须暂停
75
75
 
76
- - Spec baseline、需求冻结、原型确认、OpenAPI Freeze 或 Architecture Review 等普通门禁等待人工裁决。
76
+ - Spec baseline、需求冻结、原型确认、OpenAPI Freeze 或 Architecture Review 等普通门禁等待会签裁决(数字人或生物人,以 `docs/agents/digital-human-roles.yaml` 的 `gate_policy` 为准)。暂停输出必须包含:门禁 ID、指定 `role_id`、`runtime_id`、会签文件路径。恢复前执行 `scripts/verify-approval-record`;角色错误、起草者自签或生物人门禁被数字人关闭时返回 `blocked`,不得标 `approved`。
77
77
  - 需要目标仓库、外部凭据、发布窗口或其他新授权。
78
78
  - 状态与证据冲突且无法可靠重建。
79
79
  - 专项 skill 失败或返回不可验收结果。
80
80
  - 即将作出可合并、可发布或完成结论。
81
81
 
82
- 暂停输出:门禁、证据、责任人、推荐答案、一个问题、恢复动作。
82
+ 暂停输出:门禁、指定会签 `role_id`、`runtime_id`、会签文件路径、证据、推荐答案、一个问题、恢复动作。
83
83
 
84
84
  ## Wayfinder 完成判定
85
85
 
@@ -11,7 +11,7 @@
11
11
  | `tracker.kind` | `local-markdown`、`github`、`gitlab` |
12
12
  | `ticket.role` | `needs-triage`、`needs-info`、`ready-for-agent`、`ready-for-human`、`wontfix` |
13
13
 
14
- Matt 五态不得扩义。资产的 `ready-for-human` 与 Ticket label 必须带命名空间表达。
14
+ Matt 五态不得扩义。资产的 `ready-for-human` 与 Ticket label 必须带命名空间表达。`paused-human-gate` 表示等待 `docs/agents/digital-human-roles.yaml` 指定的会签人(数字人或生物人),不是「必须是生物人」。
15
15
 
16
16
  ## 上下文与外部输入证据
17
17
 
@@ -34,7 +34,7 @@ phase_boundary:
34
34
 
35
35
  ## `ready-for-agent` 公式
36
36
 
37
- 仅当以下全部为真,垂直切片 Ticket 才能获得该角色:
37
+ 仅当以下全部为真,垂直切片 Ticket 才能获得该 Ticket 状态:
38
38
 
39
39
  ```text
40
40
  required gates ∈ {approved, not-applicable}
@@ -53,7 +53,7 @@ AND UI 影响切片的前端实现还原计划已通过 schema 校验、`templat
53
53
 
54
54
  发布前还必须满足所有已触发门禁均为 `approved` 或 `not-applicable`;UI 影响切片必须额外通过 `gate.frontend-implementation-verified`,不能只凭 fresh verification 和回滚点放行。
55
55
 
56
- 用户显式运行 `to-tickets` 后,垂直切片初始角色固定为 `ready-for-human`。只有 `yss-product-lifecycle` 复算上述公式全部为真后,才能把它提升为 `ready-for-agent`;生命周期不会自动调用 `to-tickets`,其默认标签也不参与该裁决。
56
+ 用户显式运行 `to-tickets` 后,垂直切片初始 Ticket 状态固定为 `ready-for-human`。只有 `yss-product-lifecycle` 复算上述公式全部为真后,才能把它提升为 `ready-for-agent`;生命周期不会自动调用 `to-tickets`,其默认标签也不参与该裁决。
57
57
 
58
58
  ## Review 与 Git 授权状态
59
59
 
@@ -46,4 +46,4 @@ description: Use when a YSS vertical slice is entering implementation, spans mul
46
46
 
47
47
  ## 输出
48
48
 
49
- 输出合同草案、技能依赖闭包、不适用理由、阻塞项、TDD 模式、工作单元、预期证据、验证命令、人工审查点和完整重路由触发器。自然语言说明不能替代结构化合同字段。
49
+ 输出合同草案、技能依赖闭包、不适用理由、阻塞项、TDD 模式、工作单元、预期证据、验证命令、人工审查点、完整重路由触发器,以及建议的 `suggested_owner_role_id`(UI 影响 → `role.frontend-engineer`,后端影响 → `role.backend-engineer`,测试/审查 → `role.test-engineer`)。自然语言说明不能替代结构化合同字段。Router 不得自行批准合同、设置 `ready-for-agent` 或关闭会签门禁;owner 建议只供主控派活。
@@ -9,6 +9,7 @@ slice_contract:
9
9
  contract_version: 1
10
10
  slice_id:
11
11
  status: draft
12
+ suggested_owner_role_id: # role.frontend-engineer | role.backend-engineer | role.test-engineer;Router 只建议,编排器派活并批准
12
13
  lifecycle_refs:
13
14
  spec:
14
15
  ticket:
@@ -11,10 +11,10 @@ description: 编排 YSS 产品或模块从机会调研到 Spec、原型、技术
11
11
 
12
12
  1. 先读取 `yss-project.yaml`、`CONTEXT.md`、相关 ADR、父 Ticket/checkpoint 和当前资产。
13
13
  2. `repository_mode=template-source` 只走模板维护流程;命中产品流程时返回 `blocked: template-source-product-artifact-forbidden`,不得生成产品 Spec、原型、OpenAPI 或切片 Ticket。
14
- 3. `repository_mode=project-instance` 以 `docs/process/lifecycle-registry.yaml`、`harness-process-tailoring.md` 和本目录 references 为唯一阶段、门禁和裁剪事实源。
14
+ 3. `repository_mode=project-instance` 以 `docs/process/lifecycle-registry.yaml`、`harness-process-tailoring.md` 和本目录 references 为唯一阶段、门禁和裁剪事实源。数字人角色、阶段协作组、运行时绑定与会签级别以 `docs/agents/digital-human-roles.yaml` 为准;职称实例不另起编排器。
15
15
  4. 模式:`route` 只读规划;`orchestrate` 有界推进;`resume` 重建后推进;`audit` 严格只读。未明确时使用 `route`。
16
16
 
17
- Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为显式兼容入口;默认路径是本 skill 持有的原生工作单元,由本编排器创建正式资产、维护状态并在四类人工门禁暂停。兼容入口不得自动调用它们或代替其创建正式资产;Matt 只导航,不得写生命周期资产或改变门禁/Ticket 状态;任何写入前回交本编排器。
17
+ Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为显式兼容入口;默认路径是本 skill 持有的原生工作单元,由本编排器创建正式资产、维护状态并在会签门禁暂停(级别见数字人角色注册表)。兼容入口不得自动调用它们或代替其创建正式资产;Matt 只导航,不得写生命周期资产或改变门禁/Ticket 状态;任何写入前回交本编排器。
18
18
 
19
19
  ## 不可裁剪的主链
20
20
 
@@ -28,13 +28,13 @@ Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为
28
28
  |---|---|---|---|
29
29
  | 入口分诊 | 身份、影响面、最近可信阶段 | `yss-product-lifecycle` | `yss-project.yaml` 合法且影响面可解释 |
30
30
  | 机会调研/需求分析 | Discovery、用户/MVP/非目标/成功标准、测试 seam | `work-unit.discovery-opportunity` + `work-unit.discovery-requirements`;市场/竞品事实用 `competitive-intelligence`,技术/标准事实用 `research`;`grill-with-docs` 为兼容入口 | 未决事实已 research 或 handoff,用户确认,无 runnable blocker |
31
- | Spec/功能架构 | Spec、产品总体设计、功能架构;必要时 Spec Delta | 原生 `work-unit.spec-synthesis`;`to-spec` 为兼容入口 | 初稿先为 `ready-for-human`;只有 Spec baseline 人工批准后资产才为 `approved` 并进入下游 |
31
+ | Spec/功能架构 | Spec、产品总体设计、功能架构;必要时 Spec Delta | 原生 `work-unit.spec-synthesis`;`to-spec` 为兼容入口 | 初稿先为 `ready-for-human`;只有 Spec baseline 会签批准后资产才为 `approved` 并进入下游 |
32
32
  | 原型设计 | 交互说明、低保真、状态矩阵、高保真 HTML、评审记录 | `yss-design-system` → `yss-prototype-stage` → `yss-antd-design`(仅原型事实)→ Codex `product-design:index`(非 Codex 交付等价合同)。前端落地改用 `yss-ui` | `gate.prototype-reviewed`、`gate.prototype-verified`、`gate.user-confirmation` 均有证据 |
33
33
  | 技术分析 | OpenAPI Draft/Freeze、数据架构、工程基线、架构审查 | `yss-openapi-governance` / `yss-openapi-draft-review`、`codebase-design`、`implementation-repo-onboarding`、`yss-router` | API/架构契约冻结;无 API 影响有明确记录;脚手架策略满足 |
34
34
  | Ticket 正式化 | 功能父 Ticket、垂直切片、Slice Implementation Contract | 原生 `work-unit.ticket-decomposition`;`to-tickets` 为兼容入口;生命周期复算 | 依赖、验收、测试 seam 可执行;合同已批准、持久化且为当前版本 |
35
35
  | 技术实现 | 前端/后端代码、TDD 证据、YSS Skill Execution Result | 原生 `work-unit.slice-implementation`;`implement` 为兼容入口;前端按 `yss-ui` + `yss-page-module-development`,后端按 `yss-router` 最小闭包,业务行为统一 `tdd` | 只写允许路径;业务行为用 `behavior-tdd`;UI 影响必须有还原计划 |
36
36
  | Review/验证 | 不可变候选快照、review 结论、fresh verification | `code-review`(独立于实现者);UI 影响追加 `yss-ui` + `yss-design-system` 的 UI fidelity 轴 | findings 已处理;同一候选快照通过全部审查轴与验证 |
37
- | 发布/复盘 | 发布/回滚证据、复盘记录 | 生命周期自有工作单元 | fresh verification、独立审查和人工发布裁决齐全 |
37
+ | 发布/复盘 | 发布/回滚证据、复盘记录 | 生命周期自有工作单元 | fresh verification、独立审查和发布裁决齐全;`gate.release-ready` 仍须生物人 |
38
38
 
39
39
  ## 前端实现还原硬检查
40
40
 
@@ -44,6 +44,6 @@ Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为
44
44
 
45
45
  每个工作单元必须返回 `Workflow Execution Result`(workflow reference、skill、changed files、evidence refs、actual verification、deferred seams、drift/new impacts)。缺少可读证据、`stale`、`violation`、`drift`、`new_impacts` 或阻塞信号时不得标记 completed。实现授权不包含 Git commit/push 授权;“做完提交”等自然语言意向不构成上述结构化 Git 授权。
46
46
 
47
- 输出固定包含:模式、当前阶段、影响面、资产/门禁状态、证据、阻塞项、本轮动作、下一工作单元、暂停/继续理由、Ticket 同步和 Git checkpoint 判断。暂停时只提出一个具体人工决策,并给出推荐答案与恢复动作。
47
+ 输出固定包含:模式、当前阶段、影响面、资产/门禁状态、证据、阻塞项、本轮动作、下一工作单元、暂停/继续理由、Ticket 同步和 Git checkpoint 判断。暂停会签时必须输出门禁 ID、指定 `role_id`、`runtime_id` 和会签文件路径(`docs/.scratch/<feature>/gates/<gate-id>-approval.yaml`)。恢复前运行 `scripts/verify-approval-record`;错误会签记为 `blocked`,不得把该门禁标为 `approved`。任务包的 `core_skills` / `forbidden_skills` 必须从 `docs/agents/digital-human-roles.yaml` 复制(`taskPackageDefaults`),禁止手写第二套。
48
48
 
49
49
  详细执行循环、readiness、脚手架(包括 `controlled-generation`)、审查快照、状态传播和 Matt 边界见 [orchestration.md](references/orchestration.md)、[orchestration-contract.yaml](references/orchestration-contract.yaml)、[artifact-dependencies.md](references/artifact-dependencies.md) 和 [state-model.md](references/state-model.md)。
@@ -23,7 +23,7 @@ Matt skills 决定如何工作;YSS 生命周期决定是否允许推进;YSS
23
23
  | 技术事实 | `research` | 一手资料回填 Spec/OpenAPI/架构/ADR |
24
24
  | runnable 问题 | `prototype` | 生成单文件可分享 HTML,保留 `prototype/<name>` 分支作为主来源;必须 source/return handoff 和结论回填,不得替代阶段 4 的低保真评审、Ant Design v6 高保真 HTML、AntD CLI 证据和用户确认 |
25
25
  | Spec 综合 | 原生 `work-unit.spec-synthesis`;`to-spec`(用户显式兼容) | 初稿进入 `ready-for-human`,不得直接实现 |
26
- | 切片 | 原生 `work-unit.ticket-decomposition`;`to-tickets`(用户显式兼容) | 仅在冻结/无影响记录后拆垂直切片,初始角色为 `ready-for-human` |
26
+ | 切片 | 原生 `work-unit.ticket-decomposition`;`to-tickets`(用户显式兼容) | 仅在冻结/无影响记录后拆垂直切片,初始 Ticket 状态为 `ready-for-human` |
27
27
  | 实现 | 原生 `work-unit.slice-implementation`;`implement`(用户显式兼容) | 当前合同批准并持久化后执行;内部使用 `tdd`,结果回交后再次核验 |
28
28
  | Bug | `diagnosing-bugs`、`tdd` | 先建立红色反馈;高风险影响升级上游门禁 |
29
29
  | 审查 | `code-review` | 唯一默认代码审查入口;审查者独立,结合 Spec、仓库治理规则和 YSS 标准 |
@@ -52,7 +52,7 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
52
52
  ## Matt flow 进入条件
53
53
 
54
54
  - `work-unit.discovery-requirements` 实际调用 `grilling` 和 `domain-modeling`;`work-unit.discovery-opportunity` 按事实类型路由 `competitive-intelligence` 或 `research`。生命周期原生工作单元默认负责 Spec、Ticket 和实现资产;`to-spec`、`to-tickets`、`implement` 仅保留为显式兼容入口,结果必须回交生命周期验收。
55
- - 原生 `work-unit.ticket-decomposition` 只能在 OpenAPI Freeze 或无 API 影响记录后创建垂直切片,初始角色统一为 `ready-for-human`;生命周期复算完整公式后才能提升 `ready-for-agent`。
55
+ - 原生 `work-unit.ticket-decomposition` 只能在 OpenAPI Freeze 或无 API 影响记录后创建垂直切片,初始 Ticket 状态统一为 `ready-for-human`;生命周期复算完整公式后才能提升 `ready-for-agent`。
56
56
  - 原生 `work-unit.slice-implementation` 必须在生命周期批准并持久化 Slice Implementation Contract 和 Build Architecture Checklist 后执行;用户显式 `implement` 仍走兼容入口,不得绕过生命周期。
57
57
  - `implement` 遇到 backend `scaffold_status=required` 时,还必须满足原型确认后的脚手架策略:脚手架 Execution Result、`yss-backend-scaffold-parent` 基线、Wrapper 验证和 Router 合同重编译均已回写;否则停在工程基线,不得写业务代码。
58
58
  - `Workflow Execution Result` 出现 `drift`、`new_impacts`、`stale_candidates`、`violation`、`missing_evidence`、空 `evidence_refs` 或缺少必需字段时暂停当前工作单元;旧结果只能先经只读兼容 adapter 归一化。
@@ -73,13 +73,13 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
73
73
 
74
74
  ## 必须暂停
75
75
 
76
- - Spec baseline、需求冻结、原型确认、OpenAPI Freeze 或 Architecture Review 等普通门禁等待人工裁决。
76
+ - Spec baseline、需求冻结、原型确认、OpenAPI Freeze 或 Architecture Review 等普通门禁等待会签裁决(数字人或生物人,以 `docs/agents/digital-human-roles.yaml` 的 `gate_policy` 为准)。暂停输出必须包含:门禁 ID、指定 `role_id`、`runtime_id`、会签文件路径。恢复前执行 `scripts/verify-approval-record`;角色错误、起草者自签或生物人门禁被数字人关闭时返回 `blocked`,不得标 `approved`。
77
77
  - 需要目标仓库、外部凭据、发布窗口或其他新授权。
78
78
  - 状态与证据冲突且无法可靠重建。
79
79
  - 专项 skill 失败或返回不可验收结果。
80
80
  - 即将作出可合并、可发布或完成结论。
81
81
 
82
- 暂停输出:门禁、证据、责任人、推荐答案、一个问题、恢复动作。
82
+ 暂停输出:门禁、指定会签 `role_id`、`runtime_id`、会签文件路径、证据、推荐答案、一个问题、恢复动作。
83
83
 
84
84
  ## Wayfinder 完成判定
85
85
 
@@ -11,7 +11,7 @@
11
11
  | `tracker.kind` | `local-markdown`、`github`、`gitlab` |
12
12
  | `ticket.role` | `needs-triage`、`needs-info`、`ready-for-agent`、`ready-for-human`、`wontfix` |
13
13
 
14
- Matt 五态不得扩义。资产的 `ready-for-human` 与 Ticket label 必须带命名空间表达。
14
+ Matt 五态不得扩义。资产的 `ready-for-human` 与 Ticket label 必须带命名空间表达。`paused-human-gate` 表示等待 `docs/agents/digital-human-roles.yaml` 指定的会签人(数字人或生物人),不是「必须是生物人」。
15
15
 
16
16
  ## 上下文与外部输入证据
17
17
 
@@ -34,7 +34,7 @@ phase_boundary:
34
34
 
35
35
  ## `ready-for-agent` 公式
36
36
 
37
- 仅当以下全部为真,垂直切片 Ticket 才能获得该角色:
37
+ 仅当以下全部为真,垂直切片 Ticket 才能获得该 Ticket 状态:
38
38
 
39
39
  ```text
40
40
  required gates ∈ {approved, not-applicable}
@@ -53,7 +53,7 @@ AND UI 影响切片的前端实现还原计划已通过 schema 校验、`templat
53
53
 
54
54
  发布前还必须满足所有已触发门禁均为 `approved` 或 `not-applicable`;UI 影响切片必须额外通过 `gate.frontend-implementation-verified`,不能只凭 fresh verification 和回滚点放行。
55
55
 
56
- 用户显式运行 `to-tickets` 后,垂直切片初始角色固定为 `ready-for-human`。只有 `yss-product-lifecycle` 复算上述公式全部为真后,才能把它提升为 `ready-for-agent`;生命周期不会自动调用 `to-tickets`,其默认标签也不参与该裁决。
56
+ 用户显式运行 `to-tickets` 后,垂直切片初始 Ticket 状态固定为 `ready-for-human`。只有 `yss-product-lifecycle` 复算上述公式全部为真后,才能把它提升为 `ready-for-agent`;生命周期不会自动调用 `to-tickets`,其默认标签也不参与该裁决。
57
57
 
58
58
  ## Review 与 Git 授权状态
59
59
 
@@ -46,4 +46,4 @@ description: Use when a YSS vertical slice is entering implementation, spans mul
46
46
 
47
47
  ## 输出
48
48
 
49
- 输出合同草案、技能依赖闭包、不适用理由、阻塞项、TDD 模式、工作单元、预期证据、验证命令、人工审查点和完整重路由触发器。自然语言说明不能替代结构化合同字段。
49
+ 输出合同草案、技能依赖闭包、不适用理由、阻塞项、TDD 模式、工作单元、预期证据、验证命令、人工审查点、完整重路由触发器,以及建议的 `suggested_owner_role_id`(UI 影响 → `role.frontend-engineer`,后端影响 → `role.backend-engineer`,测试/审查 → `role.test-engineer`)。自然语言说明不能替代结构化合同字段。Router 不得自行批准合同、设置 `ready-for-agent` 或关闭会签门禁;owner 建议只供主控派活。
@@ -9,6 +9,7 @@ slice_contract:
9
9
  contract_version: 1
10
10
  slice_id:
11
11
  status: draft
12
+ suggested_owner_role_id: # role.frontend-engineer | role.backend-engineer | role.test-engineer;Router 只建议,编排器派活并批准
12
13
  lifecycle_refs:
13
14
  spec:
14
15
  ticket:
@@ -23,6 +23,7 @@
23
23
  | 模板维护强度触发与最低等级 | `docs/process/maintenance-intensity.yaml` |
24
24
  | 技能清单、来源、版本、哈希和投影目标 | `skills-lock.json` |
25
25
  | 技能分层、别名、默认可发现性和运行时入口 | `docs/agents/yss-skill-registry.yaml`(当前 `status: shadow`,不作为 Router / 生命周期运行时入口) |
26
+ | 数字人角色、阶段协作组、运行时绑定与生命周期会签 | `docs/agents/digital-human-roles.yaml`;`docs/agents/digital-human-roles.md` 为操作说明 |
26
27
 
27
28
  README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或解释上述事实,不重复定义同一规则。`CLAUDE.md` 是 Claude Code 入口指针,不是第二套 Agent 规则。
28
29
 
@@ -83,6 +84,7 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
83
84
  | merge / rebase 冲突 | `resolving-merge-conflicts` |
84
85
  | 架构治理、难测模块或深模块设计 | `improve-codebase-architecture` / `codebase-design` |
85
86
  | 跨线程、跨仓库、上下文过长或原型结论回流 | `handoff` 或等价交接记录 |
87
+ | 数字人角色、Agent 运行时协同或生命周期会签 | 先读 `docs/agents/digital-human-roles.yaml`。职称实例叠加在编排器上,不另起生命周期,不批准 Slice 合同、不设 `ready-for-agent`、不宣布可发布 |
86
88
  | 本地知识库 init / refresh / rebuild,或要把研究结果落成持久 wiki | `llm-wiki`(落成持久 wiki 用 `ingest`;已映射 live 源变了用 `refresh`)。`template-source` 的 wiki-root 为 `.template-source/wiki`;`project-instance` 不附带源仓库编译树,需要时在仓库根 `wiki/` 执行 `init` |
87
89
 
88
90
  业务行为默认按 `tdd` 使用已确认的公开 seam 逐切片实现。一次性生成、纯配置或流程文档不适用代码 TDD 时,必须记录例外理由和可执行验证方式。
@@ -95,15 +97,16 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
95
97
 
96
98
  ## 10. 独立审查、验证和追踪
97
99
 
98
- - 实现者不能承担命中的独立审查。模板维护按 L1 / L2 / L3 分别使用 self-check / 人工 checkpoint、聚焦独立审查、正式独立审查;模板发布、代码切片和高风险变更仍必须由其他 Agent 或人工独立审查。
100
+ - 实现者不能承担命中的独立审查(含数字人)。模板维护按 L1 / L2 / L3 分别使用 self-check / 人工 checkpoint、聚焦独立审查、正式独立审查;模板发布、代码切片和高风险变更仍必须由其他 Agent 或独立审查者完成。
99
101
  - 任何“完成 / 可合并 / 可发布”结论必须基于 fresh verification,不接受“之前跑过”或实现者自述。
100
- - 在人工暂停、handoff、进入实现、合并或发布边界集中同步范围、验证证据、风险、人工审查点、Ticket 状态和下一步;阻塞、责任人变化或资产单独批准时立即同步。
102
+ - 会签门禁按 `docs/agents/digital-human-roles.yaml` 的 `gate_policy` 关闭,会签文件经 `scripts/verify-approval-record` 核验;`gate.release-ready`、对外商务承诺和运行时外部副作用仍须生物人。
103
+ - 在会签暂停、handoff、进入实现、合并或发布边界集中同步范围、验证证据、风险、会签点、Ticket 状态和下一步;阻塞、责任人变化或资产单独批准时立即同步。
101
104
  - Git checkpoint 只包含本轮明确范围;获得用户授权后才提交或推送。
102
105
  - 发布后或阶段性完成后做复盘判断;出现架构返工、验证返工、IMPORTANT / CRITICAL review finding 或人工确认延期时,落简体中文复盘并修订权威资产。
103
106
 
104
107
  ## 11. Subagent 协同
105
108
 
106
- 使用 subagent 前按 `docs/process/subagent-collaboration.md` 定义任务包和不重叠的写入范围。实现者不担任独立审查者;仓库身份、需求 / 契约冻结、Ticket 最终状态、Git checkpoint 和完成结论仍由主控 Agent 或人工决定。
109
+ 使用 subagent 或其它 Agent 运行时前按 `docs/process/subagent-collaboration.md` 定义任务包和不重叠的写入范围,并同时写明数字人角色、`runtime_id`、从角色表复制的 `core_skills` / `forbidden_skills` 与 Explorer / Drafter / Worker / Reviewer / Verifier 执行态。实现者不担任独立审查者;仓库身份、Ticket 最终状态、Git checkpoint、Slice 合同批准和完成结论仍由主控数字人按编排器规则决定。会签恢复前校验 `scripts/verify-approval-record`。写隔离靠任务包;共享工作区不是默认沙箱。
107
110
 
108
111
  ## 12. 测试质量基线
109
112
 
@@ -12,7 +12,19 @@
12
12
 
13
13
  | 术语 | 含义 | 英文标识 | 避免 / 备注 |
14
14
  |---|---|---|---|
15
- | Agent | 执行特定工作流步骤的 AI 协作者。 | — | 不要与人工审查者混用。 |
15
+ | Agent | 执行特定工作流步骤的 AI 协作者。 | — | 不要与生物人审查者、数字人角色或 Ticket 状态混用。运行时实例(Cursor Agent、Claude Code、Grok Bot 等)是 Agent 的承载,不是角色本身。 |
16
+ | 运行时绑定 | 把数字人角色落到某个 Agent 平台的适配声明,权威清单在数字人角色注册表的 `runtimes`。 | — | 不要为每个平台复制一套职称职责。 |
17
+ | Grok Bot | Grok 平台上的持久数字队友实例;对应 `runtime.grok`。 | — | 不是数字人角色、技能或门禁。 |
18
+ | 数字人角色 | 叠加在生命周期编排器上的职称配置;一个运行时实例绑定一种。v1 清单以 `docs/agents/digital-human-roles.yaml` 为准。 | — | 不要称为 Ticket「标准角色」、职能 Agent 或某个平台的产品名。 |
19
+ | 主控数字人 | 运行 `yss-product-lifecycle` 的协调实例。 | — | 不是第八个业务职称;默认兼任项目经理。 |
20
+ | 角色配置 | 某数字人角色的关注阶段、技能包、可起草产物和禁止事项。 | — | 不是独立编排器,也不含平台群聊人数。 |
21
+ | 生命周期会签 | 指定数字人或生物人关闭 `gate.*` / 独立审查并写入 `evidence.approval-record`。 | — | 不是运行时副作用审批。会签人由 `docs/agents/digital-human-roles.yaml` 的 `gate_policy` 指定。起草者不得会签自己起草的资产。`paused-human-gate` 表示等待该会签人,不是必须生物人。 |
22
+ | 运行时副作用审批 | 对发消息、改生产、付款、删数据等工具动作的账号级确认。 | — | 点 Allow 不等于门禁已批准或可发布。避免只称「Grok 平台审批」。 |
23
+ | Ticket 状态 | Tracker 五态:`needs-triage`、`needs-info`、`ready-for-agent`、`ready-for-human`、`wontfix`。 | — | 不要称为数字人角色或「标准角色」。 |
24
+ | 阶段协作组 | 某阶段需要共同可见会签的逻辑成员集合。 | — | 不是某个产品的群聊;平台人数上限只写在对应 `runtimes`。 |
25
+ | 需求经理 | 主责 Discovery 语言、用户/MVP/非目标、Spec 正文与测试 seam 的数字人角色。 | — | 不拥有原型视觉定稿,不 Freeze API,不写实现。 |
26
+ | 产品经理 | 主责优先级、产品设计影响、原型确认建议和范围裁剪的数字人角色。 | — | 不写生产代码,不单独 Freeze API。 |
27
+ | 商务 | 主责机会调研商业约束、交付承诺和发布窗口商务非目标的数字人角色。 | — | 不参与 Spec 定稿、契约、代码或 Ticket 状态推进。 |
16
28
  | Agent 入口规则 | Agent 启动任务时必须先遵守的全局路由、硬门禁和禁止事项。 | — | 不作为 YSS 后端、前端或其他专项编码规范的完整手册。 |
17
29
  | 标准文档语言 | 面向业务、产品、架构、实施、审查、发布和复盘的持久化文档所使用的默认语言。 | — | 统一使用简体中文;英文专有名词、代码标识、API 路径、schema、文件名和协议 metadata 保持原样。 |
18
30
  | Matt Engineering Skills | 来自 `mattpocock/skills` 的轻量工程流程技能集合。 | — | 用于澄清、Spec、Ticket、实现、TDD、诊断、审查和架构治理,不替代 YSS 专项规范。 |
@@ -25,7 +37,7 @@
25
37
  | Ticket | 在追踪平台上承载功能生命周期或可实现工作单元的通用追踪对象。 | — | GitHub Issues / GitLab Issues 是具体平台对象名称;领域资产统一称为 Ticket。 |
26
38
  | 功能父 Ticket | 汇总一个功能从 Spec 到契约冻结的阶段状态、资产链接、审查结论和阻塞项的 Ticket。 | — | 不作为 Agent 直接实现的垂直切片。 |
27
39
  | 垂直切片 Ticket | 契约冻结后生成的可独立验证实现单元,记录范围、阻塞关系、验收标准和验证证据。 | — | 只有通过必要门禁并具备直接实现条件时才能标记 `ready-for-agent`。 |
28
- | `ready-for-human` | 表示 Spec、设计、契约草案或其他资产仍需人工审查或确认的流程状态。 | — | 此状态不表示可以直接进入实现。 |
40
+ | `ready-for-human` | 表示 Spec、设计、契约草案或其他资产仍需会签(指定数字人或生物人)。 | — | 此状态不表示可以直接进入实现;也不等于某个数字人角色。 |
29
41
  | `ready-for-agent` | 表示垂直切片已通过必要门禁并具备直接实现条件的流程状态。 | — | 不得用于 Spec 初稿、原型、OpenAPI Draft 或其他未冻结资产。 |
30
42
  | OpenAPI Draft | review-only 的 OpenAPI 3.1 契约草案。 | — | Freeze 前不得作为前后端稳定实现契约。 |
31
43
  | OpenAPI Freeze | 已通过评审、可作为前后端实现和契约测试输入的 OpenAPI 3.1 契约。 | — | Freeze 后变更必须回到 API 影响分析和设计审查。 |