Edition
An identifier for diverged timelines. Editions enable branching scenarios like speculative execution, historical analysis, and what-if queries.
Concepts
Main timeline: Empty edition name ("")
Branch: Named edition diverging from main
Divergence Types
Implicit Divergence
Diverges from the first event in the edition:
Edition { name: "what-if-scenario" }
Explicit Divergence
Per-domain divergence points:
Edition {
name: "historical-branch",
divergences: [
{ domain: "order", sequence: 100 },
{ domain: "inventory", sequence: 50 }
]
}
Use Cases
- Speculative execution: Test command outcomes without committing
- What-if analysis: Explore alternative scenarios
- Historical branches: Point-in-time forks for analysis
- Testing: Isolated test scenarios
No Merge
Edition events cannot be merged back into the main timeline. Events build upon each other—inserting branch events would corrupt the main timeline's causal chain. The event stream is immutable by design.
If an edition reveals the correct outcome, inject corrective facts into the main timeline. The original events remain for audit; the facts record the adjustment.
Angzarr-Specific
Editions are an Angzarr-specific concept not found in standard event sourcing. They extend temporal queries with branching capability.
Cleanup
Edition events can be deleted when no longer needed:
DeleteEditionEvents { domain: "order", edition: "test-branch" }