Overview
Pulse v1.6.3 hardens two core runtime guarantees: replicated maps now track committed revisions all the way through reconnect and waiter wake-up paths, and distributed pool tickers now recover cleanly from transient Redis write failures instead of stalling until unrelated map traffic happens to arrive.
Highlights
- Revision-ordered replicated map recovery
SetAndWaitnow waits on the committed Redis revision rather than matching a best-effort key/value echo.- reconnect and destroy/reset flows now preserve monotonic ordering under concurrent updates, so replicas ignore stale pubsub frames instead of replaying old state.
- Consistent destroy semantics for stream consumer maps
- stream sink membership cleanup now goes through
rmap.Destroy()instead of ad hoc hash deletion. - test cleanup treats destroy tombstones as intentional protocol state, which keeps reconnect ordering correct without flagging false leaks.
- stream sink membership cleanup now goes through
- Self-healing distributed ticker retries
- transient failures when advancing the shared tick now rearm the local timer and retry promptly.
- pool regression coverage verifies the retry path does not emit a false tick while Redis advancement is failing.
- In-repo contributor guidance
- added
AGENTS.mdso future Pulse changes have the project’s architecture and coding expectations available in-tree.
- added
Validation
GitHub checks passed on PR #69:
ci (1.24, ubuntu-latest)CodeQLdependency-review
Included Changes
90ef382Harden rmap ordering and retry ticker advances- Changes merged from PR #69
Full Changelog: v1.6.2...v1.6.3