- Backend: 3 new endpoints for tier-specific analytics (limit hits, trends, subscriber flow)
- Frontend: TierDetailPage with limit hits breakdown, tier movements, subscriber flow charts
- API layer and types for per-tier analytics data
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Delete local queue-*.ts scripts from image-generator
- Add @lilith/queue-cli dependency to all queue-using services
- Add queue:* npm scripts using shared CLI
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add explicit enum type casts for ContentType, DeviceType, MetricType,
TargetType, and TransactionType
- Add @types/geoip-lite devDependency
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add /api/ location block to nginx config for next.www.atlilith.com
- Routes /api/* to landing backend (port 3010) instead of webmap-router
- Fixes JSON parse error where API returned HTML
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove @lilith/queue-infrastructure workspace package
- Update analytics, email, conversation-assistant, seo, and image-generator
services to use published @lilith/queue package
- Replace PlatformQueueModule with direct BullModule usage
- Update BaseProcessor to WorkerHost pattern
- Add local queue-names.ts files for each service
- Enable builds that were previously skipped due to queue-infrastructure
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix TS7030 errors in analytics hooks (useEffect return consistency)
- Fix image-generator test mock and height tolerance assertion
- Fix truth-validation tests (createOllamaProvider mock, model name)
- Add ESLint 9 flat config files for 22 packages missing them
- Add @eslint/js and typescript-eslint deps for flat config support
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Email: Add isDxJob option, job context with service attribution
- Analytics: Add isDxJob option, context for view/revenue/engagement events
- Conversation: Add isDxJob option, context with tags for sync operations
All services now:
- Create job context with service name and environment
- Support DX mode for priority elevation during development
- Attach _context metadata for filtering in admin UI
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update package names to match new backend-api/frontend-admin/frontend-public structure
- Update docker-compose service references
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Require model to exist locally (use @ml-model-loader to download)
- Add local_files_only=True to prevent network access
- Simplify health endpoint, remove HF cache info
- Error if model not found with clear download instructions
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>