@mstar-harness/dsh 3.8.2 → 3.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/harness-commands/amazing-e2e-check.md +10 -0
  2. package/harness-commands/iteration-drive.md +1 -1
  3. package/harness-skills/mstar-artifacts/references/plan-files-and-reports.md +2 -2
  4. package/harness-skills/mstar-artifacts/references/plan-quality-bar.md +14 -12
  5. package/harness-skills/mstar-artifacts/templates/plan.main.md +19 -6
  6. package/harness-skills/mstar-audit/SKILL.md +5 -5
  7. package/harness-skills/mstar-coding-behavior/SKILL.md +8 -8
  8. package/harness-skills/mstar-dispatch-gates/SKILL.md +9 -7
  9. package/harness-skills/mstar-e2e/SKILL.md +40 -0
  10. package/harness-skills/mstar-e2e/references/report-template.md +32 -0
  11. package/harness-skills/mstar-engine-legacy/references/qc-seat-n-restatements.md +3 -3
  12. package/harness-skills/mstar-harness-core/SKILL.md +14 -1
  13. package/harness-skills/mstar-host/references/_shared/host-role-binding-core.md +1 -1
  14. package/harness-skills/mstar-host/references/cursor.md +1 -1
  15. package/harness-skills/mstar-host/references/dsh-workflow-scripts.md +4 -4
  16. package/harness-skills/mstar-host/references/dsh.md +9 -7
  17. package/harness-skills/mstar-host/references/kimi.md +3 -3
  18. package/harness-skills/mstar-host/references/omp.md +3 -3
  19. package/harness-skills/mstar-host/references/parallel-dispatch.md +6 -6
  20. package/harness-skills/mstar-host/references/zcode.md +4 -4
  21. package/harness-skills/mstar-iteration/SKILL.md +1 -1
  22. package/harness-skills/mstar-iteration/references/phase-1-prepare.md +2 -2
  23. package/harness-skills/mstar-iteration/references/phase-2-worktree-lease.md +3 -3
  24. package/harness-skills/mstar-review-qc/SKILL.md +4 -4
  25. package/harness-skills/mstar-review-qc/references/review-responsibility-boundaries.md +9 -7
  26. package/harness-skills/mstar-roles/SKILL.md +2 -0
  27. package/harness-skills/mstar-roles/references/_shared/leaf-executor-core.md +9 -0
  28. package/harness-skills/mstar-roles/references/ops-engineer.md +3 -0
  29. package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +12 -9
  30. package/harness-skills/mstar-roles/references/project-manager/qa-trigger-matrix.md +7 -5
  31. package/harness-skills/mstar-roles/references/project-manager/qc-and-residuals.md +2 -2
  32. package/harness-skills/mstar-roles/references/project-manager/routing-and-dev-allocation.md +2 -2
  33. package/harness-skills/mstar-roles/references/project-manager.md +2 -2
  34. package/harness-skills/mstar-roles/references/qa-engineer/acceptance-gate.md +12 -13
  35. package/harness-skills/mstar-roles/references/qa-engineer.md +5 -4
  36. package/harness-skills/mstar-roles/references/qc-specialist/deep-review-lenses.md +5 -5
  37. package/harness-skills/mstar-roles/references/qc-specialist/report-template.md +2 -0
  38. package/harness-skills/mstar-roles/references/qc-specialist/reviewer-checklist.md +1 -1
  39. package/harness-skills/mstar-roles/references/qc-specialist/reviewer-workflow.md +5 -4
  40. package/harness-skills/mstar-roles/references/qc-specialist-shared.md +3 -1
  41. package/harness-skills/mstar-sdd/SKILL.md +16 -10
  42. package/harness-skills/mstar-sdd/references/file-handoffs.md +40 -20
  43. package/harness-skills/mstar-sdd/references/implementer-continuation-prompt.md +9 -4
  44. package/harness-skills/mstar-sdd/references/implementer-prompt.md +11 -6
  45. package/harness-skills/mstar-sdd/references/sticky-implementer-session.md +4 -2
  46. package/harness-skills/mstar-sdd/references/task-reviewer-prompt.md +8 -4
  47. package/package.json +1 -1
