refactor: hard-fork GSD -> MSD (Make Software Done)

Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD
across contents and paths, upstream package/repo coordinates -> @golem15/msd-core
and golem15com/msd-core. Deep links into upstream history, sibling upstream
packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is.

Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line,
package/plugin identity, regenerated lockfile, install-tree fixtures, derived
registries and benchmark baseline; migration checksum baseline re-locked
(MSD keeps its own install state, so no install had applied the old sums);
sort-order and regex-escaped expectations in tests adjusted.
This commit is contained in:
Jakub Zych
2026-10-06 01:47:40 +02:00
parent fe069b2a56
commit a9a7a328e6
2763 changed files with 78465 additions and 78434 deletions

View File

@@ -1,13 +1,13 @@
# How to batch quick tasks
`/gsd-quick-batch` runs several `/gsd-quick`-shaped tasks together as ONE
`/msd-quick-batch` runs several `/msd-quick`-shaped tasks together as ONE
coordinated run: one coordinator parses the task list, plans and dispatches
each item (planner, and optionally researcher/plan-checker/verifier leaves),
merges them in a deterministic order, and owns every shared write
(`BATCH.json`, `STATE.md`, worktree create/merge/cleanup) so the leaves never
race each other (ADR-1239 "Quick-batch binding").
Use it instead of running `/gsd-quick` N separate times when you have several
Use it instead of running `/msd-quick` N separate times when you have several
independent (or lightly interdependent) small tasks you want planned and
executed together, with parallelism where the tasks allow it.
@@ -21,7 +21,7 @@ Pass an inline task list — a bulleted or numbered list, at least 2 items,
one per line:
```bash
/gsd-quick-batch
/msd-quick-batch
- Fix the login timeout on mobile Safari
- Add a retry banner when the API call fails
- Update the README's setup instructions
@@ -30,12 +30,12 @@ one per line:
Or point at a file containing the list:
```bash
/gsd-quick-batch --file .planning/my-tasks.md
/msd-quick-batch --file .planning/my-tasks.md
```
Each item gets its own quick id, its own directory under
`.planning/quick/`, and (when isolation is available) its own worktree — the
same artifact shape a standalone `/gsd-quick` task produces, just planned and
same artifact shape a standalone `/msd-quick` task produces, just planned and
dispatched together.
---
@@ -45,18 +45,18 @@ dispatched together.
| Flag | What it does |
|------|-------------|
| `--jobs auto\|N` | `auto` (default) uses the negotiated dispatch capacity as-is. `N` caps effective concurrency at `min(task count, N, capacity)` — never more than the number of tasks, never more than what the runtime negotiated. A non-numeric or non-positive `N` is rejected before any dispatch. |
| `--validate` | Enables the per-item plan-checker loop (max 2 iterations, same cap as `/gsd-quick --validate`) and post-merge verification. |
| `--validate` | Enables the per-item plan-checker loop (max 2 iterations, same cap as `/msd-quick --validate`) and post-merge verification. |
| `--research` | Dispatches a focused researcher per item before planning. |
| `--resume <batch-id>` | Skips task-list parsing and batch creation entirely — loads the existing batch and dispatches only its still-eligible items. |
**Not supported in v1:** `--discuss` and `--full` are rejected with a usage
error before any dispatch. If a task genuinely needs a discussion phase, run
it through `/gsd-quick --discuss` on its own instead of including it in a
it through `/msd-quick --discuss` on its own instead of including it in a
batch.
```bash
/gsd-quick-batch --jobs 2 --validate --research # research, up to 2 concurrent, plan-checked + verified
/gsd-quick-batch --resume 260101-abc # resume an interrupted batch
/msd-quick-batch --jobs 2 --validate --research # research, up to 2 concurrent, plan-checked + verified
/msd-quick-batch --resume 260101-abc # resume an interrupted batch
```
---
@@ -88,7 +88,7 @@ in, never in whichever order an executor happens to finish first.
## Dependencies and file overlap
Before planning, `/gsd-quick-batch` has no signal about which items depend
Before planning, `/msd-quick-batch` has no signal about which items depend
on each other or touch the same files — every item starts in the same wave.
Each item's planner is shown the full batch's task catalog (every item's id
and description) and is required to declare, in its plan's frontmatter,
@@ -154,7 +154,7 @@ it, so you can inspect exactly what the executor did:
recognizes the on-disk `SUMMARY.md` and routes the item straight to
the merge step on its own; it will not re-dispatch a second executor
for it.
5. **Re-run** `/gsd-quick-batch --resume <batch-id>` once you're done. A
5. **Re-run** `/msd-quick-batch --resume <batch-id>` once you're done. A
`failed`/`merge_failed`/`scope_violation` item you resolved manually
(merged and cleaned up yourself) is picked up as already-merged on the
next resume; an item you decided to abandon stays `failed` and is