Parent: #9487
Summary
The server-side config half of the 2026-07-27 edge-nl-01 inspection. None of these are repo code — they live in Prometheus/alertmanager rules and the private per-repo .loopover.yml on the host — which is why they are split out from the code items (#9544, #9545) rather than bundled with them.
1. LoopoverBackupMissing has been firing for 8 days and is wrong
Firing continuously since 2026-07-19T07:44:18Z with target="sqlite".
Postgres backups are healthy: manifest plus postgres/ and qdrant/ directories written 2026-07-27 06:15, 6.2 GB retained, BACKUP_RETAIN=7. The sqlite/ directory was last written 2026-07-15 23:34 — it is the retired target from the Postgres cutover.
The expression is loopover_backup_files{target=~"postgres|sqlite"} == 0, so the dead sqlite target keeps it permanently red. Eight days of continuous warning is exactly the fatigue that would mask a genuine backup failure — the alert is now worse than no alert.
2. LoopoverRequestLatencySLOBreach needs a minimum-rate gate
The code half — the missing route label — is #9545. The remaining half is config: at ~0.6 requests/minute, a 5-minute p95 is computed from roughly three requests, so a handful of slow background requests trips an SLO page with no statistical meaning.
3. secret_leak gate is 44% false-positive on metagraphed
The engine's own anomaly detector said so at 2026-07-27T20:03:05Z:
gate false-positive spike: secret_leak blocked 9 PR(s), 4 merged anyway (44% false-positive, 0 overridden) — the gate is holding mergeable PRs. Keep it advisory / loosen it.
Detector: src/review/ops-wire.ts:161-169. Gate policy lives in the private server-side config (/opt/loopover/loopover-config/jsonbored__metagraphed/.loopover.yml), not the public repo.
Note
Each item is an operator action on edge-nl-01. Recorded as an issue so they are tracked rather than living only in an audit write-up, and kept separate from the code work so neither blocks the other.
Parent: #9487
Summary
The server-side config half of the 2026-07-27
edge-nl-01inspection. None of these are repo code — they live in Prometheus/alertmanager rules and the private per-repo.loopover.ymlon the host — which is why they are split out from the code items (#9544, #9545) rather than bundled with them.1.
LoopoverBackupMissinghas been firing for 8 days and is wrongFiring continuously since 2026-07-19T07:44:18Z with
target="sqlite".Postgres backups are healthy: manifest plus
postgres/andqdrant/directories written 2026-07-27 06:15, 6.2 GB retained,BACKUP_RETAIN=7. Thesqlite/directory was last written 2026-07-15 23:34 — it is the retired target from the Postgres cutover.The expression is
loopover_backup_files{target=~"postgres|sqlite"} == 0, so the dead sqlite target keeps it permanently red. Eight days of continuous warning is exactly the fatigue that would mask a genuine backup failure — the alert is now worse than no alert.2.
LoopoverRequestLatencySLOBreachneeds a minimum-rate gateThe code half — the missing
routelabel — is #9545. The remaining half is config: at ~0.6 requests/minute, a 5-minute p95 is computed from roughly three requests, so a handful of slow background requests trips an SLO page with no statistical meaning.3.
secret_leakgate is 44% false-positive on metagraphedThe engine's own anomaly detector said so at 2026-07-27T20:03:05Z:
Detector:
src/review/ops-wire.ts:161-169. Gate policy lives in the private server-side config (/opt/loopover/loopover-config/jsonbored__metagraphed/.loopover.yml), not the public repo.secret_leakprecision on metagraphed and either loosen the rule or move it to advisory, per the detector's own recommendation.Note
Each item is an operator action on
edge-nl-01. Recorded as an issue so they are tracked rather than living only in an audit write-up, and kept separate from the code work so neither blocks the other.