Stability checkpoint — first Python mirror baseline (waves 1-9 + wave 2) Initial scaffolding waves of mirador-service-python (Python mirror of the Java mirador-service). Waves shipped (per ADR-0001 stack choice) : - Étape 1 : pyproject + Dockerfile + .gitlab-ci modular - Étape 2 : customer CRUD (v1/v2 dispatch via X-API-Version) + 12 tests - Étape 3 : actuator + Redis recent-buffer + 12 tests - Étape 4 : Kafka request-reply broker + 10 tests + ADR-0004 - Étape 5 : OpenTelemetry SDK + auto-instrumentation + ADR-0003 - Étape 6 : Alembic V1 migration + 3 tests + workflow doc - Étape 7 : docker-compose dev stack + bin/ ops scripts - Étape 8 : middleware (structlog + request-id + CORS + slowapi) + ADRs 0002 + 0004 - Étape 9 : coverage gate 65 → 80 (baseline 84% via greenlet hook) - Wave 2 : /todos endpoint + /auth/me + service.namespace OTel attr + ADRs 0005 + 0006 + testcontainers integration scaffold Quality gate : 82 tests passing · ruff ✅ · mypy strict ✅ · coverage 83.42 % (unit) · 4 integration tests scaffolded (opt-in via pytest -m integration). NOTE on the 'wait for post-merge main pipeline' rule from ~/.claude/CLAUDE.md : this Python repo's default_branch is dev (not main), so workflow rules trigger only on dev pushes. No main pipeline exists to wait for. First tag is anchored on local validation (82 tests + ruff + mypy clean) ; future tags will wait for green dev pipeline pre-merge once the runner is back online. See : https://gitlab.com/mirador1/mirador-service-python