Files
LedgerLine/docs/roadmap/phase-10.md
T
Movses Aslanyan eb99cdbb8c Add project documentation and Claude instructions
Roadmap, phase specs, pathology catalog, and CLAUDE.md establishing
Ledgerline as an observability learning project built on a deliberately
imperfect seven-service payments backend.
2026-09-05 08:11:00 +03:30

2.2 KiB

Phase 10 — Package the delivery

Part of docs/roadmap/ — see intro.md for platform/background context and summary.md for how every phase fits together. Prev: phase-9.md · Next: summary.md

Status: Not started

Message: Depends on every prior phase being done — this is the wrap-up, not independent work.

Time-box: one evening.

Babak gave you a task; deliver it like an engineer, not like a student.

  1. README.md — architecture diagram, one-command start, what each container is for, and a "here's the demo" script.
  2. The five-minute demo path, rehearsed:
    • Delete every dashboard in the Grafana UI, then ansible-playbook playbooks/grafana-stack.yml — the whole platform and every dashboard rebuilt from code, one command.
    • Submit one transaction from the frontend, then follow it through Grafana: RED dashboard → latency spike → exemplar → trace → span → logs for that span → back to the trace. One request, all three signals, no searching.
    • make chaos-nightmare && make load-stress — watch the SLO burn, the alert fire, and the service map turn red at a specific node.
    • Show docs/INVESTIGATION.md and how you found the pathologies.
  3. The written answers Babak asked for, as documents in the repo, not as a conversation: docs/SLO.md, docs/PIPELINE-CHOICES.md, docs/INVESTIGATION.md, plus a short docs/CONCEPTS.md covering P95/P99, RTO/RPO/SLA/SLO/error budget in your own words.
  4. The test suite as part of the story. Show make test green, then show the three generations of the call-counting assertion side by side — docker logs | grep, then LogQL, then TraceQL — as concrete evidence of what each signal bought you. Most people demo dashboards; almost nobody can show their observability work paying off inside their own test suite.
  5. A "what I'd do differently in production" section. Tail sampling instead of 100%; Mimir instead of raw Prometheus for retention; Alloy as a DaemonSet; log volume budgeting; PII redaction in the Collector; multi-tenancy. Naming what you didn't do, and why, is the strongest signal of seniority in the whole delivery.