@@ -4,7 +4,7 @@ Extension of `references/qc-specialist-shared.md`. Read when dispatched as `qc-s
4
4
 
5
5
  ## What this seat is
6
6
 
7
- **L3 plan QC = independent code review** on the whole-branch diff: logic, contracts, security, maintainability, reliability — same job family as a human PR reviewer.
7
+ **L3 plan QC = independent code review** on the assigned changed diff and directly affected interfaces: logic, contracts, security, maintainability, reliability — same job family as a human PR reviewer.
8
8
 
9
9
  | This seat does | This seat does **not** |
10
10
  |----------------|-------------------------|
@@ -26,10 +26,10 @@ Layer SSOT → `mstar-review-qc/references/review-responsibility-boundaries.md`.
26
26
  ## Standard review workflow
27
27
 
28
28
  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.
29
- 2. **Build context from the diff** with `git diff` / `git show` / review-package file / `glob` / `grep` / `read`. Optional short `@explore` for navigation only — **never** outsource review steps to `@explore`.
29
+ 2. **Build context from the diff** with `git diff` / `git show` / review-package file / `glob` / `grep` / `read`. Use the supplied relevant knowledge/context; do not launch global exploration or delegate navigation.
30
30
  3. Re-verify branch vs **`Working branch` / `Branch policy`** before concluding.
31
31
  4. **Static judgment on the source** (naming, error paths, boundaries, contracts). Default tooling = read/grep only. **Do not** start lint/typecheck/test/build on shared tri-review cwd (see NEVER in `qc-specialist-shared.md`).
32
- 5. Execute **`reviewer-checklist.md`** manually against the diff.
32
+ 5. Apply only the **`reviewer-checklist.md`** items affected by the diff. Reuse unchanged L2 evidence; re-review only the assigned findings and fix delta. Stop when these questions have evidence.
33
33
  6. Produce structured findings with severity and evidence. PM maps report sections to register **`severity`** (`projects/<id>/residuals.json` → `entries[<plan-id>]`) per `mstar-artifacts/references/status-and-residuals.md` — do not invent non-canonical severity strings.
34
34
  7. **Write report:** Write `.md` to the Assignment-provided `{SDD_DIR}/review/` report path. Do not commit raw bundle reports unless Assignment explicitly says `Review archive mode: tracked reports`.
35
35
  8. **No stall:** When done, emit **Completion Report** in the same turn — no “notify PM?” choosers.
@@ -38,7 +38,8 @@ Layer SSOT → `mstar-review-qc/references/review-responsibility-boundaries.md`.
38
38
 
39
39
  If Acceptance Criteria or high-risk paths need **runtime** proof and L1 reports leave a gap:
40
40
 
41
- - Record in findings / Summary: `Needs L4/QA verification: <what command or check>` with confidence Medium/Low as appropriate.
41
+ - Record in findings / Summary: `Needs targeted unit evidence: <affected behavior and named case>` with confidence Medium/Low as appropriate.
42
+ - Browser/device/E2E gaps become an explicitly requested independent **`mstar-e2e`** workflow, not QA commands or an automatic iteration gate.
42
43
  - Still complete the **diff review** and return a verdict for what you *can* judge from source.
43
44
  - Do **not** run the missing commands yourself to fill the gap.
44
45
 
@@ -17,7 +17,9 @@ You are QC reviewer #{reviewer_index} (or sole reviewer when `QC mode: single`),
17
17
  You are a **code reviewer** (diff + language/logic + risk lenses) — **not** a test runner and **not** a substitute for `qa-engineer`.
18
18
  Your output is a structured QC report plus Completion Report.
19
19
 
20
- **Default (SDD):** plan QC tri on whole-branch review-package (`QC mode: full tri-review`). **Exception:** `Execution mode: inline` → single-seat `qc.md`.
20
+ **Default (SDD):** plan QC tri on the assigned change review-package (`QC mode: full tri-review`). **Exception:** `Execution mode: inline` → single-seat `qc.md`.
21
+
22
+ **Scope:** follow **`mstar-harness-core`** § 定向执行与验证边界. Initial review covers assigned changed hunks and directly affected interfaces; reuse L2 evidence. Re-review covers only assigned findings and fix delta. Seat count never authorizes full-repository review or fresh global exploration.
21
23
 
22
24
  **Do (L3):** Read `git diff` / review-package; reason about correctness, security, contracts, maintainability, reliability; flag coverage **gaps in the diff** (missing tests for changed behavior); write findings with evidence from source.
23
25
 
@@ -19,7 +19,7 @@ If you were dispatched as an SDD implementer or task reviewer, skip PM orchestra
19
19
 
20
20
  ## Core principle
21
21
 
22
- **Default:** fresh implementer subagent per task + task review (spec + quality) + plan-level QC on whole branch = quality with isolated context.
22
+ **Default:** fresh implementer per ready task + task-scoped review + plan QC on the changed diff and directly affected interfaces. Execution scope → **`mstar-harness-core`** § 定向执行与验证边界.
23
23
 
24
24
  **Optional:** **`SDD implementer session: sticky`** — same implementer subagent across sequential tasks on one plan/branch; **task reviewers stay fresh per task**. SSOT → **`references/sticky-implementer-session.md`**.
25
25
 
@@ -38,6 +38,12 @@ Before Task 1, scan plan once for:
38
38
 
39
39
  Batch all findings for the human in one message. If clean, proceed silently.
40
40
 
41
+ ## Ready-task scheduling (PM only · Decision Rules)
42
+
43
+ Dispatch independent ready tasks concurrently after L2 worktree isolation. Keep one canonical per-plan `{SDD_DIR}`. PM alone writes its `context.json`, `progress.md` and workflow snapshot; prepare context-dependent helper outputs serially. Each writable track has its own worktree/branch and immutable task-specific absolute brief/report/diff paths. Artifact subdirectories are namespaces inside that SDD root, never a second SDD root. Parallel leaves use the supplied paths directly and do not invoke shared-context helpers or read mutable context to choose their checkout; never share a writable session or `implementer-session.json`. Use **fresh** implementers for parallel tasks. Serialize only actual dependencies, overlapping write ownership, one sticky session, and integration merges; state the dependency when serializing. A task reviewer may run alongside an unrelated ready implementer. PM alone reconciles reports into the shared `progress.md` and workflow snapshot.
44
+
45
+ **Dependent-task readiness:** review approval alone does not make a prerequisite available. PM serially integrates the reviewed prerequisite commits, then creates or updates the idle dependent worktree from that integrated state before recording its `BASE_SHA` and dispatching. For each required reviewed commit, record `git -C "$FEATURE_CWD" merge-base --is-ancestor <prerequisite-sha> <BASE_SHA>` with exit 0; a missing commit blocks only that dependent task. Do not move an active task's base; independent ready tasks continue concurrently.
46
+
41
47
  ## Per-task loop (PM only · Workflow)
42
48
 
43
49
  1. Record `BASE_SHA` (never use `HEAD~1` later)
@@ -50,9 +56,9 @@ Batch all findings for the human in one message. If clean, proceed silently.
50
56
  6. Dispatch **fresh** task reviewer — role **`code-reviewer`** (L2; **not** `qc-specialist*`; host fallback generic + C5b → `mstar-host` C5) — brief, report, diff, Global Constraints — `references/task-reviewer-prompt.md` — **never** sticky resume for reviewers
51
57
  7. Fix loop for Critical/Important; re-review until approved
52
58
  8. Append `progress.md`; update the workflow snapshot plan row (`workflows/<id>/snapshot.json` → `plans[]`) `task_commits[]` and `implementer-session.json` `last_task` if sticky
53
- 9. Next task
59
+ 9. Release dependent tasks only after reviewed prerequisite commits are present in their assigned base, per Dependent-task readiness above; independent ready tasks need not wait
54
60
 
55
- **Never** dispatch multiple implementers in parallel (write conflicts).
61
+ **Never** dispatch parallel writers without isolated worktrees and disjoint ownership. Merge their outputs serially before producing the plan review-package.
56
62
 
57
63
  Detail: **`references/file-handoffs.md`**.
58
64
 
@@ -87,20 +93,20 @@ Host mapping → **`mstar-host`** references (`model` / Task field).
87
93
 
88
94
  1. `mstar sdd review-package MERGE_BASE HEAD` → branch diff in `{SDD_DIR}/review/`
89
95
  2. PM dispatches **plan QC tri-review (L3)** — **`QC mode: full tri-review`**, **N=3** — with branch review-package path and report paths under `{SDD_DIR}/review/` → **`mstar-review-qc`** · **`mstar-dispatch-gates`**. Layer SSOT → **`mstar-review-qc/references/review-responsibility-boundaries.md`**. PM writes `{SDD_DIR}/review/qc-consolidated.md` and durable main-plan gate summary. **Mandatory whenever `Execution mode: sdd`** (single-plan or iteration).
90
- 3. Critical/Important QC findings → **one** fix dispatch (full list), then targeted re-review. Fix rounds run on four mechanics — the per-task fix loop applies the same (`references/file-handoffs.md`):
96
+ 3. Critical/Important QC findings → fix assignments partitioned by ownership/dependency, then targeted re-review. Independent fixes run concurrently; PM retains the complete findings ledger. Fix rounds run on four mechanics — the per-task fix loop applies the same (`references/file-handoffs.md`):
91
97
  - **Unverified rounds count**: a fix round without verification evidence (reviewer not confirmed / report not on disk) is **not clean** — re-check and count the round; never enter the convergence branch.
92
- - **Full re-entry**: the next fix dispatch carries **all** open findings (including last round's unverified items) — never slice a subset.
93
- - **Capped cross-round excerpt**: from round ≥2, the fix dispatch attaches an excerpt of prior rounds' findings and dispositions (advisory caps: ~500 words per round, ~1500 total — suggested values, not hard limits).
98
+ - **Complete ledger, scoped dispatch**: PM retains every open finding, including unverified items; each fix assignment carries only its owned findings and relevant fix delta. Unrelated findings do not expand a leaf task.
99
+ - **Capped cross-round excerpt**: from round ≥2, the fix dispatch attaches only relevant prior findings and dispositions (advisory caps: ~500 words per round, ~1500 total — suggested values, not hard limits).
94
100
  - **Honest non-convergence**: open findings at wave close → list them in detail and state the disposition — re-feed to the next fix round **or** transfer to residual tracking — never silently close.
95
101
  4. QA gate → **`mstar-harness-core`** Done rules; PM **`mstar-roles/references/project-manager/qa-trigger-matrix.md`**
96
102
 
97
- > **On dsh:** the plan QC tri MAY run through the native **`workflow`** tool instead of three `subagent` dispatches — take the `script` + `meta` (`meta.name: mstar-qc-tri`) from skill **`mstar-host`** → `references/dsh-workflow-scripts.md` (§ `mstar-qc-tri`); the three seats stay read-only and PM persists `{SDD_DIR}/review/qc1.md`…`qc3.md` from their returned envelopes. Per-task implementers stay **serial `subagent`** — the `workflow` channel is read-only fan-out only; when the tool is unmounted (`ptc` preset) dispatch the three seats as background `subagent` calls (skill **`mstar-host`** → `references/dsh.md`).
103
+ > **On dsh:** the plan QC tri MAY run through the native **`workflow`** tool instead of three `subagent` dispatches — take the `script` + `meta` (`meta.name: mstar-qc-tri`) from skill **`mstar-host`** → `references/dsh-workflow-scripts.md` (§ `mstar-qc-tri`); the three seats stay read-only and PM persists `{SDD_DIR}/review/qc1.md`…`qc3.md` from their returned envelopes. Independent ready implementers use background **`subagent`** dispatches with isolated writable tracks — the `workflow` channel is read-only fan-out only; when the tool is unmounted (`ptc` preset) dispatch the three seats as background `subagent` calls (skill **`mstar-host`** → `references/dsh.md`).
98
104
 
99
105
  ## Progress ledger(Evidence)
100
106
 
101
- At start: `cat {SDD_DIR}/progress.md`. Tasks marked complete are DONE — do not re-dispatch after compaction.
107
+ PM at start: `cat {SDD_DIR}/progress.md`. Tasks marked complete are DONE — do not re-dispatch after compaction.
102
108
 
103
- Append on clean review: `Task N: complete (<base>..<head>, review clean)`.
109
+ PM appends on clean review: `Task N: complete (<base>..<head>, review clean)`.
104
110
 
105
111
  Minor findings → `## Minor (for plan QC)` section in same file.
