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:
86
CHANGELOG.md
Normal file
86
CHANGELOG.md
Normal 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
|
||||
Reference in New Issue
Block a user