create-yss-spec 2.2.8 → 2.2.9

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 (88) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +2 -0
  4. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
  5. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +42 -1
  6. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +6 -0
  7. package/template/.agents/skills/yss-router/references/router-contract.yaml +30 -3
  8. package/template/.agents/skills/yss-router/references/slice-implementation-contract.md +14 -0
  9. package/template/.agents/skills/yss-router/references/yss-skill-execution-result.md +5 -0
  10. package/template/.claude/skills/yss-product-lifecycle/SKILL.md +2 -0
  11. package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
  12. package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +42 -1
  13. package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +6 -0
  14. package/template/.claude/skills/yss-router/references/router-contract.yaml +30 -3
  15. package/template/.claude/skills/yss-router/references/slice-implementation-contract.md +14 -0
  16. package/template/.claude/skills/yss-router/references/yss-skill-execution-result.md +5 -0
  17. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +2 -0
  18. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
  19. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +42 -1
  20. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +6 -0
  21. package/template/.codex/skills/yss-router/references/router-contract.yaml +30 -3
  22. package/template/.codex/skills/yss-router/references/slice-implementation-contract.md +14 -0
  23. package/template/.codex/skills/yss-router/references/yss-skill-execution-result.md +5 -0
  24. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +2 -0
  25. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
  26. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +42 -1
  27. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +6 -0
  28. package/template/.cursor/skills/yss-router/references/router-contract.yaml +30 -3
  29. package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +14 -0
  30. package/template/.cursor/skills/yss-router/references/yss-skill-execution-result.md +5 -0
  31. package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +2 -0
  32. package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
  33. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +42 -1
  34. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +6 -0
  35. package/template/.hermes/skills/yss-router/references/router-contract.yaml +30 -3
  36. package/template/.hermes/skills/yss-router/references/slice-implementation-contract.md +14 -0
  37. package/template/.hermes/skills/yss-router/references/yss-skill-execution-result.md +5 -0
  38. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +2 -0
  39. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
  40. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +42 -1
  41. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +6 -0
  42. package/template/.pi/skills/yss-router/references/router-contract.yaml +30 -3
  43. package/template/.pi/skills/yss-router/references/slice-implementation-contract.md +14 -0
  44. package/template/.pi/skills/yss-router/references/yss-skill-execution-result.md +5 -0
  45. package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +2 -0
  46. package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
  47. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +42 -1
  48. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +6 -0
  49. package/template/.qoder/skills/yss-router/references/router-contract.yaml +30 -3
  50. package/template/.qoder/skills/yss-router/references/slice-implementation-contract.md +14 -0
  51. package/template/.qoder/skills/yss-router/references/yss-skill-execution-result.md +5 -0
  52. package/template/.trae/skills/yss-product-lifecycle/SKILL.md +2 -0
  53. package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
  54. package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +42 -1
  55. package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +6 -0
  56. package/template/.trae/skills/yss-router/references/router-contract.yaml +30 -3
  57. package/template/.trae/skills/yss-router/references/slice-implementation-contract.md +14 -0
  58. package/template/.trae/skills/yss-router/references/yss-skill-execution-result.md +5 -0
  59. package/template/AGENTS.md +1 -0
  60. package/template/CONTEXT.md +2 -2
  61. package/template/DESIGN.md +203 -0
  62. package/template/docs/agents/digital-human-roles.md +1 -1
  63. package/template/docs/agents/digital-human-roles.yaml +17 -21
  64. package/template/docs/agents/yss-plugin-dependency-contract.md +45 -0
  65. package/template/docs/agents/yss-skill-registry.yaml +30 -1
  66. package/template/docs/architecture/templates/engineering-baseline-review-template.md +19 -0
  67. package/template/docs/design/README.md +12 -1
  68. package/template/docs/design/design-system-sync.yaml +12 -0
  69. package/template/docs/design/design.md +22 -2
  70. package/template/docs/design/preview-dark.html +15 -0
  71. package/template/docs/design/preview.html +20 -0
  72. package/template/docs/design/tokens/.design-md-projection.json +13 -0
  73. package/template/docs/discovery/reports/agent-governance-options.md +71 -0
  74. package/template/docs/process/harness-process-tailoring.md +7 -0
  75. package/template/docs/process/lifecycle-registry-baseline.json +1 -1
  76. package/template/docs/process/lifecycle-registry.yaml +1 -1
  77. package/template/docs/process/template-verification-profiles.yaml +7 -0
  78. package/template/docs/templates/build-architecture-checklist-template.md +2 -0
  79. package/template/docs/templates/implementation-routing-template.md +23 -0
  80. package/template/docs/user-guide//346/210/230/346/234/257/350/256/276/350/256/241/345/255/220/351/241/271/347/233/256/347/224/250/346/210/267/346/211/213/345/206/214.md +218 -0
  81. package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +55 -2
  82. package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214/347/264/242/345/274/225.md +21 -0
  83. package/template/scripts/lib/digital-human-roles.mjs +0 -1
  84. package/template/scripts/lib/skill-registry.mjs +70 -0
  85. package/template/scripts/verify-digital-human-roles-scenarios +1 -1
  86. package/template/skills-lock.json +2 -2
  87. package/template.manifest.json +1 -0
  88. package/template.snapshot.json +5 -5
@@ -13,6 +13,8 @@ execution_result:
13
13
  contract_ref:
14
14
  contract_id:
15
15
  contract_version:
16
+ quality_baseline_ref:
17
+ context_plan_ref:
16
18
  changed_files:
17
19
  - path:
18
20
  contract_area: common | frontend | backend | contract | cross_repo
@@ -28,6 +30,9 @@ execution_result:
28
30
  - constraint:
29
31
  status: passed | failed | not-applicable
30
32
  evidence_ref:
33
+ doubt_driven_review:
34
+ status: not-applicable | completed | blocked
35
+ record_ref:
31
36
  seam_deferred:
32
37
  - risk:
33
38
  owner:
@@ -16,6 +16,8 @@ description: 编排 YSS 产品或模块从机会调研到 Spec、原型、技术
16
16
 
17
17
  Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为显式兼容入口;默认路径是本 skill 持有的原生工作单元,由本编排器创建正式资产、维护状态并在会签门禁暂停(级别见数字人角色注册表)。兼容入口不得自动调用它们或代替其创建正式资产;Matt 只导航,不得写生命周期资产或改变门禁/Ticket 状态;任何写入前回交本编排器。
18
18
 
19
+ 技能调用先消费 `docs/agents/yss-skill-registry.yaml` 的 `invocation_contract`:它只约束调用模式、触发/排除条件、主要输出和依赖,不替代生命周期证据或门禁。进入实现后,Slice Contract 的 `common.context_plan` 只加载当前切片的最小充分上下文;缺失权威上下文必须 `blocked` 或回 Router,不得猜测补齐。质量标准由 `engineering-baseline` 一次定义并由切片、Execution Result、审查和发布复用;命中高风险影响时在途记录 Doubt-Driven 主张、反证、证据和残余风险。Wayfinder 仅作为超长或决策前沿不清晰工作的可选 Discovery → Spec 规划模式,完成后回到 `handoff → to-spec`,不改变生命周期状态。
20
+
19
21
  ## 不可裁剪的主链
20
22
 
