Counted from the files on main:
| Claim |
Where |
Actual |
| 40 alert rules (32 Prometheus + 8 Loki) |
README.md:47-48 |
47 — 34 + 13 |
| 32 alert rules |
README.md:146 |
34 |
| 32 alert rules |
docs/security.md:17 |
34 |
| 32 alert rules |
stacks/observability/README.md:26 |
34 |
| 40 rules in total: 32 + 8 |
docs/observability.md:73 |
47 — 34 + 13 |
| 32 rules across four files |
docs/observability.md:102 |
34 |
| Add alerting (32 rules) |
docs/roadmap.md:140 |
historical, fine to leave |
| "32 rules loaded, none in error" |
docs/runbooks/deploy-stack.md:46 |
34 |
| 79 panels |
README.md:47 |
73 non-row, 84 including rows |
| 5 dashboards, 79 panels |
stacks/observability/README.md:36 |
same |
Breakdown, for whoever fixes this:
containers.rules.yaml 8, host.rules.yaml 7, network.rules.yaml 10,
ups.rules.yaml 9 → 34
loki/rules/security.rules.yaml → 13 across four groups
- Panels: docker 13, host 16, logs 11, network 18, ups 15 → 73; plus 11 rows
→ 84. scripts/check_dashboards.py prints 84, so neither published number
matches either count.
The deploy runbook one is the only actively harmful entry: it tells an operator
following a deploy to expect 32, so the correct state now reads as a fault.
The Suricata, firewall-log and UPS self-test rules all landed without the prose
being updated, which suggests this wants a check rather than a one-off edit —
the counts are derivable from the files, and CI already parses all of them.
Found while verifying #12.
Counted from the files on
main:README.md:47-48README.md:146docs/security.md:17stacks/observability/README.md:26docs/observability.md:73docs/observability.md:102docs/roadmap.md:140docs/runbooks/deploy-stack.md:46README.md:47stacks/observability/README.md:36Breakdown, for whoever fixes this:
containers.rules.yaml8,host.rules.yaml7,network.rules.yaml10,ups.rules.yaml9 → 34loki/rules/security.rules.yaml→ 13 across four groups→ 84.
scripts/check_dashboards.pyprints 84, so neither published numbermatches either count.
The deploy runbook one is the only actively harmful entry: it tells an operator
following a deploy to expect 32, so the correct state now reads as a fault.
The Suricata, firewall-log and UPS self-test rules all landed without the prose
being updated, which suggests this wants a check rather than a one-off edit —
the counts are derivable from the files, and CI already parses all of them.
Found while verifying #12.