- Create cursor-paginated analyzer feed endpoint for mobile - Export AnalyzerFeedRow and AnalyzerFeedResponse types (D-26) - Implement DISTINCT ON CTE for latest-per-ticket analysis (D-02) - Apply kiosk_settings company scoping via getMobileCompanyFilter() (D-04) - Cursor keyset pagination on (completed_at, id) with base64 JSON encoding (D-06) - Server-side limit cap at 25 (D-05); LIMIT n+1 trick for hasMore detection - Ordering: completed_at DESC NULLS LAST, id DESC (D-03) - Manual snake_case to camelCase transform per CLAUDE.md conventions - Payload whitelist: only 12 AnalyzerFeedRow fields; no model_traces, itglue_docs_referenced, or human_review_reasons (T-06-05) - requireAuth() gate before any DB query (T-06-01) |
||
|---|---|---|
| .. | ||
| feed | ||