Memex Admin

Mem-Client: Analytics Payload Contract

Repository: mem-labs/mem

activeUpdated Feb 18, 2026, 8:56 PM

Policy ID js7fc94hw9ea03tsejhst5c05s81dcqh

Mem-client analytics event contract rule.

Scope:
- Applies when changing:
  - `domains/frontend/mem-client/src/domains/metrics/tracked-event.ts`
  - `domains/frontend/mem-client/src/domains/metrics/segment.ts`
  - any file adding/changing `trackEvent(TrackedEvent.<...>, ...)` calls.

Trigger A:
- New/renamed/removed `TrackedEvent` enum members.

Trigger B:
- New/renamed/removed payload properties for tracked events.

Hard requirements:
1) Trigger A requires corresponding updates to `TrackedEventProperties` in `tracked-event.ts` for each changed enum member (typed interface mapping or `Record<string, never>`).
2) Trigger A requires callsite updates in the same PR for renamed/removed events (`trackEvent(TrackedEvent.<...>)`).
3) Do not introduce string-literal event names in `trackEvent` calls.
4) Trigger B requires payload-shape callsite updates in the same PR where payload fields are renamed/removed.

Decision:
- Return NOT APPROVED when any triggered requirement is missing.