v1.0.0: Production Observability, Access Control & CI
Added
- Metrics: GET /metrics (Prometheus text, not the envelope — documented format exception) — http requests/duration by route template, business-code distribution, inference phase timings, predictor gauge, celery task counters; multiprocess aggregation via PROMETHEUS_MULTIPROC_DIR (start.sh / start_celery.sh / compose)
- Deploy: deploy/docker-compose.monitoring.yml + prometheus.yml — optional Prometheus + Grafana stack (reference artifact, merged with the main compose)
- Docs: metrics.md — metric list, multiprocess mode, monitoring stack usage; api.md gains the /metrics endpoint section
- Auth: optional API-key auth (off unless INFERFORGE_API_KEY is set) — X-API-Key header, constant-time compare, 401 + code=7 envelope (documented protocol exception); probes/docs/metrics paths exempt; test scripts read the env automatically
- Rate limit: optional fixed window (off unless INFERFORGE_RATE_LIMIT=N is set) — 429 + code=8 + Retry-After; buckets keyed by X-API-Key when auth is on, client IP otherwise; per-process memory (multi-worker limits approximate by design, documented)
- CI: GitHub Actions workflow (.github/workflows/ci.yml) — smoke tests + compile check + docs link check on push/PR; READMEs gain a CI badge
- Docs: READMEs About section condensed to three sentences (same four points: what / why a template / layered replaceability / forking contract pointer)
- Docs: READMEs Acknowledgments condensed to name-only links (per-library responsibilities live in stack.md)
- Docs: READMEs gain a hero capability strip (replacing the stale component list) and a Project Layout tree
Changed
- Docs: terminology sweep — 信封 replaced with envelope across all docs (response envelope / result envelope / envelope contract); status-codes.md §1 defines the term on first mention
- Docs: terminology sweep II — contract / fallback / watchdog / double-checked locking / sticky / hot reload replace their Chinese renderings; the forking-contract doc title keeps 分叉契约(Forking Contract)
See CHANGELOG.md for the full change history.