106
112
 
@@ -108,7 +114,7 @@ Minor findings → `## Minor (for plan QC)` section in same file.
108
114
 
109
115
  ## Red flags (NEVER)
110
116
 
111
- - Parallel implementer dispatches
117
+ - Parallel implementers sharing a worktree, ownership, or session
112
118
  - Paste plan, diffs, or task history into dispatch prompts
113
119
  - Dispatch reviewer without diff file
114
120
  - `HEAD~1` as review BASE
@@ -4,14 +4,16 @@ PM and subagents move artifacts as **files**, not pasted text. Pasted content st
4
4
 
5
5
  ## Before implementer dispatch
6
6
 
7
- Run the SDD helpers through the engine CLI **`mstar sdd …`** (engine-backed; the former bash scripts are removed — semantics unchanged).
7
+ **PM owns helper execution and shared coordination writes.** Keep one canonical per-plan `{SDD_DIR}` root; only PM writes its `context.json` and `progress.md`. Subdirectories namespace artifacts, not a second SDD root. Scheduling → `mstar-sdd` § Ready-task scheduling.
8
+
9
+ PM runs context-dependent `mstar sdd workspace`, `task-brief`, and `review-package` helpers serially for the corresponding assigned checkout/branch. These helpers may update shared context; parallel hosted leaves never invoke them. Before each dispatch, PM fixes absolute task-specific brief/report/diff destinations and copies `Worktree path` / branch into the Assignment. Updating context for another task must not change an already-dispatched leaf's inputs.
8
10
 