21
23
  入口分诊 → Discovery → Spec / 功能架构 → 产品设计 → 系统 / 数据架构与工程契约 → Ticket 正式化 → 垂直切片实现(前后端 TDD)→ 验证 / 发布 / 复盘。
@@ -19,7 +19,7 @@ Matt skills 决定如何工作;YSS 生命周期决定是否允许推进;YSS
19
19
  | 通用入口 | `ask-matt` | 检测到 YSS 后由本编排器最终裁决 |
20
20
  | 需求澄清 | `grill-with-docs`(用户显式)或 `grilling`、`domain-modeling`(生命周期原语) | 按退出判定检查未决项和回流 |
21
21
  | 信息在其他人手中 | `to-questionnaire` | 使用 `external-input-required` 暂停;答案回流后记录 response、重新分类影响面,再进入 `grill-with-docs` 或 `to-spec` |
22
- | 大型模糊工作 | `wayfinder` | map 真正完成后 `handoff → to-spec` |
22
+ | 大型模糊工作 | `wayfinder`(可选) | 仅在跨会话 / 跨 Agent 或 frontier 不清晰时启用;map 真正完成后 `handoff → to-spec` |
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`,不得直接实现 |
@@ -76,7 +76,7 @@ Router 状态映射为:`draft → completed`、`blocked → blocked`、`ready-
76
76
 
77
77
  ## Review 候选与 Git 授权
78
78
 
79
- YSS 调用 `code-review` 前必须形成 review input,至少包含 `review_mode`、`review_base_ref`、`implementation_candidate_ref`、`candidate_snapshot_ref`、`candidate_digest`、`spec_ref`、`ticket_ref`、`slice_contract_ref`、`build_architecture_checklist_ref` 和 `yss_execution_result_refs`,并满足 `orchestration-contract.yaml.review_input.manifest_required_by_mode`。Standards 还必须编译 `review_standards_route`:合同 `required_skills`、影响面专项检查输入、报告模板与 `finding_disposition`;机器检查按 `run_if_present` 执行。`committed` 审查 merge-base 到不可变 `HEAD`;`worktree` 一次捕获 merge-base 到 working tree 的 committed、staged、unstaged 和 untracked 内容,使用 `yss-worktree-candidate-v1` 规定的 raw path、uint64 big-endian 长度、tracked/untracked record 和不支持条目阻断规则计算 SHA-256,让两个 Reviewer 消费同一不可变快照,并在返回和完成 checkpoint 复核摘要未变化。缺少输入、候选为空、专项覆盖缺失、未关闭 mandatory `violation`、适用行空白或摘要变化时返回 `blocked`,不能缩小审查范围、另起通用审查 skill、由审查者改实现,或合并不同候选的结论。`violation` 类 finding 交实现者在原合同路径修复后全轴复审;`drift` / `new_impacts` 使合同 `stale` 并回 Router。
79
+ YSS 调用 `code-review` 前必须形成 review input,至少包含 `review_mode`、`review_base_ref`、`implementation_candidate_ref`、`candidate_snapshot_ref`、`candidate_digest`、`spec_ref`、`ticket_ref`、`slice_contract_ref`、`build_architecture_checklist_ref` 和 `yss_execution_result_refs`,并满足 `orchestration-contract.yaml.review_input.manifest_required_by_mode`。Standards 还必须编译 `review_standards_route`:合同 `required_skills`、影响面专项检查输入、报告模板与 `finding_disposition`;机器检查按 `run_if_present` 执行。质量标准只从 `engineering-baseline` 引用,禁止在 review input 或切片中另起一份。命中高风险影响时,review input 还要引用 Doubt-Driven 主张 / 反证记录;缺少反证或残余风险未处理时返回 `blocked`。`committed` 审查 merge-base 到不可变 `HEAD`;`worktree` 一次捕获 merge-base 到 working tree 的 committed、staged、unstaged 和 untracked 内容,使用 `yss-worktree-candidate-v1` 规定的 raw path、uint64 big-endian 长度、tracked/untracked record 和不支持条目阻断规则计算 SHA-256,让两个 Reviewer 消费同一不可变快照,并在返回和完成 checkpoint 复核摘要未变化。缺少输入、候选为空、专项覆盖缺失、未关闭 mandatory `violation`、适用行空白或摘要变化时返回 `blocked`,不能缩小审查范围、另起通用审查 skill、由审查者改实现,或合并不同候选的结论。`violation` 类 finding 交实现者在原合同路径修复后全轴复审;`drift` / `new_impacts` 使合同 `stale` 并回 Router。
80
80
 
81
81
  Matt `implement` 的通用提交指令不构成 YSS Git 授权。只有用户明确给出 `commit_authorized` 为 `true`、非空 `commit_scope` 和 `commit_authorization_ref` 时才能 commit;只有明确给出 `push_authorized` 为 `true`、非空 `push_scope` 和 `push_authorization_ref` 时才能 push。缺少任一字段时保持工作区不变,只输出 checkpoint 判断;不得把 `orchestrate`、实现授权、当前分支、测试通过或负责人要求解释为隐含授权。`git-submodule` 还必须按仓授权、禁止 detached HEAD 提交,并先推子仓再更新父仓 gitlink。
82
82
 
@@ -648,8 +648,49 @@ release_readiness:
648
648
  wayfinder_completion:
649
649
  required: [no_open_children, no_open_blocked_or_claimed_children, no_fog, destination_clear]
650
650
 
651
+ wayfinder_mode:
652
+ optional: true
653
+ enable_when:
654
+ - multi-session-or-multi-agent-work
655
+ - unclear-decision-frontier
656
+ - cross-domain-dependency-map-needed
657
+ lifecycle_position: discovery-to-spec-planning
658
+ completion_route: wayfinder -> handoff -> to-spec
659
+ does_not_replace: [lifecycle-gates, spec-baseline, ticket-formalization]
660
+ forbidden_state_mutations: [ready-for-agent, gate-approval, ticket-role]
661
+ template_source_use: only-when-template-evolution-is-long-running
662
+
663
+ context_engineering:
664
+ contract_field: slice_contract.common.context_plan
665
+ required_context: [CONTEXT.md, approved-spec, current-slice-contract, applicable-adr-or-baseline]
666
+ on_demand_context: [specialist-references, implementation-repository-files, historical-evidence]
667
+ stop_rule: minimal-sufficient-evidence
668
+ missing_context_action: [blocked, reroute]
669
+ numeric_token_budget: not-required
670
+
671
+ doubt_driven_review:
672
+ applies_when:
673
+ - api-schema-impact
674
+ - database-schema-impact
675
+ - cross-repo-contract
676
+ - release-or-rollback
677
+ - authentication-authorization-tenant-or-sensitive-data-behavior
678
+ - lifecycle-or-generation-semantics
679
+ required: [claim, counterclaim, evidence_refs, residual_risks, reviewer_ref]
680
+ record_in: [decision-record, architecture-review, contract-review, release-review]
681
+ blocking_when: [missing-counterclaim, insufficient-evidence, unresolved-residual-risk]
682
+ ordinary-low-risk_changes: not-required
683
+ no_new_lifecycle_stage: true
684
+
685
+ quality_baseline_reuse:
686
+ source: artifact.engineering-baseline
687
+ applies_to: project-instance
688
+ consumers: [slice-implementation-contract, yss-skill-execution-result, code-review, release]
689
+ constraint_results_field: required
690
+ redefinition: forbidden
691
+
651
692
  ready_for_agent:
