Treat every service as black-box until proven observable: structured logs, request-scoped metrics, traces. ADR every join point. Run a “chaos quarter” each Q where someone pulls the plug and the team measures the diagnosis time. Make the MTTR visible in dashboards, not buried in Slack threads.
Service template emits logs, metrics, traces out of the box.
ADR review: every new cross-service call MUST link a metric (Counter) and a trace parent.
Chaos drill: kill a dependency; time how long until the team sees the alert + identifies the cause.
MTTR is a board-level metric for the team.
design -> template emits log/metric/trace
-> chaos drill -> MTTR measured -> iterate
If you can’t see it, you can’t fix it. Bake the sensors into the template, not the maintenance doc.