Chronicle for Go
Chronicle.Go is the Go client SDK for Cratis Chronicle’s event store. Without the client, you manage OAuth, structural compatibility, schemas and RPC envelopes yourself; with it, you register event structs and append facts through context-aware store handles.
Start here
Section titled “Start here”Append your first event using a local development kernel. Requires Go 1.26 or newer. The API remains experimental in the v0.x release series.
Use the foundation
Section titled “Use the foundation”- Connecting and lifecycle: endpoints, TLS, OAuth and ownership.
- Event types: stable identities, generations and supported JSON shapes.
- Serialization: property naming, migration and shared Fundamentals values.
- Appending events: full results, metadata and concurrency protection.
- Event enrichment and auditing: declared-field editing and per-call audit snapshots.
- Identity display names: one update with acknowledgment and bounded name observation.
- Atomic batches: ordered mixed-source events and independent checks.
- Reading events: complete history and expectations derived from loaded state.
- Reactors: plain closures, convention handlers and optional scoped services.
- Reducers: nullable state folds, convention discovery and passive reads.
- Read models: typed reads, best-effort watches and materialized windows.
- Definition factories: prepare projections, constraints and migrations from configuration.
- Shared-provider client preparation: bind one borrowed client identity before preparing its definitions.
- Decision reads: admitted optimistic projection guards and owner-controlled commits.
- Read-model reactors: Added/Modified/Removed callbacks with scoped effects.
- Patterns: contextual and usual-action questions with honest empty answers.
- Parity and limitations: executable evidence and deliberate C# differences.
- Release policy: module versioning and experimental compatibility.
Contracts target Chronicle 19.32.3; kernel-backed tests run against 19.32.3-development. Basic projections, event reactors, reducers and supervised recovery are available; advanced observer features remain incomplete. Inclusion in the central Cratis documentation site remains a separate site integration.