@mstar-harness/omp 3.6.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -0
- package/agents/architect.md +35 -0
- package/agents/code-reviewer.md +90 -0
- package/agents/frontend-dev.md +33 -0
- package/agents/fullstack-dev-2.md +33 -0
- package/agents/fullstack-dev.md +33 -0
- package/agents/ops-engineer.md +33 -0
- package/agents/product-manager.md +35 -0
- package/agents/project-manager.md +32 -0
- package/agents/prompt-engineer.md +33 -0
- package/agents/qa-engineer.md +35 -0
- package/agents/qc-specialist-2.md +62 -0
- package/agents/qc-specialist-3.md +62 -0
- package/agents/qc-specialist.md +62 -0
- package/agents/writing-specialist.md +35 -0
- package/assets/icon.png +0 -0
- package/assets/logo-dark.png +0 -0
- package/assets/logo-dark.svg +6 -0
- package/assets/logo.png +0 -0
- package/assets/logo.svg +6 -0
- package/commands/amazing-pr-review.md +31 -0
- package/commands/codebase-audit.md +40 -0
- package/commands/iteration-drive.md +48 -0
- package/commands/iteration-loop.md +99 -0
- package/commands/iteration-start.md +122 -0
- package/dist/hooks/pre/mstar-gates.js +6579 -0
- package/dist/tools/mstar_dispatch_validate/index.js +6291 -0
- package/dist/tools/mstar_iteration_gate/index.js +6321 -0
- package/dist/tools/mstar_lease_verify/index.js +6343 -0
- package/dist/tools/mstar_path_resolve/index.js +6297 -0
- package/dist/tools/mstar_status_validate/index.js +6402 -0
- package/dist/tools/mstar_worktree_check/index.js +6343 -0
- package/harness-agents/architect.md +35 -0
- package/harness-agents/code-reviewer.md +90 -0
- package/harness-agents/frontend-dev.md +33 -0
- package/harness-agents/fullstack-dev-2.md +33 -0
- package/harness-agents/fullstack-dev.md +33 -0
- package/harness-agents/ops-engineer.md +33 -0
- package/harness-agents/product-manager.md +35 -0
- package/harness-agents/project-manager.md +32 -0
- package/harness-agents/prompt-engineer.md +33 -0
- package/harness-agents/qa-engineer.md +35 -0
- package/harness-agents/qc-specialist-2.md +62 -0
- package/harness-agents/qc-specialist-3.md +62 -0
- package/harness-agents/qc-specialist.md +62 -0
- package/harness-agents/writing-specialist.md +35 -0
- package/harness-commands/amazing-pr-review.md +31 -0
- package/harness-commands/codebase-audit.md +40 -0
- package/harness-commands/iteration-drive.md +48 -0
- package/harness-commands/iteration-loop.md +99 -0
- package/harness-commands/iteration-start.md +122 -0
- package/harness-skills/grill-me/SKILL.md +10 -0
- package/harness-skills/mstar-artifacts/SKILL.md +66 -0
- package/harness-skills/mstar-artifacts/references/knowledge-and-designs.md +110 -0
- package/harness-skills/mstar-artifacts/references/plan-files-and-reports.md +98 -0
- package/harness-skills/mstar-artifacts/references/plan-quality-bar.md +99 -0
- package/harness-skills/mstar-artifacts/references/status-and-residuals.md +472 -0
- package/harness-skills/mstar-artifacts/templates/README.md +7 -0
- package/harness-skills/mstar-artifacts/templates/plan.main.md +54 -0
- package/harness-skills/mstar-artifacts/templates/status.empty.json +5 -0
- package/harness-skills/mstar-audit/SKILL.md +151 -0
- package/harness-skills/mstar-audit/references/audit-playbook.md +175 -0
- package/harness-skills/mstar-audit/references/codebase-audit.md +103 -0
- package/harness-skills/mstar-audit/references/finding-format.md +69 -0
- package/harness-skills/mstar-audit/references/pr-review-seat-evidence.md +28 -0
- package/harness-skills/mstar-audit/references/pr-review.md +475 -0
- package/harness-skills/mstar-audit/references/security-review.md +219 -0
- package/harness-skills/mstar-branch-worktree/SKILL.md +236 -0
- package/harness-skills/mstar-branch-worktree/references/parallel-writable-pre-dispatch.md +68 -0
- package/harness-skills/mstar-coding-behavior/SKILL.md +167 -0
- package/harness-skills/mstar-compound/SKILL.md +109 -0
- package/harness-skills/mstar-compound/assets/resolution-template.md +94 -0
- package/harness-skills/mstar-compound/references/category-mapping.md +37 -0
- package/harness-skills/mstar-compound/references/compound-workflow.md +171 -0
- package/harness-skills/mstar-compound/references/concepts-vocabulary.md +44 -0
- package/harness-skills/mstar-compound/references/schema.yaml +122 -0
- package/harness-skills/mstar-compound-refresh/SKILL.md +154 -0
- package/harness-skills/mstar-compound-refresh/references/project-knowledge-bootstrap.md +164 -0
- package/harness-skills/mstar-conventions/SKILL.md +215 -0
- package/harness-skills/mstar-conventions/references/artifact-storage-paths.md +53 -0
- package/harness-skills/mstar-conventions/references/effort-estimation.md +38 -0
- package/harness-skills/mstar-conventions/references/harness-bootstrap-and-agents-layering.md +96 -0
- package/harness-skills/mstar-design-md/SKILL.md +142 -0
- package/harness-skills/mstar-design-md/references/completeness-checklist.md +181 -0
- package/harness-skills/mstar-design-md/references/design-md-spec.md +508 -0
- package/harness-skills/mstar-design-md/references/vercel-example.md +200 -0
- package/harness-skills/mstar-design-md/templates/DESIGN.dark.md.template +354 -0
- package/harness-skills/mstar-design-md/templates/DESIGN.md.template +474 -0
- package/harness-skills/mstar-dispatch-gates/SKILL.md +134 -0
- package/harness-skills/mstar-dispatch-gates/references/leaf-executor-checklist.md +23 -0
- package/harness-skills/mstar-engine-legacy/SKILL.md +53 -0
- package/harness-skills/mstar-engine-legacy/references/anti-recursion-checklists.md +58 -0
- package/harness-skills/mstar-engine-legacy/references/engine-check-boilerplate.md +26 -0
- package/harness-skills/mstar-engine-legacy/references/lease-protocol.md +92 -0
- package/harness-skills/mstar-engine-legacy/references/qc-seat-n-restatements.md +57 -0
- package/harness-skills/mstar-engine-legacy/references/status-field-history.md +186 -0
- package/harness-skills/mstar-harness-core/SKILL.md +196 -0
- package/harness-skills/mstar-host/SKILL.md +96 -0
- package/harness-skills/mstar-host/references/_shared/host-role-binding-core.md +51 -0
- package/harness-skills/mstar-host/references/_shared/plan-mode-bridge-core.md +91 -0
- package/harness-skills/mstar-host/references/codex.md +61 -0
- package/harness-skills/mstar-host/references/cursor-plan-mode-bridge.md +170 -0
- package/harness-skills/mstar-host/references/cursor.md +183 -0
- package/harness-skills/mstar-host/references/dsh.md +507 -0
- package/harness-skills/mstar-host/references/kimi-plan-mode-bridge.md +36 -0
- package/harness-skills/mstar-host/references/kimi.md +136 -0
- package/harness-skills/mstar-host/references/omp-plan-mode-bridge.md +32 -0
- package/harness-skills/mstar-host/references/omp.md +245 -0
- package/harness-skills/mstar-host/references/opencode.md +76 -0
- package/harness-skills/mstar-host/references/parallel-dispatch.md +68 -0
- package/harness-skills/mstar-host/references/zcode-plan-mode-bridge.md +36 -0
- package/harness-skills/mstar-host/references/zcode.md +129 -0
- package/harness-skills/mstar-iteration/SKILL.md +408 -0
- package/harness-skills/mstar-iteration/references/autonomous-direction-lock.md +90 -0
- package/harness-skills/mstar-iteration/references/command-shared-invariants.md +62 -0
- package/harness-skills/mstar-iteration/references/iteration-artifact-boundaries.md +103 -0
- package/harness-skills/mstar-iteration/references/iteration-compass-template.md +142 -0
- package/harness-skills/mstar-iteration/references/iteration-corpus-hygiene.md +45 -0
- package/harness-skills/mstar-iteration/references/iteration-workspace-readme-template.md +27 -0
- package/harness-skills/mstar-iteration/references/phase-2-worktree-lease.md +205 -0
- package/harness-skills/mstar-iteration/references/phase-3-iteration-close.md +105 -0
- package/harness-skills/mstar-iteration/references/phase-4-5-pr-delivery.md +85 -0
- package/harness-skills/mstar-iteration/references/phase5-helper-discovery.md +24 -0
- package/harness-skills/mstar-phase-gates/SKILL.md +118 -0
- package/harness-skills/mstar-project-governance/SKILL.md +119 -0
- package/harness-skills/mstar-review-qc/SKILL.md +76 -0
- package/harness-skills/mstar-review-qc/references/review-responsibility-boundaries.md +54 -0
- package/harness-skills/mstar-roles/SKILL.md +103 -0
- package/harness-skills/mstar-roles/references/_shared/leaf-executor-core.md +65 -0
- package/harness-skills/mstar-roles/references/architect.md +109 -0
- package/harness-skills/mstar-roles/references/code-reviewer.md +118 -0
- package/harness-skills/mstar-roles/references/frontend-dev.md +70 -0
- package/harness-skills/mstar-roles/references/fullstack-dev-shared.md +89 -0
- package/harness-skills/mstar-roles/references/ops-engineer.md +72 -0
- package/harness-skills/mstar-roles/references/product-manager.md +102 -0
- package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +200 -0
- package/harness-skills/mstar-roles/references/project-manager/plan-management.md +59 -0
- package/harness-skills/mstar-roles/references/project-manager/qa-trigger-matrix.md +56 -0
- package/harness-skills/mstar-roles/references/project-manager/qc-and-residuals.md +99 -0
- package/harness-skills/mstar-roles/references/project-manager/routing-and-dev-allocation.md +99 -0
- package/harness-skills/mstar-roles/references/project-manager.md +310 -0
- package/harness-skills/mstar-roles/references/prompt-engineer.md +65 -0
- package/harness-skills/mstar-roles/references/qa-engineer/acceptance-gate.md +62 -0
- package/harness-skills/mstar-roles/references/qa-engineer.md +71 -0
- package/harness-skills/mstar-roles/references/qc-specialist/deep-review-lenses.md +104 -0
- package/harness-skills/mstar-roles/references/qc-specialist/report-template.md +88 -0
- package/harness-skills/mstar-roles/references/qc-specialist/reviewer-checklist.md +44 -0
- package/harness-skills/mstar-roles/references/qc-specialist/reviewer-workflow.md +57 -0
- package/harness-skills/mstar-roles/references/qc-specialist-shared.md +120 -0
- package/harness-skills/mstar-roles/references/writing-specialist.md +88 -0
- package/harness-skills/mstar-sdd/SKILL.md +137 -0
- package/harness-skills/mstar-sdd/references/file-handoffs.md +85 -0
- package/harness-skills/mstar-sdd/references/implementer-continuation-prompt.md +44 -0
- package/harness-skills/mstar-sdd/references/implementer-prompt.md +56 -0
- package/harness-skills/mstar-sdd/references/sticky-implementer-session.md +103 -0
- package/harness-skills/mstar-sdd/references/task-reviewer-prompt.md +53 -0
- package/harness-skills/mstar-skill-authoring/SKILL.md +182 -0
- package/harness-skills/mstar-skill-authoring/references/regression-fixation.md +46 -0
- package/harness-skills/mstar-skill-authoring/references/skillsbench-authoring.md +154 -0
- package/harness-skills/mstar-strategy/SKILL.md +114 -0
- package/harness-skills/pm/SKILL.md +40 -0
- package/hooks/pre/mstar-gates.js +6579 -0
- package/package.json +45 -0
- package/plugin.json +49 -0
- package/skills/grill-me/SKILL.md +10 -0
- package/skills/mstar-artifacts/SKILL.md +66 -0
- package/skills/mstar-artifacts/references/knowledge-and-designs.md +110 -0
- package/skills/mstar-artifacts/references/plan-files-and-reports.md +98 -0
- package/skills/mstar-artifacts/references/plan-quality-bar.md +99 -0
- package/skills/mstar-artifacts/references/status-and-residuals.md +472 -0
- package/skills/mstar-artifacts/templates/README.md +7 -0
- package/skills/mstar-artifacts/templates/plan.main.md +54 -0
- package/skills/mstar-artifacts/templates/status.empty.json +5 -0
- package/skills/mstar-audit/SKILL.md +151 -0
- package/skills/mstar-audit/references/audit-playbook.md +175 -0
- package/skills/mstar-audit/references/codebase-audit.md +103 -0
- package/skills/mstar-audit/references/finding-format.md +69 -0
- package/skills/mstar-audit/references/pr-review-seat-evidence.md +28 -0
- package/skills/mstar-audit/references/pr-review.md +475 -0
- package/skills/mstar-audit/references/security-review.md +219 -0
- package/skills/mstar-branch-worktree/SKILL.md +236 -0
- package/skills/mstar-branch-worktree/references/parallel-writable-pre-dispatch.md +68 -0
- package/skills/mstar-coding-behavior/SKILL.md +167 -0
- package/skills/mstar-compound/SKILL.md +109 -0
- package/skills/mstar-compound/assets/resolution-template.md +94 -0
- package/skills/mstar-compound/references/category-mapping.md +37 -0
- package/skills/mstar-compound/references/compound-workflow.md +171 -0
- package/skills/mstar-compound/references/concepts-vocabulary.md +44 -0
- package/skills/mstar-compound/references/schema.yaml +122 -0
- package/skills/mstar-compound-refresh/SKILL.md +154 -0
- package/skills/mstar-compound-refresh/references/project-knowledge-bootstrap.md +164 -0
- package/skills/mstar-conventions/SKILL.md +215 -0
- package/skills/mstar-conventions/references/artifact-storage-paths.md +53 -0
- package/skills/mstar-conventions/references/effort-estimation.md +38 -0
- package/skills/mstar-conventions/references/harness-bootstrap-and-agents-layering.md +96 -0
- package/skills/mstar-design-md/SKILL.md +142 -0
- package/skills/mstar-design-md/references/completeness-checklist.md +181 -0
- package/skills/mstar-design-md/references/design-md-spec.md +508 -0
- package/skills/mstar-design-md/references/vercel-example.md +200 -0
- package/skills/mstar-design-md/templates/DESIGN.dark.md.template +354 -0
- package/skills/mstar-design-md/templates/DESIGN.md.template +474 -0
- package/skills/mstar-dispatch-gates/SKILL.md +134 -0
- package/skills/mstar-dispatch-gates/references/leaf-executor-checklist.md +23 -0
- package/skills/mstar-engine-legacy/SKILL.md +53 -0
- package/skills/mstar-engine-legacy/references/anti-recursion-checklists.md +58 -0
- package/skills/mstar-engine-legacy/references/engine-check-boilerplate.md +26 -0
- package/skills/mstar-engine-legacy/references/lease-protocol.md +92 -0
- package/skills/mstar-engine-legacy/references/qc-seat-n-restatements.md +57 -0
- package/skills/mstar-engine-legacy/references/status-field-history.md +186 -0
- package/skills/mstar-harness-core/SKILL.md +196 -0
- package/skills/mstar-host/SKILL.md +96 -0
- package/skills/mstar-host/references/_shared/host-role-binding-core.md +51 -0
- package/skills/mstar-host/references/_shared/plan-mode-bridge-core.md +91 -0
- package/skills/mstar-host/references/codex.md +61 -0
- package/skills/mstar-host/references/cursor-plan-mode-bridge.md +170 -0
- package/skills/mstar-host/references/cursor.md +183 -0
- package/skills/mstar-host/references/dsh.md +507 -0
- package/skills/mstar-host/references/kimi-plan-mode-bridge.md +36 -0
- package/skills/mstar-host/references/kimi.md +136 -0
- package/skills/mstar-host/references/omp-plan-mode-bridge.md +32 -0
- package/skills/mstar-host/references/omp.md +245 -0
- package/skills/mstar-host/references/opencode.md +76 -0
- package/skills/mstar-host/references/parallel-dispatch.md +68 -0
- package/skills/mstar-host/references/zcode-plan-mode-bridge.md +36 -0
- package/skills/mstar-host/references/zcode.md +129 -0
- package/skills/mstar-iteration/SKILL.md +408 -0
- package/skills/mstar-iteration/references/autonomous-direction-lock.md +90 -0
- package/skills/mstar-iteration/references/command-shared-invariants.md +62 -0
- package/skills/mstar-iteration/references/iteration-artifact-boundaries.md +103 -0
- package/skills/mstar-iteration/references/iteration-compass-template.md +142 -0
- package/skills/mstar-iteration/references/iteration-corpus-hygiene.md +45 -0
- package/skills/mstar-iteration/references/iteration-workspace-readme-template.md +27 -0
- package/skills/mstar-iteration/references/phase-2-worktree-lease.md +205 -0
- package/skills/mstar-iteration/references/phase-3-iteration-close.md +105 -0
- package/skills/mstar-iteration/references/phase-4-5-pr-delivery.md +85 -0
- package/skills/mstar-iteration/references/phase5-helper-discovery.md +24 -0
- package/skills/mstar-phase-gates/SKILL.md +118 -0
- package/skills/mstar-project-governance/SKILL.md +119 -0
- package/skills/mstar-review-qc/SKILL.md +76 -0
- package/skills/mstar-review-qc/references/review-responsibility-boundaries.md +54 -0
- package/skills/mstar-roles/SKILL.md +103 -0
- package/skills/mstar-roles/references/_shared/leaf-executor-core.md +65 -0
- package/skills/mstar-roles/references/architect.md +109 -0
- package/skills/mstar-roles/references/code-reviewer.md +118 -0
- package/skills/mstar-roles/references/frontend-dev.md +70 -0
- package/skills/mstar-roles/references/fullstack-dev-shared.md +89 -0
- package/skills/mstar-roles/references/ops-engineer.md +72 -0
- package/skills/mstar-roles/references/product-manager.md +102 -0
- package/skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +200 -0
- package/skills/mstar-roles/references/project-manager/plan-management.md +59 -0
- package/skills/mstar-roles/references/project-manager/qa-trigger-matrix.md +56 -0
- package/skills/mstar-roles/references/project-manager/qc-and-residuals.md +99 -0
- package/skills/mstar-roles/references/project-manager/routing-and-dev-allocation.md +99 -0
- package/skills/mstar-roles/references/project-manager.md +310 -0
- package/skills/mstar-roles/references/prompt-engineer.md +65 -0
- package/skills/mstar-roles/references/qa-engineer/acceptance-gate.md +62 -0
- package/skills/mstar-roles/references/qa-engineer.md +71 -0
- package/skills/mstar-roles/references/qc-specialist/deep-review-lenses.md +104 -0
- package/skills/mstar-roles/references/qc-specialist/report-template.md +88 -0
- package/skills/mstar-roles/references/qc-specialist/reviewer-checklist.md +44 -0
- package/skills/mstar-roles/references/qc-specialist/reviewer-workflow.md +57 -0
- package/skills/mstar-roles/references/qc-specialist-shared.md +120 -0
- package/skills/mstar-roles/references/writing-specialist.md +88 -0
- package/skills/mstar-sdd/SKILL.md +137 -0
- package/skills/mstar-sdd/references/file-handoffs.md +85 -0
- package/skills/mstar-sdd/references/implementer-continuation-prompt.md +44 -0
- package/skills/mstar-sdd/references/implementer-prompt.md +56 -0
- package/skills/mstar-sdd/references/sticky-implementer-session.md +103 -0
- package/skills/mstar-sdd/references/task-reviewer-prompt.md +53 -0
- package/skills/mstar-skill-authoring/SKILL.md +182 -0
- package/skills/mstar-skill-authoring/references/regression-fixation.md +46 -0
- package/skills/mstar-skill-authoring/references/skillsbench-authoring.md +154 -0
- package/skills/mstar-strategy/SKILL.md +114 -0
- package/skills/pm/SKILL.md +40 -0
- package/tools/mstar_dispatch_validate.js +6291 -0
- package/tools/mstar_iteration_gate.js +6321 -0
- package/tools/mstar_lease_verify.js +6343 -0
- package/tools/mstar_path_resolve.js +6297 -0
- package/tools/mstar_status_validate.js +6402 -0
- package/tools/mstar_worktree_check.js +6343 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Phase 3: iteration-close(收口迭代)
|
|
2
|
+
|
|
3
|
+
> Loaded by `mstar-iteration` SKILL.md when entering Phase 3. **Read `mstar-harness-core` first.** Phase 2 全部 plan `Done` 后按 **Phase transition gates** 进入本 Phase。
|
|
4
|
+
|
|
5
|
+
PM 在迭代内全部 plan Done 后执行。**本 Phase 在 integration 分支上运行**,产出物 commit 到 integration 分支,随迭代 PR 合入 snapshot `branch.target`(`target_branch`)。入口:Phase 2 全部 plan `Done` 后按 **Phase transition gates** 进入。
|
|
6
|
+
|
|
7
|
+
**Close Done 定义**:§3.1→§3.5 全部完成;compass frontmatter 写入 `status: completed` + `end_date`;每篇新增 knowledge doc 已登记 `{KNOWLEDGE_DIR}/README.md`。只在 final plan 中写了 compound / roadmap / PR 说明,不算 iteration-close 完成。
|
|
8
|
+
|
|
9
|
+
## 3.0 Phase boundary(HARD)
|
|
10
|
+
|
|
11
|
+
- Phase 3 是 iteration 级收口,不是任一 plan 的子任务。
|
|
12
|
+
- final plan closure、plan notes、plan compaction 可作为输入,但不能替代 §3.1→§3.5。
|
|
13
|
+
- 读过 `mstar-iteration` / `mstar-compound` 不等于执行 gate;必须打印 checklist 并写入产物。
|
|
14
|
+
|
|
15
|
+
## 3.0.5 Compass shape normalization(legacy 漂移修复)
|
|
16
|
+
|
|
17
|
+
进入 §3.1 前,先确认 compass 具有 close 可写入的结构。若缺失,PM 在本 thread 做最小规范化,不委派、不重写无关内容。
|
|
18
|
+
|
|
19
|
+
| 检查 | 缺则补齐 |
|
|
20
|
+
|------|----------|
|
|
21
|
+
| YAML frontmatter:`iteration_id`, `start_date`, `status` | 从文件名 / 正文提取;收口前 `status` 保持 `active` 或 `locked` |
|
|
22
|
+
| `## Roadmap Position` | 从 general context / roadmap prose 迁移为本节 |
|
|
23
|
+
| `## Quality Gate Summary` | 按模板补占位,§3.4 填写 |
|
|
24
|
+
| `## Compound Round Summary` | 按模板补占位,§3.4 填写 |
|
|
25
|
+
| `## Iteration Retrospective (minimal)` | 按模板补占位,§3.4 填写 |
|
|
26
|
+
|
|
27
|
+
正文 completion status 只能作为历史注释;最终状态必须写入 frontmatter `status: completed` + `end_date`。
|
|
28
|
+
|
|
29
|
+
## 3.1 Close entry checklist(HARD GATE)
|
|
30
|
+
|
|
31
|
+
**STOP**: 打印下方 checklist,且全部为 `[x]` 后,才可进入 §3.2 Compound。
|
|
32
|
+
|
|
33
|
+
- [ ] 所有 compass 中登记的 plan 在 workflow snapshot(`{WORKFLOW_DIR}/<id>/snapshot.json`)均为 `Done`
|
|
34
|
+
- [ ] 所有 plan 的 residual findings 已收口:优先 empty register 条目(`projects/<id>/residuals.json` → `entries[<plan-id>]`);若仍有 open R#,须均为 Phase 2 `zero-residual` 允许的 blocker-defer + roadmap,或已 closed(`lifecycle` / `closed_at` / `closure_note`,见 `mstar-artifacts` Findings cleanup modes)
|
|
35
|
+
- [ ] compass `## Plans` 表状态列已与 snapshot 同步
|
|
36
|
+
- [ ] 迭代 `## Acceptance Criteria` 已达成或显式豁免(compass 或对话记录原因)
|
|
37
|
+
- [ ] compass shape 已满足(frontmatter + `## Roadmap Position` + close 占位节)
|
|
38
|
+
|
|
39
|
+
PM **必须**在对话中打印本 checklist;不得默认同过。
|
|
40
|
+
|
|
41
|
+
## 3.2 知识结晶(Compound)—— 迭代级核心收口
|
|
42
|
+
|
|
43
|
+
**Compound 在此执行,不在 per-plan Done 后独立执行。** 工作流 SSOT → **`mstar-compound`**(Q1–Q8 自检、Phase 1–7、Phase 6 索引登记强制)。
|
|
44
|
+
|
|
45
|
+
PM 批量触发后须:
|
|
46
|
+
|
|
47
|
+
1. 收集本迭代 plan 实现 / debug / review 素材,筛候选知识
|
|
48
|
+
2. **盘点** `{ITERATION_DIR}/<iteration-id>/**` package(`guides/`、`specs/`;默认排除 `delivery-compass.md`)— **`mstar-compound`**「Iteration package promotion」;提升值得保留者进 `{KNOWLEDGE_DIR}/`
|
|
49
|
+
3. 逐条过 `mstar-compound` 自检;跳过项记入 compass `## Compound Round Summary`
|
|
50
|
+
4. 写入或更新 `{KNOWLEDGE_DIR}/<category>/<slug>.md`;新领域词更新 `CONCEPTS.md`
|
|
51
|
+
5. **每篇**新 doc 完成 Phase 6(`{KNOWLEDGE_DIR}/README.md` 登记)
|
|
52
|
+
|
|
53
|
+
若无结晶且无 package 提升,仍在 `## Compound Round Summary` 写明 `无可结晶知识` / package 盘点结论及原因。
|
|
54
|
+
|
|
55
|
+
## 3.3 更新 roadmap
|
|
56
|
+
|
|
57
|
+
1. 更新 compass **`## Roadmap Position`**(§3.0.5 已确保本节存在):
|
|
58
|
+
- current iteration 行标记为 **`delivered`**(或等价明确措辞)
|
|
59
|
+
- next iteration 更新为即将开始的内容、触发条件、owner
|
|
60
|
+
2. 若项目层 roadmap(`{PROJECT_DIR}/<id>/roadmap.md`)存在,同步更新(frontmatter `status` / goal-item checkboxes);若 snapshot plan 行含 `metadata.roadmap` 字段,同步更新
|
|
61
|
+
3. 若存在 deferred-features / roadmap tracker 类文档,按项目惯例刷新
|
|
62
|
+
4. 若 `STRATEGY.md` 存在,可更新 `## Decision Log`(重大架构决策时)
|
|
63
|
+
|
|
64
|
+
## 3.4 标记迭代完成
|
|
65
|
+
|
|
66
|
+
1. compass **YAML frontmatter**:`status: completed`,`end_date: YYYY-MM-DD`(必须;见 §3.0.5)
|
|
67
|
+
2. 更新 `{ITERATION_DIR}/README.md` 索引中该迭代行 Status 为 `completed`
|
|
68
|
+
3. 填充 compass `## Quality Gate Summary`、`## Compound Round Summary` 与 `## Iteration Retrospective (minimal)`(见模板)
|
|
69
|
+
|
|
70
|
+
## 3.5 Close exit checklist + commit
|
|
71
|
+
|
|
72
|
+
**Precondition**: §3.1 checklist `[x]`;§3.4 frontmatter `completed` + `end_date` 已写。
|
|
73
|
+
|
|
74
|
+
PM 打印 **iteration-close exit checklist**;全部为 `[x]` 后方可 `git commit`;然后进入 **Phase 4**(见 `references/phase-4-5-pr-delivery.md`):
|
|
75
|
+
|
|
76
|
+
- [ ] §3.1 前置 gate 已打印并满足
|
|
77
|
+
- [ ] §3.2 compound 完成;**`<iteration-id>/` package 已盘点**(提升 / 保留 / 跳过已记入 Compound Summary);新增 knowledge doc 均已登记 `{KNOWLEDGE_DIR}/README.md`(或已记录无可结晶原因)
|
|
78
|
+
- [ ] §3.3 `## Roadmap Position` current iteration 已标 `delivered`;tracker / STRATEGY 已按需更新
|
|
79
|
+
- [ ] §3.4 frontmatter `status: completed` + `end_date`;Quality Gate Summary + Compound Summary + Retrospective 已填
|
|
80
|
+
- [ ] 当前分支是 `spec_integration_branch`
|
|
81
|
+
- [ ] PR base = snapshot `branch.target`(`target_branch`,与 compass frontmatter 一致);**不是**未记录的 `main`
|
|
82
|
+
|
|
83
|
+
**Commit 前提(HARD — branch-anchored,防递交到控制分支)**:§3.5 的 commit 是 **branch 锚定**的——`git commit` 落在**当前检出分支**,`<spec_integration_branch>` 只出现在 push 参数里。当控制 worktree(或任一检出)不在 integration 分支时,未经下述核对直接执行本配方,compound 会把 tracked 的 `{KNOWLEDGE_DIR}/`、`{SPECS_DIR}/`、`CONCEPTS.md` 递交到控制分支(如 `main`),integration 分支的 PR 永远带不上这些 shared 产物。因此 **任何 `git add` 之前**必须先验分支;mismatch → **STOP**(不得 commit、不得 push、不得「先提交后挪」),改在正确检出上重做(见下)。
|
|
84
|
+
|
|
85
|
+
1. 解析 `<spec_integration_branch>`:snapshot `branch.integration`(workflows/<id>/snapshot.json)→ 缺失时 compass frontmatter `spec_integration_branch`;仍缺 → STOP 补齐,不得默认 `main`。
|
|
86
|
+
2. **先验后提交**(在执行 commit 的检出处):`git branch --show-current` === `<spec_integration_branch>`。§3.2–§3.4 产生的 tracked close 产物本就应处于未提交状态等待本 commit,**不要求**此处工作树干净。engine 可用 → 在 add/commit **前**运行 `mstar iteration gate --workflow <id> --compass <delivery-compass.md> --branch <current> --integration <spec_integration_branch> --target <target_branch>` 并确认 exit 无 `EXIT_BRANCH_MISMATCH` / `EXIT_PR_BASE_MISMATCH`(Phase-3 窗口预期的其它 exit-1 除外,见 Phase transition gates 注)。
|
|
87
|
+
3. **mismatch 时**:不产生任何提交。tracked 子树(`{KNOWLEDGE_DIR}/`、`{SPECS_DIR}/`、`CONCEPTS.md`、迭代 package 中 tracked 部分)在**检出 `<spec_integration_branch>` 的 worktree** 重新写入或在 commit 前恢复(它们默认 tracked、随 Git 分支走;进程产物 plans/iterations/status/sdd 经 control 绝对路径不受影响)。然后重跑本 checklist。
|
|
88
|
+
|
|
89
|
+
**在 `<spec_integration_branch>` 检出上执行**:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
git branch --show-current # must print <spec_integration_branch> — mismatch → STOP, see above
|
|
93
|
+
git add {ITERATION_DIR}/<id>/ {ITERATION_DIR}/README.md {KNOWLEDGE_DIR}/ {SPECS_DIR}/ CONCEPTS.md
|
|
94
|
+
git add STRATEGY.md # only if updated in §3.3 (tracked root file); skip line otherwise
|
|
95
|
+
git commit -m "chore(iteration): close <iteration-id> — compound round, roadmap update"
|
|
96
|
+
git push origin <spec_integration_branch>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Staging 说明:`{SPECS_DIR}` 为解析后的实际 specs 目录(候选链见 `mstar-conventions`,如 `{HARNESS_DIR}/specs/`、`docs/specs/`、`specs/`);本轮更新过才加入。§3.3 更新过的 tracked 项目层 roadmap tracker 若为 tracked 文件,一并 stage(gitignored 的 process 产物不进 commit)。
|
|
100
|
+
|
|
101
|
+
PR 目标使用 snapshot `branch.target`;缺失时停止并补齐,不得默认 `main`。
|
|
102
|
+
|
|
103
|
+
## 3.6 可选:触发 compound-refresh
|
|
104
|
+
|
|
105
|
+
若本轮 compound 新增了较多知识文档,或 compass 标记了可能过时的旧知识,触发 `mstar-compound-refresh` 对有重叠的知识文档做维护。
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Phase 4 & 5: PR delivery + merge-ready loop
|
|
2
|
+
|
|
3
|
+
> Loaded by `mstar-iteration` SKILL.md when entering Phase 4/5. **Read `mstar-harness-core` first.** 进入前置:Phase 3 §3.5 exit 全 `[x]`(Phase 4);Phase 4 PR 已创建(Phase 5)。
|
|
4
|
+
|
|
5
|
+
## Phase 4: PR delivery(开 PR)
|
|
6
|
+
|
|
7
|
+
**Precondition**: Phase 3 §3.5 exit 全 `[x]`;close commit 已 push 到 `spec_integration_branch`。
|
|
8
|
+
|
|
9
|
+
1. 打印 **`## Phase 4: PR delivery`**
|
|
10
|
+
2. Resolve target:snapshot `branch.target`(`target_branch`;compass frontmatter 镜像);缺失 → **STOP**,问用户
|
|
11
|
+
3. 创建 PR:`spec_integration_branch` → `target_branch`
|
|
12
|
+
4. 记录 PR URL / number(Phase 5 会话 SSOT)
|
|
13
|
+
5. **Immediately** 进入 **Phase 5** — **Phase 4 exit ≠ 迭代交付完成**
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Phase 5: PR merge-ready loop
|
|
18
|
+
|
|
19
|
+
**Precondition**: Phase 4 PR 已创建且 head = `spec_integration_branch`。
|
|
20
|
+
|
|
21
|
+
**Loop 理念**(mstar SSOT):PR 开完后进入 **验证—修复—再验证** 循环,直至 PR 可合并。与 Phase 2 per-plan loop 类似,但对象是 **PR 级** merge 门禁(CI、review、冲突),不是 plan 实现。
|
|
22
|
+
|
|
23
|
+
### 5.0 Phase boundary
|
|
24
|
+
|
|
25
|
+
- Phase 5 在 PR head(`spec_integration_branch`)上 push 修复;**禁止**另开替代分支
|
|
26
|
+
- **Checkout / worktree(HARD)**:Phase 5 是 PR 级 **hotfix** loop,**不是** Phase 2 plan 实现。修复直接在 **control worktree**(已检出 `spec_integration_branch` 的 checkout)上编辑、commit、再按 §5.1a push。**禁止**为 Phase 5 另开 feature / fix worktree;**禁止**把 Phase 2「control 禁止产品编辑 / 须 feature worktree」套用到 Phase 5。另开 worktree 浪费时间、磁盘与计算,与 Phase 5 快速收敛 CI/review 的目标相悖。
|
|
27
|
+
- 产品代码修复 → PM **dispatch** dev/ops(`mstar-dispatch-gates`);Assignment **`Worktree path`** / cwd = control(snapshot `control_worktree_path` 或当前已在集成分支上的 checkout);PM 线程不代写实现
|
|
28
|
+
- 禁止为「让 CI 变绿」而改 workflow,除非用户明确授权
|
|
29
|
+
- **Push cadence** → **§5.1a**(本地可提前修;**禁止**在 CI / AI review 波次未结束时 push)
|
|
30
|
+
|
|
31
|
+
### 5.1a Push cadence(HARD — 防打断 CI / AI review)
|
|
32
|
+
|
|
33
|
+
发现 CI 失败或 review 问题时,**允许本地提前修**(含 dispatch implement/ops、落盘 commit),但 **`git push`(更新 PR head)必须等上一波次跑完**。
|
|
34
|
+
|
|
35
|
+
| 允许 | 禁止 |
|
|
36
|
+
|------|------|
|
|
37
|
+
| CI/review **进行中**就开始本地诊断与修复 | 当前 head 上仍有 **CI queued/in_progress**,或 **AI review 波次**(Bugbot / Greptile / 等价 bot)未结束时 **push** |
|
|
38
|
+
| CI **全部结束后**出现新的 review 评论 → 继续本地修,批完再 push | 为「抢时间」在 CI 仍在跑时 push(会取消/孤儿化进行中的 CI 与 **AI reviews**,浪费 token 且无完整结果) |
|
|
39
|
+
| 一批本地修复 **合并为一次 push**(本 head 波次 settled 后) | 同一波次未 settled 就连续多次 push |
|
|
40
|
+
|
|
41
|
+
**Push gate(每次 push 前必须核对)**:
|
|
42
|
+
|
|
43
|
+
1. 当前 PR head 的 **required CI**(及已启动的检查)均已 **completed**(success / failure / cancelled — 不得仍为 queued / in_progress)
|
|
44
|
+
2. 附着在该 head 的 **AI / bot review 波次**已跑完(无进行中的 review job;若宿主无法探测 job,则至少等 CI settled **且** review 评论不再增长一小段稳定窗口后再 push)
|
|
45
|
+
3. 仅当 **1–2 满足** 且本地仍有未推送修复时,才 **push 一次**
|
|
46
|
+
4. Push 后:等 **新 head** 的 CI + reviews 全部跑完 → 再决定下一轮本地修 / push
|
|
47
|
+
|
|
48
|
+
**顺序记忆**:`observe findings → fix locally early → wait until CI + review wave idle → push batch → wait new wave → repeat`。
|
|
49
|
+
|
|
50
|
+
> **Engine check (when available):** run `mstar iteration push-cadence [--ci-running] [--review-wave]` (or `import { pushCadenceProbe } from "@mstar-harness/engine"` in a host hook) to probe the push gate above. On `fail` -> do not proceed; fix and re-run. Skill text below remains authoritative when the runtime is absent.
|
|
51
|
+
History rewrite / force-with-lease / 改写后证据失效规则 SSOT → `mstar-branch-worktree`「History rewrite 与推送安全」节;本节只管 push 时序。
|
|
52
|
+
|
|
53
|
+
### 5.1 Loop(repeat until §5.5 exit)
|
|
54
|
+
|
|
55
|
+
1. **Status** — PR mergeable?required CI?unresolved review threads?**任一 CI/AI review 是否仍在跑?**
|
|
56
|
+
2. **Merge conflicts** — blocking 则在 integration 分支**本地**解决;**仅当 §5.1a push gate 满足时**再 push(意图冲突 → **Blocked**)
|
|
57
|
+
3. **Reviews** — fetch unresolved threads;triage;dispatch **本地**修复(可在上一波次仍在跑时开工)
|
|
58
|
+
4. **CI** — 失败项在 PR 范围内**本地**修复(可提前开工);**不**在 CI 仍在跑时 push
|
|
59
|
+
5. **Push** — 仅当 §5.1a 满足:无 in-flight CI,上一波 CI **与** reviews 均已跑完 → **一次** push 本批修复
|
|
60
|
+
6. **Review fix hygiene**(每次因 review 而 push 后):
|
|
61
|
+
- 在同 thread **comment**(改动 + 验证)
|
|
62
|
+
- **Resolve** when addressed
|
|
63
|
+
7. Return to step 1(CI 结束后若出现 **新** reviews → 继续本地修,再等 idle 后 push)
|
|
64
|
+
|
|
65
|
+
**Optional host helpers(command 层发现;非 `mstar-*` load order)**:
|
|
66
|
+
|
|
67
|
+
| Priority | Helper | When |
|
|
68
|
+
|----------|--------|------|
|
|
69
|
+
| 1 | `babysit` or any `*-babysit` skill(first readable `SKILL.md`) | **Default prefer** — CI green + reviews resolved loop |
|
|
70
|
+
| 2 | `greploop` | **Optional** — only when the **repo** uses Greptile / has `greploop` available; then run for Greptile **5/5** in addition to babysit/`*-babysit` (or fallback) gates |
|
|
71
|
+
| 3 | neither | Command fallback = babysit-equivalent CI + reviews gates |
|
|
72
|
+
|
|
73
|
+
When both babysit/`*-babysit` and greploop apply: **babysit/`*-babysit` first**(CI + reviews),then optional greploop for Greptile score. Discovery paths → `mstar-iteration` §5 (iteration command layer).
|
|
74
|
+
|
|
75
|
+
### 5.2 Phase 5 exit checklist(迭代交付完成)
|
|
76
|
+
|
|
77
|
+
打印 **`## Phase 5 exit checklist`**;全 `[x]` 后方可宣称 **迭代交付完成**:
|
|
78
|
+
|
|
79
|
+
- [ ] PR mergeable(无 blocking merge conflicts)
|
|
80
|
+
- [ ] All **required** CI checks green on latest head
|
|
81
|
+
- [ ] All review threads **resolved**(或用户书面 waive 特定 thread)
|
|
82
|
+
- [ ] §5.1 review comment + resolve 已覆盖本轮所有 addressed feedback
|
|
83
|
+
- [ ] Host todo `phase-5-pr-merge-ready` 可勾选
|
|
84
|
+
|
|
85
|
+
PR **merge** 本身可仍由用户手动执行,除非 Assignment 明确授权 auto-merge。
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Phase 5 helper skill discovery(babysit / greploop)
|
|
2
|
+
|
|
3
|
+
> Loaded by `mstar-iteration` §5 (iteration command layer) before the first merge-ready loop pass. Search for optional **non-`mstar-*`** helper skills;first readable `SKILL.md` wins per name. Does **not** enter `mstar-*` load order.
|
|
4
|
+
|
|
5
|
+
## Search paths(示例,按宿主扩展)
|
|
6
|
+
|
|
7
|
+
| Skill | Search paths |
|
|
8
|
+
|-------|--------------|
|
|
9
|
+
| `babysit` / `*-babysit` | `skills/babysit/SKILL.md`;`skills/*-babysit/SKILL.md`;`~/.cursor/skills-cursor/babysit/SKILL.md`;`~/.cursor/skills-cursor/*-babysit/SKILL.md`;`~/.agents/skills/babysit/SKILL.md`;`~/.agents/skills/*-babysit/SKILL.md` |
|
|
10
|
+
| `greploop`(optional) | `skills/greploop/SKILL.md`;`~/.cursor/skills-cursor/greploop/SKILL.md`;`~/.agents/skills/greploop/SKILL.md`;Codex plugin `skills/greploop/` — **only adopt when the repo uses Greptile / has greploop** |
|
|
11
|
+
|
|
12
|
+
## Mode selection(babysit-first)
|
|
13
|
+
|
|
14
|
+
| Priority | Condition | Read before loop | Primary done signal |
|
|
15
|
+
|----------|-----------|------------------|---------------------|
|
|
16
|
+
| 1 | `babysit` **or** any `*-babysit` found | that skill’s `SKILL.md`(prefer exact `babysit`, else first matching `*-babysit`) | Required CI **all green** + **all** review threads **resolved** |
|
|
17
|
+
| 2 | `greploop` found **and** repo has Greptile/greploop | `greploop` SKILL.md | Greptile score **5/5** on this PR(**additive** — does not replace priority-1 gates) |
|
|
18
|
+
| 3 | else neither babysit/`*-babysit` | —(command fallback = babysit 同级 CI + reviews 门禁) | Required CI **all green** + **all** review threads **resolved** |
|
|
19
|
+
|
|
20
|
+
**Both babysit/`*-babysit` and greploop apply**: run **babysit/`*-babysit` first**(CI + reviews),then optional greploop until Greptile **5/5**(串行)。Do **not** prefer greploop over babysit。
|
|
21
|
+
|
|
22
|
+
**No greploop / repo without Greptile**: skip greploop entirely — babysit/`*-babysit` or fallback only。
|
|
23
|
+
|
|
24
|
+
**All modes** share the §5.2 exit checklist(CI + reviews + mergeable;Greptile 5/5 only when greploop mode ran or repo shows a Greptile score)。
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mstar-phase-gates
|
|
3
|
+
description: "Morning Star Spec-Driven 双阶段门禁:Prepare(`specify → clarify → plan`)、Execute(`plan(locked) → tasks → implement`;多 task 默认 `Execution mode: sdd`)。覆盖意图门禁、长期目标优先、分批 roadmap 强制落盘、clarify 纪律、hotfix 压缩路径、可验证编辑、Phase Gate 最小证据。Read when judging Prepare/Execute gates, before first implement dispatch, when product/architect enter Prepare, or to justify not skipping plan/clarify. `@project-manager` 每轮非 hotfix 必读;`@product-manager`/`@architect` 锁规格/plan 必读 Prepare;实现角色读 Execute + hotfix 例外。`quick` 禁豁免规则在 `mstar-harness-core`。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Load order(必读顺序)
|
|
7
|
+
|
|
8
|
+
**首次 Read 本 skill 前:必须先 Read `mstar-harness-core`(SKILL.md)。** `{PLAN_DIR}` / plan 文件落盘见 **`mstar-conventions`**。冲突时 **以 `mstar-harness-core` 为准**。
|
|
9
|
+
|
|
10
|
+
## Spec-Driven 双阶段门禁(非热修强制)
|
|
11
|
+
|
|
12
|
+
### A. Prepare:`specify → clarify → plan`
|
|
13
|
+
|
|
14
|
+
- **`specify`** — 问题陈述、用户价值、范围/非目标、DoD 草案。
|
|
15
|
+
- **`clarify`** — 关键歧义清单与结论;高影响歧义必须收敛,否则 `Blocked`。
|
|
16
|
+
- **意图核对(Intent gate)**:区分**用户字面表述**与**待解决的真正问题**;手段与目标混淆须在此收敛。
|
|
17
|
+
- **结构化澄清**:宿主提供 `question` 工具时优先使用;否则用结构化正文选项。宿主细节在各自的 `mstar-host` skill。
|
|
18
|
+
- **`clarify` 核心纪律(Prepare)**:对 plan/方案的**每个方面**持续核对,直到与用户达成**共享理解**;沿**设计决策树**逐枝下行,**一次只收敛一个决策点**及其依赖,再进入下一枝。
|
|
19
|
+
1. **能查库则查库**:若问题可通过探索代码库(实现、配置、`{SPECS_DIR}`、`{KNOWLEDGE_DIR}`、`{ITERATION_DIR}` 等)得到答案,**先探索、不向用户提问**。
|
|
20
|
+
2. **每问带推荐**:每个仍需用户确认的问题,须给出**推荐答案**(及简短理由),便于快速对齐。
|
|
21
|
+
3. **收口摘要**:`clarify` 结束前列出:已决事项、仍 open 的假设、对 `plan` 的约束。
|
|
22
|
+
- **`plan`** — 技术方案、长期目标状态、模块边界/接口契约、风险与回滚点、验证计划。
|
|
23
|
+
- **意图门禁**:锁 plan 前须能书面写清**真实目标 / 成功判据 / 非目标**三项;否则 Prepare 未通过。
|
|
24
|
+
- **长期方案优先**:默认先设计目标状态,再裁剪本轮可交付切片;不得以“临时方案 / 混合方案 / 以后再说”替代目标设计。
|
|
25
|
+
- **Durable Roadmap Gate**:若本轮只做部分范围,plan 必须写明 roadmap(批次、依赖、暂缓项、owner/触发条件、最终完成定义)。只有一句“后续再做 / next plan”视为未通过 plan gate。
|
|
26
|
+
|
|
27
|
+
### B. Execute:`plan(locked) → tasks → implement`
|
|
28
|
+
|
|
29
|
+
- **`plan(locked)`** — 冻结基线;实现中出现新约束时**先回写 plan 再继续**。
|
|
30
|
+
- **`tasks`** — 含依赖顺序、并行标记、完成判据;每任务可追踪到 plan、roadmap 批次与验收标准。
|
|
31
|
+
- **并行标签**:≥2 条实现轨同时分派 → `Dispatch mode: parallel independent tracks`;同仓可写并发 → `Worktree isolation: required`(清单 **`mstar-branch-worktree`** → **`references/parallel-writable-pre-dispatch.md`**)。
|
|
32
|
+
- **`implement`** — 按 tasks 顺序执行;多 task plan **默认** `Execution mode: sdd`(`mstar-sdd`);hotfix 可 `inline`。完成进入 `InReview`;遵循 **`mstar-coding-behavior`**。
|
|
33
|
+
|
|
34
|
+
### 可验证编辑与上下文纪律
|
|
35
|
+
|
|
36
|
+
- **读后再改**:修改文件前以磁盘内容为准重读(`Read`/等价工具)。
|
|
37
|
+
- **小步应用**:Patch 失败**禁止**在同一过时锚点连试;重读、缩小变更单元或拆步。
|
|
38
|
+
- **多文件改动**:逐项核对路径与引用,避免未验证的批量替换。
|
|
39
|
+
|
|
40
|
+
### Hotfix 例外
|
|
41
|
+
|
|
42
|
+
压缩路径与事后补记见下文 **§ Hotfix 例外**(Playbook 末尾)。
|
|
43
|
+
|
|
44
|
+
## Phase Gate Playbook
|
|
45
|
+
|
|
46
|
+
执行动作与最小产物见上文 **§ Spec-Driven 双阶段门禁**。本节仅 **Playbook 补充**(不重复 Prepare/Execute 长文)。
|
|
47
|
+
|
|
48
|
+
### Execute 补充(Playbook 专有)
|
|
49
|
+
|
|
50
|
+
- **`plan locked`**
|
|
51
|
+
- 最小动作:在 plan 或 notes 记录当前锁定版本(日期或 hash)。
|
|
52
|
+
- **Plan 质量门**(新 plan / 大改):无 placeholder(`...`、`TBD`、`etc.`);含 **Global Constraints** 与 per-task **Interfaces**;PM self-review 三问(每 task 可独立验证?依赖顺序清晰?无隐含假设?)— 见 `mstar-artifacts/templates/plan.main.md` + **`mstar-artifacts/references/plan-quality-bar.md`**(自包含/验证门/STOP 条件/drift check/done criteria)。
|
|
53
|
+
- **`implement`**
|
|
54
|
+
- 最小产物:实现 diff、自检证据、回报与 handoff;行为准则 → **`mstar-coding-behavior`**;编辑纪律 → 上文「可验证编辑与上下文纪律」。
|
|
55
|
+
- **知识库 / 迭代 compass**:**默认**开工前扫 `{KNOWLEDGE_DIR}/README.md` 索引(若存在)并阅读与当轮相关的 **Active** 行(**即使 metadata 无 knowledge 链接**);若 `plans[].metadata` 登记了 `primary_spec` / `spec_refs` / `iteration_compass` / `iteration_refs`,所链接文档**仍须**阅读;两类阅读均须在回报中说明已对齐 → **`mstar-conventions`** · **`mstar-artifacts/references/knowledge-and-designs.md`**。
|
|
56
|
+
|
|
57
|
+
## 角色职责
|
|
58
|
+
|
|
59
|
+
- `@project-manager`
|
|
60
|
+
- 负责门禁判定与 Assignment 中的 `Phase Gate Checklist`。
|
|
61
|
+
- 在 `Status Update` 汇报当前 gate 状态。
|
|
62
|
+
- 开发角色(`@frontend-dev` / `@fullstack-dev` / `@fullstack-dev-2`)
|
|
63
|
+
- 仅在 Execute gate 放行后开始实现。
|
|
64
|
+
- 发现新约束时先回报并请求回写 plan。
|
|
65
|
+
- `@qa-engineer` — when **`QA gate: mandatory`**, L4 per `mstar-roles/references/qa-engineer/acceptance-gate.md`; `pm-acceptance` is PM-only (`qa-trigger-matrix.md`).
|
|
66
|
+
|
|
67
|
+
## 迭代级活动
|
|
68
|
+
|
|
69
|
+
per-plan 门禁通过后,PM 在**迭代层面**管理以下活动(不计入 per-plan gate):
|
|
70
|
+
|
|
71
|
+
- **迭代启动**(`mstar-iteration` § Phase 1):锁定迭代范围、**显式 branch policy**(`iteration_base_branch` / `target_branch`)、产出 compass。
|
|
72
|
+
- **迭代驱动**(`mstar-iteration` § Phase 2 Autonomous Execute):per-plan 派发循环(分支→实现→QC→**QA gate**→Done→合并),跨 plan 进度追踪,更新 compass 中各 plan 状态。
|
|
73
|
+
- **迭代收口**(`mstar-iteration` § Phase 3 iteration-close):迭代内所有 plan Done 后,执行一轮知识结晶(`mstar-compound`)沉淀迭代经验,更新 roadmap,标记迭代完成。
|
|
74
|
+
|
|
75
|
+
per-plan Done 是 per-plan 的闭环终点;compound 是迭代级收口活动,不影响 per-plan 状态判定。
|
|
76
|
+
|
|
77
|
+
> **Engine check (when available):** run `mstar iteration gate --workflow <id> --compass <delivery-compass.md>` (or `import { evaluatePhaseGate } from "@mstar-harness/engine"` in a host hook) to evaluate the iteration phase-transition gate (Phase 2 → 3 → 4) against the workflow snapshot when iteration-level activities above are reached — per-plan Prepare/Execute gate judgment stays prompt. On `fail` (gate-blocking violations) -> do not proceed; fix and re-run. Skill text below remains authoritative when the runtime is absent.
|
|
78
|
+
|
|
79
|
+
## Plan 目录与审查证据(启用 `{PLAN_DIR}` 时)
|
|
80
|
+
|
|
81
|
+
- 进入 `InReview` 后,QC/QA 原始过程报告默认落入 `{SDD_DIR}/review/`(**SDD 默认 tri** `qc1`…`qc-consolidated`;**inline** 单席 `qc.md`)。**fix 后默认 targeted re-review**。SDD per-task review 在 implement 波次内完成(`mstar-sdd` task reviewer)。PM 将 durable gate summary 回写主 plan / workflow snapshot,而不是把 raw reports 作为默认 git 产物。
|
|
82
|
+
- 非阻断项与后续技术债:PM 汇总后写入 project register `{PROJECT_DIR}/<id>/residuals.json` → `entries[<plan-id>]`(**open**,默认 `{HARNESS_DIR}/projects/<id>/`;canonical 见 **`mstar-artifacts` SKILL.md**);关闭时在 register 内 **in place** 置 `lifecycle` / `closed_at` / `closure_note`,与 `mstar-review-qc` 一致。每条 **`severity`** 遵守 **`mstar-artifacts/references/status-and-residuals.md`**「Residual findings:severity(SSOT,机器字段)」。
|
|
83
|
+
|
|
84
|
+
## 快速判定(PM)
|
|
85
|
+
|
|
86
|
+
1. `specify` 是否完成?
|
|
87
|
+
2. `clarify` 是否完成(高影响歧义是否收敛)?
|
|
88
|
+
3. 意图门禁是否满足(真实目标 / 成功判据 / 非目标已写明)?
|
|
89
|
+
4. `plan` 是否完成并可引用?
|
|
90
|
+
5. 若 plan 涉及 UI 工作:`DESIGN.md` 是否存在且满足声明的 completeness level(见 `mstar-design-md`)?
|
|
91
|
+
6. 若分批/暂缓/临时绕行,roadmap 是否落在 plan/status 中,而不是只在对话里?
|
|
92
|
+
7. `tasks` 是否完成?
|
|
93
|
+
8. Assignment 是否含 **`Task category`**(实现类任务)并与 Owner 一致?
|
|
94
|
+
9. 若中途出现 plan drift,是否先回写再继续?
|
|
95
|
+
10. 实现说明中是否体现"最小耐久切片 + 手术式改动 + 可验证检查"?
|
|
96
|
+
|
|
97
|
+
**任一项为「否」时,`Gate decision` 必须是 `blocked`**。
|
|
98
|
+
|
|
99
|
+
> 迭代级活动(compound / iteration-close)见 `mstar-iteration`;不属于 per-plan gate 判定项。
|
|
100
|
+
|
|
101
|
+
## Hotfix 例外
|
|
102
|
+
|
|
103
|
+
- 允许路径:`specify(min) -> plan(min) -> implement`
|
|
104
|
+
- 必须补记:
|
|
105
|
+
- 事后 `clarify/RCA`
|
|
106
|
+
- 触发条件、影响范围、修复与回滚摘要
|
|
107
|
+
|
|
108
|
+
## 最小证据要求
|
|
109
|
+
|
|
110
|
+
- Prepare 阶段证据:问题定义、歧义结论、plan 链接。
|
|
111
|
+
- Execute 阶段证据:tasks 清单、实现自检、审查/验证证据。
|
|
112
|
+
- 结论证据:不得仅写"done",必须可复核(命令、输出、截图或复现步骤)。
|
|
113
|
+
|
|
114
|
+
## References
|
|
115
|
+
|
|
116
|
+
- plan 文件落盘与路径符号 → **`mstar-conventions`**
|
|
117
|
+
- 多 task 默认 `Execution mode: sdd` 的 implement 波次 → **`mstar-sdd`**
|
|
118
|
+
- QC / QA 审查链与 residual 登记 → **`mstar-review-qc`**
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mstar-project-governance
|
|
3
|
+
description: Morning Star 项目治理层约定 —— `projects/<id>/roadmap.md` 编写约定(frontmatter schema + body 约定)与 `projects/<id>/residuals.json` register 生命周期(open → verified close in place、severity 枚举、provenance 字段)、`_default` 项目回退规则。写/审 roadmap、登记或关闭 residual、判断项目归属(含无项目流程的 `_default` fallback)、或对齐 roadmap/register 与 engine 校验时 Read。schema 事实与 `packages/engine/src/project.ts` 逐字一致;字段语义 SSOT → `mstar-artifacts`;路径符号 → `mstar-conventions`。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# mstar-project-governance(项目治理层:roadmap + register)
|
|
7
|
+
|
|
8
|
+
## Load Order
|
|
9
|
+
|
|
10
|
+
- 先 Read **`mstar-harness-core`**(SKILL.md;冲突时以 core 为准)。
|
|
11
|
+
- 路径符号(`{PROJECT_DIR}` / `{WORKFLOW_DIR}` 解析与 `.mstarc` 声明)→ **`mstar-conventions`**。
|
|
12
|
+
- 字段语义 SSOT(severity 含义、findings cleanup modes、close 协议全文、engine-check 查询)→ **`mstar-artifacts`**(`references/status-and-residuals.md`)。本 skill 只承载**编写约定与生命周期规则**,不重复字段全文。
|
|
13
|
+
|
|
14
|
+
## Scope
|
|
15
|
+
|
|
16
|
+
项目层 = `{PROJECT_DIR}/<id>/`(默认 `{HARNESS_DIR}/projects/<id>/`;`.mstarc` `project_dir` 声明时用声明值):
|
|
17
|
+
|
|
18
|
+
| 文件 | 内容 |
|
|
19
|
+
|------|------|
|
|
20
|
+
| `roadmap.md` | 项目方向与目标(frontmatter machine-checkable + body 约定) |
|
|
21
|
+
| `residuals.json` | 项目 register:open residual 的 **SSOT**(`entries[<plan-id>]` 数组) |
|
|
22
|
+
| `references/` | 主题化研究语料(surveys / epic 备注 / 第三方 notes)。与 `{SPECS_DIR}`(冻结规格/ADR)、`{KNOWLEDGE_DIR}`(compound 结晶实现 SSOT)、`{ITERATION_DIR}`(迭代 package)**不同**;engine 只列文件名(`listProjectReferenceFiles`),**不做** markdown schema 校验 |
|
|
23
|
+
|
|
24
|
+
- **`_default` 回退**:无项目流程(未指定 project id 的 plan / 单 plan / hotfix)落到 **`projects/_default/`**(engine `_DEFAULT_PROJECT`)。项目归属由 plan 的 project id 决定;未归属即 `_default`。
|
|
25
|
+
- 本 skill 的 schema 事实与 **`packages/engine/src/project.ts`** 逐字一致(`validateRoadmap` / `validateProjectRegister` / `findingsCleanupGate` / `techDebtRollup`);技能文本是语义 SSOT,engine 是确定性校验。
|
|
26
|
+
|
|
27
|
+
## Roadmap 编写约定(`projects/<id>/roadmap.md`)
|
|
28
|
+
|
|
29
|
+
### Frontmatter schema(machine-checkable;engine `validateRoadmap`)
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
---
|
|
33
|
+
project_id: <id>
|
|
34
|
+
title: <title>
|
|
35
|
+
status: active | paused | completed
|
|
36
|
+
created_at: YYYY-MM-DD
|
|
37
|
+
milestones: [ ... ] # optional
|
|
38
|
+
residuals_ref: residuals.json # optional
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
# <title>
|
|
42
|
+
|
|
43
|
+
## Direction
|
|
44
|
+
...
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
| 字段 | 必填 | 规则 |
|
|
48
|
+
|------|------|------|
|
|
49
|
+
| `project_id` | 是 | 非空字符串 |
|
|
50
|
+
| `title` | 是 | 非空字符串 |
|
|
51
|
+
| `status` | 是 | 枚举 `active | paused | completed`(其他值 = violation) |
|
|
52
|
+
| `created_at` | 是 | `YYYY-MM-DD` |
|
|
53
|
+
| `milestones` | 否 | 非空字符串列表(空 `milestones:` 视同缺省) |
|
|
54
|
+
| `residuals_ref` | 否 | 非空字符串(指向 register 文件,如 `residuals.json`) |
|
|
55
|
+
|
|
56
|
+
### Body 约定(warnings only —— 永不翻转 `ok`)
|
|
57
|
+
|
|
58
|
+
- 应有 **`## Direction`** 小节陈述项目方向。
|
|
59
|
+
- 目标项以 markdown task-list 列出:`- [ ]` 计划/进行中,`- [x]` 已交付。
|
|
60
|
+
- **无 residual→goal 自动链接**(本迭代 Non-Goal):goal items 不携带 register id;residual 与目标的对齐是人工约定,不是硬门禁。
|
|
61
|
+
|
|
62
|
+
> **Engine check (when available):** import `validateRoadmap` from `@mstar-harness/engine` in a host hook(无 CLI 命令)校验 `projects/<id>/roadmap.md`。On `fail` -> do not proceed; fix and re-run. Skill text below remains authoritative when the runtime is absent.
|
|
63
|
+
|
|
64
|
+
## Register 生命周期(`projects/<id>/residuals.json`)
|
|
65
|
+
|
|
66
|
+
### 文档形状、必填字段与枚举(单址 → `mstar-artifacts`)
|
|
67
|
+
|
|
68
|
+
Register 文档形状(`entries[<plan-id>]` 数组 JSON)、**9 个必填字段**(`id`/`title`/`severity`/`source`/`scope`/`decision`/`owner`/`target`/`tracking`,engine `RESIDUAL_REQUIRED_FIELDS`)与 **severity / decision / lifecycle 枚举**的逐字 schema → **`mstar-artifacts`** `references/status-and-residuals.md`(「Basic structure · project register」+「Residual findings: severity」)。本 skill 只承载编写约定与生命周期规则,**不重复字段全文**。
|
|
69
|
+
|
|
70
|
+
- `entries[<plan-id>]` 值是**数组** —— v1 `residual_findings[plan-id]` 多 finding 语义逐字保留(一个 plan 可持 2+ open residual)。
|
|
71
|
+
- 每条 = v1 residual entry **逐字** + provenance 字段。
|
|
72
|
+
|
|
73
|
+
### 生命周期:open → verified close(in place)
|
|
74
|
+
|
|
75
|
+
- **open**:缺省状态;`lifecycle` 缺省/`false`/`null` = `open`。
|
|
76
|
+
- **close(唯一关闭路径)**:在 register **in place** 置 `lifecycle`(≠ `open`)+ `closed_at`(`YYYY-MM-DD`)+ `closure_note`;推荐 `closure_evidence`。v1 的 `archived/residuals/` 归档路径与 `status archive-residuals` 已移除(该命令现为报错桩,指向 register 状态变更)。
|
|
77
|
+
- **closed 完整性**:`lifecycle` ≠ `open` 时缺 `closed_at` / `closure_note` = violation。
|
|
78
|
+
- **谁更新**:PM 在 consolidated 决策后分配 R# 并登记;`QA gate: mandatory` 时 `qa-engineer` 验证后关闭;`pm-acceptance` 时 PM 验收清单完成后关闭。
|
|
79
|
+
- close 协议全文 → **`mstar-artifacts`** `references/status-and-residuals.md`(「Residual findings lifecycle」)。
|
|
80
|
+
|
|
81
|
+
### Provenance(register 专属字段)
|
|
82
|
+
|
|
83
|
+
| 字段 | 规则 |
|
|
84
|
+
|------|------|
|
|
85
|
+
| `source_plan` | 必填非空字符串;**必须等于其 entries key**(不匹配 = 损坏的 provenance,violation) |
|
|
86
|
+
| `registered_at` | 必填 `YYYY-MM-DD` |
|
|
87
|
+
| `lifecycle_id` | 可选非空字符串(迭代拥有该 plan 时的 workflow id) |
|
|
88
|
+
|
|
89
|
+
### Findings cleanup(与 Assignment 联动)
|
|
90
|
+
|
|
91
|
+
- Assignment **`Findings cleanup: zero-residual | allow-residual`** 是唯一 mode 来源(`metadata.findings_cleanup` mirror 已删);迭代 Phase 2 默认 `zero-residual`。
|
|
92
|
+
- `zero-residual`:可修 findings 当轮 fix → re-review 清干净;仅真 blocker 可 defer 且须 Durable Roadmap + `target`;`nit` 必须当场修或删;waived/risk-accepted 必须关闭,不得留 open。
|
|
93
|
+
- `allow-residual`:仅 unresolved **critical** 阻止 Approve。
|
|
94
|
+
- mode 全文与 enforcement → **`mstar-artifacts`** `references/status-and-residuals.md`(「Findings cleanup modes」+ 其 engine check)。
|
|
95
|
+
|
|
96
|
+
## Workflow
|
|
97
|
+
|
|
98
|
+
1. 确定项目归属:plan 的 project id(无 → `_default`)。
|
|
99
|
+
2. 写/审 roadmap:frontmatter 过 `validateRoadmap`(schema violations 决定 `ok`;body 约定缺失只出 warnings)。
|
|
100
|
+
3. 登记 residual:新 finding 只写 `{PROJECT_DIR}/<id>/residuals.json` → `entries[<plan-id>]`,登记前过 `validateResidual` / `validateProjectRegister`(fail-loud)。
|
|
101
|
+
4. 关闭:验证后 in place 置 `lifecycle` / `closed_at` / `closure_note`。
|
|
102
|
+
5. 汇总:`mstar status tech-debt [<project-dir>]` 打印跨 register 的 rollup(total_open / by_severity / by_target / by_plan)。
|
|
103
|
+
|
|
104
|
+
## Decision Rules
|
|
105
|
+
|
|
106
|
+
- **只写 v2 地址**:open residual 只登记 project register;v1 根级 `residual_findings` 仅 legacy 只读(`mstar migrate` 一次性迁移),**禁止双写**。
|
|
107
|
+
- **fail-loud handoff**:登记前必须过 engine 校验;malformed → reject + rewrite,绝不静默降级写入。
|
|
108
|
+
- **severity 是机器字段**:QC 报告的 Critical / Warning / Suggestion 是**章节标题**,不得逐字抄入 JSON `severity`。
|
|
109
|
+
- **`_default` 不豁免校验**:无项目流程同样走 register(`projects/_default/residuals.json`),schema 与生命周期规则不变。
|
|
110
|
+
|
|
111
|
+
## Evidence
|
|
112
|
+
|
|
113
|
+
正确结果 = 可复核产物:`projects/<id>/roadmap.md` 过 `validateRoadmap`(0 violations;warnings 可接受)、`projects/<id>/residuals.json` 过 `validateProjectRegister`、`mstar status findings-cleanup <plan-id>` 按 Assignment mode 绿、`mstar status tech-debt` 输出与 register 一致。拒绝「仅对话声称」。
|
|
114
|
+
|
|
115
|
+
## References
|
|
116
|
+
|
|
117
|
+
- **`mstar-artifacts`**(`references/status-and-residuals.md`)— 字段语义 SSOT:severity 含义与门禁关系、findings cleanup modes 全文、close 协议、engine-check 查询示例
|
|
118
|
+
- **`mstar-conventions`** — `{PROJECT_DIR}` / `{WORKFLOW_DIR}` 路径符号、`.mstarc` 声明、gitignore 策略
|
|
119
|
+
- **`mstar-review-qc`** — PM QC 编排与 residual 留档(PM 同轮必读)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mstar-review-qc
|
|
3
|
+
description: "Morning Star QC orchestration — **SDD mandatory plan QC tri-review** (`{SDD_DIR}/review/qc1.md`…`qc3.md` + consolidated); inline/hotfix single-seat (`qc.md` in review bundle); PM dispatch timing, tri identity gate, residual registration contract, layer boundaries, durable plan summary. Leaf QC execution → **`mstar-roles/references/qc-specialist/`**. Per-task review is **`mstar-sdd`** (L2). Primary reader: **`project-manager`** when dispatching or consolidating QC."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Load order(必读顺序)
|
|
7
|
+
|
|
8
|
+
**首次 Read 本 skill 时:必须先 Read `mstar-harness-core`。** 同仓检出与派发 → **`mstar-branch-worktree`** · **`mstar-dispatch-gates`**。冲突时 **以 `mstar-harness-core` 为准**。
|
|
9
|
+
|
|
10
|
+
**摘要**:职责分层 → **`references/review-responsibility-boundaries.md`**(**L3 = code reviewer / diff+logic;不跑 test/build**;运行时验证归 L1/L4)。Leaf QC 执行 → **`mstar-roles/references/qc-specialist/`**。L4 验收 → **`mstar-roles/references/qa-engineer/`**。
|
|
11
|
+
|
|
12
|
+
# Morning Star QC Orchestration(PM · 编排层)
|
|
13
|
+
|
|
14
|
+
## L3 是什么(派发前对齐)
|
|
15
|
+
|
|
16
|
+
- Plan QC seats are **reviewers**: whole-branch **diff / logic / risk** lenses — same family as PR review, not a parallel QA test lane.
|
|
17
|
+
- **Do not** instruct QC in Assignment to “run the suite / build / lint to confirm” on shared tri cwd; that causes peer `Blocked` and collapses L3 into L4.
|
|
18
|
+
- Runtime proof stays with **implementer evidence** and **`QA gate`** (`qa-engineer` or PM acceptance).
|
|
19
|
+
|
|
20
|
+
## 分派时机(与 plan / batch 对齐)
|
|
21
|
+
|
|
22
|
+
- **`Execution mode: sdd`**:全部 task + L2 task reviewers 完成后 → **强制 tri-review**(`QC mode: full tri-review`,**N=3**)。Assignment 须含 **branch review-package** 路径与 `{SDD_DIR}/review/qcN.md` report paths。PM 汇总 `{SDD_DIR}/review/qc-consolidated.md` 并回写主 plan durable summary。
|
|
23
|
+
- **`Execution mode: inline`**:单席 `qc-specialist` → `{SDD_DIR}/review/qc.md`(**N=1**),或按 hotfix 路由跳过。
|
|
24
|
+
- **After `Request Changes` (default)**:**Targeted re-review** — PM dispatches only seats that **raised** blocking findings; each updates **the same** `{SDD_DIR}/review/qcN.md` (`## Revalidation`, update verdict). **Do not** spawn `qcN-rev2.md` for targeted re-review. Naming → **`mstar-artifacts/references/plan-files-and-reports.md`** § QC 三审触发时机.
|
|
25
|
+
- **Full tri re-review (exception)**:Assignment **`QC re-review: full tri-review`** → new basenames (`qc1-rev2.md` …); PM marks **active wave** in consolidated decision.
|
|
26
|
+
|
|
27
|
+
> **Engine check (when available):** run `mstar review seats <assignment-file> [--mode sdd|inline|targeted] [--reviewers <role1,role2,...>]` (or `import { executionModeToN, assertTriIdentity } from "@mstar-harness/engine"` in a host hook) to map `Execution mode` to its QC seat count N above and assert tri identity. On `fail` -> do not proceed; fix and re-run. Skill text below remains authoritative when the runtime is absent.
|
|
28
|
+
|
|
29
|
+
## 三审身份与模型独立性门禁(PM 强制)
|
|
30
|
+
|
|
31
|
+
在 PM 发出 **initial** QC 三审后、进入汇总前:
|
|
32
|
+
|
|
33
|
+
- **Initial wave**:三个角色 ID 须为 `qc-specialist`、`qc-specialist-2`、`qc-specialist-3`;模型与宿主配置一致。
|
|
34
|
+
- **Targeted re-review**:仅校验 Assignment 列出的席位;映射错误 → `dispatch invalid`,重派。
|
|
35
|
+
- 并行 QC 退化为同模型且无法修复 → Status Update 标记 `degraded tri-review`;默认不放行。
|
|
36
|
+
|
|
37
|
+
## Residual Findings 留档门禁(PM)
|
|
38
|
+
|
|
39
|
+
- 先读 Assignment **`Findings cleanup`**(`plans[].metadata.findings_cleanup` mirror 已删——Assignment 是唯一 mode 来源)→ **`mstar-artifacts/references/status-and-residuals.md`**「Findings cleanup modes」。
|
|
40
|
+
- **`Findings cleanup: zero-residual`**(iteration Phase 2 默认):可修 **Warning / Suggestion / Critical** → **fix-now + targeted re-review**,**禁止**把可修项登记为 open R# 或用 `Approve with residuals` 收口;**`nit`** 当场修或丢弃(无 R#)。仅 **真 blocker-defer**(外部依赖 / 须下轮产品决策 / 用户本轮显式 defer + Durable Roadmap)可登记 open R#(`decision: defer`)。此时 `Approve with residuals` **仅**允许剩余项全是该类 defer。
|
|
41
|
+
- **`Findings cleanup: allow-residual`**(standalone / hotfix / inline 默认):阻断项修复后仍有 **Warning / Suggestion** 或技术债 → 必须留档;**`Approve with residuals`** 仅当无 open **Critical**;PM 汇总结论须含 residual 清单与跟踪位置。
|
|
42
|
+
- **`severity`** 仅允许 `mstar-artifacts/references/status-and-residuals.md` 枚举。
|
|
43
|
+
- **Open SSOT**:`{PROJECT_DIR}/<id>/residuals.json`(默认 `{HARNESS_DIR}/projects/<id>/`;无项目流程 `_default`)→ `entries[<plan-id>]`;PM 在 consolidated 决策分配 **R1…** 并写入。关闭 → 在 register 内 **in place** 置 `lifecycle` / `closed_at` / `closure_note`(v1 `archived/residuals/` 与 `archive-residuals` 已移除)。
|
|
44
|
+
- 主 plan 仅作人类索引;不得作为唯一 SSOT。
|
|
45
|
+
- 未完成 residual 留档(`allow-residual`)或未清干净可修 findings(`zero-residual`)→ 不得进入 plan **Done**。
|
|
46
|
+
|
|
47
|
+
### Residual 关闭与验证
|
|
48
|
+
|
|
49
|
+
- R# 修复后:审查/QA 结论指向可复核证据;**`project-manager`** 或 **`qa-engineer`**(`QA gate: mandatory`)补全关闭字段后归档并从 open 列表移除。
|
|
50
|
+
- **`waived` / `superseded` / `duplicate`** 须在 `closure_note` 写清依据。
|
|
51
|
+
|
|
52
|
+
## PM consolidated 门禁(摘要)
|
|
53
|
+
|
|
54
|
+
Leaf reviewers apply verdict per **`mstar-roles/references/qc-specialist/report-template.md`**. PM **`{SDD_DIR}/review/qc-consolidated.md`** synthesizes tri (or single-seat `qc.md`) into one gate decision for implement fix waves and QA gate, then records the durable summary in the main plan / workflow snapshot artifacts.
|
|
55
|
+
|
|
56
|
+
### 覆盖语义(未提及 = 未审查)
|
|
57
|
+
|
|
58
|
+
- **未提及 = 未审查**:某 finding / severity 项 / 声明未被任何席位报告提及 → 不得在汇总中标记为已解决或通过;如实标注 `unreviewed`,按需转 targeted re-review 或补充席位。
|
|
59
|
+
- **汇总层零注入**:consolidated 中每条发现可溯源到某 `qcN.md`;PM 不得在汇总层引入席位报告之外的新声明(PM 自身观察走独立 Status Update,不混入 gate 决策输入)。
|
|
60
|
+
- **Unconfirmed 传导**:任一席位 verdict = `Unconfirmed`(`report-template.md` 定义的证据通道失败态)→ gate 决策不得为 `Approve`——先补证据(重发 review-package / 修 diff 基线)再收敛;受影响席位走既有 targeted re-review 机制(同 `qcN.md` `## Revalidation` 原位更新 verdict),不新增 re-review 形态、不改 N 规则。
|
|
61
|
+
|
|
62
|
+
## 证据规则(PM · consolidated 输入)
|
|
63
|
+
|
|
64
|
+
- Critical 发现须含触发条件、影响范围、修复建议。
|
|
65
|
+
- 低置信度发现须含后续验证步骤。
|
|
66
|
+
- 跨任务重复模式应标记。
|
|
67
|
+
|
|
68
|
+
## Workflow
|
|
69
|
+
|
|
70
|
+
QC 编排主链:plan 全部 task + L2 完成后 → PM 按 `Execution mode` 定座次(sdd 强制 tri **N=3** / inline 单席 **N=1**)→ 同一条消息发满 N 个 QC Assignment(含 branch review-package + `{SDD_DIR}/review/qcN.md` report paths)→ 席位按 `references/qc-specialist/report-template.md` 落盘 verdict → PM 汇总 `{SDD_DIR}/review/qc-consolidated.md`(覆盖语义:**未提及 = 未审查**;汇总层零注入)→ `Request Changes` 走 targeted re-review(同 `qcN.md` `## Revalidation` 原位更新 verdict)→ residual 按 `Findings cleanup` 留档 / 关闭 → durable summary 回写主 plan。
|
|
71
|
+
|
|
72
|
+
## References
|
|
73
|
+
|
|
74
|
+
- Leaf QC 执行(checklist / 报告模板 / 透镜)→ **`mstar-roles/references/qc-specialist/`**
|
|
75
|
+
- Per-task review(L2,implement 波次内)→ **`mstar-sdd`**
|
|
76
|
+
- Review bundle 命名与 QC 触发时机 → **`mstar-artifacts/references/plan-files-and-reports.md`**
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Review responsibility boundaries (1.0.0+)
|
|
2
|
+
|
|
3
|
+
## Four layers (orthogonal — do not collapse)
|
|
4
|
+
|
|
5
|
+
| Layer | Who | When | Scope | Input |
|
|
6
|
+
|-------|-----|------|-------|--------|
|
|
7
|
+
| **L1** Implementer | dev subagent | Per task | Write code + **run** TDD / verification evidence | `task-N-brief.md` |
|
|
8
|
+
| **L2** Task reviewer | `code-reviewer` (default; generic fallback when the host agent list lacks it) — PM-dispatched subagent (SDD) | Per task, after implementer | Spec + quality for **one task** (diff-first; no full suite) | brief, report, **task-level** diff |
|
|
9
|
+
| **L3** Plan QC tri (cross-review) | `qc-specialist` + `qc-specialist-2` + `qc-specialist-3` | After **all** tasks on branch | **Code-review seat** — diff, language/logic, security & contract lenses on **whole branch**; **not** the test-execution path | Branch `review-package` MERGE_BASE..HEAD |
|
|
10
|
+
| **L4** QA | `qa-engineer` when **`QA gate: mandatory`**; else PM acceptance | After QC gate | DoD acceptance, residual verify, targeted/full **command** verification, Done recommendation | Review bundle + plan + **L1 evidence** + `status.json` |
|
|
11
|
+
|
|
12
|
+
PM sets **`QA gate`** per `mstar-roles/references/project-manager/qa-trigger-matrix.md`. L4 execution when dispatched → `mstar-roles/references/qa-engineer/acceptance-gate.md`.
|
|
13
|
+
|
|
14
|
+
### L3 vs L4 vs L1 — who runs commands?
|
|
15
|
+
|
|
16
|
+
| Duty | Owner | QC (`qc-specialist*`) |
|
|
17
|
+
|------|-------|------------------------|
|
|
18
|
+
| Produce runnable test/build evidence | **L1** implementer | **Does not** own |
|
|
19
|
+
| Diff / logic / vulnerability / contract review | **L3** QC (and L2 task reviewer) | **Primary job** |
|
|
20
|
+
| Map DoD → evidence; re-run gaps; close residuals | **L4** QA (or PM acceptance) | **Does not** own |
|
|
21
|
+
| Full / targeted test suites, builds, installs | **L1** and/or **L4** | **NEVER** — leave to QA/dev |
|
|
22
|
+
|
|
23
|
+
**Why:** SDD plan QC is **N=3 parallel** on a **shared** `Review cwd`. Build/test/lint toolchains contend for caches and locks and falsely `Blocked` peer reviewers. QC is a **reviewer**, not a second QA lane.
|
|
24
|
+
|
|
25
|
+
**SDD rule:** Layers L1–L2 run **per task** (serial). Layer L3 is **mandatory full tri-review** (`N=3`) whenever **`Execution mode: sdd`** — single-plan **and** iteration **and** multi-plan iteration. Layer L3 is **not** optional “final single review”.
|
|
26
|
+
|
|
27
|
+
**Non-SDD (`Execution mode: inline`):** hotfix / single-stream — plan QC may be **single-seat** (`qc.md`) or skipped per PM routing.
|
|
28
|
+
|
|
29
|
+
Per-task spec/quality is **done** in L2 before L3. QC seats do not re-derive each task from scratch; they cross-review the **whole branch** for gaps L2 could not see.
|
|
30
|
+
|
|
31
|
+
## Plan QC tri (SDD mandatory)
|
|
32
|
+
|
|
33
|
+
- Assignment: **`QC mode: full tri-review`** (implicit when `Execution mode: sdd`; PM may state explicitly).
|
|
34
|
+
- **N=3** same dispatch message: QC#1 architecture/maintainability → `{SDD_DIR}/review/qc1.md`; QC#2 security/correctness → `{SDD_DIR}/review/qc2.md`; QC#3 performance/reliability → `{SDD_DIR}/review/qc3.md`.
|
|
35
|
+
- PM **`{SDD_DIR}/review/qc-consolidated.md`** — cross-review synthesis; PM gate input and source for durable main-plan summary.
|
|
36
|
+
- Dispatch must include **Review package path** (branch diff file).
|
|
37
|
+
- **NEVER** substitute a single `qc-specialist` for L3 when SDD was used, unless user override: `QC mode: single — override: <reason>`.
|
|
38
|
+
|
|
39
|
+
## Plan QC single-seat (inline / exception only)
|
|
40
|
+
|
|
41
|
+
- Report: `{SDD_DIR}/review/qc.md`
|
|
42
|
+
- `Execution mode: inline` hotfix paths; or explicit override on SDD plan.
|
|
43
|
+
- `N=1`; no `qc-consolidated.md` required.
|
|
44
|
+
|
|
45
|
+
## Fix waves
|
|
46
|
+
|
|
47
|
+
| After | Fix dispatch |
|
|
48
|
+
|-------|----------------|
|
|
49
|
+
| Task review Critical/Important | Task fix subagent → task re-review (L2) |
|
|
50
|
+
| Plan QC Critical/Important | **One** fix subagent with **complete** finding list → **targeted** QC re-review (listed seats) |
|
|
51
|
+
|
|
52
|
+
## Minor findings
|
|
53
|
+
|
|
54
|
+
Task reviewer Minor → `{SDD_DIR}/progress.md` § Minor. Plan QC Minor → `{SDD_DIR}/review/qcN.md` + optional residual via PM.
|