Files
suaveplan/openspec/archive/2026-04-24-enterprise-undo/proposal.md
2026-05-27 23:29:53 +01:00

22 lines
813 B
Markdown

# Proposal: @suaveplan/undo
**Change ID:** enterprise-undo
**Date:** 2026-04-24
**Status:** Shipped
## Summary
Implement the `@suaveplan/undo` package — a full enterprise-quality undo/redo engine for the genesis monorepo, replacing the old `enterprise-undo` reference implementation.
## What was built
- Synchronous `UndoStack<T>` with memory limits, transactions, EventBus
- `BranchingHistory<T>` with fork-on-diverge
- `AsyncUndoStack<T>` for async commands
- `HistoryCompressor<T>` / `compressHistory` for memory management
- `SelectiveUndoStack<T>` for non-linear undo by command ID
- `CommandMerger<T>` with time/count windows
- Structured errors via `UNDO_CODES` (6 codes)
- Zod schemas, OTel instrumentation, property-based tests (fast-check)
- 100% istanbul coverage, all co-located `.md` docs