3.0 KiB
3.0 KiB
0. Pre-flight (non-negotiable)
- 0.1 Confirm clean working tree (
git statusreports nothing) and no in-flight worktrees with uncommitted work (git worktree listthengit statusin 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.mdmatchesfind packages -maxdepth 3 -name package.jsoncount. Drift here means a prior change archived without regenerating the manifest.
1. Audit
- 1.1 Run
openspec validate --specs --strictand 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,eventsalso 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 Requirementsto 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;timinghas**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 listno longer shows the change.