9
11
  1. `export SDD_DIR=$(mstar sdd workspace <plan-id>)`
10
12
  - Iteration L1 (implementer cwd = feature worktree):
11
13
  `export MSTAR_CONTROL_ROOT=<control_worktree_path>`
12
14
  or `mstar sdd workspace <plan-id> <control_worktree_path>`
13
15
  so `{SDD_DIR}` lands on the control harness (default-gitignored plans/status/sdd). Do not create a second SDD tree under the feature checkout.
14
- 2. Write the execution context file `$SDD_DIR/context.json` — the absolute destination contract every handoff cites:
16
+ 2. PM writes `$SDD_DIR/context.json` for the current helper operation — parallel hosted handoffs pin these values in their Assignment instead of consulting mutable plan context:
15
17
 
16
18
  ```json
17
19
  {
@@ -26,13 +28,13 @@ Run the SDD helpers through the engine CLI **`mstar sdd …`** (engine-backed; t
26
28
 
27
29
  All paths absolute; `planFile`/`sddDir` must resolve inside the control harness; `featureCwd` must be the assigned feature worktree on `workingBranch`. The declared control root is authoritative — never re-inferred from the feature cwd.
28
30
  3. `mstar sdd task-brief <plan-file> <N> --context "$SDD_DIR/context.json"` — bound producer: validates the artifact destination **before** mkdir/write and prints the absolute brief path (`{SDD_DIR}/task-N-brief.md`).
29
- 4. Record `BASE_SHA` (`git rev-parse HEAD` before dispatch).
31
+ 4. Record `BASE_SHA` (`BASE_SHA=$(git -C "$FEATURE_CWD" rev-parse HEAD)` before dispatch). For dependent tasks, first satisfy `mstar-sdd` § Ready-task scheduling: PM serially integrates reviewed prerequisite commits and records their ancestry in this base. Include those commit/base IDs and the check result in the handoff; review approval alone is insufficient.
30
32
  5. Dispatch implementer with:
31
33
  - One line scene-setting (where task fits)
32
34
  - Absolute brief path: read first — verbatim requirements
33
35
  - Interfaces / decisions brief cannot know
34
36
  - Absolute report path: `$SDD_DIR/task-N-report.md`
35
- - Absolute control root, feature cwd, plan and context-file paths (destination contract — see prompt templates)
37
+ - Absolute control root, feature cwd, branch and plan paths, plus task-specific brief/report/diff paths fixed for this dispatch; the context path is PM coordination metadata, not a leaf checkout selector
36
38
  - `Model tier` → host-specific model (required)
37
39
  - **`SDD implementer session`**: `fresh` (new subagent) or `sticky` (resume — see **`sticky-implementer-session.md`**)
38
40
 
@@ -42,20 +44,44 @@ Implementer writes full report to `task-N-report.md`. Return to PM only:
42
44
 
43
45
  - Status: `DONE` | `DONE_WITH_CONCERNS` | `NEEDS_CONTEXT` | `BLOCKED`
44
46
  - Commits (SHAs)
45
- - One-line test summary
47
+ - One-line verification summary (affected tests or scoped static evidence)
46
48
  - Concerns (if any)
47
49
 
50
+ ## Verification evidence
51
+
52
+ Choose evidence from the actual diff, not the file extension. Scope limits → `mstar-harness-core` § 定向执行与验证边界.
53
+
54
+ - **Executable logic**: report the affected test file(s), exact command/selector and actual output; bug fixes include the reproduction red/green evidence. No `Verification mode` is needed for this test triple.
55
+ - **Non-executable documentation or prompt/skill policy**: use `Verification mode: scoped-check` with real scoped static or before/after observable evidence. This mode cannot exempt executable code, configuration logic or executable snippets from corresponding tests. Mixed changes retain executable test evidence and do not claim a scoped-check exemption for the task.
56
+
57
+ ```markdown
58
+ Verification mode: scoped-check
59
+ Changed files: <actual non-executable files>
60
+ Tests: N/A
61
+ Reason: <why scoped evidence fits the actual change>
62
+ Check command: <exact targeted command actually run>
63
+ Check result: <actual exit/result and observed output>
64
+ ```
65
+
66
+ `Check result` accepts concrete static-tool output (for example `docs/guide.md:12: scoped rule`); a test-style PASS/exit token is not required. It must be nonempty and non-placeholder. Whether an observation is truthful and sufficient remains PM/QC's responsibility.
67
+
68
+ For appended fixes, begin each new block with `## Verification round: <concrete label>` (for example `fix 1`). Only the last such round is active; earlier rounds remain history and cannot fill missing fields. A report without round headings is one active block. The active round supplies its complete applicable evidence, including `Verification mode` for scoped checks; executable rounds retain their own test triple without a mode. A blank/placeholder round label is invalid.
69
+
70
+ Replace every placeholder with actual evidence. Unknown or duplicate modes within the active round, missing/empty/placeholder fields, and bare `Tests: N/A` fail; do not copy the template as a report. `assertSddTddTriple` / `mstar lint <task-report>` validate structure only. PM/QC check the actual changed range, applicability and evidence honesty; the checker cannot establish that commands ran or intercept arbitrary shell execution. For policy changes, record the before/after expectation and triggering scenario alongside the concrete check; no broad model-eval matrix is implied.
71
+
48
72
  ## After implementer DONE