652
- required: [gates_satisfied, no_stale_artifacts, blockers_closed, implementation_context_ready, implementation_repo, implementation_branch, ci, verification_commands, rollback_point, predecessor_work_unit, ticket_decomposition_result_ref, ticket_decomposition_result_status, vertical_slice_ticket_ref, vertical_slice_ticket_role, vertical_slice_ticket_kind, slice_contract_approved, slice_contract_persisted, slice_contract_current_version, build_architecture_checklist, backend_slice_contract_if_applicable, backend_scaffold_policy_satisfied, frontend_implementation_plan_if_ui_impact]
693
+ required: [gates_satisfied, no_stale_artifacts, blockers_closed, implementation_context_ready, context_plan, quality_baseline_ref, implementation_repo, implementation_branch, ci, verification_commands, rollback_point, predecessor_work_unit, ticket_decomposition_result_ref, ticket_decomposition_result_status, vertical_slice_ticket_ref, vertical_slice_ticket_role, vertical_slice_ticket_kind, slice_contract_approved, slice_contract_persisted, slice_contract_current_version, build_architecture_checklist, backend_slice_contract_if_applicable, backend_scaffold_policy_satisfied, frontend_implementation_plan_if_ui_impact]
653
694
  ticket_formalization_validator: scripts/lib/lifecycle-transition.mjs
654
695
  requires_vertical_slice_ticket: true
655
696
  parent_ticket_as_implementation_ref: forbidden
@@ -86,6 +86,12 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
86
86
 
87
87
  暂停输出:门禁、指定会签 `role_id`、`runtime_id`、会签文件路径、证据、推荐答案、一个问题、恢复动作。
88
88
 
89
+ ## Context Plan 与质量基线
90
+
91
+ 实现合同先消费 `common.context_plan`:必需上下文只包含 `CONTEXT.md`、已批准 Spec、当前合同和适用 ADR / 工程基线;专项 references、实现仓库文件和历史证据按影响面按需加载。达到最小充分证据后停止扩展,缺失权威上下文只能 `blocked` 或 `reroute`。
92
+
93
+ 质量标准由 `engineering-baseline` 以 `baseline_id` / `baseline_version` 定义一次,Slice Contract、YSS Skill Execution Result、`code-review` 和发布检查只引用它,并将约束结果写入 `constraint_results`。命中 API / 数据迁移、跨仓契约、发布回滚、实际安全行为或生命周期 / 生成语义时,必须在现有决策或审查记录中完成 Doubt-Driven 主张、反证、证据、残余风险和 Reviewer 引用;普通低风险变更不触发该流程。
94
+
89
95
  ## Wayfinder 完成判定
90
96
 
91
97
  “无 frontier”不等于完成。只有以下条件同时成立,才能 `wayfinder → handoff → to-spec`:
@@ -68,7 +68,7 @@ slice_contract_required:
68
68
  root: [schema_version, contract_id, contract_version, slice_id, status, lifecycle_refs, readiness, common, frontend, backend, contract, cross_repo, work_units]
69
69
  lifecycle_refs: [spec, ticket, requirement_freeze, low_fidelity_review, prototype_review, high_fidelity_html, prototype_verification, antd_cli_evidence, browser_verification_evidence, prototype_confirmation, openapi_freeze_or_no_impact, architecture_review, data_architecture, tactical_design, engineering_baseline, build_architecture_checklist, implementation_repository, frontend_repository, backend_repository, maven_wrapper]
70
70
  readiness: [blockers, stale_inputs, not_applicable]
71
- common: [impacted_areas, implementation_path_policy, project_roots, required_skills, optional_skills, unavailable_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, human_review_points, full_reroute_triggers]
71
+ common: [impacted_areas, implementation_path_policy, project_roots, required_skills, optional_skills, unavailable_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, human_review_points, full_reroute_triggers, quality_baseline_ref, context_plan, doubt_driven_review]
72
72
  frontend: [status, required_skills, approved_prototype_ref, state_matrix_ref, allowed_write_paths, component_test_seams, e2e_paths]
73
73
  backend: [status, affected_layers, component_impacts, required_skills, application_boundary, transaction_boundary, persistence_strategy, allowed_write_paths, forbidden_patterns, expected_evidence_files, seam_deferred, verification_commands, tactical_ddd]
74
74
  contract: [api_impact, freeze_ref, no_api_impact_ref, generated_clients, contract_tests, regeneration_commands]
