Skip to content

Release v0.13.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 10:21
7379ec7

What

Ante can now receive invitations from one or more configurable host event stores instead of a store name compiled in as Direct (Closes #55).

  • Upgrade: Cratis.Chronicle and Testing 19.4.7 → 19.13.1, and the Arc family → 22.30.1. Chronicle 19.11+ is needed for runtime delegate reactors.
  • Configuration: Ante:HostStores is a list, defaulting to ["Direct"]. Studio, for example, would use ["Studio", "StudioAdmin"]. The previous Ante:InboxSourceStore is accepted as a deprecated single-element alias; setting both differently stops startup. Entries are validated: non-empty, no duplicates, not Ante's own store.
  • Wiring: Ante registers one runtime reactor and one filtered subscription per host store. They run the existing receiving logic unchanged: canonical ids, InvitationRejected, reuse detection with source-aware inbox markers, concurrency scopes and append-result checks.
  • Existing deployments: for Direct, the legacy reactor id and subscription id are preserved, so an existing deployment resumes its cursor without reprocessing.
  • Startup and readiness: registration runs in a background service after startup, retrying with capped backoff. /healthz/ready reports unhealthy until it completes, and readiness recovers after a Chronicle reconnect. Configuration errors still stop startup.
  • Ante.Contracts keeps [assembly: EventStore("Ante")]. Hosts can already reference the package with an explicit [EventStore("<ante store>")] on their observers; removing the assembly attribute would be a coordinated breaking release.

Upgrade

No configuration change is needed for a Direct deployment. Never run the old and new Ante against the same stores at the same time.

Evidence from the container-backed end-to-end suite (#56):

  • 37/37 pass against real Chronicle 19.13.1 and 19.4.7 kernels.
  • Client 19.13.1 works against a 19.4.7 server, and client 19.4.7 against a 19.13.1 server.
  • A legacy cursor resumed without replay in both upgrade orders.

Verification

  • Local mirror of CI: Debug build and 921 specs, Release build with warnings as errors, frontend lint, compile and 188 specs.
  • End-to-end suite: 37/37 on both server images, on this branch's latest commit.
  • Full cross-provider review workflow (Opus 5.5 and GPT-6 Astra, each finding verified by the other): several rounds, final round passed.