49
73
 
50
- 1. `HEAD_SHA=$(git rev-parse HEAD)`
51
- 2. `mstar sdd review-package "$BASE_SHA" "$HEAD_SHA" --context "$SDD_DIR/context.json"` — bound: probes git in `featureCwd`, writes the diff into the control sddDir, prints absolute paths.
74
+ PM sets `FEATURE_CWD` from the completed task's immutable Assignment `Worktree path`, verifies its assigned branch, and restores context to that same checkout/branch. Generate the task-specific review package serially from this path; do not use the PM shell cwd for task endpoints. Leaves keep their dispatched inputs unchanged.
75
+
76
+ 1. `HEAD_SHA=$(git -C "$FEATURE_CWD" rev-parse HEAD)`
77
+ 2. `mstar sdd review-package "$BASE_SHA" "$HEAD_SHA" --context "$SDD_DIR/context.json"` — context `featureCwd` must equal the same `$FEATURE_CWD` used for `HEAD_SHA`; probes git there, writes the diff into the control sddDir, prints absolute paths.
52
78
  3. Dispatch task reviewer with: brief path, report path, diff path, Global Constraints (verbatim from plan).
53
79
 
54
80
  **Never use `HEAD~1` as BASE** — multi-commit tasks truncate.
55
81
 
