Skip to content

2.18.3 — Per-token heartbeat isolation, council analytics naming, docs and demo sync

Choose a tag to compare

@chekh chekh released this 15 Oct 17:17
· 2 commits to main since this release

Fixed — Per-token claim heartbeat isolation, council analytics naming, docs & demo sync

  • Per-token claim heartbeat isolation: ClaimRecord now issues a unique claim_token on acquisition (${epoch}.${randomTag}) with fallback to acquired_at for legacy records. Heartbeats are saved as <slug>.<claim_token>.heartbeat, eliminating race conditions where delayed writes from a previous holder could overwrite the heartbeat of a new claim holder. releaseClaim and takeover clean up their per-token files alongside legacy paths.
  • Council analytics naming: CouncilsView introduces opinions_with_claims_count to unambiguously represent opinions with non-empty claims. audited_count is preserved as a deprecated alias pointing to opinions_with_claims_count for backwards compatibility.
  • Documentation & demo scenarios sync: docs/guide/user-guide.md updates the 8 core memory types to the canonical list (rule, lesson, decision, thread, complaint, tool, note, face). docs/guide/architecture.md synchronizes active use cases in src/app/use-cases/, removing obsolete draft/learn files. README.md and README.ru.md update demo scenario 8 description to reflect routing model and session wrap-up. scripts/demo/lib.sh ensures non-zero exit code (exit 1) in summary() upon scenario failures.