Release v1.0.0: Production-ready SWOOSH with durability guarantees

Major enhancements:
- Added production-grade durability guarantees with fsync operations
- Implemented BadgerDB WAL for crash recovery and persistence
- Added comprehensive HTTP API (GET/POST /state, POST /command)
- Exported ComputeStateHash for external use in genesis initialization
- Enhanced snapshot system with atomic write-fsync-rename sequence
- Added API integration documentation and durability guarantees docs

New files:
- api.go: HTTP server implementation with state and command endpoints
- api_test.go: Comprehensive API test suite
- badger_wal.go: BadgerDB-based write-ahead log
- cmd/swoosh/main.go: CLI entry point with API server
- API_INTEGRATION.md: API usage and integration guide
- DURABILITY.md: Durability guarantees and recovery procedures
- CHANGELOG.md: Version history and changes
- RELEASE_NOTES.md: Release notes for v1.0.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Codex Agent
2025-10-25 12:23:33 +11:00
parent 38707dd182
commit 6f90ad77a4
13 changed files with 2189 additions and 9 deletions

86
CHANGELOG.md Normal file
View File

@@ -0,0 +1,86 @@
# SWOOSH Change Log
All notable changes to this project will be documented in this file.
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and adheres to [Semantic Versioning](https://semver.org/).
---
## [Unreleased]
### Planned
- Metrics endpoint (`/metrics`) for transition throughput, WAL size, snapshot count.
- GuardProvider extensions:
- Quorum validation
- License enforcement
- BACKBEAT cadence checks
- Integration with HMMM message envelopes (age-encrypted TransitionProposal transport).
- Catalog governance automation (generate YAML catalog from reducer.go).
---
## [1.0.0] 2025-10-25
### Added
- **Deterministic core architecture** (reducer + executor + WAL + snapshot + replay).
- **HTTP adapter layer** for CHORUS compatibility:
- `/transition`, `/state`, `/health`
- WHOOSH compatibility stubs returning 501.
- **BadgerDB WAL store** with fsync per append; replay-safe ordering.
- **Atomic snapshot writer** using fsync + rename semantics.
- **Determinism tests** (`TestDeterministicReplay`, `TestQuarantineEnforced`).
- **Integration guide** (`API_INTEGRATION.md`) for CHORUS commit 17673c3.
- **Durability documentation** (`DURABILITY.md`) covering fsync points and crash recovery.
- **Production bootstrap** (`cmd/swoosh-server/main.go`) with recovery from WAL + snapshot.
### Changed
- Exported `ComputeStateHash()` from reducer for verification in replay and tests.
### Fixed
- N/A — initial stable release.
### Security
- Single-writer executor prevents race-condition state corruption.
- Atomic snapshot replacement eliminates partial-file risk on crash.
---
## [1.1.0] *TBD*
### Added
- `/metrics` endpoint (JSON).
- Configurable snapshot cadence.
- GuardProvider: Quorum and License guards.
### Changed
- Internal logging unified under structured logger (no concurrency).
### Fixed
- WAL GC scheduling to avoid latency spikes.
---
## [1.2.0] *TBD*
### Added
- BACKBEAT-synchronized transition windows.
- `BeatIndex`, `WindowID`, and `HLC` exposure via `/state`.
- Cluster gossip integration for replicated guard consensus.
### Deprecated
- Static snapshot interval (replaced by cadence-aware scheduler).
---
## [2.0.0] *Future: Multi-Node Determinism*
### Added
- Multi-executor synchronization via signed HMMM envelopes.
- Deterministic cross-node commit proofs.
- Distributed replay validation tools.
### Breaking
- TransitionProposal schema extended with `OriginNodeID` and `Signature`.
- API layer moved to `/v2/` namespace.
---
## Legend
- ✅ Completed
- ⚙️ In Progress
- 🧭 Planned