Mark Phases 3 and 4 done, and start Phase 5
Phase 4 records what was built, the two skipped Build steps (OTLP-logs experiment, LogQL test migration) and what carries forward. Phase 3 records its outcome, with the chaos-nightmare and blocking_event_loop criteria attested by the user. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
2c18962243
commit
44d7801617
+14
-4
@@ -2,11 +2,21 @@
|
||||
|
||||
*Part of `docs/roadmap/` — see [`intro.md`](intro.md) for platform/background context and [`summary.md`](summary.md) for how every phase fits together. Prev: [`phase-2.md`](phase-2.md) · Next: [`phase-4.md`](phase-4.md)*
|
||||
|
||||
**Status:** In progress
|
||||
**Status:** Done
|
||||
|
||||
**Message:** Started 2026-10-12. Phase 2 got `sanctions` tracing through zero-code
|
||||
`opentelemetry-instrument`, so no `common/telemetry.py` exists yet. Build step 1
|
||||
writes that bootstrap by hand, in the code, to replace the wrapper.
|
||||
**Message:** Started 2026-10-12, done 2026-10-13.
|
||||
- `common/telemetry.py` bootstraps tracing in code for all seven services,
|
||||
replacing Phase 2's zero-code wrapper. It covers FastAPI, SQLAlchemy, httpx
|
||||
and Redis instrumentation.
|
||||
- Trace context crosses the Redis Stream by hand: it's injected into the message
|
||||
inside a PRODUCER span and extracted by both consumer groups.
|
||||
- Business spans were added, swallowed exceptions are recorded on their spans,
|
||||
and the response's `request_id` is now the trace ID. The guard suite is
|
||||
retired.
|
||||
- One request produces one connected trace across all seven services, both
|
||||
consumers included (verified live during Phase 4: 51 spans, 7 services).
|
||||
- The chaos-nightmare and "explain `blocking_event_loop`" criteria were attested
|
||||
by the user.
|
||||
|
||||
**Time-box:** 2–3 evenings. This is the biggest phase and the heart of the task.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user