[P2] Add health checks, diagnostics, and safe repair commands #37

Closed
opened 2026-07-18 00:04:03 +00:00 by lost-rob0t · 1 comment
lost-rob0t commented 2026-07-18 00:04:03 +00:00 (Migrated from github.com)

Goal

Detect broken capture, key, provider, index, and storage states without exposing personal data.

Requirements

  • Health checks for lifecycle state, capture backend, metadata sources, OCR, encryption/key access, storage integrity, indexes, model providers, disk quota, and daemon IPC.
  • Read-only diagnostic bundle containing versions, capability results, sanitized errors, and opaque IDs only.
  • Safe repair commands for index rebuild, orphan cleanup, migration resume, and provider re-probe.
  • No automatic repair that deletes data or changes privacy policy.
  • Capture must fault or pause when a critical privacy dependency fails.

Acceptance criteria

  • health distinguishes degraded optional features from capture-blocking failures.
  • Diagnostic bundles pass automated secret/content scanning.
  • Repair operations are restartable and audited.
  • A failing encryption or redaction health check prevents persistence.

Depends on

## Goal Detect broken capture, key, provider, index, and storage states without exposing personal data. ## Requirements - Health checks for lifecycle state, capture backend, metadata sources, OCR, encryption/key access, storage integrity, indexes, model providers, disk quota, and daemon IPC. - Read-only diagnostic bundle containing versions, capability results, sanitized errors, and opaque IDs only. - Safe repair commands for index rebuild, orphan cleanup, migration resume, and provider re-probe. - No automatic repair that deletes data or changes privacy policy. - Capture must fault or pause when a critical privacy dependency fails. ## Acceptance criteria - `health` distinguishes degraded optional features from capture-blocking failures. - Diagnostic bundles pass automated secret/content scanning. - Repair operations are restartable and audited. - A failing encryption or redaction health check prevents persistence. ## Depends on - #12 - #22 - #27 - #29 - #31
lost-rob0t commented 2026-08-30 08:59:26 +00:00 (Migrated from github.com)

Implemented and merged in #94 queue successor PR #95 (squash commit 044225c). All acceptance criteria verified by automated tests: degraded-optional vs capture-blocking distinction (tests/unit/health), detect-secrets-scanned content-free bundles, restartable+audited repairs, and persistence prevention on failing encryption/redaction checks (tests/security/test_health_architecture.py). Full suite 1067 passing; canonical gate green. RAGE: rage/issue-37-health-diagnostics-repair.org; docs: docs/health.md.

Implemented and merged in #94 queue successor PR #95 (squash commit 044225c). All acceptance criteria verified by automated tests: degraded-optional vs capture-blocking distinction (tests/unit/health), detect-secrets-scanned content-free bundles, restartable+audited repairs, and persistence prevention on failing encryption/redaction checks (tests/security/test_health_architecture.py). Full suite 1067 passing; canonical gate green. RAGE: rage/issue-37-health-diagnostics-repair.org; docs: docs/health.md.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/local-recall#37
No description provided.