# Aether Vision Distributed actor system with event sourcing for Go, powered by NATS. ## Organization Context This repo is part of Flowmade. See [organization manifesto](https://git.flowmade.one/flowmade-one/architecture/src/branch/main/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)