Skip to content

Kernel-backed Chronicle tests and read consistency - #40

Merged
woksin merged 6 commits into
mainfrom
feature/chronicle-testing-consistency
Sep 25, 2026
Merged

woksin merged 6 commits into
mainfrom
feature/chronicle-testing-consistency

Conversation

@woksin

@woksin woksin commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Arc for TypeScript 0.25.0 adds kernel-backed Chronicle tests and explicit read consistency, and fixes how Chronicle commands convert identifiers and record causation. npm publication remains disabled, and full .NET parity is not yet available.

Added

  • ChronicleKernelScenario in @cratis/arc.chronicle/testing runs commands against a real Chronicle kernel: seed events, execute commands through Arc's pipeline, wait for projections through the kernel's own completion signal, and assert on appended events, read models and constraint violations. The in-memory ChronicleCommandScenario stays the fast default.
  • completionTimeoutMs makes a command wait, within a bound, until Chronicle has processed the events it appended, so a query right after the command sees the result.
  • ChronicleReadModels reads can ask for immediate consistency for passive projections.
  • Guides for kernel-backed testing and for choosing read consistency.

Fixed

  • A @subject() field or a getEventSourceId() result holding a Guid or a concept is converted to its string form instead of being ignored or failing the command.
  • The causation chain records concept, Guid, Date, DateOnly, TimeOnly and TimeSpan command fields, not only strings, numbers and booleans.

@woksin woksin added the minor New backward-compatible capabilities label Sep 25, 2026
@woksin
woksin merged commit fb37014 into main Sep 25, 2026
3 checks passed
@woksin
woksin deleted the feature/chronicle-testing-consistency branch September 25, 2026 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

minor New backward-compatible capabilities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant