Files
suaveplan/openspec/changes/corpus-spec-hygiene/tasks.md
2026-05-27 23:29:53 +01:00

33 lines
3.0 KiB
Markdown

## 0. Pre-flight (non-negotiable)
- [ ] 0.1 Confirm clean working tree (`git status` reports nothing) and no in-flight worktrees with uncommitted work (`git worktree list` then `git status` in each)
- [ ] 0.2 If any worktrees exist under `.claude/worktrees/`, account for each one: still-active agent, work-pending-merge, or stale-and-prune. Stale worktrees MUST be removed (`git worktree remove`) before opening a new one — code that has been lost twice on main is the failure mode this guards against.
- [ ] 0.3 Confirm the package set in `MANIFEST.md` matches `find packages -maxdepth 3 -name package.json` count. Drift here means a prior change archived without regenerating the manifest.
## 1. Audit
- [ ] 1.1 Run `openspec validate --specs --strict` and capture the list of 43 ✗ specs.
- [ ] 1.2 Per-spec audit: title present? purpose present? leftover `## ADDED` / `## MODIFIED` / `**Status**:` / delta-title? Bucket each spec into a fix category.
## 2. Apply fixes via parallel sub-agents (5 batches)
- [ ] 2.1 **Batch A — testing-integration family (6 specs)**: `testing-integration`, `testing-integration-garage-s3`, `testing-integration-mailpit`, `testing-integration-postgres`, `testing-integration-redis`, `testing-integration-surrealdb`. All have `# Capability Spec Delta:` titles, `## ADDED Requirements`, `**Status**: PROPOSED`, no Purpose. Full delta-to-live conversion.
- [ ] 2.2 **Batch B — testing-infrastructure (4 specs)**: `testing`, `testing-dom`, `testing-e2e`, `monorepo-structure`. All missing title and Purpose. `error`, `events` also missing title.
- [ ] 2.3 **Batch C — foundation (12 specs)**: `bytes`, `config`, `datetime`, `env`, `error`, `events`, `i18n`, `idempotency`, `json`, `logging`, `pagination`, `retry`, `serialization`, `validation`. Most have title, all missing Purpose; some have `**Status**:` or `## MODIFIED Requirements` to remove.
- [ ] 2.4 **Batch D — domain (10 specs)**: `drive`, `install-agent-skills`, `installer`, `locale-data`, `mime`, `network`, `network-session`, `network-webrtc`, `noise-functions`, `packer`. All have title, all missing Purpose.
- [ ] 2.5 **Batch E — primitives + remainder (10 specs)**: `random-utilities`, `seeded-prng`, `slsa`, `statistical-distributions`, `storage`, `templates`, `timing`, `undo`, `utils`. All have title, all missing Purpose; `timing` has `**Status**:` to remove.
## 3. Verify
- [ ] 3.1 `openspec validate --specs --strict` — every previously-failing spec flips to ✓.
- [ ] 3.2 `openspec validate --specs` — full corpus all ✓.
- [ ] 3.3 Spot-check 5 random specs: open and confirm the structural rewrite preserved every requirement, scenario, and `**Verified by:**` pointer.
## 4. Archive
- [ ] 4.1 `openspec archive corpus-spec-hygiene --skip-specs --yes` — moves the change folder without re-folding spec deltas (this change has none).
- [ ] 4.2 Confirm the change appears in `openspec/changes/archive/<yyyy-mm-dd>-corpus-spec-hygiene/`.
- [ ] 4.3 Confirm `openspec list` no longer shows the change.