56
82
  ## Bound child launch (CLI-launchable children)
57
83
 
58
- When the implementer is a CLI command rather than a hosted subagent, launch it through the bound argv entry — never raw from a primary/control checkout:
84
+ **PM-only serialized launch:** when the implementer is a CLI command rather than a hosted subagent, PM holds the serialized context operation through context validation and child spawn, using the launch Assignment's fixed checkout/branch. Do not rotate context until the launch resolves. Hosted leaves never use this entry for their assigned checks; they run allowed commands directly from their verified assigned feature workdir and branch:
59
85
 
60
86
  ```bash
61
87
  mstar sdd exec --context "$SDD_DIR/context.json" -- <argv...>
@@ -68,24 +94,18 @@ mstar sdd exec --context "$SDD_DIR/context.json" -- <argv...>
68
94
 
69
95
  Hosted subagents are not cwd-bound by the launcher, so their dispatch prompt must carry the absolute destination contract (templates: `implementer-prompt.md`, `implementer-continuation-prompt.md`, `task-reviewer-prompt.md`) and their first step is to observe, then write:
70
96
 
71
- 1. Observe `pwd` and the checked-out branch in the tool's workdir; both must equal `featureCwd`/`workingBranch`. On mismatch, stop and report — a declared-correct assignment does not make a wrong-checkout write safe.
72
- 2. Source edits go through the tool workdir at `featureCwd` (or absolute feature paths); briefs/reports/diffs go only to the absolute control paths from the handoff.
97
+ 1. Observe `pwd` and the checked-out branch in the tool's workdir; both must equal the immutable Assignment `Worktree path` / branch (`featureCwd`/`workingBranch`), never a newly read value from mutable plan context. On mismatch, stop and report — a declared-correct assignment does not make a wrong-checkout write safe.
98
+ 2. Source edits go through the assigned feature workdir; write the report only to its fixed task-specific path and consume brief/diff artifacts only from the dispatched paths. Do not modify shared context/progress or invoke context-writing workspace/task-brief/review-package helpers; request missing artifacts from PM.
73
99
 
74
100
  ## Fix loop
75
101
 
76
- Fix subagent appends to same `task-N-report.md` with test evidence:
77
-
78
- - Covering test file(s)
79
- - Command run
80
- - Output (pristine — warnings are findings)
81
-
82
- Re-dispatch reviewer only when all three are present.
102
+ Fix subagent appends a new `## Verification round: <concrete label>` to the same `task-N-report.md`, followed by the complete affected executable test triple or applicable `scoped-check` block above, with actual output (warnings remain findings). Reuse unaffected evidence, citing its original range and why it remains applicable. Re-dispatch the owning reviewer for the assigned finding/fix delta when the required evidence is present.
83
103
 
84
- The per-task fix loop applies the same fix-round mechanics as plan-level QC fix waves (SKILL.md · "After all tasks" — unverified rounds count, full re-entry, capped cross-round excerpt, honest non-convergence): from round ≥2 the excerpt of prior rounds' findings/dispositions goes into the fix dispatch brief, and the round tally/verification history lands in `$SDD_DIR/progress.md`.
104
+ The per-task fix loop applies the same fix-round mechanics as plan-level QC fix waves (SKILL.md · "After all tasks" — unverified rounds count, affected finding/fix-delta re-entry, capped cross-round excerpt, honest non-convergence): from round ≥2 the excerpt of prior rounds' findings/dispositions goes into the fix dispatch brief, and the round tally/verification history lands in `$SDD_DIR/progress.md`.
85
105
 
86
106
  ## Progress ledger
87
107
 
88
- On clean task review, append to `$SDD_DIR/progress.md`:
108
+ On clean task review, PM alone appends to `$SDD_DIR/progress.md`:
89
109
 
90
110
  ```text
91
111
  Task N: complete (<base>..<head>, review clean)
@@ -95,7 +115,7 @@ Minor findings: append under `## Minor (for plan QC)` in same file.
95
115
 
96
116
  ## Plan-level QC package
97
117
 
98
- After all tasks:
118
+ After all tasks, PM generates the package serially from the integrated checkout with its corresponding context:
99
119
 
