4 Commits

Author SHA1 Message Date
Claude Code
6549125f3d docs: Verify and document append-only immutability guarantees
Some checks failed
CI / build (pull_request) Successful in 22s
CI / build (push) Successful in 21s
CI / integration (pull_request) Failing after 1m59s
CI / integration (push) Failing after 2m0s
Document that EventStore interface has no Update/Delete methods, enforcing
append-only semantics by design. Events are immutable once persisted.

Changes:
- Update EventStore interface documentation in event.go to explicitly state
  immutability guarantee and explain why Update/Delete methods are absent
- Add detailed retention policy documentation to JetStreamConfig showing
  how MaxAge limits enforce automatic expiration without manual deletion
- Document JetStreamEventStore's immutability guarantee with storage-level
  explanation of file-based storage and limits-based retention
- Add comprehensive immutability tests verifying:
  - Events cannot be modified after persistence
  - No Update or Delete methods exist on EventStore interface
  - Versions are monotonically increasing
  - Events cannot be deleted through the API
- Update README with detailed immutability section explaining:
  - Interface-level append-only guarantee
  - Storage-level immutability through JetStream configuration
  - Audit trail reliability
  - Pattern for handling corrections (append new event)

Closes #60

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-01-13 21:39:45 +00:00
f0f8978079 Fix escaped backticks in README code blocks
All checks were successful
CI / build (push) Successful in 16s
The code blocks had backslash-escaped backticks which broke markdown preview.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 19:08:17 +01:00
b6de82c8ee Add error handling note to Quick Start example
All checks were successful
CI / build (push) Successful in 17s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 18:04:03 +00:00
655ee0ac49 Add README with quick start example
Add a README.md that gives developers a quick understanding of what
Aether is and how to get started. Includes:
- Project description and why Aether exists
- Installation instructions
- Quick start code example showing event creation, persistence, and replay
- Key concepts (immutability, derived state, version consistency)
- Links to further documentation
- CI badge

Closes #44

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 18:04:03 +00:00