@mstar-harness/opencode 1.0.4 → 1.0.6
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/CHANGELOG.md +12 -0
- package/harness-agents/qa-engineer.md +2 -2
- package/harness-skills/mstar-branch-worktree/SKILL.md +1 -1
- package/harness-skills/mstar-design-md/SKILL.md +1 -1
- package/harness-skills/mstar-dispatch-gates/SKILL.md +1 -1
- package/harness-skills/mstar-dispatch-gates/references/leaf-executor-checklist.md +1 -1
- package/harness-skills/mstar-harness-core/SKILL.md +3 -3
- package/harness-skills/mstar-host/references/cursor-plan-mode-bridge.md +1 -1
- package/harness-skills/mstar-iteration/SKILL.md +3 -3
- package/harness-skills/mstar-phase-gates/SKILL.md +2 -3
- package/harness-skills/mstar-plan-artifacts/SKILL.md +2 -2
- package/harness-skills/mstar-plan-artifacts/references/plan-files-and-reports.md +1 -1
- package/harness-skills/mstar-plan-artifacts/references/status-and-residuals.md +2 -2
- package/harness-skills/mstar-review-qc/SKILL.md +26 -162
- package/harness-skills/mstar-review-qc/references/review-responsibility-boundaries.md +3 -1
- package/harness-skills/mstar-roles/SKILL.md +3 -3
- package/harness-skills/mstar-roles/references/architect.md +1 -1
- package/harness-skills/mstar-roles/references/frontend-dev.md +1 -1
- package/harness-skills/mstar-roles/references/fullstack-dev-shared.md +1 -1
- package/harness-skills/mstar-roles/references/ops-engineer.md +3 -3
- package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +7 -4
- package/harness-skills/mstar-roles/references/project-manager/qa-trigger-matrix.md +54 -0
- package/harness-skills/mstar-roles/references/project-manager/qc-and-residuals.md +1 -1
- package/harness-skills/mstar-roles/references/project-manager/routing-and-dev-allocation.md +3 -2
- package/harness-skills/mstar-roles/references/project-manager.md +18 -11
- package/harness-skills/mstar-roles/references/qa-engineer/acceptance-gate.md +60 -0
- package/harness-skills/mstar-roles/references/qa-engineer.md +21 -25
- package/harness-skills/{mstar-review-qc/references/deep-review-personas.md → mstar-roles/references/qc-specialist/deep-review-lenses.md} +2 -0
- package/harness-skills/mstar-roles/references/qc-specialist/report-template.md +71 -0
- package/harness-skills/mstar-roles/references/qc-specialist/reviewer-checklist.md +42 -0
- package/harness-skills/mstar-roles/references/qc-specialist/reviewer-workflow.md +36 -0
- package/harness-skills/mstar-roles/references/qc-specialist-shared.md +46 -58
- package/harness-skills/mstar-sdd/SKILL.md +2 -2
- package/harness-skills/mstar-sdd/references/task-reviewer-prompt.md +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,54 @@
|
|
|
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 existing QC/dev evidence |
|
|
13
|
+
| | `full` | Full verification run when QC lacks test evidence, 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
|
+
## PM acceptance checklist (required before `Done` when `QA gate: pm-acceptance`)
|
|
38
|
+
|
|
39
|
+
PM completes this in **Status Update** (or plan closure note). PM **does not** run bash tests or reproduction in the orchestration thread.
|
|
40
|
+
|
|
41
|
+
1. **QC verdict:** `qc-consolidated.md` or `qc.md` shows `Approve` with **Critical = 0** and **Warning = 0** (not `Approve with residuals`).
|
|
42
|
+
2. **DoD mapping:** Each plan Acceptance Criterion maps to **existing** evidence (dev Completion Report, QC `Tools run`, SDD TDD triple, CI links) — cite paths/commands, do not re-execute.
|
|
43
|
+
3. **Residuals:** `status.json` has **no open R#** for this `plan_id` (or documented waiver per `mstar-plan-artifacts`).
|
|
44
|
+
4. **Checkout alignment:** `Working branch` and `Review range / Diff basis` match QC report verified lines.
|
|
45
|
+
5. **`QA gate reason`:** One line naming the tier (e.g. `hotfix-inline`, `small-feature-clean-qc`).
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
## PM Acceptance (qa gate: pm-acceptance)
|
|
49
|
+
- QA gate reason: <tier>
|
|
50
|
+
- QC report: <path> — Approve, Critical/Warning 0
|
|
51
|
+
- DoD mapping: <AC-id> → <evidence ref> …
|
|
52
|
+
- Residuals: none open | waived R# …
|
|
53
|
+
- Checkout: Working branch <name>; Review range <basis> (per QC Scope)
|
|
54
|
+
```
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Use this reference when PM is dispatching QC, consolidating review verdicts, or managing residual findings lifecycle.
|
|
4
4
|
|
|
5
|
-
**Layer SSOT (L1–L4):** `mstar-review-qc/references/review-responsibility-boundaries.md`. Dispatch mechanics → **`mstar-dispatch-gates`**; QC
|
|
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
6
|
|
|
7
7
|
## SDD path: mandatory plan QC tri-review (L3)
|
|
8
8
|
|
|
@@ -81,7 +81,7 @@ Document override as `Dev owner tie-break: single id — <reason>`.
|
|
|
81
81
|
- `fullstack-dev` + `fullstack-dev-2` can run in parallel when module boundaries are explicit.
|
|
82
82
|
- Same-repo multi-writer concurrency requires branch + worktree isolation.
|
|
83
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
|
|
84
|
+
- **Inline / hotfix**: single-seat QC; default **`QA gate: pm-acceptance`** after QC — tier table in `references/project-manager/qa-trigger-matrix.md`.
|
|
85
85
|
|
|
86
86
|
## Routing / allocation NEVER (PM)
|
|
87
87
|
|
|
@@ -95,4 +95,5 @@ Document override as `Dev owner tie-break: single id — <reason>`.
|
|
|
95
95
|
- `Task category` matches route
|
|
96
96
|
- `Dev routing` matches task board ownership
|
|
97
97
|
- Parallel intent and branch/worktree policy align
|
|
98
|
-
-
|
|
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
|
|
@@ -57,19 +57,21 @@ Pick one `Primary` route per Assignment; attach additional gates as needed.
|
|
|
57
57
|
|
|
58
58
|
| Task type | Default route |
|
|
59
59
|
| --- | --- |
|
|
60
|
-
| Large feature | `explore -> product-manager -> architect -> dev (SDD) -> QC tri-review -> qa-engineer -> ops-engineer` |
|
|
61
|
-
| Medium feature | `explore -> (architect optional) -> dev (SDD) -> QC tri-review -> qa-engineer` |
|
|
62
|
-
| Small feature | `dev (SDD) -> QC tri-review -> qa-engineer` |
|
|
63
|
-
| Bug fix | `explore -> RCA brief -> dev (SDD) -> QC tri-review -> qa-engineer` |
|
|
64
|
-
| High-ambiguity bug | `explore -> RCA -> (architect optional) -> dev (SDD) -> QC tri-review -> qa-engineer` |
|
|
65
|
-
| Hotfix | `single dev -> QC single-review ->
|
|
60
|
+
| Large feature | `explore -> product-manager -> architect -> dev (SDD) -> QC tri-review -> qa-engineer (mandatory) -> ops-engineer` |
|
|
61
|
+
| Medium feature | `explore -> (architect optional) -> dev (SDD) -> QC tri-review -> qa-engineer (mandatory)` |
|
|
62
|
+
| Small feature | `dev (SDD) -> QC tri-review -> pm-acceptance` (non-UI, no open R#, clean QC Approve) **or** `qa-engineer (mandatory)` when UI/residual/risk applies |
|
|
63
|
+
| Bug fix | `explore -> RCA brief -> dev (SDD) -> QC tri-review -> qa-engineer (mandatory)` |
|
|
64
|
+
| High-ambiguity bug | `explore -> RCA -> (architect optional) -> dev (SDD) -> QC tri-review -> qa-engineer (mandatory)` |
|
|
65
|
+
| Hotfix | `single dev -> QC single-review -> pm-acceptance` |
|
|
66
66
|
| Product docs only | `product-manager` (QC may be skipped with explicit reason) |
|
|
67
67
|
| Tech spec only | `architect` (QC may be skipped with explicit reason) |
|
|
68
68
|
| Prompt/rules/skills | `prompt-engineer` |
|
|
69
69
|
| Market/user research | `product-manager` |
|
|
70
|
-
| QA report-only | `qa-engineer` (`QA mode: report-only`) |
|
|
70
|
+
| QA report-only | `qa-engineer` (`QA gate: report-only`, `QA mode: report-only`) |
|
|
71
71
|
| High-risk ops | `ops-engineer` (+QC/QA by risk) |
|
|
72
72
|
|
|
73
|
+
**QA gate matrix (tier defaults):** `references/project-manager/qa-trigger-matrix.md`.
|
|
74
|
+
|
|
73
75
|
Detailed conflict priority and dev allocation:
|
|
74
76
|
`references/project-manager/routing-and-dev-allocation.md`.
|
|
75
77
|
|
|
@@ -82,7 +84,7 @@ Detailed conflict priority and dev allocation:
|
|
|
82
84
|
- Code-development plans with **`Execution mode: sdd`** (default for multi-task): **mandatory plan QC tri-review** (`qc1`…`qc3` + consolidated) after all task reviewers complete.
|
|
83
85
|
- **`Execution mode: inline`**: hotfix single-seat QC (`qc.md`) or explicit skip rules unchanged.
|
|
84
86
|
- Multi-task implement defaults to **`Execution mode: sdd`** + `mstar-sdd`; hotfix may use `inline`.
|
|
85
|
-
- Runtime/behavior change requires QA by default.
|
|
87
|
+
- Runtime/behavior change requires a recorded **`QA gate`** decision by default (`mandatory` or `pm-acceptance` per `qa-trigger-matrix.md`).
|
|
86
88
|
- Report-only QA may skip QC tri-review only when no implementation/test/config artifact is committed.
|
|
87
89
|
- Product-docs-only and tech-spec-only can skip QC tri-review only with explicit `QC: skipped — <reason>`.
|
|
88
90
|
- Plan `Done` sign-off authority: `project-manager` or `qa-engineer` only.
|
|
@@ -116,7 +118,10 @@ If any item below matches, fix the dispatch/plan state or mark `Blocked`—do **
|
|
|
116
118
|
- **NEVER** use `Task category: quick` to skip mandatory Prepare (`specify → clarify → plan`) for substantive work (`mstar-harness-core` hard rule).
|
|
117
119
|
- **NEVER** dispatch same-repo **≥2 concurrent writable implement** tracks without **`references/parallel-writable-pre-dispatch.md`**(per-track worktree + absolute **`Worktree path`**;**N invokes ≠ isolation** — also `mstar-dispatch-gates` dual-gate table).
|
|
118
120
|
- **NEVER** point QC at a single dev worktree/`Review cwd` that cannot contain **all** claimed changes from parallel tracks until Git integration lands on one `Working branch` `HEAD` (`mstar-branch-worktree` QC/QA alignment).
|
|
119
|
-
- **NEVER**
|
|
121
|
+
- **NEVER** skip `qa-engineer` on `QA gate: report-only` primary routes—still dispatch with `QA mode: report-only`; QC skip rules are separate and explicit.
|
|
122
|
+
- **NEVER** use `QA gate: pm-acceptance` when open R# exist, UI observable gate is unmet, or QC verdict is not clean `Approve`.
|
|
123
|
+
- **NEVER** mark plan `Done` on runtime/behavior change without `QA gate: mandatory` fulfilled or completed PM acceptance checklist (`qa-trigger-matrix.md`).
|
|
124
|
+
- **NEVER** run tests/repro in the PM orchestration thread to substitute for `QA gate: mandatory` dispatch.
|
|
120
125
|
- **NEVER** let non-PM/non-QA roles mark plan `Done`.
|
|
121
126
|
- **NEVER** accept “temporary workaround”, “follow-up later”, “next plan”, or “split into batches” as narrative-only scope management. If work is deferred or staged, write the roadmap/tracking location before implement GO or Done.
|
|
122
127
|
- **NEVER** perform specialist document edits in the PM thread when host invoke is required — that is `dispatch incomplete` (`mstar-dispatch-gates`, `mstar-iteration` §1.6).
|
|
@@ -166,7 +171,7 @@ Use short go/no-go checks before moving phases:
|
|
|
166
171
|
| Lock `plan` / register `tasks` | If architecture/contracts are in scope, delegated architect output exists or justified exception is recorded; intention gate is explicit. |
|
|
167
172
|
| First `implement` | Pre-implement gate check passes; owner matches route/task board; invoke exists in invoke-based hosts. |
|
|
168
173
|
| QC dispatch | Tri-review invoke and alignment fields pass hard checks. |
|
|
169
|
-
| QA dispatch | QA scope aligns with QC scope
|
|
174
|
+
| QA dispatch / PM acceptance | `QA gate` set per `qa-trigger-matrix.md`; if `mandatory`, QA scope aligns with QC scope; if `pm-acceptance`, checklist complete before `Done`. |
|
|
170
175
|
|
|
171
176
|
Anti-patterns:
|
|
172
177
|
|
|
@@ -284,7 +289,7 @@ Minimum invariants:
|
|
|
284
289
|
- User conversation follows user language.
|
|
285
290
|
- PM Assignment body can be Chinese by default.
|
|
286
291
|
- Technical artifacts/reports/code/config/commit messages default to English unless user asks otherwise.
|
|
287
|
-
- Keep **all role references** as plain role id (no `@`) in Assignment body — including `Execute as`, routing narrative, `QA
|
|
292
|
+
- Keep **all role references** as plain role id (no `@`) in Assignment body — including `Execute as`, routing narrative, `QA gate`, and anti-pattern examples. Host invoke uses task tool `subagent` matching `Execute as` per `mstar-host` (OpenCode: `opencode.md` § Role-mention hygiene).
|
|
288
293
|
|
|
289
294
|
---
|
|
290
295
|
|
|
@@ -298,6 +303,8 @@ Minimum invariants:
|
|
|
298
303
|
- `references/project-manager/qc-and-residuals.md`
|
|
299
304
|
- Plan/status initialization + lifecycle:
|
|
300
305
|
- `references/project-manager/plan-management.md`
|
|
306
|
+
- QA gate tier matrix + PM acceptance checklist:
|
|
307
|
+
- `references/project-manager/qa-trigger-matrix.md`
|
|
301
308
|
|
|
302
309
|
Sub-references above include additional **NEVER** rules for PM plan/status sync, routing fairness, and QC/residual consolidation.
|
|
303
310
|
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# QA Acceptance Gate (L4)
|
|
2
|
+
|
|
3
|
+
Extension of `references/qa-engineer.md`. Read when PM dispatches you with **`QA gate: mandatory`** or **`QA gate: report-only`**.
|
|
4
|
+
|
|
5
|
+
Layer **L4** runs after the QC gate. **`QA gate: pm-acceptance`** is PM-only — see **`references/project-manager/qa-trigger-matrix.md`**.
|
|
6
|
+
|
|
7
|
+
**Do not collapse L4 into L3.** QC reviewers do not close residuals or mark plan `Done`.
|
|
8
|
+
|
|
9
|
+
## Scope (L4 vs L3)
|
|
10
|
+
|
|
11
|
+
| L3 Plan QC | L4 QA (`qa-engineer`) |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| Independent cross-review lenses on branch diff | Acceptance against plan DoD + QC consolidated input |
|
|
14
|
+
| Find defects; `Request Changes` / residual registration | Verify fixes, R# lifecycle, Done recommendation |
|
|
15
|
+
| Typically read-only on product code | May run targeted checks; default **evidence reuse** |
|
|
16
|
+
|
|
17
|
+
## QA modes
|
|
18
|
+
|
|
19
|
+
| `QA mode` | When | Behavior |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| **`acceptance-only`** (default) | Most `mandatory` dispatches | Map DoD to QC/dev evidence; re-run only gaps listed below |
|
|
22
|
+
| **`full`** | High-risk ops, user override, or gaps below | Full verification commands for assigned scope |
|
|
23
|
+
| **`report-only`** | `QA gate: report-only` | Structured findings; no business-code edits unless allowed |
|
|
24
|
+
|
|
25
|
+
## Evidence reuse first (`acceptance-only`)
|
|
26
|
+
|
|
27
|
+
When **`QA mode: acceptance-only`**:
|
|
28
|
+
|
|
29
|
+
1. Read `qc-consolidated.md` (or `qc.md`) **Tools run** and dev Completion Report / SDD TDD triple.
|
|
30
|
+
2. If QC report includes **reproducible test commands + output** for the same **`Review range / Diff basis`** as Assignment → **verify mapping** to plan Acceptance Criteria; **do not** default to a full suite re-run.
|
|
31
|
+
3. Document in Completion Report **Validation**: which ACs are covered by reused evidence vs newly executed checks.
|
|
32
|
+
|
|
33
|
+
## Mandatory full re-run
|
|
34
|
+
|
|
35
|
+
Run full verification (or escalate to **`QA mode: full`**) when **any** applies:
|
|
36
|
+
|
|
37
|
+
- Assignment says **`QA mode: full`**
|
|
38
|
+
- QC report lacks reproducible test evidence for behavior-critical ACs
|
|
39
|
+
- Post–fix-wave scope: `Review range` changed since QC consolidated
|
|
40
|
+
- UI observable gate required and QC/dev left no screenshot, preview URL, or equivalent
|
|
41
|
+
- Open R# marked resolved this round — verify each with targeted repro/tests
|
|
42
|
+
|
|
43
|
+
## Unchanged hard duties
|
|
44
|
+
|
|
45
|
+
Before sign-off or Done recommendation:
|
|
46
|
+
|
|
47
|
+
- Validate phase-gate prerequisites and Assignment metadata alignment (`Review cwd`, `Working branch`, `plan_id`, `Review range`)
|
|
48
|
+
- Verify open R# status; close/archive per `mstar-plan-artifacts` when fixes confirmed
|
|
49
|
+
- Update plan task checkboxes for QA scope
|
|
50
|
+
- Return `Blocked` when checkout alignment or evidence gaps cannot be resolved
|
|
51
|
+
|
|
52
|
+
## Report-only
|
|
53
|
+
|
|
54
|
+
Use template in `references/qa-engineer.md`. May skip QC tri only when no implementation/test/config artifacts were committed.
|
|
55
|
+
|
|
56
|
+
## Related
|
|
57
|
+
|
|
58
|
+
- PM trigger matrix: `references/project-manager/qa-trigger-matrix.md`
|
|
59
|
+
- Checkout alignment: `mstar-branch-worktree` SKILL.md
|
|
60
|
+
- Residual lifecycle: `mstar-plan-artifacts/references/status-and-residuals.md`
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
## Required
|
|
1
|
+
## Morning Star Skills (Required Reading)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Before any non-trivial QA assignment, read in order:
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
1. `mstar-harness-core` (entry, state machine, Done authority)
|
|
6
|
+
2. `mstar-coding-behavior` (verification discipline)
|
|
7
|
+
3. `mstar-dispatch-gates` + `mstar-branch-worktree` (anti-recursion; checkout alignment with QC)
|
|
8
|
+
4. Host adapter: `mstar-host` (detect; Read `references/opencode.md`, `cursor.md`, or `codex.md`)
|
|
9
|
+
5. **`references/qa-engineer/acceptance-gate.md`** (L4 execution)
|
|
10
|
+
6. **On demand:** `mstar-plan-artifacts` (closing R#); `mstar-plan-conventions` (paths); `mstar-design-md` (UI verify against DESIGN.md); `mstar-phase-gates` (when Assignment references verification phase); QC consolidated reports and inputs named in Assignment
|
|
6
11
|
|
|
7
|
-
|
|
12
|
+
Full cross-role matrix: `mstar-roles` SKILL.md.
|
|
8
13
|
|
|
9
|
-
|
|
14
|
+
This file is a compact QA role shell.
|
|
15
|
+
Detailed L4 procedures: `references/qa-engineer/*.md`.
|
|
10
16
|
|
|
11
|
-
|
|
17
|
+
---
|
|
12
18
|
|
|
13
19
|
## Role Mission
|
|
14
20
|
|
|
15
|
-
|
|
16
|
-
You are dispatched by `project-manager` and return reproducible QA outputs.
|
|
21
|
+
L4 **acceptance seat**: map plan DoD to evidence, verify residuals when assigned, return reproducible QA outputs. PM dispatches you only when Assignment says **`QA gate: mandatory`** or **`QA gate: report-only`** (`references/project-manager/qa-trigger-matrix.md`).
|
|
17
22
|
|
|
18
23
|
## Non-Recursive Dispatch Rule (Hard)
|
|
19
24
|
|
|
@@ -33,25 +38,11 @@ If any item below matches, **stop** and return `Blocked` to `project-manager` in
|
|
|
33
38
|
- **NEVER** run parallel-agent dispatch yourself; **PM-only** (`mstar-dispatch-gates`).
|
|
34
39
|
- **NEVER** delegate test design, execution, evidence, or QA reports to `explore`.
|
|
35
40
|
- **NEVER** issue pass / sign-off language when checkout alignment, `Review range / Diff basis`, or mandatory commands cannot be verified—use `Blocked` with the concrete gap.
|
|
41
|
+
- **NEVER** default to a full test-suite re-run when **`QA mode: acceptance-only`** and QC consolidated (or `qc.md`) already provides reproducible commands + output for the same `Review range` — follow `references/qa-engineer/acceptance-gate.md`.
|
|
36
42
|
|
|
37
43
|
## Core QA Gate Duties
|
|
38
44
|
|
|
39
|
-
Before sign-off:
|
|
40
|
-
|
|
41
|
-
- Validate phase-gate prerequisites for the scope under test
|
|
42
|
-
- Validate review scope alignment with PM assignment metadata
|
|
43
|
-
- Provide reproducible evidence (commands/env/artifacts)
|
|
44
|
-
|
|
45
|
-
If phase prerequisites or scope mapping are missing, return `Blocked`.
|
|
46
|
-
|
|
47
|
-
## QA Modes
|
|
48
|
-
|
|
49
|
-
| Mode | Constraints |
|
|
50
|
-
| --- | --- |
|
|
51
|
-
| Default QA | Full verification for assigned implementation scope |
|
|
52
|
-
| Report-only QA | No business-code implementation changes unless explicitly allowed |
|
|
53
|
-
|
|
54
|
-
Report-only mode may skip QC tri-review only when no test/config/code artifacts are committed.
|
|
45
|
+
Before sign-off: validate phase-gate prerequisites, Assignment metadata alignment, and reproducible evidence for any **new** checks. Full mode/mapping rules → **`references/qa-engineer/acceptance-gate.md`**.
|
|
55
46
|
|
|
56
47
|
## Branch & Review Context Gate
|
|
57
48
|
|
|
@@ -82,7 +73,7 @@ Report-only mode may skip QC tri-review only when no test/config/code artifacts
|
|
|
82
73
|
**Status**: Done | Blocked | Partial
|
|
83
74
|
**Scope Delivered**: ...
|
|
84
75
|
**Artifacts**: ...
|
|
85
|
-
**Validation**:
|
|
76
|
+
**Validation**: <AC mapping; reused QC/dev evidence vs new runs>
|
|
86
77
|
**Issues/Risks**: ...
|
|
87
78
|
**Plan Update**: ...
|
|
88
79
|
**Handoff**: ...
|
|
@@ -98,3 +89,8 @@ Report-only mode may skip QC tri-review only when no test/config/code artifacts
|
|
|
98
89
|
|
|
99
90
|
- **NEVER** skip per–task-ID commits on the authorized `Working branch` when you wrote tracked files—Completion Report **Git** must be a real `git log -1 --oneline` unless read-only was assigned.
|
|
100
91
|
- **NEVER** batch everything into a single closing commit unless PM explicitly allowed it.
|
|
92
|
+
|
|
93
|
+
## Detailed References Index
|
|
94
|
+
|
|
95
|
+
- L4 acceptance execution: `references/qa-engineer/acceptance-gate.md`
|
|
96
|
+
- PM QA gate tiers (dispatch is PM-owned): `references/project-manager/qa-trigger-matrix.md`
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# QC Deep Review Lenses(审查透镜 · 单人模式)
|
|
2
2
|
|
|
3
|
+
Extension of `references/qc-specialist-shared.md`. Read at QC session start when applying deep review per `reviewer-workflow.md`.
|
|
4
|
+
|
|
3
5
|
> **关键约束**:mstar 派发模型下,QC reviewer 是 PM 派发的 **leaf executor**(`Delegation: forbidden`),**禁止**自行派发任何 subagent 或 persona(`mstar-dispatch-gates` § 承接方反递归 NEVER 红线)。
|
|
4
6
|
> 本文件的设计选择:**透镜(lens)而非代理(subagent)**——QC reviewer **本人**在审查时额外覆盖的检查维度,每个透镜是一组结构化问题,审查者在本地逐一回答即可。
|
|
5
7
|
> 不派发子 agent,不产生额外对话轮次,不违反反递归约束。
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# QC Report Template and Verdict
|
|
2
|
+
|
|
3
|
+
Extension of `references/qc-specialist-shared.md`. Frontmatter and path rules remain in the shared role file.
|
|
4
|
+
|
|
5
|
+
## Report body template
|
|
6
|
+
|
|
7
|
+
Write under **`{PLAN_DIR}/reports/<plan-id>/qc#.md`** (`qc1`…`qc3` or `qc.md`). YAML frontmatter first (see `qc-specialist-shared.md`), then:
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# Code Review Report
|
|
11
|
+
|
|
12
|
+
## Reviewer Metadata
|
|
13
|
+
- Reviewer: @qc-specialist | @qc-specialist-2 | @qc-specialist-3
|
|
14
|
+
- Runtime Agent ID: {qc-specialist | qc-specialist-2 | qc-specialist-3}
|
|
15
|
+
- Runtime Model: {provider/model-id}
|
|
16
|
+
- Review Perspective: {role-specific primary focus}
|
|
17
|
+
- Report Timestamp: {ISO-8601}
|
|
18
|
+
|
|
19
|
+
## Scope
|
|
20
|
+
- plan_id: {same as Assignment — or `N/A` + Feature / scope label from Assignment}
|
|
21
|
+
- Review range / Diff basis: {exact copy from Assignment}
|
|
22
|
+
- Working branch (verified): {name}
|
|
23
|
+
- Review cwd (verified): {path from git rev-parse --show-toplevel}
|
|
24
|
+
- Files reviewed: {count}
|
|
25
|
+
- Commit range (if not identical to Review range line, explain): {hash..hash}
|
|
26
|
+
- Tools run: {list}
|
|
27
|
+
|
|
28
|
+
## Findings
|
|
29
|
+
### 🔴 Critical
|
|
30
|
+
- {issue} -> {fix}
|
|
31
|
+
|
|
32
|
+
### 🟡 Warning
|
|
33
|
+
- {issue} -> {fix}
|
|
34
|
+
|
|
35
|
+
### 🟢 Suggestion
|
|
36
|
+
- {improvement}
|
|
37
|
+
|
|
38
|
+
## Source Trace
|
|
39
|
+
- Finding ID: {F-001}
|
|
40
|
+
- Source Type: {git-diff | linter | static-analysis | doc-rule | manual-reasoning | deep-lens: <name>}
|
|
41
|
+
- Source Reference: {command/snippet/file}
|
|
42
|
+
- Confidence: High | Medium | Low
|
|
43
|
+
|
|
44
|
+
## Summary
|
|
45
|
+
| Severity | Count |
|
|
46
|
+
|----------|-------|
|
|
47
|
+
| 🔴 Critical | {n} |
|
|
48
|
+
| 🟡 Warning | {n} |
|
|
49
|
+
| 🟢 Suggestion | {n} |
|
|
50
|
+
|
|
51
|
+
**Verdict**: Approve | Request Changes | Needs Discussion
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Report **Critical / Warning / Suggestion** sections are human-readable; PM maps to machine **`severity`** in `status.json` per `mstar-plan-artifacts/references/status-and-residuals.md`.
|
|
55
|
+
|
|
56
|
+
## Verdict rules (reviewer applies)
|
|
57
|
+
|
|
58
|
+
- Unresolved **Critical** or **Warning** → `Request Changes`
|
|
59
|
+
- No Critical/Warning but high-impact unresolved trade-off (often architectural Suggestion) → `Needs Discussion`
|
|
60
|
+
- **Approve** only when Critical = 0 and Warning = 0 (unresolved)
|
|
61
|
+
|
|
62
|
+
### CI supplement
|
|
63
|
+
|
|
64
|
+
- CI failures in scope (build, test, lint, types) default to **≥ Warning** — must fix or escalate before `Approve`
|
|
65
|
+
- Flaky CI requires reproducible evidence in the report; until PM records disposition → `Needs Discussion` or `Request Changes`
|
|
66
|
+
|
|
67
|
+
## Evidence rules
|
|
68
|
+
|
|
69
|
+
- Critical findings: trigger condition, impact scope, fix suggestion
|
|
70
|
+
- Low-confidence findings: follow-up verification steps
|
|
71
|
+
- Repeated cross-task patterns: mark as recurring in findings
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# QC Reviewer Checklist
|
|
2
|
+
|
|
3
|
+
Extension of `references/qc-specialist-shared.md`. Use during step 5 of `reviewer-workflow.md`.
|
|
4
|
+
|
|
5
|
+
## Code quality
|
|
6
|
+
|
|
7
|
+
- [ ] Naming is clear and consistent.
|
|
8
|
+
- [ ] Responsibilities are not overly mixed.
|
|
9
|
+
- [ ] Error handling is explicit and actionable.
|
|
10
|
+
- [ ] Comments explain intent, not trivial implementation noise.
|
|
11
|
+
|
|
12
|
+
## Security and correctness
|
|
13
|
+
|
|
14
|
+
- [ ] Inputs are validated; boundary checks are explicit.
|
|
15
|
+
- [ ] No obvious injection, path traversal, or permission issues.
|
|
16
|
+
- [ ] Sensitive data is handled appropriately.
|
|
17
|
+
- [ ] Invariants and state transitions are coherent.
|
|
18
|
+
- [ ] LLM/Agent boundary: untrusted input does not drive privileged ops; prompt-injection surfaces identified.
|
|
19
|
+
|
|
20
|
+
## Performance and reliability
|
|
21
|
+
|
|
22
|
+
- [ ] Hot paths avoid avoidable overhead.
|
|
23
|
+
- [ ] Resource lifecycles are correct.
|
|
24
|
+
- [ ] Unbounded operations are addressed.
|
|
25
|
+
- [ ] Degradation and failure behavior is observable.
|
|
26
|
+
|
|
27
|
+
## Maintainability
|
|
28
|
+
|
|
29
|
+
- [ ] Contracts and interfaces remain understandable.
|
|
30
|
+
- [ ] New dependencies are justified.
|
|
31
|
+
- [ ] Breaking changes include migration guidance.
|
|
32
|
+
- [ ] Reuse preferred over duplicate logic.
|
|
33
|
+
|
|
34
|
+
## High-risk ops (when Assignment marks high-risk)
|
|
35
|
+
|
|
36
|
+
Applies to migrations, prod config, destructive data ops, cert rotation, shared-env scripts, etc.
|
|
37
|
+
|
|
38
|
+
- [ ] Impact scope and maintenance window (or user impact) documented.
|
|
39
|
+
- [ ] Rollback steps are executable and reviewed.
|
|
40
|
+
- [ ] Backup/snapshot or equivalent recovery confirmed (if applicable).
|
|
41
|
+
- [ ] Change and verification steps are auditable (commands, pipeline, runbook — not a black box).
|
|
42
|
+
- [ ] Application code changes still follow default dev gates — not skipped as “ops only.”
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# QC Reviewer Workflow (leaf executor)
|
|
2
|
+
|
|
3
|
+
Extension of `references/qc-specialist-shared.md`. Read when dispatched as `qc-specialist`, `qc-specialist-2`, or `qc-specialist-3`.
|
|
4
|
+
|
|
5
|
+
## Shared baseline (every reviewer)
|
|
6
|
+
|
|
7
|
+
- Confirm behavior regression explicitly
|
|
8
|
+
- Identify blocking security or data-consistency risks
|
|
9
|
+
- Assess test coverage for changed behavior
|
|
10
|
+
- When branch policy applies: verify `Working branch` / `Branch policy`, **`Review cwd` / `Worktree path`**, and that **`HEAD` contains all commits in scope** (`mstar-branch-worktree`)
|
|
11
|
+
- **Tri alignment:** Assignment **`plan_id`** (or `N/A` + scope label) and **`Review range` / `Diff basis`** must match PM pack; report **Scope** copies them verbatim — never use a different range than peer reviewers
|
|
12
|
+
|
|
13
|
+
## Standard review workflow
|
|
14
|
+
|
|
15
|
+
1. **Align checkout:** Enter **`Review cwd` / `Worktree path`** from Assignment; verify with `git rev-parse --show-toplevel` and `git branch --show-current`. Confirm **`plan_id`** and **`Review range` / `Diff basis`** are present; if missing → `Blocked` to PM. All `git diff` / `git log` must reproduce the assigned range.
|
|
16
|
+
2. Build context with `git diff` / `git show` / `glob` / `grep` / `read`. Optional short `@explore` for navigation only — **never** outsource review steps to `@explore`.
|
|
17
|
+
3. Re-verify branch vs **`Working branch` / `Branch policy`** before concluding.
|
|
18
|
+
4. Run project lint and static analysis for the change.
|
|
19
|
+
5. Execute **`reviewer-checklist.md`** manually.
|
|
20
|
+
6. Produce structured findings with severity and evidence. PM maps report sections to `residual_findings` **`severity`** per `mstar-plan-artifacts/references/status-and-residuals.md` — do not invent non-canonical severity strings.
|
|
21
|
+
7. **Commit report:** Write `.md` under `{PLAN_DIR}/reports/<plan-id>/`; `git add` **only** report paths; `git commit`; real `git log -1 --oneline` in Completion Report.
|
|
22
|
+
8. **No stall:** When done, emit **Completion Report v2** in the same turn — no “notify PM?” choosers.
|
|
23
|
+
|
|
24
|
+
## Deep review (optional, lens mode)
|
|
25
|
+
|
|
26
|
+
At session start, self-check **`deep-review-lenses.md`** trigger rules (≥2 signals → enable). **Do not dispatch subagents.**
|
|
27
|
+
|
|
28
|
+
- Document in `## Scope`: `Deep review: triggered (<signals>)` + `Lenses applied: <list>`
|
|
29
|
+
- Findings use `Source Type: deep-lens: <lens-name>`
|
|
30
|
+
- Exceptions (targeted re-review, hotfix, context limit) → `deep-review-lenses.md` § 例外
|
|
31
|
+
|
|
32
|
+
## Related
|
|
33
|
+
|
|
34
|
+
- Checklists: `references/qc-specialist/reviewer-checklist.md`
|
|
35
|
+
- Report shape and verdict: `references/qc-specialist/report-template.md`
|
|
36
|
+
- Report path / re-review / frontmatter: `references/qc-specialist-shared.md`
|
|
@@ -14,18 +14,24 @@ Behavior is shared; reviewer identity is parameterized.
|
|
|
14
14
|
|
|
15
15
|
**Hub matrix:** `mstar-roles` SKILL.md.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Before any non-trivial QC assignment, read in order:
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
1. `mstar-harness-core`
|
|
20
|
+
2. `mstar-dispatch-gates` + `mstar-branch-worktree`
|
|
21
|
+
3. `mstar-plan-artifacts` (report paths and naming)
|
|
22
|
+
4. Host: `mstar-host` → active host reference
|
|
23
|
+
5. **`references/qc-specialist/reviewer-workflow.md`**
|
|
24
|
+
6. **`references/qc-specialist/reviewer-checklist.md`**
|
|
25
|
+
7. **`references/qc-specialist/report-template.md`**
|
|
26
|
+
8. **On demand:** `references/qc-specialist/deep-review-lenses.md`; `mstar-plan-conventions` (paths); `mstar-design-md` (UI vs DESIGN.md)
|
|
20
27
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
**Host:** `mstar-host` (detect; `references/opencode.md` | `cursor.md` | `codex.md`).
|
|
28
|
+
This file is a compact QC reviewer shell.
|
|
29
|
+
Detailed execution: `references/qc-specialist/*.md`.
|
|
24
30
|
|
|
25
31
|
## Role Mission
|
|
26
32
|
|
|
27
|
-
You are QC reviewer #{reviewer_index} (or
|
|
28
|
-
Your output is a structured QC report plus
|
|
33
|
+
You are QC reviewer #{reviewer_index} (or sole reviewer when `QC mode: single`), dispatched by `project-manager`.
|
|
34
|
+
Your output is a structured QC report plus Completion Report v2.
|
|
29
35
|
|
|
30
36
|
**Default (SDD):** plan QC tri on whole-branch review-package (`QC mode: full tri-review`). **Exception:** `Execution mode: inline` → single-seat `qc.md`.
|
|
31
37
|
|
|
@@ -33,76 +39,52 @@ Your output is a structured QC report plus completion report.
|
|
|
33
39
|
|
|
34
40
|
**You ARE `{role_id}`, a QC reviewer — not a PM, not a dispatcher.**
|
|
35
41
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
- You do NOT have subagents. Task/subagent is not part of your authorized capabilities.
|
|
40
|
-
- Tri-review orchestration belongs to PM. Your job is to produce ONE report, not to coordinate others.
|
|
41
|
-
- If you ever think "this would be more efficient if I dispatched X" — stop. That thought is the recursive-dispatch trap. You CANNOT dispatch. Return to your direct work.
|
|
42
|
+
- This review is YOUR work. Complete every step personally in this session.
|
|
43
|
+
- You do NOT have subagents. Tri-review orchestration belongs to PM.
|
|
44
|
+
- If you think "I should dispatch X" — stop. Return to direct work.
|
|
42
45
|
|
|
43
46
|
## QC NEVER Rules (`{role_id}`)
|
|
44
47
|
|
|
45
|
-
If any item below matches, **stop** and return `Blocked` to `project-manager
|
|
48
|
+
If any item below matches, **stop** and return `Blocked` to `project-manager`:
|
|
46
49
|
|
|
47
|
-
- **NEVER** invoke another QC seat or `{role_id}` again, nor `qa-engineer` / dev / `architect` / `project-manager`,
|
|
48
|
-
- **NEVER** ask the user for permission to submit a report
|
|
49
|
-
- **NEVER** modify business implementation/tests, `
|
|
50
|
-
- **NEVER** `git add .`
|
|
51
|
-
- **NEVER** close
|
|
52
|
-
- **NEVER** treat `Handoff`
|
|
53
|
-
- **NEVER** infer tool exposure implies authorization
|
|
54
|
-
- **NEVER** run parallel-agent dispatch yourself
|
|
55
|
-
- **NEVER** outsource review
|
|
50
|
+
- **NEVER** invoke another QC seat or `{role_id}` again, nor `qa-engineer` / dev / `architect` / `project-manager`, unless `Delegation: allowed (...)` lists them.
|
|
51
|
+
- **NEVER** ask the user for permission to submit a report or stall after a completed review.
|
|
52
|
+
- **NEVER** modify business implementation/tests, `status.json` residual fields, or paths outside QC report whitelist.
|
|
53
|
+
- **NEVER** `git add .` — stage **only** report files you changed.
|
|
54
|
+
- **NEVER** close or archive residual entries in `status.json` from QC.
|
|
55
|
+
- **NEVER** treat `Handoff` or routing prose as invoke instructions.
|
|
56
|
+
- **NEVER** infer tool exposure implies authorization.
|
|
57
|
+
- **NEVER** run parallel-agent dispatch yourself.
|
|
58
|
+
- **NEVER** outsource review to `explore`.
|
|
56
59
|
|
|
57
60
|
## Review Context Gate (Hard)
|
|
58
61
|
|
|
59
|
-
Before review, verify
|
|
60
|
-
|
|
61
|
-
- `Review cwd` / `Worktree path`
|
|
62
|
-
- `Working branch`
|
|
63
|
-
- `plan_id` (or `N/A` + scope label)
|
|
64
|
-
- `Review range / Diff basis`
|
|
65
|
-
|
|
66
|
-
If scope is not reproducible from assigned checkout/range, return `Blocked`.
|
|
62
|
+
Before review, verify: `Review cwd` / `Worktree path`, `Working branch`, `plan_id` (or `N/A` + scope label), `Review range` / `Diff basis`. If not reproducible → `Blocked`.
|
|
67
63
|
|
|
68
64
|
## Reviewer Focus
|
|
69
65
|
|
|
70
|
-
Primary focus
|
|
71
|
-
Still cover shared baseline:
|
|
72
|
-
|
|
73
|
-
- regression risk
|
|
74
|
-
- security/correctness risk
|
|
75
|
-
- maintainability/performance concerns
|
|
76
|
-
- missing or inadequate tests
|
|
66
|
+
Primary focus from `{focus}`. Still cover shared baseline in `reviewer-workflow.md`.
|
|
77
67
|
|
|
78
68
|
## Verdict Rules
|
|
79
69
|
|
|
80
|
-
-
|
|
81
|
-
- High-impact unresolved warning with disagreement => `Needs Discussion`
|
|
82
|
-
- Otherwise => `Approve`
|
|
83
|
-
|
|
84
|
-
Use severity and formatting standards from `mstar-review-qc`; machine `severity` enum from `mstar-plan-artifacts`.
|
|
70
|
+
See **`references/qc-specialist/report-template.md`**. Machine **`severity`** enum → `mstar-plan-artifacts`.
|
|
85
71
|
|
|
86
72
|
### Verdict NEVER (`{role_id}`)
|
|
87
73
|
|
|
88
|
-
- **NEVER**
|
|
89
|
-
- **NEVER**
|
|
90
|
-
- **NEVER** skip required static checks, security scans, or diff review steps called out in the assignment and then claim `Approve`.
|
|
74
|
+
- **NEVER** `Approve` with unresolved **Critical** (or mandatory **Warning** per assignment).
|
|
75
|
+
- **NEVER** skip required checks then claim `Approve`.
|
|
91
76
|
|
|
92
77
|
## Report path (required)
|
|
93
78
|
|
|
94
|
-
Write
|
|
79
|
+
Write **`{PLAN_DIR}/reports/<plan-id>/{report_suffix}.md`** (tri: `qc1`…`qc3`; inline: `qc.md`). No `<plan-id>` filename prefix.
|
|
95
80
|
|
|
96
81
|
## Targeted re-review (same report file)
|
|
97
82
|
|
|
98
|
-
When Assignment includes **`QC re-review: targeted
|
|
99
|
-
|
|
100
|
-
- **Edit the same** `{PLAN_DIR}/reports/<plan-id>/{report_suffix}.md` — do **not** create `qc1-rev2.md` siblings on this path.
|
|
101
|
-
- Add **`## Revalidation`**: what was re-checked, evidence (diff/tests), per-finding disposition (resolved / still open).
|
|
102
|
-
- Update frontmatter **`verdict`** and **`generated_at`**; keep **`reviewer_index`** unchanged.
|
|
103
|
-
- Commit **only** that report path; Completion Report cites the same artifact path as wave 1.
|
|
83
|
+
When Assignment includes **`QC re-review: targeted`**:
|
|
104
84
|
|
|
105
|
-
|
|
85
|
+
- Edit the **same** `{report_suffix}.md` — add **`## Revalidation`**, update frontmatter verdict/`generated_at`.
|
|
86
|
+
- Do **not** create `qcN-rev2.md` on this path.
|
|
87
|
+
- Full tri re-review → new basenames per `mstar-plan-artifacts/references/plan-files-and-reports.md`.
|
|
106
88
|
|
|
107
89
|
## QC Report Frontmatter (Required)
|
|
108
90
|
|
|
@@ -136,10 +118,16 @@ generated_at: "YYYY-MM-DD"
|
|
|
136
118
|
|
|
137
119
|
## Repository Write Scope
|
|
138
120
|
|
|
139
|
-
QC
|
|
140
|
-
Do not modify business implementation files or `status.json` ownership fields directly.
|
|
121
|
+
QC may write only `{PLAN_DIR}/reports/**/*.md` per assignment.
|
|
141
122
|
|
|
142
123
|
### Git NEVER (QC reports)
|
|
143
124
|
|
|
144
|
-
- **NEVER** claim
|
|
145
|
-
- **NEVER** `git add .`
|
|
125
|
+
- **NEVER** claim complete without `git add` (report paths only) + `git commit` when required — real `git log -1 --oneline` in Completion Report.
|
|
126
|
+
- **NEVER** `git add .`
|
|
127
|
+
|
|
128
|
+
## Detailed References Index
|
|
129
|
+
|
|
130
|
+
- Workflow: `references/qc-specialist/reviewer-workflow.md`
|
|
131
|
+
- Checklists: `references/qc-specialist/reviewer-checklist.md`
|
|
132
|
+
- Report + verdict: `references/qc-specialist/report-template.md`
|
|
133
|
+
- Deep lenses: `references/qc-specialist/deep-review-lenses.md`
|