100
120
  ```bash
101
121
  MERGE_BASE=$(git merge-base <target-branch> HEAD)
@@ -26,10 +26,10 @@ Dispatch:
26
26
 
27
27
  - Control harness root (briefs/reports/diffs live here): [CONTROL_ROOT]
28
28
  - Feature worktree — cwd for all source edits, branch [WORKING_BRANCH]: [FEATURE_CWD]
29
- - Plan: [PLAN_FILE] — Context file: [CONTEXT_FILE]
29
+ - Plan: [PLAN_FILE] — PM coordination context: [CONTEXT_FILE] (never use it to select your checkout)
30
30
  - Brief: [BRIEF_FILE] — Report: [REPORT_FILE]
31
31
  - First step on resume: re-observe `pwd` and the checked-out branch — a sticky session may wake in a different cwd; on mismatch with [FEATURE_CWD]/[WORKING_BRANCH], stop and report BLOCKED — do not write.
32
- - These destinations bind the handoff, not the host: a later deliberate `chdir`, absolute-path write outside [FEATURE_CWD], or host-native edit tool (apply_patch) is NOT blocked. CLI-launchable children are started via `mstar sdd exec --context [CONTEXT_FILE] -- <argv>` (starting cwd = feature worktree).
32
+ - These destinations bind the handoff, not the host: a later deliberate `chdir`, absolute-path write outside [FEATURE_CWD], or host-native edit tool (apply_patch) is NOT blocked. Execute allowed commands directly with the tool workdir fixed to the verified [FEATURE_CWD] / [WORKING_BRANCH]. Hosted leaves must not invoke `mstar sdd exec --context` or resolve cwd from mutable shared context; that entry is reserved for PM serialized CLI launch (file-handoffs.md § Bound child launch).
33
33
 
34
34
  ## Context not in the brief
35
35
 
@@ -39,11 +39,16 @@ Dispatch:
39
39
 
40
40
  Write your full report to: [REPORT_FILE]
41
41
 
42
+ ## Scope and stop
43
+
44
+ Use only the brief's owned files, relevant inputs and named checks. Do not restart global exploration, extend the task, or run local full suites without the user's explicit scoped permission. Reuse unaffected evidence. Stop once the assigned acceptance criteria are evidenced; report concrete missing context instead of over-analyzing settled work.
45
+
42
46
  ## Your job
43
47
 
44
48
  1. Implement exactly what this brief specifies (prior tasks are done)
45
- 2. Run tests; commit on Working branch
46
- 3. Write report file; return short summary only
49
+ 2. Run only assigned affected unit tests or applicable scoped-check evidence; use file-handoffs.md § Verification evidence and retain unaffected prior evidence
50
+ 3. Commit on Working branch
51
+ 4. Write report file with actual evidence; return short summary only
47
52
 
48
53
  ## When stuck
49
54
 
@@ -26,10 +26,10 @@ Dispatch:
26
26
 
27
27
  - Control harness root (briefs/reports/diffs live here): [CONTROL_ROOT]
28
28
  - Feature worktree — cwd for all source edits, branch [WORKING_BRANCH]: [FEATURE_CWD]
29
- - Plan: [PLAN_FILE] — Context file: [CONTEXT_FILE]
29
+ - Plan: [PLAN_FILE] — PM coordination context: [CONTEXT_FILE] (never use it to select your checkout)
30
30
  - Brief: [BRIEF_FILE] — Report: [REPORT_FILE]
31
31
  - First step: observe `pwd` and the checked-out branch; on mismatch with [FEATURE_CWD]/[WORKING_BRANCH], stop and report BLOCKED — do not write. A declared-correct assignment does not make a wrong-checkout write safe.
32
- - These destinations bind the handoff, not the host: a later deliberate `chdir`, absolute-path write outside [FEATURE_CWD], or host-native edit tool (apply_patch) is NOT blocked. CLI-launchable children are started via `mstar sdd exec --context [CONTEXT_FILE] -- <argv>` (starting cwd = feature worktree).
32
+ - These destinations bind the handoff, not the host: a later deliberate `chdir`, absolute-path write outside [FEATURE_CWD], or host-native edit tool (apply_patch) is NOT blocked. Execute allowed commands directly with the tool workdir fixed to the verified [FEATURE_CWD] / [WORKING_BRANCH]. Hosted leaves must not invoke `mstar sdd exec --context` or resolve cwd from mutable shared context; that entry is reserved for PM serialized CLI launch (file-handoffs.md § Bound child launch).
33
33
 
34
34
  ## Context not in the brief
35
35
 
@@ -41,14 +41,18 @@ Dispatch:
41
41
 
42
42
  ## Before you begin
43
43
 
44
- Ask questions now about requirements, approach, or dependencies.
44
+ Read the supplied brief and relevant inputs. Ask only about a concrete missing prerequisite that prevents this task; do not reopen settled choices.
45
+
46
+ ## Scope and stop
47
+
48
+ Use only the brief's owned files, relevant inputs and named checks. Do not restart global exploration, extend the task, or run local full suites without the user's explicit scoped permission. Reuse unaffected evidence. Stop once the assigned acceptance criteria are evidenced; report concrete missing context instead of over-analyzing settled work.
45
49
 
46
50
  ## Your job
47
51
 
48
52
  1. Implement exactly what the brief specifies
49
- 2. Run tests (TDD if brief requires)
53
+ 2. Run only the assigned affected unit tests; for non-executable docs/policy, use real scoped-check evidence per file-handoffs.md § Verification evidence
50
54
  3. Commit on Working branch
51
- 4. Self-review
55
+ 4. Self-review only the task diff and directly affected contracts
52
56
  5. Write report file; return short summary only
53
57
 
54
58
  ## When stuck
@@ -59,7 +63,8 @@ Dispatch:
59
63
 
60
64
  - Status: DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED
61
65
  - Implemented / attempted
62
- - Tests: command, output, red/green evidence if TDD
66
+ - Verification: affected test files, command, actual output (red/green for executable bug fixes), OR the complete scoped-check block from file-handoffs.md for non-executable docs/policy
67
+ - Reused evidence: original range and reason it remains applicable
63
68
  - Files changed
64
69
  - Self-review notes
65
70
  ```