@@ -100,7 +100,12 @@ work_unit_required: [id, behavior, primary_skill, supporting_skills, tdd_mode, a
100
100
  work_unit_nonempty_arrays: [allowed_write_paths, expected_evidence, verification_commands]
101
101
  slice_contract_nonempty: [contract_id, contract_version, slice_id, status]
102
102
  slice_contract_array_fields:
103
- common: [impacted_areas, implementation_path_policy, project_roots, required_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, full_reroute_triggers]
103
+ common: [impacted_areas, implementation_path_policy, project_roots, required_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, full_reroute_triggers, quality_baseline_ref, context_plan, doubt_driven_review]
104
+
105
+ context_plan:
106
+ required: [required_context_refs, on_demand_context_refs, context_stop_rule, missing_context_action]
107
+ context_stop_rule: minimal-sufficient-evidence
108
+ missing_context_action: [blocked, reroute]
104
109
 
105
110
  scaffold_contract_schema:
106
111
  schema_version: 1
@@ -241,6 +246,7 @@ full_reroute_triggers:
241
246
  - test-seam-changed
242
247
  - verification-command-changed
243
248
  - delivery-order-changed
249
+ - doubt-review-triggered
244
250
 
245
251
  reroute_destinations:
246
252
  scaffold-baseline-drift: stage7-scaffold-revalidation
@@ -258,9 +264,30 @@ reroute_destinations:
258
264
  test-seam-changed: spec-ticket-test-seam-review
259
265
  verification-command-changed: stage7-contract-recompile
260
266
  delivery-order-changed: cross-repo-release-review
267
+ doubt-review-triggered: high-risk-decision-review
268
+
269
+ doubt_driven_review:
270
+ applies_when:
271
+ - api-schema-impact
272
+ - database-schema-impact
273
+ - cross-repo-contract
274
+ - release-or-rollback
275
+ - authentication-authorization-tenant-or-sensitive-data-behavior
276
+ - lifecycle-or-generation-semantics
277
+ required: [claim, counterclaim, evidence_refs, residual_risks, reviewer_ref]
278
+ status_values: [not-applicable, required, completed, blocked]
279
+ blocking_when: [missing-counterclaim, insufficient-evidence, unresolved-residual-risk]
280
+ evidence_owner: decision-or-review-record
281
+ no_new_lifecycle_stage: true
282
+
283
+ quality_baseline:
284
+ source: lifecycle_refs.engineering_baseline
285
+ required_for: [project-instance]
286
+ reused_by: [slice-contract, yss-skill-execution-result, code-review, release]
287
+ redefinition: forbidden
261
288
 
262
289
  execution_result_allowed_statuses: [implemented, seam-deferred, drift, violation, not-applicable]
263
- execution_blockers: [path-outside-contract, missing-evidence, verification-not-executed, verification-command-mismatch, seam-deferred-without-owner, constraint-failed, unapproved-deviation, drift, violation, new-impacts]
290
+ execution_blockers: [path-outside-contract, missing-evidence, verification-not-executed, verification-command-mismatch, seam-deferred-without-owner, constraint-failed, doubt-review-missing, unapproved-deviation, drift, violation, new-impacts]
264
291
 
265
292
  contract_versioning:
266
293
  full_reroute_current_status: stale
@@ -54,6 +54,20 @@ slice_contract:
54
54
  verification_commands: []
55
55
  human_review_points: []
56
56
  full_reroute_triggers: []
57
+ quality_baseline_ref:
58
+ context_plan:
59
+ required_context_refs: []
60
+ on_demand_context_refs: []
61
+ context_stop_rule: minimal-sufficient-evidence
62
+ missing_context_action: blocked # or reroute
63
+ doubt_driven_review:
64
+ status: not-applicable # or required / completed / blocked
65
+ trigger_impacts: []
66
+ claim:
67
+ counterclaim:
68
+ evidence_refs: []
69
+ residual_risks: []
70
+ reviewer_ref:
57
71
  frontend:
58
72
  status: not-applicable
59
73
  required_skills: []
@@ -13,6 +13,8 @@ execution_result:
13
13
  contract_ref:
14
14
  contract_id:
15
15
  contract_version:
16
+ quality_baseline_ref:
17
+ context_plan_ref:
16
18
  changed_files:
17
19
  - path:
18
20
  contract_area: common | frontend | backend | contract | cross_repo
@@ -28,6 +30,9 @@ execution_result:
28
30
  - constraint:
29
31
  status: passed | failed | not-applicable
30
32
  evidence_ref:
33
+ doubt_driven_review:
34
+ status: not-applicable | completed | blocked
35
+ record_ref:
31
36
  seam_deferred:
32
37
  - risk:
33
38
  owner:
@@ -16,6 +16,8 @@ description: 编排 YSS 产品或模块从机会调研到 Spec、原型、技术
16
16
 
17
17
  Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为显式兼容入口;默认路径是本 skill 持有的原生工作单元,由本编排器创建正式资产、维护状态并在会签门禁暂停(级别见数字人角色注册表)。兼容入口不得自动调用它们或代替其创建正式资产;Matt 只导航,不得写生命周期资产或改变门禁/Ticket 状态;任何写入前回交本编排器。
18
18
 
19
+ 技能调用先消费 `docs/agents/yss-skill-registry.yaml` 的 `invocation_contract`:它只约束调用模式、触发/排除条件、主要输出和依赖,不替代生命周期证据或门禁。进入实现后,Slice Contract 的 `common.context_plan` 只加载当前切片的最小充分上下文;缺失权威上下文必须 `blocked` 或回 Router,不得猜测补齐。质量标准由 `engineering-baseline` 一次定义并由切片、Execution Result、审查和发布复用;命中高风险影响时在途记录 Doubt-Driven 主张、反证、证据和残余风险。Wayfinder 仅作为超长或决策前沿不清晰工作的可选 Discovery → Spec 规划模式,完成后回到 `handoff → to-spec`,不改变生命周期状态。
20
+
19
21
  ## 不可裁剪的主链
20
22
 
21
23
  入口分诊 → Discovery → Spec / 功能架构 → 产品设计 → 系统 / 数据架构与工程契约 → Ticket 正式化 → 垂直切片实现(前后端 TDD)→ 验证 / 发布 / 复盘。
@@ -19,7 +19,7 @@ Matt skills 决定如何工作;YSS 生命周期决定是否允许推进;YSS
19
19
  | 通用入口 | `ask-matt` | 检测到 YSS 后由本编排器最终裁决 |
20
20
  | 需求澄清 | `grill-with-docs`(用户显式)或 `grilling`、`domain-modeling`(生命周期原语) | 按退出判定检查未决项和回流 |
21
21
  | 信息在其他人手中 | `to-questionnaire` | 使用 `external-input-required` 暂停;答案回流后记录 response、重新分类影响面,再进入 `grill-with-docs` 或 `to-spec` |
22
- | 大型模糊工作 | `wayfinder` | map 真正完成后 `handoff → to-spec` |
22
+ | 大型模糊工作 | `wayfinder`(可选) | 仅在跨会话 / 跨 Agent 或 frontier 不清晰时启用;map 真正完成后 `handoff → to-spec` |
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`,不得直接实现 |
@@ -76,7 +76,7 @@ Router 状态映射为:`draft → completed`、`blocked → blocked`、`ready-
76
76
 
77
77
  ## Review 候选与 Git 授权
78
78
 
79
- YSS 调用 `code-review` 前必须形成 review input,至少包含 `review_mode`、`review_base_ref`、`implementation_candidate_ref`、`candidate_snapshot_ref`、`candidate_digest`、`spec_ref`、`ticket_ref`、`slice_contract_ref`、`build_architecture_checklist_ref` 和 `yss_execution_result_refs`,并满足 `orchestration-contract.yaml.review_input.manifest_required_by_mode`。Standards 还必须编译 `review_standards_route`:合同 `required_skills`、影响面专项检查输入、报告模板与 `finding_disposition`;机器检查按 `run_if_present` 执行。`committed` 审查 merge-base 到不可变 `HEAD`;`worktree` 一次捕获 merge-base 到 working tree 的 committed、staged、unstaged 和 untracked 内容,使用 `yss-worktree-candidate-v1` 规定的 raw path、uint64 big-endian 长度、tracked/untracked record 和不支持条目阻断规则计算 SHA-256,让两个 Reviewer 消费同一不可变快照,并在返回和完成 checkpoint 复核摘要未变化。缺少输入、候选为空、专项覆盖缺失、未关闭 mandatory `violation`、适用行空白或摘要变化时返回 `blocked`,不能缩小审查范围、另起通用审查 skill、由审查者改实现,或合并不同候选的结论。`violation` 类 finding 交实现者在原合同路径修复后全轴复审;`drift` / `new_impacts` 使合同 `stale` 并回 Router。
79
+ YSS 调用 `code-review` 前必须形成 review input,至少包含 `review_mode`、`review_base_ref`、`implementation_candidate_ref`、`candidate_snapshot_ref`、`candidate_digest`、`spec_ref`、`ticket_ref`、`slice_contract_ref`、`build_architecture_checklist_ref` 和 `yss_execution_result_refs`,并满足 `orchestration-contract.yaml.review_input.manifest_required_by_mode`。Standards 还必须编译 `review_standards_route`:合同 `required_skills`、影响面专项检查输入、报告模板与 `finding_disposition`;机器检查按 `run_if_present` 执行。质量标准只从 `engineering-baseline` 引用,禁止在 review input 或切片中另起一份。命中高风险影响时,review input 还要引用 Doubt-Driven 主张 / 反证记录;缺少反证或残余风险未处理时返回 `blocked`。`committed` 审查 merge-base 到不可变 `HEAD`;`worktree` 一次捕获 merge-base 到 working tree 的 committed、staged、unstaged 和 untracked 内容,使用 `yss-worktree-candidate-v1` 规定的 raw path、uint64 big-endian 长度、tracked/untracked record 和不支持条目阻断规则计算 SHA-256,让两个 Reviewer 消费同一不可变快照,并在返回和完成 checkpoint 复核摘要未变化。缺少输入、候选为空、专项覆盖缺失、未关闭 mandatory `violation`、适用行空白或摘要变化时返回 `blocked`,不能缩小审查范围、另起通用审查 skill、由审查者改实现,或合并不同候选的结论。`violation` 类 finding 交实现者在原合同路径修复后全轴复审;`drift` / `new_impacts` 使合同 `stale` 并回 Router。
80
80
 
81
81
  Matt `implement` 的通用提交指令不构成 YSS Git 授权。只有用户明确给出 `commit_authorized` 为 `true`、非空 `commit_scope` 和 `commit_authorization_ref` 时才能 commit;只有明确给出 `push_authorized` 为 `true`、非空 `push_scope` 和 `push_authorization_ref` 时才能 push。缺少任一字段时保持工作区不变,只输出 checkpoint 判断;不得把 `orchestrate`、实现授权、当前分支、测试通过或负责人要求解释为隐含授权。`git-submodule` 还必须按仓授权、禁止 detached HEAD 提交,并先推子仓再更新父仓 gitlink。
82
82
 
@@ -648,8 +648,49 @@ release_readiness:
648
648
  wayfinder_completion:
649
649
  required: [no_open_children, no_open_blocked_or_claimed_children, no_fog, destination_clear]
650
650
 
651
+ wayfinder_mode:
652
+ optional: true
653
+ enable_when:
654
+ - multi-session-or-multi-agent-work
655
+ - unclear-decision-frontier
656
+ - cross-domain-dependency-map-needed
657
+ lifecycle_position: discovery-to-spec-planning
658
+ completion_route: wayfinder -> handoff -> to-spec
659
+ does_not_replace: [lifecycle-gates, spec-baseline, ticket-formalization]
660
+ forbidden_state_mutations: [ready-for-agent, gate-approval, ticket-role]
661
+ template_source_use: only-when-template-evolution-is-long-running
662
+
663
+ context_engineering:
664
+ contract_field: slice_contract.common.context_plan
665
+ required_context: [CONTEXT.md, approved-spec, current-slice-contract, applicable-adr-or-baseline]
666
+ on_demand_context: [specialist-references, implementation-repository-files, historical-evidence]
667
+ stop_rule: minimal-sufficient-evidence
668
+ missing_context_action: [blocked, reroute]
669
+ numeric_token_budget: not-required
670
+
671
+ doubt_driven_review:
672
+ applies_when:
673
+ - api-schema-impact
674
+ - database-schema-impact
675
+ - cross-repo-contract
676
+ - release-or-rollback
677
+ - authentication-authorization-tenant-or-sensitive-data-behavior
678
+ - lifecycle-or-generation-semantics
679
+ required: [claim, counterclaim, evidence_refs, residual_risks, reviewer_ref]
680
+ record_in: [decision-record, architecture-review, contract-review, release-review]
681
+ blocking_when: [missing-counterclaim, insufficient-evidence, unresolved-residual-risk]
682
+ ordinary-low-risk_changes: not-required
683
+ no_new_lifecycle_stage: true
684
+
685
+ quality_baseline_reuse:
686
+ source: artifact.engineering-baseline
687
+ applies_to: project-instance
688
+ consumers: [slice-implementation-contract, yss-skill-execution-result, code-review, release]
689
+ constraint_results_field: required
690
+ redefinition: forbidden
691
+
651
692
  ready_for_agent:
652
- required: [gates_satisfied, no_stale_artifacts, blockers_closed, implementation_context_ready, implementation_repo, implementation_branch, ci, verification_commands, rollback_point, predecessor_work_unit, ticket_decomposition_result_ref, ticket_decomposition_result_status, vertical_slice_ticket_ref, vertical_slice_ticket_role, vertical_slice_ticket_kind, slice_contract_approved, slice_contract_persisted, slice_contract_current_version, build_architecture_checklist, backend_slice_contract_if_applicable, backend_scaffold_policy_satisfied, frontend_implementation_plan_if_ui_impact]
693
+ required: [gates_satisfied, no_stale_artifacts, blockers_closed, implementation_context_ready, context_plan, quality_baseline_ref, implementation_repo, implementation_branch, ci, verification_commands, rollback_point, predecessor_work_unit, ticket_decomposition_result_ref, ticket_decomposition_result_status, vertical_slice_ticket_ref, vertical_slice_ticket_role, vertical_slice_ticket_kind, slice_contract_approved, slice_contract_persisted, slice_contract_current_version, build_architecture_checklist, backend_slice_contract_if_applicable, backend_scaffold_policy_satisfied, frontend_implementation_plan_if_ui_impact]
653
694
  ticket_formalization_validator: scripts/lib/lifecycle-transition.mjs
654
695
  requires_vertical_slice_ticket: true
655
696
  parent_ticket_as_implementation_ref: forbidden
@@ -86,6 +86,12 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
86
86
 
87
87
  暂停输出:门禁、指定会签 `role_id`、`runtime_id`、会签文件路径、证据、推荐答案、一个问题、恢复动作。
88
88
 
89
+ ## Context Plan 与质量基线
90
+
91
+ 实现合同先消费 `common.context_plan`:必需上下文只包含 `CONTEXT.md`、已批准 Spec、当前合同和适用 ADR / 工程基线;专项 references、实现仓库文件和历史证据按影响面按需加载。达到最小充分证据后停止扩展,缺失权威上下文只能 `blocked` 或 `reroute`。
92
+
93
+ 质量标准由 `engineering-baseline` 以 `baseline_id` / `baseline_version` 定义一次,Slice Contract、YSS Skill Execution Result、`code-review` 和发布检查只引用它,并将约束结果写入 `constraint_results`。命中 API / 数据迁移、跨仓契约、发布回滚、实际安全行为或生命周期 / 生成语义时,必须在现有决策或审查记录中完成 Doubt-Driven 主张、反证、证据、残余风险和 Reviewer 引用;普通低风险变更不触发该流程。
94
+
89
95
  ## Wayfinder 完成判定
90
96
 
91
97
  “无 frontier”不等于完成。只有以下条件同时成立,才能 `wayfinder → handoff → to-spec`:
@@ -68,7 +68,7 @@ slice_contract_required:
68
68
  root: [schema_version, contract_id, contract_version, slice_id, status, lifecycle_refs, readiness, common, frontend, backend, contract, cross_repo, work_units]
69
69
  lifecycle_refs: [spec, ticket, requirement_freeze, low_fidelity_review, prototype_review, high_fidelity_html, prototype_verification, antd_cli_evidence, browser_verification_evidence, prototype_confirmation, openapi_freeze_or_no_impact, architecture_review, data_architecture, tactical_design, engineering_baseline, build_architecture_checklist, implementation_repository, frontend_repository, backend_repository, maven_wrapper]
70
70
  readiness: [blockers, stale_inputs, not_applicable]
71
- common: [impacted_areas, implementation_path_policy, project_roots, required_skills, optional_skills, unavailable_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, human_review_points, full_reroute_triggers]
71
+ common: [impacted_areas, implementation_path_policy, project_roots, required_skills, optional_skills, unavailable_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, human_review_points, full_reroute_triggers, quality_baseline_ref, context_plan, doubt_driven_review]
72
72
  frontend: [status, required_skills, approved_prototype_ref, state_matrix_ref, allowed_write_paths, component_test_seams, e2e_paths]
73
73
  backend: [status, affected_layers, component_impacts, required_skills, application_boundary, transaction_boundary, persistence_strategy, allowed_write_paths, forbidden_patterns, expected_evidence_files, seam_deferred, verification_commands, tactical_ddd]
74
74
  contract: [api_impact, freeze_ref, no_api_impact_ref, generated_clients, contract_tests, regeneration_commands]
@@ -100,7 +100,12 @@ work_unit_required: [id, behavior, primary_skill, supporting_skills, tdd_mode, a
100
100
  work_unit_nonempty_arrays: [allowed_write_paths, expected_evidence, verification_commands]
101
101
  slice_contract_nonempty: [contract_id, contract_version, slice_id, status]
102
102
  slice_contract_array_fields:
103
- common: [impacted_areas, implementation_path_policy, project_roots, required_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, full_reroute_triggers]
103
+ common: [impacted_areas, implementation_path_policy, project_roots, required_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, full_reroute_triggers, quality_baseline_ref, context_plan, doubt_driven_review]
104
+
105
+ context_plan:
106
+ required: [required_context_refs, on_demand_context_refs, context_stop_rule, missing_context_action]
107
+ context_stop_rule: minimal-sufficient-evidence
108
+ missing_context_action: [blocked, reroute]
104
109
 
105
110
  scaffold_contract_schema:
106
111
  schema_version: 1
@@ -241,6 +246,7 @@ full_reroute_triggers:
241
246
  - test-seam-changed
242
247
  - verification-command-changed
243
248
  - delivery-order-changed
249
+ - doubt-review-triggered
244
250
 
245
251
  reroute_destinations:
246
252
  scaffold-baseline-drift: stage7-scaffold-revalidation
@@ -258,9 +264,30 @@ reroute_destinations:
258
264
  test-seam-changed: spec-ticket-test-seam-review
259
265
  verification-command-changed: stage7-contract-recompile
260
266
  delivery-order-changed: cross-repo-release-review
267
+ doubt-review-triggered: high-risk-decision-review
268
+
269
+ doubt_driven_review:
270
+ applies_when:
271
+ - api-schema-impact
272
+ - database-schema-impact
273
+ - cross-repo-contract
274
+ - release-or-rollback
275
+ - authentication-authorization-tenant-or-sensitive-data-behavior
276
+ - lifecycle-or-generation-semantics
277
+ required: [claim, counterclaim, evidence_refs, residual_risks, reviewer_ref]
278
+ status_values: [not-applicable, required, completed, blocked]
279
+ blocking_when: [missing-counterclaim, insufficient-evidence, unresolved-residual-risk]
280
+ evidence_owner: decision-or-review-record
281
+ no_new_lifecycle_stage: true
282
+
283
+ quality_baseline:
284
+ source: lifecycle_refs.engineering_baseline
285
+ required_for: [project-instance]
286
+ reused_by: [slice-contract, yss-skill-execution-result, code-review, release]
287
+ redefinition: forbidden
261
288
 
262
289
  execution_result_allowed_statuses: [implemented, seam-deferred, drift, violation, not-applicable]
263
- execution_blockers: [path-outside-contract, missing-evidence, verification-not-executed, verification-command-mismatch, seam-deferred-without-owner, constraint-failed, unapproved-deviation, drift, violation, new-impacts]
290
+ execution_blockers: [path-outside-contract, missing-evidence, verification-not-executed, verification-command-mismatch, seam-deferred-without-owner, constraint-failed, doubt-review-missing, unapproved-deviation, drift, violation, new-impacts]
264
291
 
265
292
  contract_versioning:
266
293
  full_reroute_current_status: stale
@@ -54,6 +54,20 @@ slice_contract:
54
54
  verification_commands: []
55
55
  human_review_points: []
56
56
  full_reroute_triggers: []
57
+ quality_baseline_ref:
58
+ context_plan:
59
+ required_context_refs: []
60
+ on_demand_context_refs: []
61
+ context_stop_rule: minimal-sufficient-evidence
62
+ missing_context_action: blocked # or reroute
63
+ doubt_driven_review:
64
+ status: not-applicable # or required / completed / blocked
65
+ trigger_impacts: []
66
+ claim:
67
+ counterclaim:
68
+ evidence_refs: []
69
+ residual_risks: []
70
+ reviewer_ref:
57
71
  frontend:
58
72
  status: not-applicable
59
73
  required_skills: []
@@ -13,6 +13,8 @@ execution_result:
13
13
  contract_ref:
14
14
  contract_id:
15
15
  contract_version:
16
+ quality_baseline_ref:
17
+ context_plan_ref:
16
18
  changed_files:
17
19
  - path:
18
20
  contract_area: common | frontend | backend | contract | cross_repo
@@ -28,6 +30,9 @@ execution_result:
28
30
  - constraint:
29
31
  status: passed | failed | not-applicable
30
32
  evidence_ref:
33
+ doubt_driven_review:
34
+ status: not-applicable | completed | blocked
35
+ record_ref:
31
36
  seam_deferred:
32
37
  - risk:
33
38
  owner:
@@ -16,6 +16,8 @@ description: 编排 YSS 产品或模块从机会调研到 Spec、原型、技术
16
16
 
17
17
  Matt 的 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等保留为显式兼容入口;默认路径是本 skill 持有的原生工作单元,由本编排器创建正式资产、维护状态并在会签门禁暂停(级别见数字人角色注册表)。兼容入口不得自动调用它们或代替其创建正式资产;Matt 只导航,不得写生命周期资产或改变门禁/Ticket 状态;任何写入前回交本编排器。
18
18
 
19
+ 技能调用先消费 `docs/agents/yss-skill-registry.yaml` 的 `invocation_contract`:它只约束调用模式、触发/排除条件、主要输出和依赖,不替代生命周期证据或门禁。进入实现后,Slice Contract 的 `common.context_plan` 只加载当前切片的最小充分上下文;缺失权威上下文必须 `blocked` 或回 Router,不得猜测补齐。质量标准由 `engineering-baseline` 一次定义并由切片、Execution Result、审查和发布复用;命中高风险影响时在途记录 Doubt-Driven 主张、反证、证据和残余风险。Wayfinder 仅作为超长或决策前沿不清晰工作的可选 Discovery → Spec 规划模式,完成后回到 `handoff → to-spec`,不改变生命周期状态。
20
+
19
21
  ## 不可裁剪的主链
20
22
 
21
23
  入口分诊 → Discovery → Spec / 功能架构 → 产品设计 → 系统 / 数据架构与工程契约 → Ticket 正式化 → 垂直切片实现(前后端 TDD)→ 验证 / 发布 / 复盘。
@@ -19,7 +19,7 @@ Matt skills 决定如何工作;YSS 生命周期决定是否允许推进;YSS
19
19
  | 通用入口 | `ask-matt` | 检测到 YSS 后由本编排器最终裁决 |
20
20
  | 需求澄清 | `grill-with-docs`(用户显式)或 `grilling`、`domain-modeling`(生命周期原语) | 按退出判定检查未决项和回流 |
21
21
  | 信息在其他人手中 | `to-questionnaire` | 使用 `external-input-required` 暂停;答案回流后记录 response、重新分类影响面,再进入 `grill-with-docs` 或 `to-spec` |
22
- | 大型模糊工作 | `wayfinder` | map 真正完成后 `handoff → to-spec` |
22
+ | 大型模糊工作 | `wayfinder`(可选) | 仅在跨会话 / 跨 Agent 或 frontier 不清晰时启用;map 真正完成后 `handoff → to-spec` |
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`,不得直接实现 |
@@ -76,7 +76,7 @@ Router 状态映射为:`draft → completed`、`blocked → blocked`、`ready-
76
76
 
77
77
  ## Review 候选与 Git 授权
78
78
 
79
- YSS 调用 `code-review` 前必须形成 review input,至少包含 `review_mode`、`review_base_ref`、`implementation_candidate_ref`、`candidate_snapshot_ref`、`candidate_digest`、`spec_ref`、`ticket_ref`、`slice_contract_ref`、`build_architecture_checklist_ref` 和 `yss_execution_result_refs`,并满足 `orchestration-contract.yaml.review_input.manifest_required_by_mode`。Standards 还必须编译 `review_standards_route`:合同 `required_skills`、影响面专项检查输入、报告模板与 `finding_disposition`;机器检查按 `run_if_present` 执行。`committed` 审查 merge-base 到不可变 `HEAD`;`worktree` 一次捕获 merge-base 到 working tree 的 committed、staged、unstaged 和 untracked 内容,使用 `yss-worktree-candidate-v1` 规定的 raw path、uint64 big-endian 长度、tracked/untracked record 和不支持条目阻断规则计算 SHA-256,让两个 Reviewer 消费同一不可变快照,并在返回和完成 checkpoint 复核摘要未变化。缺少输入、候选为空、专项覆盖缺失、未关闭 mandatory `violation`、适用行空白或摘要变化时返回 `blocked`,不能缩小审查范围、另起通用审查 skill、由审查者改实现,或合并不同候选的结论。`violation` 类 finding 交实现者在原合同路径修复后全轴复审;`drift` / `new_impacts` 使合同 `stale` 并回 Router。
79
+ YSS 调用 `code-review` 前必须形成 review input,至少包含 `review_mode`、`review_base_ref`、`implementation_candidate_ref`、`candidate_snapshot_ref`、`candidate_digest`、`spec_ref`、`ticket_ref`、`slice_contract_ref`、`build_architecture_checklist_ref` 和 `yss_execution_result_refs`,并满足 `orchestration-contract.yaml.review_input.manifest_required_by_mode`。Standards 还必须编译 `review_standards_route`:合同 `required_skills`、影响面专项检查输入、报告模板与 `finding_disposition`;机器检查按 `run_if_present` 执行。质量标准只从 `engineering-baseline` 引用,禁止在 review input 或切片中另起一份。命中高风险影响时,review input 还要引用 Doubt-Driven 主张 / 反证记录;缺少反证或残余风险未处理时返回 `blocked`。`committed` 审查 merge-base 到不可变 `HEAD`;`worktree` 一次捕获 merge-base 到 working tree 的 committed、staged、unstaged 和 untracked 内容,使用 `yss-worktree-candidate-v1` 规定的 raw path、uint64 big-endian 长度、tracked/untracked record 和不支持条目阻断规则计算 SHA-256,让两个 Reviewer 消费同一不可变快照,并在返回和完成 checkpoint 复核摘要未变化。缺少输入、候选为空、专项覆盖缺失、未关闭 mandatory `violation`、适用行空白或摘要变化时返回 `blocked`,不能缩小审查范围、另起通用审查 skill、由审查者改实现,或合并不同候选的结论。`violation` 类 finding 交实现者在原合同路径修复后全轴复审;`drift` / `new_impacts` 使合同 `stale` 并回 Router。
80
80
 
81
81
  Matt `implement` 的通用提交指令不构成 YSS Git 授权。只有用户明确给出 `commit_authorized` 为 `true`、非空 `commit_scope` 和 `commit_authorization_ref` 时才能 commit;只有明确给出 `push_authorized` 为 `true`、非空 `push_scope` 和 `push_authorization_ref` 时才能 push。缺少任一字段时保持工作区不变,只输出 checkpoint 判断;不得把 `orchestrate`、实现授权、当前分支、测试通过或负责人要求解释为隐含授权。`git-submodule` 还必须按仓授权、禁止 detached HEAD 提交,并先推子仓再更新父仓 gitlink。
82
82
 
@@ -648,8 +648,49 @@ release_readiness:
648
648
  wayfinder_completion:
649
649
  required: [no_open_children, no_open_blocked_or_claimed_children, no_fog, destination_clear]
650
650
 
651
+ wayfinder_mode:
652
+ optional: true
653
+ enable_when:
654
+ - multi-session-or-multi-agent-work
655
+ - unclear-decision-frontier
656
+ - cross-domain-dependency-map-needed
657
+ lifecycle_position: discovery-to-spec-planning
658
+ completion_route: wayfinder -> handoff -> to-spec
659
+ does_not_replace: [lifecycle-gates, spec-baseline, ticket-formalization]
660
+ forbidden_state_mutations: [ready-for-agent, gate-approval, ticket-role]
661
+ template_source_use: only-when-template-evolution-is-long-running
662
+
663
+ context_engineering:
664
+ contract_field: slice_contract.common.context_plan
665
+ required_context: [CONTEXT.md, approved-spec, current-slice-contract, applicable-adr-or-baseline]
666
+ on_demand_context: [specialist-references, implementation-repository-files, historical-evidence]
667
+ stop_rule: minimal-sufficient-evidence
668
+ missing_context_action: [blocked, reroute]
669
+ numeric_token_budget: not-required
670
+
671
+ doubt_driven_review:
672
+ applies_when:
673
+ - api-schema-impact
674
+ - database-schema-impact
675
+ - cross-repo-contract
676
+ - release-or-rollback
677
+ - authentication-authorization-tenant-or-sensitive-data-behavior
678
+ - lifecycle-or-generation-semantics
679
+ required: [claim, counterclaim, evidence_refs, residual_risks, reviewer_ref]
680
+ record_in: [decision-record, architecture-review, contract-review, release-review]
681
+ blocking_when: [missing-counterclaim, insufficient-evidence, unresolved-residual-risk]
682
+ ordinary-low-risk_changes: not-required
683
+ no_new_lifecycle_stage: true
684
+
685
+ quality_baseline_reuse:
686
+ source: artifact.engineering-baseline
687
+ applies_to: project-instance
688
+ consumers: [slice-implementation-contract, yss-skill-execution-result, code-review, release]
689
+ constraint_results_field: required
690
+ redefinition: forbidden
691
+
651
692
  ready_for_agent:
652
- required: [gates_satisfied, no_stale_artifacts, blockers_closed, implementation_context_ready, implementation_repo, implementation_branch, ci, verification_commands, rollback_point, predecessor_work_unit, ticket_decomposition_result_ref, ticket_decomposition_result_status, vertical_slice_ticket_ref, vertical_slice_ticket_role, vertical_slice_ticket_kind, slice_contract_approved, slice_contract_persisted, slice_contract_current_version, build_architecture_checklist, backend_slice_contract_if_applicable, backend_scaffold_policy_satisfied, frontend_implementation_plan_if_ui_impact]
693
+ required: [gates_satisfied, no_stale_artifacts, blockers_closed, implementation_context_ready, context_plan, quality_baseline_ref, implementation_repo, implementation_branch, ci, verification_commands, rollback_point, predecessor_work_unit, ticket_decomposition_result_ref, ticket_decomposition_result_status, vertical_slice_ticket_ref, vertical_slice_ticket_role, vertical_slice_ticket_kind, slice_contract_approved, slice_contract_persisted, slice_contract_current_version, build_architecture_checklist, backend_slice_contract_if_applicable, backend_scaffold_policy_satisfied, frontend_implementation_plan_if_ui_impact]
653
694
  ticket_formalization_validator: scripts/lib/lifecycle-transition.mjs
654
695
  requires_vertical_slice_ticket: true
655
696
  parent_ticket_as_implementation_ref: forbidden
@@ -86,6 +86,12 @@ tracker 选择和冲突按 `docs/agents/issue-tracker.md` 裁决:已持久化
86
86
 
87
87
  暂停输出:门禁、指定会签 `role_id`、`runtime_id`、会签文件路径、证据、推荐答案、一个问题、恢复动作。
88
88
 
89
+ ## Context Plan 与质量基线
90
+
91
+ 实现合同先消费 `common.context_plan`:必需上下文只包含 `CONTEXT.md`、已批准 Spec、当前合同和适用 ADR / 工程基线;专项 references、实现仓库文件和历史证据按影响面按需加载。达到最小充分证据后停止扩展,缺失权威上下文只能 `blocked` 或 `reroute`。
92
+
93
+ 质量标准由 `engineering-baseline` 以 `baseline_id` / `baseline_version` 定义一次,Slice Contract、YSS Skill Execution Result、`code-review` 和发布检查只引用它,并将约束结果写入 `constraint_results`。命中 API / 数据迁移、跨仓契约、发布回滚、实际安全行为或生命周期 / 生成语义时,必须在现有决策或审查记录中完成 Doubt-Driven 主张、反证、证据、残余风险和 Reviewer 引用;普通低风险变更不触发该流程。
94
+
89
95
  ## Wayfinder 完成判定
90
96
 
91
97
  “无 frontier”不等于完成。只有以下条件同时成立,才能 `wayfinder → handoff → to-spec`:
@@ -68,7 +68,7 @@ slice_contract_required:
68
68
  root: [schema_version, contract_id, contract_version, slice_id, status, lifecycle_refs, readiness, common, frontend, backend, contract, cross_repo, work_units]
69
69
  lifecycle_refs: [spec, ticket, requirement_freeze, low_fidelity_review, prototype_review, high_fidelity_html, prototype_verification, antd_cli_evidence, browser_verification_evidence, prototype_confirmation, openapi_freeze_or_no_impact, architecture_review, data_architecture, tactical_design, engineering_baseline, build_architecture_checklist, implementation_repository, frontend_repository, backend_repository, maven_wrapper]
70
70
  readiness: [blockers, stale_inputs, not_applicable]
71
- common: [impacted_areas, implementation_path_policy, project_roots, required_skills, optional_skills, unavailable_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, human_review_points, full_reroute_triggers]
71
+ common: [impacted_areas, implementation_path_policy, project_roots, required_skills, optional_skills, unavailable_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, human_review_points, full_reroute_triggers, quality_baseline_ref, context_plan, doubt_driven_review]
72
72
  frontend: [status, required_skills, approved_prototype_ref, state_matrix_ref, allowed_write_paths, component_test_seams, e2e_paths]
73
73
  backend: [status, affected_layers, component_impacts, required_skills, application_boundary, transaction_boundary, persistence_strategy, allowed_write_paths, forbidden_patterns, expected_evidence_files, seam_deferred, verification_commands, tactical_ddd]
74
74
  contract: [api_impact, freeze_ref, no_api_impact_ref, generated_clients, contract_tests, regeneration_commands]
@@ -100,7 +100,12 @@ work_unit_required: [id, behavior, primary_skill, supporting_skills, tdd_mode, a
100
100
  work_unit_nonempty_arrays: [allowed_write_paths, expected_evidence, verification_commands]
101
101
  slice_contract_nonempty: [contract_id, contract_version, slice_id, status]
102
102
  slice_contract_array_fields:
103
- common: [impacted_areas, implementation_path_policy, project_roots, required_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, full_reroute_triggers]
103
+ common: [impacted_areas, implementation_path_policy, project_roots, required_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, full_reroute_triggers, quality_baseline_ref, context_plan, doubt_driven_review]
104
+
105
+ context_plan:
106
+ required: [required_context_refs, on_demand_context_refs, context_stop_rule, missing_context_action]
107
+ context_stop_rule: minimal-sufficient-evidence
108
+ missing_context_action: [blocked, reroute]
104
109
 
105
110
  scaffold_contract_schema:
106
111
  schema_version: 1
@@ -241,6 +246,7 @@ full_reroute_triggers:
241
246
  - test-seam-changed
242
247
  - verification-command-changed
243
248
  - delivery-order-changed
249
+ - doubt-review-triggered
244
250
 
245
251
  reroute_destinations:
246
252
  scaffold-baseline-drift: stage7-scaffold-revalidation
@@ -258,9 +264,30 @@ reroute_destinations:
258
264
  test-seam-changed: spec-ticket-test-seam-review
259
265
  verification-command-changed: stage7-contract-recompile
260
266
  delivery-order-changed: cross-repo-release-review
267
+ doubt-review-triggered: high-risk-decision-review
268
+
269
+ doubt_driven_review:
270
+ applies_when:
271
+ - api-schema-impact
272
+ - database-schema-impact
273
+ - cross-repo-contract
274
+ - release-or-rollback
275
+ - authentication-authorization-tenant-or-sensitive-data-behavior
276
+ - lifecycle-or-generation-semantics
277
+ required: [claim, counterclaim, evidence_refs, residual_risks, reviewer_ref]
278
+ status_values: [not-applicable, required, completed, blocked]
279
+ blocking_when: [missing-counterclaim, insufficient-evidence, unresolved-residual-risk]
280
+ evidence_owner: decision-or-review-record
281
+ no_new_lifecycle_stage: true
282
+
283
+ quality_baseline:
284
+ source: lifecycle_refs.engineering_baseline
285
+ required_for: [project-instance]
286
+ reused_by: [slice-contract, yss-skill-execution-result, code-review, release]
287
+ redefinition: forbidden
261
288
 
262
289
  execution_result_allowed_statuses: [implemented, seam-deferred, drift, violation, not-applicable]
263
- execution_blockers: [path-outside-contract, missing-evidence, verification-not-executed, verification-command-mismatch, seam-deferred-without-owner, constraint-failed, unapproved-deviation, drift, violation, new-impacts]
290
+ execution_blockers: [path-outside-contract, missing-evidence, verification-not-executed, verification-command-mismatch, seam-deferred-without-owner, constraint-failed, doubt-review-missing, unapproved-deviation, drift, violation, new-impacts]
264
291
 
265
292
  contract_versioning:
266
293
  full_reroute_current_status: stale
@@ -54,6 +54,20 @@ slice_contract:
54
54
  verification_commands: []
55
55
  human_review_points: []
56
56
  full_reroute_triggers: []
57
+ quality_baseline_ref:
58
+ context_plan:
59
+ required_context_refs: []
60
+ on_demand_context_refs: []
61
+ context_stop_rule: minimal-sufficient-evidence
62
+ missing_context_action: blocked # or reroute
63
+ doubt_driven_review:
64
+ status: not-applicable # or required / completed / blocked
65
+ trigger_impacts: []
66
+ claim:
67
+ counterclaim:
68
+ evidence_refs: []
69
+ residual_risks: []
70
+ reviewer_ref:
57
71
  frontend:
58
72
  status: not-applicable
59
73
  required_skills: []