learning_ai_clock/backend
saravanakumardb1 c80c1e4462 feat(ai-context): Phase A.4 — context-aware AI messages with LLM fallback
Add AI-enriched context message generation:

- backend/src/lib/ai-context.ts: LLM-powered context generator with keyword fallback
  - Calls extraction-service timer-context task when EXTRACTION_SERVICE_URL is set
  - Falls back to keyword rules, then generic message
  - Gated behind isFeatureEnabled('ai_context_messages.enabled')
- backend/src/lib/config.ts: Add EXTRACTION_SERVICE_URL env var
- backend/src/server.ts: POST /api/context-message route
- web/src/lib/context-messages.ts: fetchEnrichedMessage() with graceful degradation
- Updated AGENTIC_AI_ROADMAP.md checkboxes for Phase A.1 + A.2

All 219 backend tests + 394 web tests pass. No breaking changes.
2026-03-31 23:46:00 -07:00
..
src feat(ai-context): Phase A.4 — context-aware AI messages with LLM fallback 2026-03-31 23:46:00 -07:00
.env.example chore(backend): add FIELD_ENCRYPT env vars to .env.example 2026-03-27 23:01:26 -07:00
.gitignore feat(backend): scaffold product-specific Fastify backend (port 4011) 2026-03-01 20:39:08 -08:00
Dockerfile fix(docker): remove hardcoded corporate proxy and jfrog registry from Dockerfiles 2026-03-24 11:12:38 -07:00
eslint.config.js chore(backend): add eslint config and lint script 2026-03-26 22:59:50 -07:00
package.json chore(backend): add eslint config and lint script 2026-03-26 22:59:50 -07:00
tsconfig.json feat(backend): scaffold product-specific Fastify backend (port 4011) 2026-03-01 20:39:08 -08:00
vitest.config.ts feat(backend): scaffold product-specific Fastify backend (port 4011) 2026-03-01 20:39:08 -08:00