# WBV2-P1-003 Status status: done task: WBV2-P1-003 gate: G1 updated: 2026-08-25 America/New_York The transaction fixture verifies a bounded Main command history: failed commands do not create a history entry, valid visibility changes advance the revision, stale base revisions are rejected, undo/redo restore the exact semantic state, and save output is byte-stable across repeated writes and reopen. Acceptance evidence: - generator exit: 0 - desktop transaction contract read and save/reopen exit: 0 - `npm --prefix web run test:generated-gap -- --task WBV2-P1-003` exit: 0 - `node tools/web/check-generated-gap.mjs --task WBV2-P1-003` exit: 0 - failed command, stale revision, undo/redo, malformed input, and repeated save hash cases are verified Artifacts: - report: `tests/golden/WBV2-P1-003/transaction-report.json` - desktop report: `tests/golden/WBV2-P1-003/transaction-desktop-report.json` - command log: `tests/golden/WBV2-P1-003/command.log` - fixture SHA-256: `71f784357a7c65eea5525a14c2741a92a01cc255b5ffda0dd9ae0a86fffa8e88` - saved byte SHA-256: `8bfe012973f24edff2d1cc9c7e240e24fd9b0b97c133fdcabfadfd63427a363b` nextTask: WBV2-P1-004