TS-004 — Canonical Slice trackEvent (rules → ledger → notifications → webhook)
Objective: complete the pipeline with a real earning rule producing points, notification via cascade, webhook out — then promote slice doc SPEC→WALKTHROUGH.
Archetype: asynchronous event pipeline (THE reference) · Refs: 42-slices/slice-track-event.md, ADR-011/015/017
Objective: complete the pipeline with a real earning rule producing points, notification via cascade, webhook out — then promote slice doc SPEC→WALKTHROUGH.
In: compiled-rules cache per tenant (invalidate on publish) · effect executor (award_points) with per-(event,rule) dedupe · ledger write + lot + balance projection single transaction + outbox + audit (ADR-017 shape) · points.earned → resolveChannels → email (transactional rail) with correlation chain visible in send_status_history · webhook out with HMAC.
Acceptance: end-to-end effect visibility <5 s p95 in cert · replay storm test (100 duplicate jobs ⇒ 1 ledger row) · correlation_id traceable from 202 response to webhook delivery in BetterStack · slice doc updated to WALKTHROUGH with real file paths.
⌘I