Initial Commit
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
# undo-spec-conformance
|
||||
|
||||
- **Change ID**: undo-spec-conformance
|
||||
- **Package**: `@suaveplan/undo`
|
||||
- **Status**: PROPOSED
|
||||
- **Type**: spec-conformance
|
||||
- **Date**: 2026-04-26
|
||||
|
||||
## Why
|
||||
|
||||
The folded `openspec/specs/undo/spec.md` documented requirements as a flat
|
||||
`R01`-`R20` bullet list under `### ADDED Requirements`. The conformance
|
||||
parser only recognises `### Requirement: <name>` or `### CAP-NN —` headings,
|
||||
so `bun scripts/openspec-conformance.ts @suaveplan/undo` reported "0
|
||||
requirements parsed". This is purely a parsing gap; the implementation
|
||||
already satisfies every clause and is pinned by an extensive test suite.
|
||||
|
||||
## What changes
|
||||
|
||||
- Rewrite `openspec/specs/undo/spec.md` from `R01`-`R20` bullets to nine
|
||||
`### Requirement: <name>` blocks (sync UndoStack, BranchingHistory,
|
||||
AsyncUndoStack, HistoryCompressor, SelectiveUndoStack, CommandMerger,
|
||||
command primitives, error codes / UndoError, option schemas).
|
||||
- Add `**Verified by:**` lines under every requirement naming concrete
|
||||
`it(...)` titles in:
|
||||
- `src/stack/stack.test.ts`
|
||||
- `src/branch/branch.test.ts`
|
||||
- `src/async/async-stack.test.ts`
|
||||
- `src/async/async-command.test.ts`
|
||||
- `src/compression/history-compressor.test.ts`
|
||||
- `src/selective/selective-undo.test.ts`
|
||||
- `src/merge/command-merger.test.ts`
|
||||
- `src/command/command.test.ts`
|
||||
- `src/errors/undo-error.test.ts`
|
||||
- `src/schemas/undo.schemas.test.ts`
|
||||
- No source changes; no public-surface changes; no new tests required.
|
||||
|
||||
## Out of scope
|
||||
|
||||
- New behaviour. Heading rewrite + verification annotation only.
|
||||
- Source mapping table — `@suaveplan/undo` is genesis-original.
|
||||
|
||||
## Verification approach
|
||||
|
||||
Every requirement is pinned to existing `it(...)` titles across the ten
|
||||
test files listed above (combined: 130+ cases pre-dating this change).
|
||||
|
||||
## Migration impact
|
||||
|
||||
None — additive metadata only. Public surface unchanged.
|
||||
Reference in New Issue
Block a user