# Chatto Event Sourcing

> Use when designing, implementing, reviewing, debugging, or documenting Chatto event-sourced domain behavior, including EVT subjects, aggregate boundaries, Services, projections, optimistic concurrency control, read-your-writes, live/reconnect delivery, replay compatibility, migration safety, and rollback/deployment implications.

- Skill: `chattocorp/chatto-event-sourcing` (Agent Skill)
- Install (CLI): `npx skillmds@latest add chattocorp/chatto-event-sourcing`
- Raw SKILL.md: https://api.skillmd.com/api/skills/chattocorp/chatto-event-sourcing/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: chattocorp (https://skillmd.com/u/chattocorp)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/chattocorp/chatto-event-sourcing

---


## Core Rules

- Durable domain facts go into `EVT`.
- Avoid adding new events to be stored in `EVT` unless they are required to record a durable domain fact.
- Multi-replica safety comes from JetStream OCC plus projection catch-up, not from in-process mutexes or "only one server will do this" assumptions.
- Every successful write that needs read-your-writes must wait for the local projector(s) that serve the next read path.
- Event subjects are part of the persisted data model. Changing an aggregate lane is a compatibility decision, not a refactor.

