be167d110ec5bfc989ecaea34d702c6e55f6b5f0
core/analytics (AnalyticsEvent model, gateway/token/mock, AnalyticsService wrapper) against docs/backend/TRACK-A-ANALYTICS-CONTRACT.md §1. isSynthetic is derived from the build environment at the service layer, never client-settable at a call site - matches the contract's §6 requirement that synthetic traffic be inseparable-by-accident from production data once a real backend exists. Wired into real, live interaction points (additive only, no existing logic touched): product_view + add_to_cart in product-details-container.component.ts, checkout_started + payment_started in pages/cart/cart.component.ts. This is the actual event-firing infrastructure the plan calls "the single largest remaining backend effort" (§3.1) - the frontend side (call sites) is real now; the mock gateway just doesn't persist anywhere yet. Not wired: search/category_view/seller_view/cart_view/payment_success/ payment_failed/order_created - follow-up call sites once this pattern is reviewed, to avoid a much larger unreviewed diff in one push. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Description
No description provided
Languages
TypeScript
71.4%
HTML
15.3%
SCSS
11.9%
Shell
1.3%
JavaScript
0.1%