docs(observability): add services/api README; update ml/serving + recommender docs (#18)

- services/api/README.md: new — contract, middleware stack, background
  tasks, config table (LOG_LEVEL, SENTRY_DSN), health story, extraction
  criteria
- ml/serving/README.md: add Observability section (structlog JSON,
  traceparent → trace_id binding), add SENTRY_DSN + ENV to config table
- services/recommender/README.md: fix policy table — egreedy-v2 is
  active (#99), egreedy-v1 is shadow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-26 03:41:39 +00:00
parent c4960d0601
commit b554970032
3 changed files with 100 additions and 3 deletions

View File

@@ -31,9 +31,9 @@ Signals carry `features: Record<string, number | boolean>` (bandit-ready) and `m
| Policy | Status | Notes |
|--------|--------|-------|
| `random` | Shadow | Fallback when ml/serving unreachable |
| `egreedy-v1` | **Active** | d=7, ADR-0007 |
| `egreedy-v2` | Shadow | d=12 + profile features, ADR-0012 |
| `random` | Fallback | Used when ml/serving is unreachable |
| `egreedy-v1` | Shadow | d=7, ADR-0007 |
| `egreedy-v2` | **Active** | d=12 + profile features, ADR-0012 |
Shadow → active promotion requires offline sim + online agreement (ADR-0002).