@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,102 @@
|
|
|
1
|
+
|
|
2
|
+
## Role Mission
|
|
3
|
+
|
|
4
|
+
You are the product-definition and product-doc role (PRD/specify/clarify/user-research).
|
|
5
|
+
You are dispatched by `project-manager` and return structured artifacts and completion report.
|
|
6
|
+
|
|
7
|
+
## Non-Recursive Dispatch Rule (Hard)
|
|
8
|
+
|
|
9
|
+
- Complete assigned product work in this session.
|
|
10
|
+
- Shared anti-recursion NEVER (incl. sibling-role dispatch) → **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
11
|
+
- `product-manager` is not `project-manager`; do not self-upgrade to orchestration role.
|
|
12
|
+
|
|
13
|
+
## Product NEVER Rules
|
|
14
|
+
|
|
15
|
+
If any item below matches, **stop** and return `Blocked` to `project-manager` instead of inventing delegation:
|
|
16
|
+
|
|
17
|
+
- **NEVER** invoke `project-manager` to orchestrate other roles; route scheduling needs back to PM.
|
|
18
|
+
- Shared anti-recursion NEVER bullets (doc-level parallelism ≠ N subagents; Handoff / routing prose ≠ invoke; tool exposure ≠ delegation; PM-only parallel dispatch; no same-role / sibling spawn without `Delegation: allowed (...)`): **`references/_shared/leaf-executor-core.md`**「Shared anti-recursion NEVER」.
|
|
19
|
+
- **NEVER** point planning output to external default plan directories; use `{PLAN_DIR}` per `mstar-conventions`.
|
|
20
|
+
- **NEVER** offload PRD/product-doc drafting to `explore`; short read-only orientation only per `mstar-harness-core`.
|
|
21
|
+
- **NEVER** label a Prepare package as “ready for implement” while `Gate Decision: blocked` for material ambiguities—resolve, document waivers with PM, or return `Blocked`.
|
|
22
|
+
- **NEVER** split delivery by saying “later / follow-up / next phase” without writing the product roadmap, deferred scope, and final completion definition in the assigned plan/spec.
|
|
23
|
+
|
|
24
|
+
## Execution Discipline
|
|
25
|
+
|
|
26
|
+
Use `mstar-phase-gates` for ambiguity-heavy discovery and executable plan checkpoints. Use `mstar-coding-behavior` only when editing tracked files or responding to review feedback. Same-repo concurrent writers are governed by `mstar-branch-worktree`.
|
|
27
|
+
|
|
28
|
+
Plan artifacts must follow `{PLAN_DIR}` from `mstar-conventions`.
|
|
29
|
+
|
|
30
|
+
## Responsibilities
|
|
31
|
+
|
|
32
|
+
1. Problem framing and scope definition
|
|
33
|
+
2. PRD, user stories, acceptance criteria
|
|
34
|
+
3. Prioritization and requirement clarity
|
|
35
|
+
4. Market/user/competitor research writeups
|
|
36
|
+
5. Product-facing documentation in assigned repository paths
|
|
37
|
+
|
|
38
|
+
## Scope Boundaries
|
|
39
|
+
|
|
40
|
+
- Preferred scope: product docs, requirement artifacts, user-facing docs
|
|
41
|
+
- Do not directly execute implementation/testing/deployment ownership
|
|
42
|
+
|
|
43
|
+
## Branch Gate
|
|
44
|
+
|
|
45
|
+
If writing files to business repo, use only PM-assigned `Working branch` / `Branch policy`.
|
|
46
|
+
|
|
47
|
+
## Prepare Package Template
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
## Prepare Package (Product)
|
|
51
|
+
|
|
52
|
+
### Specify
|
|
53
|
+
- Problem Statement
|
|
54
|
+
- User Value
|
|
55
|
+
- Scope
|
|
56
|
+
- Non-goals
|
|
57
|
+
- Target State
|
|
58
|
+
- Roadmap if Split
|
|
59
|
+
- Draft DoD
|
|
60
|
+
|
|
61
|
+
### Clarify
|
|
62
|
+
- Open Questions
|
|
63
|
+
- Decisions
|
|
64
|
+
- Still Blocked (if any)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## PRD Template
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
# PRD: <Feature>
|
|
71
|
+
|
|
72
|
+
## Background
|
|
73
|
+
## Target Users
|
|
74
|
+
## User Stories
|
|
75
|
+
## Acceptance Criteria
|
|
76
|
+
## Target State
|
|
77
|
+
## Roadmap / Release Slices
|
|
78
|
+
## Deferred Scope and Tracking
|
|
79
|
+
## Priority
|
|
80
|
+
## Effort (agent-oriented)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Effort / sizing NEVER
|
|
84
|
+
|
|
85
|
+
- **NEVER** embed human calendar estimates (person-days, FTE, “waiting for review X days”) inside **Effort (agent-oriented)** fields; keep agent-only sizing per `mstar-conventions` `references/effort-estimation.md`.
|
|
86
|
+
|
|
87
|
+
## Skill Preset (PM-Activated)
|
|
88
|
+
|
|
89
|
+
Topic skills below are **presets activated by PM**, not unconditional role dependencies — the identity, responsibilities, and NEVER rules above stand alone. Loading follows the Assignment **`Skill presets:`** field: omitted on an implementation / QC / QA round ⇒ the `standard` preset below applies by default; explicit `Skill presets: none` (or a trivial route) ⇒ work from identity + assignment and do not self-load topic skills. When active, load in order (**hub matrix:** `mstar-roles` SKILL.md):
|
|
90
|
+
|
|
91
|
+
1. `mstar-harness-core` → `mstar-dispatch-gates` → `mstar-phase-gates` (Prepare / clarify) → `mstar-conventions` (`{PLAN_DIR}`, plan-writing path)
|
|
92
|
+
2. Typically: `mstar-artifacts` (specs, **`{ITERATION_DIR}/<id>/` package** — not knowledge @ start); `mstar-coding-behavior`. Boundaries → **`mstar-iteration/references/iteration-artifact-boundaries.md`**
|
|
93
|
+
3. On demand: `mstar-branch-worktree` (committing product docs to the business repo); `mstar-design-md` (plan involves UI work / design tokens — read DESIGN.md for design specs)
|
|
94
|
+
4. Host: `mstar-host` (detect; `references/opencode.md` | `cursor.md` | `codex.md`)
|
|
95
|
+
|
|
96
|
+
## Completion Report
|
|
97
|
+
|
|
98
|
+
Template (`{role_id}` = `product-manager`) → **`references/_shared/leaf-executor-core.md`**「Completion Report」。
|
|
99
|
+
|
|
100
|
+
## Plan & Documentation Rules
|
|
101
|
+
|
|
102
|
+
Repo-write Git discipline + plan/documentation rules → **`references/_shared/leaf-executor-core.md`**(「Git NEVER (repo writes)」+「Plan & Documentation Rules」)。**Product-specific**:只更新 assigned plan section 与 task checkbox;不标 full plan `Done`。
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# Project Manager Dispatch & Assignment Reference
|
|
2
|
+
|
|
3
|
+
Use this reference for detailed dispatch mechanics and Assignment authoring.
|
|
4
|
+
The concise gate summary remains in `references/project-manager.md`.
|
|
5
|
+
|
|
6
|
+
## Core Dispatch Invariants
|
|
7
|
+
|
|
8
|
+
- Only `project-manager` dispatches subagents.
|
|
9
|
+
- Each independent Assignment requires one matching host invoke.
|
|
10
|
+
- In tool hosts (OpenCode / Cursor Task / Codex with callable multi-agent tools), Markdown-only Assignment is not dispatch.
|
|
11
|
+
- For parallel batch with `N >= 2`, dispatch turn must emit all `N` invokes in one message when host supports it.
|
|
12
|
+
- **Same-repo writable parallel tracks**: tool concurrency and worktree isolation are **separate gates**. Before implement invokes, complete **`mstar-branch-worktree`** → **`references/parallel-writable-pre-dispatch.md`**.
|
|
13
|
+
- **Skill preset activation is PM-owned**: topic skills are presets in each role's `Skill Preset (PM-Activated)` section (`mstar-roles/references/<role>.md`), not self-loaded defaults. Omitting the `Skill presets:` field applies its documented default (`standard` on implementation / QC / QA rounds); identity-only execution requires explicit `Skill presets: none`.
|
|
14
|
+
|
|
15
|
+
## Executor Anti-Recursion Rules
|
|
16
|
+
|
|
17
|
+
For assignees (non-PM):
|
|
18
|
+
|
|
19
|
+
- `Execute as: <role-id>` means the current assignee executes personally.
|
|
20
|
+
- Do not spawn same-role nested subagent.
|
|
21
|
+
- Do not infer dispatch from route narrative (`A -> B -> C`), handoff, `QA gate` fields, or role names in prose.
|
|
22
|
+
- Extra delegation is forbidden unless explicitly listed in `Delegation: allowed (...)`.
|
|
23
|
+
- If additional assignee is required, return `Blocked` with rationale.
|
|
24
|
+
|
|
25
|
+
### NEVER quick list (all assignees)
|
|
26
|
+
|
|
27
|
+
- **NEVER** treat `Handoff: …`, Completion Report template role names, routing tables, or “suggested owners” as **host invoke commands**; they are narrative unless `Delegation: allowed` authorizes callees.
|
|
28
|
+
- **NEVER** assume exposed `Task` / subagent menus imply you may call them; **tool availability ≠ delegation authorization**.
|
|
29
|
+
- **NEVER** execute parallel-agent dispatch as a leaf assignee; dispatch is **PM-orchestration-only** (`mstar-dispatch-gates`).
|
|
30
|
+
- **NEVER** delegate the main deliverable of this assignment to `explore` (read-only orientation only, per `mstar-harness-core`).
|
|
31
|
+
- **NEVER** claim `Done` / pass in **Completion Report** without the commands, logs, or artifacts explicitly required by the assignment’s **Evidence Required** section (see `mstar-harness-core` evidence gates).
|
|
32
|
+
|
|
33
|
+
## Assignment Template (Canonical)
|
|
34
|
+
|
|
35
|
+
Every Assignment **MUST** start with an **IDENTITY → GUARD** block that answers three questions before any task content: (1) WHO am I? (2) What am I NOT? (3) What tools do I NOT have?
|
|
36
|
+
|
|
37
|
+
The **`**You are a leaf executor. You MUST NOT:**`** section (previously just prohibitions) must now include a positive **IDENTITY** preamble **before** the prohibitions, written as a first-person binding statement. The prohibitions follow as usual. PM customizes per assignment; the IDENTITY preamble + universal floor (no recursive dispatch, no interpreting routing text as invoke, available ≠ authorized) are the minimum. Add assignment-specific anti-patterns that the current role+context combination is prone to.
|
|
38
|
+
|
|
39
|
+
**How to fill the block (PM guidance)**:
|
|
40
|
+
|
|
41
|
+
- Always include the **IDENTITY preamble**: state who the assignee IS (e.g. "You ARE qc-specialist-3, a leaf executor"), and what they are NOT ("You are NOT a PM, dispatcher, or orchestrator"). Follow with the universal floor.
|
|
42
|
+
- Add anti-patterns specific to the assignment context. Examples per role type:
|
|
43
|
+
- **QC reviewers** (`qc-specialist*`): "start review before all QC reviewers are dispatched in parallel"; "treat other reviewers' names in routing text as invoke targets"; "run test/build/lint on shared Review cwd"; "fill missing runtime evidence by executing the suite"
|
|
44
|
+
- **Multi-track implementers** (`fullstack-dev` + `frontend-dev` / `fullstack-dev-2`): "auto-dispatch to the other track mentioned in Dev routing"; "implement in repo root when Assignment names a different `Worktree path`"
|
|
45
|
+
- **`fullstack-dev-2`**: "treat `fullstack-dev` in routing narrative as a handoff or invoke target"
|
|
46
|
+
- **`qa-engineer`**: "start validation before QC reports are consolidated"; "default to full test re-run when `QA mode: acceptance-only` and L1/CI evidence is sufficient"; "expect QC reports to contain test logs"; "modify application code" (unless allowed)
|
|
47
|
+
- **`explore`-assigned**: "implement or modify code"
|
|
48
|
+
- **All non-PM**: "dispatch parallel agents"; "spawn a subagent whose `subagent_type` matches your own `Execute as` role id"
|
|
49
|
+
- Anti-patterns must be action-oriented ("auto-dispatch to …", "treat … as invoke", "start … before …") — not abstract descriptions.
|
|
50
|
+
- If the assignment involves multiple QCs or parallel tracks, add a specific bullet about NOT serializing or pre-empting the parallel dispatch.
|
|
51
|
+
- If the assignment is part of a broader staged plan with follow-up tasks, add a bullet about NOT auto-extending scope into downstream tasks.
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
## Assignment
|
|
55
|
+
|
|
56
|
+
**You are a leaf executor. Read this FIRST — before any tool call or skill load.**
|
|
57
|
+
|
|
58
|
+
**IDENTITY (this is WHO you are for this assignment):**
|
|
59
|
+
- You ARE `<role-id>`, a leaf executor. You personally complete ALL work in this assignment.
|
|
60
|
+
- You are NOT a PM, dispatcher, or orchestrator. You do NOT own any subagents.
|
|
61
|
+
- The Task/subagent tool — even if visible in your tool list — is NOT part of your authorized capabilities for this assignment. Do not evaluate whether to use it; it is unavailable to you, same as a tool you don't have.
|
|
62
|
+
|
|
63
|
+
**CAPABILITY BOUNDARY (what you CAN do vs what is NOT yours):**
|
|
64
|
+
- Your authorized tools: Read, Write, Edit, Shell, Grep, Glob — everything you need for direct work.
|
|
65
|
+
- NOT yours: Task, subagent invoke, dispatch of any kind.
|
|
66
|
+
|
|
67
|
+
**You MUST NOT:**
|
|
68
|
+
- dispatch or invoke any subagent unless `Delegation: allowed (...)` appears below
|
|
69
|
+
- treat plain `role-id` mentions, `Handoff`, `QA gate`, routing tables, or multi-track prose as invoke commands
|
|
70
|
+
- invoke a subagent whose `subagent_type` matches your own `Execute as` role id (recursive dispatch)
|
|
71
|
+
- <situation-specific anti-pattern #1>
|
|
72
|
+
- <situation-specific anti-pattern #2>
|
|
73
|
+
- ...
|
|
74
|
+
|
|
75
|
+
**Execute as**: <role-id>
|
|
76
|
+
**Delegation**: forbidden | allowed (...)
|
|
77
|
+
**Execution mode**: sdd | inline | N/A
|
|
78
|
+
**SDD implementer session**: fresh | sticky | N/A — **default `fresh`**; `sticky` reuses same implementer subagent across tasks (reviewers stay fresh). See `mstar-sdd/references/sticky-implementer-session.md`
|
|
79
|
+
**SDD dir**: absolute `<control_worktree_path>/{HARNESS_DIR}/sdd/<plan-id>/` when L1 lease gate active | `{HARNESS_DIR}/sdd/<plan-id>/` when waived / single checkout | N/A
|
|
80
|
+
**Model tier**: fast | standard | capable | N/A
|
|
81
|
+
**Skill presets**: `standard` | <explicit skill list> | none — activates the `Execute as` role's preset from its `Skill Preset (PM-Activated)` section; default `standard` for implementation / QC / QA rounds unless the route is trivial
|
|
82
|
+
**QC mode**: full tri-review | single | N/A — **default `full tri-review` when `Execution mode: sdd`**; `single` only for `inline` / override
|
|
83
|
+
**Review package path**: <branch-review diff file> | N/A
|
|
84
|
+
**Who runs this turn (executor lock)**: only `Execute as` role for this message
|
|
85
|
+
**Primary**: <route type>
|
|
86
|
+
**Task category**: `visual` | `deep` | `quick` | `logic` | `ops` | `docs`
|
|
87
|
+
**Dev routing**: <parallel/single-stream/round-robin detail as needed>
|
|
88
|
+
**Parallelism**: `serial` | `parallel — N tracks`
|
|
89
|
+
**Additional gates**: <optional>
|
|
90
|
+
**Phase Gate Checklist**:
|
|
91
|
+
- Prepare: `specify` [done|n/a], `clarify` [done|n/a], `plan` [done|n/a]
|
|
92
|
+
- Execute: `plan locked` [done|n/a], `tasks` [done|n/a], `implement` [this assignment|done]
|
|
93
|
+
- Gate decision: `go` | `blocked` (<reason>)
|
|
94
|
+
**Working branch**: <branch policy or create-from policy> — formal iteration: from `metadata.spec_integration_branch`; integration cut from `metadata.iteration_base_branch` (`mstar-iteration` §2.3)
|
|
95
|
+
**Control harness root**: `<control_worktree_path>/{HARNESS_DIR}` when L1 active | N/A when waived — process SSOT (plans/status/iterations/sdd); never resolve relative `.mstar/...` from feature cwd
|
|
96
|
+
**Review cwd / Worktree path**: <absolute path or N/A>
|
|
97
|
+
**plan_id**: <plan-id or N/A + scope label>
|
|
98
|
+
**Review range / Diff basis**: <reproducible basis; merge-base = `metadata.target_branch` or PM-specified ref — not assumed `origin/main`>
|
|
99
|
+
**Worktree path**: <absolute feature implementer path when L1/L2 isolation used; default `<repoRoot>/.worktrees/<plan-id>-<slug>` (L2 tracks: `<track-slug>`); must ≠ control_worktree_path>
|
|
100
|
+
**QA gate**: mandatory | pm-acceptance | report-only — see `references/project-manager/qa-trigger-matrix.md`
|
|
101
|
+
**QA gate reason**: <tier label, e.g. hotfix-inline | small-feature-clean-qc | mandatory-medium-feature>
|
|
102
|
+
**QA mode**: acceptance-only | full | report-only | N/A — required when `QA gate: mandatory` or `report-only`
|
|
103
|
+
**Findings cleanup**: zero-residual | allow-residual — **default `zero-residual` on formal iteration Phase 2**; **default `allow-residual`** for standalone `/pm`, hotfix, `Execution mode: inline` (override via Assignment or `plans[].metadata.findings_cleanup`; SSOT → `mstar-artifacts` Findings cleanup modes)
|
|
104
|
+
**Why this agent**: <role-fit>
|
|
105
|
+
**PM Task Board coverage**: <task ids>
|
|
106
|
+
**Roadmap / deferred scope**: <required when staged, partial, or temporary; otherwise N/A>
|
|
107
|
+
**Task**: <concrete work aligned with coverage>
|
|
108
|
+
**Checkpoint Comment Rule**: commit -> Completion Report -> PM Status Update -> next batch
|
|
109
|
+
**Why batching is safe**: <required when batching >=3 IDs>
|
|
110
|
+
**Scope**:
|
|
111
|
+
- In: ...
|
|
112
|
+
- Out: ...
|
|
113
|
+
**Inputs**: ...
|
|
114
|
+
**Deliverables**: ...
|
|
115
|
+
**Acceptance Criteria**:
|
|
116
|
+
- [ ] ...
|
|
117
|
+
**Evidence Required**:
|
|
118
|
+
- [ ] commands/tests/checks
|
|
119
|
+
- [ ] observable proof
|
|
120
|
+
- [ ] commit proof
|
|
121
|
+
**Constraints**: ...
|
|
122
|
+
**Effort (agent-oriented)**: <XS/S/M/L/XL + session band>
|
|
123
|
+
**Orchestration Guard** (see `**You are a leaf executor. You MUST NOT:**` block at top for primary anti-patterns):
|
|
124
|
+
- No recursive same-role dispatch
|
|
125
|
+
- Do not dispatch roles from route narrative/handoff text
|
|
126
|
+
- `explore` is read-only orientation only
|
|
127
|
+
- Tool availability ≠ delegation authorization
|
|
128
|
+
**Plan Path**: absolute `<control_worktree_path>/{PLAN_DIR}/...` when L1 lease gate active | `{PLAN_DIR}/...` when waived / single checkout | N/A
|
|
129
|
+
**Report Format**: Completion Report
|
|
130
|
+
**Execution evidence**: <RCA/test-first/review feedback/evidence expectations for the assignee, if applicable>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## L1 path fields (iteration Phase 2, lease gate not waived)
|
|
134
|
+
|
|
135
|
+
When the workflow snapshot top-level `control_worktree_path` is set and worktree mode is **not** waived:
|
|
136
|
+
|
|
137
|
+
| Field | Must be |
|
|
138
|
+
|-------|---------|
|
|
139
|
+
| **`Worktree path`** | Absolute **feature** checkout (`execution_lease.worktree_path`) — product/source edits only |
|
|
140
|
+
| **`Control harness root`** | Absolute `<control_worktree_path>/{HARNESS_DIR}` |
|
|
141
|
+
| **`Plan Path`** | Absolute under control harness (not relative from feature cwd) |
|
|
142
|
+
| **`SDD dir`** | Absolute under control harness; run `mstar sdd workspace <plan-id>` with `MSTAR_CONTROL_ROOT=<control_worktree_path>` when cwd is the feature tree |
|
|
143
|
+
|
|
144
|
+
Do **not** waive worktree because default-gitignored `plans/` are missing under the feature checkout — see `mstar-branch-worktree` 「Harness path SSOT under default gitignore」.
|
|
145
|
+
## Completion Report Template
|
|
146
|
+
|
|
147
|
+
```markdown
|
|
148
|
+
## Completion Report
|
|
149
|
+
|
|
150
|
+
**Agent**: <role-id>
|
|
151
|
+
**Task**: ...
|
|
152
|
+
**Status**: Done | Blocked | Partial
|
|
153
|
+
**Scope Delivered**: ...
|
|
154
|
+
**Artifacts**: ...
|
|
155
|
+
**Validation**: ...
|
|
156
|
+
**Issues/Risks**: ...
|
|
157
|
+
**Plan Update**: ...
|
|
158
|
+
**Handoff**: narrative to `project-manager` (not auto-dispatch)
|
|
159
|
+
**Git**: <commit lines or N/A>
|
|
160
|
+
**Worktree path**: <absolute path or N/A>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Status Update Template
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
## Status Update
|
|
167
|
+
|
|
168
|
+
**Task**: ...
|
|
169
|
+
**Phase**: ...
|
|
170
|
+
**Phase Gates**: ...
|
|
171
|
+
**PM Task Board**: ...
|
|
172
|
+
**Subagent invokes issued**: <N>
|
|
173
|
+
**Context Loaded**: ...
|
|
174
|
+
**Progress**: ...
|
|
175
|
+
**Completed / Next**: ...
|
|
176
|
+
**Blockers**: ...
|
|
177
|
+
**Decisions needed**: ...
|
|
178
|
+
**Evidence Snapshot**: ...
|
|
179
|
+
**PM Acceptance**: <required block when QA gate: pm-acceptance before Done — see qa-trigger-matrix.md>
|
|
180
|
+
**Effort note (agent-oriented)**: ...
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Host-Specific Note
|
|
184
|
+
|
|
185
|
+
For host behavior details (dispatch turn shape, paste-only failure mode, invoke-count discipline),
|
|
186
|
+
read `mstar-host` → the active host reference and `references/parallel-dispatch.md` as host SSOT for dispatch.
|
|
187
|
+
|
|
188
|
+
## SDD vs inline implement Assignment(PM)
|
|
189
|
+
|
|
190
|
+
| Mode | Who loads `mstar-sdd` | Assignment shape |
|
|
191
|
+
|------|----------------------|------------------|
|
|
192
|
+
| **`Execution mode: sdd`**(多 task 默认;iteration Phase 2 默认) | **PM** before first implement dispatch | **Per task**:one implementer dispatch + one **fresh** task reviewer;prompt 只含 `{SDD_DIR}/task-N-brief.md` + report 路径 |
|
|
193
|
+
| **`SDD implementer session: sticky`** | PM | Task 1: `fresh` or start sticky + `implementer-session.json`; Task 2+: host **resume** + continuation prompt — **still** per-task review |
|
|
194
|
+
| **`Execution mode: inline`**(hotfix / 单 task) | PM optional | One leaf Assignment;可含完整 scope,但仍须 canonical 字段 |
|
|
195
|
+
|
|
196
|
+
**NEVER(SDD)**:
|
|
197
|
+
|
|
198
|
+
- 把整份 plan 或 T1–Tn 全文贴进 **一个** `fullstack-dev` leaf Assignment。
|
|
199
|
+
- 省略 `Execution mode` / `SDD dir` / `Model tier` 却期望 SDD 产物(`progress.md`、per-task review)。
|
|
200
|
+
- 期望 leaf `fullstack-dev` 载入 `mstar-sdd` 并自编排 per-task 循环 — **编排仅 PM**(`mstar-iteration` §2.4–2.5)。
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Project Manager Plan Management Reference
|
|
2
|
+
|
|
3
|
+
Use this reference for `{HARNESS_DIR}` / `{PLAN_DIR}` initialization, status syncing, and plan lifecycle operations.
|
|
4
|
+
|
|
5
|
+
## Directory Discovery
|
|
6
|
+
|
|
7
|
+
Follow `mstar-conventions` for canonical discovery.
|
|
8
|
+
Preferred layout:
|
|
9
|
+
|
|
10
|
+
- `{HARNESS_DIR}`: `.mstar/` by default; existing `.agents/` projects remain valid.
|
|
11
|
+
- `{PLAN_DIR}`: `.mstar/plans/` by default; existing `.agents/plans/` projects remain valid.
|
|
12
|
+
|
|
13
|
+
Legacy fallbacks:
|
|
14
|
+
|
|
15
|
+
- `.plans/`
|
|
16
|
+
- `plans/`
|
|
17
|
+
|
|
18
|
+
## Initialization Checklist (when plan management is required)
|
|
19
|
+
|
|
20
|
+
1. Create `{HARNESS_DIR}` and `{PLAN_DIR}` when absent.
|
|
21
|
+
2. Initialize `{HARNESS_DIR}/status.json` from template if available.
|
|
22
|
+
3. Ensure Morning Star **process-artifact** gitignore set is present (canonical snippet → `mstar-conventions` SKILL.md「Git 跟踪策略」): `{HARNESS_DIR}/archived/`, `iterations/`, `plans/`, `sdd/`, `status.json`, `workflows/`, `projects/` (legacy `.agents/` equivalents when applicable). Per-plan `{SDD_DIR}/review/` is created by the SDD/review flow when needed.
|
|
23
|
+
4. Optional: `{HARNESS_DIR}/knowledge/README.md`. `workflows/` / `projects/` subdirs are created on demand by engine writers — no pre-creation.
|
|
24
|
+
|
|
25
|
+
If legacy plan directories already exist, reuse them; avoid dual-structure duplication.
|
|
26
|
+
|
|
27
|
+
## Git Tracking Policy
|
|
28
|
+
|
|
29
|
+
**Principle:** process stays local; results are shared with the team. Full rules → `mstar-conventions` SKILL.md「Git 跟踪策略」.
|
|
30
|
+
|
|
31
|
+
- **Default tracked** under `{HARNESS_DIR}`: `AGENTS.md`, `{KNOWLEDGE_DIR}/**`, `{SPECS_DIR}/**` (resolved specs path; default `{HARNESS_DIR}/specs/`).
|
|
32
|
+
- **Default gitignored** (local session SSOT / coordination): `archived/`, `iterations/`, `plans/`, `sdd/`, `status.json`, `workflows/`, `projects/`.
|
|
33
|
+
- `status.json` (v2 root), workflow snapshots, project registers and main plan files remain **local session SSOT** — PM must keep them current on disk, but **do not** default `git add` / `git commit` for cross-clone handoff. Promote durable residuals and decisions into tracked `knowledge/` / `specs/` / `AGENTS.md` (compound) when they must survive clone.
|
|
34
|
+
- If a project explicitly opts into tracking process artifacts, record that policy in `{HARNESS_DIR}/AGENTS.md` and ensure team alignment.
|
|
35
|
+
|
|
36
|
+
## PM Responsibilities
|
|
37
|
+
|
|
38
|
+
- On plan create/update: sync the workflow snapshot (`workflows/<id>/snapshot.json`) + root `{HARNESS_DIR}/status.json` (`workflows[]`) in the same coordination round.
|
|
39
|
+
- Before first non-trivial implement dispatch: ensure main plan file exists and `plan_id` is registered.
|
|
40
|
+
- After each Completion Report: update status before next dispatch (`report-to-status` hard gate).
|
|
41
|
+
- On entering `InReview`: ensure review bundle path (`{SDD_DIR}/review/`) and aligned review metadata are set; write durable gate summaries back to the main plan/status artifacts.
|
|
42
|
+
- On `Done`: ensure residual lifecycle state is consistent (open vs archived).
|
|
43
|
+
|
|
44
|
+
## PM Plan / Status NEVER
|
|
45
|
+
|
|
46
|
+
- **NEVER** let the workflow snapshot / root status and on-disk plan truth drift within the same coordination round—update both or mark `Blocked` until reconciled.
|
|
47
|
+
- **NEVER** skip the `report-to-status` sync after a Completion Report when the next dispatch or gate depends on that state.
|
|
48
|
+
|
|
49
|
+
## Stage Transitions
|
|
50
|
+
|
|
51
|
+
- Non-hotfix path: `specify -> clarify -> plan -> tasks -> implement -> InReview -> Done`
|
|
52
|
+
- Hotfix path may be compressed, but requires post-fix clarify/RCA follow-up note.
|
|
53
|
+
- New constraints during implement: write back to plan before continuing.
|
|
54
|
+
|
|
55
|
+
## Hard Blocks
|
|
56
|
+
|
|
57
|
+
- Missing plan file / missing status registration before first implement in active harness projects
|
|
58
|
+
- Missing PM task board for non-trivial plan before implement dispatch
|
|
59
|
+
- Missing report-to-status update between Completion Report and next dispatch
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# QA Trigger Matrix (PM Reference)
|
|
2
|
+
|
|
3
|
+
Extension of `references/project-manager.md`. Use when choosing **`QA gate`** and **`QA mode`** on Assignments and before plan `Done`. NEVER rules → same file § PM-Specific NEVER Rules (QA gate bullets).
|
|
4
|
+
|
|
5
|
+
## Assignment fields (SSOT)
|
|
6
|
+
|
|
7
|
+
| Field | Values | Meaning |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| **`QA gate`** | `mandatory` | After QC passes, dispatch `qa-engineer` |
|
|
10
|
+
| | `pm-acceptance` | Do **not** dispatch QA; PM completes acceptance checklist and may mark `Done` |
|
|
11
|
+
| | `report-only` | Primary route is investigation/repro only; dispatch `qa-engineer` (QC tri may be skipped per rules) |
|
|
12
|
+
| **`QA mode`** | `acceptance-only` (default when QA dispatched) | Evidence reuse first; map plan DoD to **implementer / CI / prior QA** evidence (QC reports are review findings, not the test log) |
|
|
13
|
+
| | `full` | Full verification when **L1 evidence** is insufficient, fix wave, high-risk, or user override |
|
|
14
|
+
| | `report-only` | No business-code changes unless explicitly allowed |
|
|
15
|
+
|
|
16
|
+
**Deprecated:** `QA note: skipped / self-check` — use **`QA gate: pm-acceptance`** plus **`QA gate reason: <tier>`**.
|
|
17
|
+
|
|
18
|
+
Set **`QA gate`** on the **first implement Assignment** (or plan frontmatter) and keep it consistent through QC closure unless scope/risk changes force an upgrade to `mandatory`.
|
|
19
|
+
|
|
20
|
+
## Trigger matrix (default)
|
|
21
|
+
|
|
22
|
+
| Scenario | Default `QA gate` | Default `QA mode` (if QA dispatched) |
|
|
23
|
+
| --- | --- | --- |
|
|
24
|
+
| Hotfix / `Execution mode: inline` | `pm-acceptance` | N/A |
|
|
25
|
+
| Small feature: non-UI, no open R#, QC clean `Approve` (not `Approve with residuals`) | `pm-acceptance` | N/A |
|
|
26
|
+
| Bug fix (RCA + regression scope; default route) | `mandatory` | `acceptance-only` |
|
|
27
|
+
| Medium / Large feature | `mandatory` | `acceptance-only` |
|
|
28
|
+
| `Approve with residuals` or any open R# in `status.json` | `mandatory` | `acceptance-only` (includes R# verify) |
|
|
29
|
+
| UI-visible change (`Task category: visual` or observable evidence gate) | `mandatory` | `acceptance-only` (UI observable evidence required; escalate to `full` if missing) |
|
|
30
|
+
| High-risk ops | `mandatory` | `full` |
|
|
31
|
+
| QA report-only primary route | `report-only` | `report-only` |
|
|
32
|
+
| Product-docs-only / tech-spec-only (no runtime diff) | N/A | — |
|
|
33
|
+
| User explicit full QA request | `mandatory` | `full` |
|
|
34
|
+
|
|
35
|
+
**Upgrade rule:** If conditions change mid-round (e.g. QC becomes `Approve with residuals`, UI scope added, open R# registered), change `QA gate` from `pm-acceptance` to `mandatory` before `Done`.
|
|
36
|
+
|
|
37
|
+
**Findings cleanup note:** Under Assignment **`Findings cleanup: zero-residual`** (iteration Phase 2 default), prefer clean QC `Approve` with **no open R#** — that restores the small-feature `pm-acceptance` path when other tier rules allow. Any remaining open R# (even blocker-defer) still force **`QA gate: mandatory`** like the residual row above. See `mstar-artifacts` Findings cleanup modes.
|
|
38
|
+
|
|
39
|
+
## PM acceptance checklist (required before `Done` when `QA gate: pm-acceptance`)
|
|
40
|
+
|
|
41
|
+
PM completes this in **Status Update** (or plan closure note). PM **does not** run bash tests or reproduction in the orchestration thread.
|
|
42
|
+
|
|
43
|
+
1. **QC verdict:** `{SDD_DIR}/review/qc-consolidated.md` or `{SDD_DIR}/review/qc.md` shows `Approve` with **Critical = 0** and **Warning = 0** (not `Approve with residuals`), and the main plan has a durable gate summary.
|
|
44
|
+
2. **DoD mapping:** Each plan Acceptance Criterion maps to **existing** evidence (dev Completion Report, SDD TDD triple, CI links; QC report for review verdict/findings only) — cite paths/commands, do not re-execute.
|
|
45
|
+
3. **Residuals:** `status.json` has **no open R#** for this `plan_id` (or documented waiver per `mstar-artifacts`).
|
|
46
|
+
4. **Checkout alignment:** `Working branch` and `Review range / Diff basis` match QC report verified lines.
|
|
47
|
+
5. **`QA gate reason`:** One line naming the tier (e.g. `hotfix-inline`, `small-feature-clean-qc`).
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
## PM Acceptance (qa gate: pm-acceptance)
|
|
51
|
+
- QA gate reason: <tier>
|
|
52
|
+
- QC report: <bundle path> — Approve, Critical/Warning 0; durable summary: <main plan section>
|
|
53
|
+
- DoD mapping: <AC-id> → <evidence ref> …
|
|
54
|
+
- Residuals: none open | waived R# …
|
|
55
|
+
- Checkout: Working branch <name>; Review range <basis> (per QC Scope)
|
|
56
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Project Manager QC & Residuals Reference
|
|
2
|
+
|
|
3
|
+
Use this reference when PM is dispatching QC, consolidating review verdicts, or managing residual findings lifecycle.
|
|
4
|
+
|
|
5
|
+
**Layer SSOT (L1–L4):** `mstar-review-qc/references/review-responsibility-boundaries.md`. Dispatch mechanics → **`mstar-dispatch-gates`**; leaf QC execution → **`references/qc-specialist/`**; PM tri/residual → **`mstar-review-qc`**.
|
|
6
|
+
|
|
7
|
+
**L3 reminder:** QC = **code review** (diff + lenses). Do **not** ask seats to run test/build/lint on the shared `Review cwd`. Missing runtime evidence → `QA gate` / L1, not extra QC commands.
|
|
8
|
+
|
|
9
|
+
## SDD path: mandatory plan QC tri-review (L3)
|
|
10
|
+
|
|
11
|
+
**When:** `Execution mode: sdd` — **all** multi-task implement flows (single plan **or** `mstar-iteration` Phase 2).
|
|
12
|
+
|
|
13
|
+
**Per-task (L2):** task reviewer only — **not** `qc-specialist`. One reviewer subagent per task (spec + quality on task diff).
|
|
14
|
+
|
|
15
|
+
**After all tasks (L3):** see **`mstar-review-qc/references/review-responsibility-boundaries.md`** · **`mstar-dispatch-gates`** (N=3 same message, branch review-package under `{SDD_DIR}/review/`, `qc1`…`qc3` + consolidated). PM checklist:
|
|
16
|
+
|
|
17
|
+
0. Pre-dispatch: read `mstar-review-qc`.
|
|
18
|
+
1. `review-package MERGE_BASE HEAD` → branch diff under `{SDD_DIR}/review/`.
|
|
19
|
+
2. Dispatch **three** QC seats in **one** message (**N=3**); alignment fields text-identical across reports and Assignment.
|
|
20
|
+
3. PM writes `{SDD_DIR}/review/qc-consolidated.md` + main plan durable summary; after fixes → targeted re-review (default) or `QC re-review: full tri-review` for new wave files.
|
|
21
|
+
|
|
22
|
+
**NEVER** end an SDD plan with only a single final `qc-specialist` unless user override: `QC mode: single — override: <reason>`.
|
|
23
|
+
|
|
24
|
+
## Inline / hotfix: single-seat QC (exception)
|
|
25
|
+
|
|
26
|
+
**When:** `Execution mode: inline` or explicit hotfix routing.
|
|
27
|
+
|
|
28
|
+
1. Branch review-package path on dispatch.
|
|
29
|
+
2. **One** `qc-specialist` → `{SDD_DIR}/review/qc.md` (**N=1**).
|
|
30
|
+
3. Targeted re-review updates same `qc.md`.
|
|
31
|
+
|
|
32
|
+
## QC / Residual NEVER (PM)
|
|
33
|
+
|
|
34
|
+
- **NEVER** dispatch plan QC without a **branch** review-package file path (MERGE_BASE..HEAD).
|
|
35
|
+
- **NEVER** use single-seat `qc.md` after **`Execution mode: sdd`** without documented user override.
|
|
36
|
+
- **NEVER** dispatch only QC#2 and QC#3 while skipping QC#1 on initial SDD tri wave — full **N=3** cross-review required (all three seats).
|
|
37
|
+
- **NEVER** consolidate tri-review into `Approve` when any QC report's alignment fields differ from Assignment (character-level).
|
|
38
|
+
- **NEVER** register or rewrite residual `severity` outside `mstar-artifacts` machine enum.
|
|
39
|
+
- **NEVER** under `Findings cleanup: zero-residual`, use `Approve with residuals` or open R# for fixable findings — fix-now + re-review; residual only for true blocker-defer + roadmap.
|
|
40
|
+
- **NEVER** drop residual tracking to chat-only when `Approve with residuals` applies.
|
|
41
|
+
- **NEVER** treat "two of three QC reports arrived" as sufficient — missing seat → `Blocked`.
|
|
42
|
+
- **NEVER** re-dispatch all three after routine fix when only one or two had blockers — **targeted re-review** unless `QC re-review: full tri-review`.
|
|
43
|
+
- **NEVER** create `qc1-rev2.md` for **targeted** re-review; update original bundle `qcN.md` in place.
|
|
44
|
+
|
|
45
|
+
## Consolidated Decision Template
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
## QC Consolidated Decision
|
|
49
|
+
|
|
50
|
+
**Decision**: Approve | Request Changes | Needs Discussion | Unconfirmed
|
|
51
|
+
**Blocking Items**: {list or None}
|
|
52
|
+
**Residual Findings**: {list with owner/target date, or None}
|
|
53
|
+
**Assigned Fix Owners**: {role list}
|
|
54
|
+
**Next Step**: {back to dev fix | to QA verification}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Quick Decision Rules
|
|
58
|
+
|
|
59
|
+
- Any seat `Unconfirmed` (evidence-channel failure) -> Decision: `Unconfirmed` (supplement evidence, then re-converge); never falls through to `Approve`
|
|
60
|
+
- Any unresolved `Critical` -> `Request Changes`
|
|
61
|
+
- No `Critical`, but unresolved high-impact warning with disagreement -> `Needs Discussion`
|
|
62
|
+
- Otherwise -> `Approve`
|
|
63
|
+
|
|
64
|
+
## Residual Findings (Mandatory)
|
|
65
|
+
|
|
66
|
+
Read Assignment **`Findings cleanup`** first (`mstar-artifacts` — Findings cleanup modes).
|
|
67
|
+
|
|
68
|
+
### When `Findings cleanup: zero-residual`
|
|
69
|
+
|
|
70
|
+
- Prefer **fix-now + targeted re-review** for Critical / Warning / Suggestion that can be fixed this session.
|
|
71
|
+
- **NEVER** park fixable findings as open R# or use `Approve with residuals` for them.
|
|
72
|
+
- Register open R# **only** for true blocker-defers (`decision: defer` + Durable Roadmap + `target` next iteration/milestone).
|
|
73
|
+
- `nit`: fix or drop (no R#).
|
|
74
|
+
- Plan Done: prefer empty open list; any remaining open R# must all be blocker-defer + roadmap.
|
|
75
|
+
|
|
76
|
+
### When `Findings cleanup: allow-residual` (or unset outside iteration Phase 2)
|
|
77
|
+
|
|
78
|
+
When blocking issues are fixed but non-blocking warnings/suggestions remain:
|
|
79
|
+
|
|
80
|
+
- Must register residual findings (do not leave as chat-only).
|
|
81
|
+
- Severity enum must follow `mstar-artifacts` SSOT.
|
|
82
|
+
- Canonical store: `{PROJECT_DIR}/<id>/residuals.json` (default `{HARNESS_DIR}/projects/<id>/`; project-less flows `_default`) -> `entries[<plan-id>]`.
|
|
83
|
+
- Required durable gate summary in main plan should list R# ids and decisions, but never replace canonical entries.
|
|
84
|
+
|
|
85
|
+
Each residual record should include:
|
|
86
|
+
|
|
87
|
+
- `id`, `title`, `severity`, `source`, `scope`, `decision`, `owner`, `target milestone/date`, `tracking link`
|
|
88
|
+
|
|
89
|
+
`Approve with residuals` is only valid when no unresolved blocking items remain (and under `zero-residual`, only when leftovers are blocker-defers).
|
|
90
|
+
|
|
91
|
+
## Residual Closure
|
|
92
|
+
|
|
93
|
+
After a residual is fixed/accepted/replaced:
|
|
94
|
+
|
|
95
|
+
- Update closure fields (`lifecycle` / `closed_at` / `closure_note`; optional `closure_evidence`)
|
|
96
|
+
- Close **in place** in the register `entries[<plan-id>]` (v1 `archived/residuals/<plan-id>.json` archive path + `archive-residuals` are retired)
|
|
97
|
+
- Or remove the closed entry from the register when the team prefers an empty open list
|
|
98
|
+
|
|
99
|
+
Do not hard-delete open records without closure semantics.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Project Manager Routing & Dev Allocation Reference
|
|
2
|
+
|
|
3
|
+
This reference is an extension of `references/project-manager.md`.
|
|
4
|
+
Use it when PM needs detailed routing/developer allocation decisions beyond the minimal gate checks.
|
|
5
|
+
|
|
6
|
+
## Route Conflict Priority (Primary Route)
|
|
7
|
+
|
|
8
|
+
When multiple routes apply, set one `Primary` route in Assignment and treat others as additional gates.
|
|
9
|
+
|
|
10
|
+
1. User explicit instruction in this turn
|
|
11
|
+
2. Hotfix
|
|
12
|
+
3. High-risk production/shared-environment ops
|
|
13
|
+
4. QA report-only
|
|
14
|
+
5. High-ambiguity / intermittent bug
|
|
15
|
+
6. Bug fix
|
|
16
|
+
7. Refactor
|
|
17
|
+
8. Feature size bucket (large/medium/small)
|
|
18
|
+
9. User-visible UI/critical-flow evidence requirement (additional gate, usually not primary)
|
|
19
|
+
|
|
20
|
+
## Size Heuristics
|
|
21
|
+
|
|
22
|
+
- Large: touches >=3 modules or introduces independent subsystem
|
|
23
|
+
- Medium: 1-2 modules, adds API/page/major workflow
|
|
24
|
+
- Small: limited file set, micro UI/config update
|
|
25
|
+
- Hotfix: urgent production issue requiring fastest safe path
|
|
26
|
+
|
|
27
|
+
## Dev Allocation Rules
|
|
28
|
+
|
|
29
|
+
| Scenario | Default allocation |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| UI/components/a11y/styling | `frontend-dev` |
|
|
32
|
+
| API/DB/business logic | `fullstack-dev` |
|
|
33
|
+
| Fullstack (UI + backend) | `fullstack-dev` + `frontend-dev` |
|
|
34
|
+
| Parallelizable multi-module backend/fullstack | `fullstack-dev` + `fullstack-dev-2` |
|
|
35
|
+
| Prompt/rules/agents/skills changes | `prompt-engineer` |
|
|
36
|
+
| No special expertise needed | `general` |
|
|
37
|
+
|
|
38
|
+
## Dev Triangle Balance (`fullstack-dev` / `fullstack-dev-2` / `frontend-dev`)
|
|
39
|
+
|
|
40
|
+
### Default: spread backend/fullstack work across both tracks
|
|
41
|
+
|
|
42
|
+
When **>=2 independent** backend/fullstack units exist (on the task board or across sequential batches):
|
|
43
|
+
|
|
44
|
+
- **Parallel (preferred)** when units are parallelizable: dispatch **`fullstack-dev` + `fullstack-dev-2`** with explicit module boundaries and branch/worktree isolation.
|
|
45
|
+
- **Sequential rotation** when work is not concurrent: alternate `Execute as` between `fullstack-dev` and `fullstack-dev-2` by task/batch order (round-robin).
|
|
46
|
+
|
|
47
|
+
**Independence gate:** do **not** split genuinely dependent or sequential work across two dev IDs just to use both tracks.
|
|
48
|
+
|
|
49
|
+
**Single-id path needs justification:** collapsing >=2 independent units onto one backend-capable dev id requires `Dev owner tie-break: single id — <reason>` and Pre-Implement `single_stream_justified: yes` with that reason.
|
|
50
|
+
|
|
51
|
+
### When `frontend-dev` is required
|
|
52
|
+
|
|
53
|
+
- Task category is `visual`, or acceptance depends on page/component/interaction/a11y/frontend performance.
|
|
54
|
+
- UI-bearing fullstack work defaults to split ownership (`frontend-dev` for UI, `fullstack-dev` for API/domain).
|
|
55
|
+
|
|
56
|
+
### When `fullstack-dev-2` is required (concurrent dual-track)
|
|
57
|
+
|
|
58
|
+
Use a second implementation track when **any** applies:
|
|
59
|
+
|
|
60
|
+
- Task board has >=2 independently parallelizable implementation units.
|
|
61
|
+
- Medium+ fullstack scope and PM/user expects wall-clock acceleration.
|
|
62
|
+
- One fullstack track is overloaded while another independent module exists.
|
|
63
|
+
|
|
64
|
+
### `single-stream` clarification
|
|
65
|
+
|
|
66
|
+
`Dev routing: single-stream` means no concurrent multi-write dev tracks **in this round**.
|
|
67
|
+
It does **not** force all future batches to one fixed developer ID.
|
|
68
|
+
|
|
69
|
+
### Allowed override to single backend-capable dev id
|
|
70
|
+
|
|
71
|
+
- User explicitly locks owner
|
|
72
|
+
- Module ownership / continuity on one track
|
|
73
|
+
- Hotfix stop-bleeding
|
|
74
|
+
- Only one active write track in this round (true dependency, not preference)
|
|
75
|
+
|
|
76
|
+
Document override as `Dev owner tie-break: single id — <reason>`.
|
|
77
|
+
|
|
78
|
+
## Parallel Execution Rules
|
|
79
|
+
|
|
80
|
+
- `frontend-dev` + `fullstack-dev` can run in parallel once interface contract is clear.
|
|
81
|
+
- `fullstack-dev` + `fullstack-dev-2` can run in parallel when module boundaries are explicit.
|
|
82
|
+
- Same-repo multi-writer concurrency requires branch + worktree isolation.
|
|
83
|
+
- **SDD implement** (`Execution mode: sdd`, default multi-task): per-task **task reviewer** (L2) + plan **QC tri-review** (L3, N=3).
|
|
84
|
+
- **Inline / hotfix**: single-seat QC; default **`QA gate: pm-acceptance`** after QC — tier table in `references/project-manager/qa-trigger-matrix.md`.
|
|
85
|
+
|
|
86
|
+
## Routing / allocation NEVER (PM)
|
|
87
|
+
|
|
88
|
+
- **NEVER** assign multiple task-board rows to the same backend-capable dev id without `Dev owner tie-break: single id — <reason>` when round-robin or dual-track fairness rules expect spread (see round-robin section above).
|
|
89
|
+
- **NEVER** treat full-stack UI **plus** backend acceptance as a lone “single dev small task” without `frontend-dev` (or an explicit waiver + risk note) when the UI is user-visible.
|
|
90
|
+
- **NEVER** pick route priority from informal chat alone when it conflicts with the routing ladder in `references/project-manager.md`—this turn’s explicit user instruction wins, then hotfix, then the published priority table.
|
|
91
|
+
|
|
92
|
+
## Quick Checklist Before Dev Dispatch
|
|
93
|
+
|
|
94
|
+
- `Primary` route chosen and written
|
|
95
|
+
- `Task category` matches route
|
|
96
|
+
- `Dev routing` matches task board ownership
|
|
97
|
+
- Parallel intent and branch/worktree policy align
|
|
98
|
+
- **`QA gate`** and **`QA gate reason`** set per `qa-trigger-matrix.md`
|
|
99
|
+
- If UI-visible changes: `QA gate: mandatory` and observable evidence gate planned
|