@@ -4,14 +4,16 @@ Reuse the **same implementer subagent** across multiple tasks in one plan when t
4
4
 
5
5
  SSOT for mode selection and host resume → this file. Per-task artifacts → **`file-handoffs.md`**.
6
6
 
7
+ **Parallel ready tasks use fresh sessions and task-specific artifact paths inside one canonical per-plan SDD root** (`mstar-sdd` § Ready-task scheduling). Never resume the same session concurrently or share its ledger between tracks; PM alone updates shared context/progress; parallel leaves consume immutable absolute artifact paths, not shared-context helpers.
8
+
7
9
  ## When to use
8
10
 
9
11
  | `SDD implementer session` | Use |
10
12
  |---------------------------|-----|
11
13
  | **`fresh`** (default) | Independent tasks, module boundaries, different dev tracks, or first task on a plan |
12
- | **`sticky`** | Same `fullstack-dev` (or same role id), sequential tasks on one branch, strong file/context continuity (e.g. T3+T4 daemon stderr + DB reset) |
14
+ | **`sticky`** | One sequential dependency chain on one owner track; same `fullstack-dev` (or same role id), sequential tasks on one branch, strong file/context continuity (e.g. T3+T4 daemon stderr + DB reset) |
13
15
 
14
- **Prefer `sticky`** on iteration Phase 2 Autonomous Execute when PM will dispatch many tasks to the same dev on one plan feature branch.
16
+ **Prefer `sticky`** only within a sequential dependency chain with strong context continuity; independent ready tasks remain fresh and concurrent.
15
17
 
16
18
  ## Assignment fields (implement dispatch)
17
19
 
@@ -12,7 +12,7 @@ Dispatch:
12
12
  <SUBAGENT-STOP> Skip PM orchestration. Read-only review.</SUBAGENT-STOP>
13
13
 
14
14
  Review one task implementation: spec compliance first, then quality.
15
- Task-scoped gate — plan-level QC comes later on the whole branch.
15
+ Task-scoped gate — later plan QC checks changed interfaces across tasks, reusing this report.
16
16
 
17
17
  ## What was requested
18
18
 
@@ -39,8 +39,12 @@ Dispatch:
39
39
  Diff file: [DIFF_FILE]
40
40
 
41
41
  Read the diff file once. Do not re-run git. Do not mutate checkout.
42
- Do not re-run full test suite — trust implementer evidence unless a
43
- specific doubt needs one focused test.
42
+ Review only the assigned task diff and directly affected interfaces.
43
+ No repository-wide exploration or full test suite. Reuse relevant
44
+ implementer evidence; a specific doubt permits only the assigned focused
45
+ unit check. Non-executable docs/policy may use scoped-check evidence;
46
+ verify its applicability against the diff, never invent a test obligation.
47
+ Stop once the assigned acceptance questions are answered.
44
48
 
45
49
  ## Output
46
50
 
@@ -57,4 +61,4 @@ Dispatch:
57
61
  **Task quality:** Approved | Needs fixes
58
62
  ```
59
63
 
60
- Re-review after fixes covers both verdicts. PM resolves all ⚠️ items before marking task complete.
64
+ Re-review after fixes checks both verdicts only for the raised findings and fix delta; unchanged evidence remains reusable. PM resolves all ⚠️ items before marking task complete.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mstar-harness/dsh",
3
- "version": "3.8.2",
3
+ "version": "3.8.3",
4
4
  "description": "Morning Star harness dsh (DeepSeek Harness) cordis function plugin — in-process engine gates (status/dispatch/lease) with hard refusal channels.",
5
5
  "keywords": [
6
6
  "dsh",