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.
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# Phase 10 — Package the delivery
|
||||
|
||||
*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-9.md`](phase-9.md) · Next: [`summary.md`](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.
|
||||
|
||||
Reference in New Issue
Block a user