Initial aether repository structure
All checks were successful
CI / build (push) Successful in 1m13s
All checks were successful
CI / build (push) Successful in 1m13s
Distributed actor system with event sourcing for Go: - event.go - Event, ActorSnapshot, EventStore interface - eventbus.go - EventBus, EventBroadcaster for pub/sub - nats_eventbus.go - NATS-backed cross-node event broadcasting - store/ - InMemoryEventStore (testing), JetStreamEventStore (production) - cluster/ - Node discovery, leader election, shard distribution - model/ - EventStorming model types Extracted from arcadia as open-source infrastructure component. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
37
vision.md
Normal file
37
vision.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Aether Vision
|
||||
|
||||
Distributed actor system with event sourcing for Go, powered by NATS.
|
||||
|
||||
## Organization Context
|
||||
|
||||
This repo is part of Flowmade. See [organization manifesto](../architecture/manifesto.md) for who we are and what we believe.
|
||||
|
||||
## What This Is
|
||||
|
||||
Aether is an open-source infrastructure library for building distributed, event-sourced systems in Go. It provides:
|
||||
|
||||
- **Event sourcing primitives** - Event, EventStore interface, snapshots
|
||||
- **Event stores** - In-memory (testing) and JetStream (production)
|
||||
- **Event bus** - Local and NATS-backed pub/sub with namespace isolation
|
||||
- **Cluster management** - Node discovery, leader election, shard distribution
|
||||
- **Namespace isolation** - Logical boundaries for multi-scope deployments
|
||||
|
||||
## Who This Serves
|
||||
|
||||
- **Go developers** building distributed systems
|
||||
- **Teams** implementing event sourcing and CQRS patterns
|
||||
- **Projects** needing actor-based concurrency with event persistence
|
||||
|
||||
## Goals
|
||||
|
||||
1. **Simple event sourcing** - Clear primitives that compose well
|
||||
2. **NATS-native** - Built for JetStream, not bolted on
|
||||
3. **Horizontal scaling** - Consistent hashing, shard migration, leader election
|
||||
4. **Namespace isolation** - Logical boundaries without infrastructure overhead
|
||||
|
||||
## Non-Goals
|
||||
|
||||
- Opinionated multi-tenancy (product layer concern)
|
||||
- Domain-specific abstractions (use the primitives)
|
||||
- GraphQL/REST API generation (build on top)
|
||||
- UI components (see iris)
|
||||
Reference in New Issue
Block a user