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>
2.5 KiB
2.5 KiB
SWOOSH Change Log
All notable changes to this project will be documented in this file.
The format follows Keep a Changelog and adheres to Semantic Versioning.
[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
/metricsendpoint (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, andHLCexposure 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
OriginNodeIDandSignature. - API layer moved to
/v2/namespace.
Legend
- ✅ Completed
- ⚙️ In Progress
- 🧭 Planned