Skip to content

docs(integrations): backup provider integration (Cove) — design spec + W01–W05 plans (feature #6008) - #6018

Open
ToddHebebrand wants to merge 3 commits into
mainfrom
spec/backup-provider-integration
Open

ToddHebebrand wants to merge 3 commits into
mainfrom
spec/backup-provider-integration

Conversation

@ToddHebebrand

Copy link
Copy Markdown
Collaborator

Summary

Design spec and five implementation plans for Breeze's first third-party backup integration: N-able Cove Data Protection, phase 1 (read-only status everywhere Breeze shows its own backups). Tracked as feature #6008 (waves #6009#6013).

  • Spec: docs/superpowers/specs/integrations/2026-09-15-backup-provider-integration-cove-design.md
  • Plan index (cross-wave name contract + migration slots): docs/superpowers/plans/integrations/2026-09-15-backup-provider-integration.md
  • Waves: W01 foundation · W02 sync · W03 read model + web · W04 portal + reports · W05 backup status report (detachable)

What it builds

Provider-neutral model (backup_provider_connections partner-scoped, backup_provider_customers with org mapping, backup_provider_devices org-scoped, backup_provider_device_history observed-daily ledger) behind a BackupProviderAdapter interface with a Cove JSON-RPC adapter; a 30-minute BullMQ sync copying the Huntress split-phase shape; one shared deriveBackupHealth and one backupHealthReadModel feeding the /backup overview (new All-organizations mode with the Cove-email status/recency buckets and device table), the device Backup tab, the client portal, the posture report and the org narrative; sourced alerts for linked devices with two-poll hysteresis.

Review trail

Advisor quorum (Fable + Codex xhigh) applied to the spec: breeze_device_id link column with synchronous detach on org move (Intune pattern), "protected" requires fresh success evidence, provider events do not reach notification channels in phase 1. Plan authoring surfaced: GET /backup/health already exists → /backup/health/devices; a ninth registration list (SELF_MANAGED_DB_CONTEXT_ROUTES); /backup/dashboard never emitted overdueDevices; the portal has no i18n.

Docs-only PR: no code changes.

🤖 Generated with Claude Code

Todd Hebebrand and others added 3 commits September 15, 2026 23:02
…ta Protection phase 1

Provider-neutral external backup model (connections, customers, devices,
observed-daily-health ledger) with a Cove JSON-RPC adapter, a unified backup
health read model feeding the /backup overview (new all-orgs mode), device
tab, client portal and reports, and sourced alerts for linked devices.
Advisor quorum applied (Codex xhigh): breeze_device_id link column with
synchronous detach on org move, coverage requires fresh success evidence,
provider events do not reach notification channels in phase 1.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… issue #6008

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…n plans (feature #6008)

Five per-wave plans for the Cove Data Protection integration: W01 foundation
(schema, migration, RLS, registrations, health derivation, Cove adapter,
connection + mapping routes), W02 sync (BullMQ job, persistence, auto-mapping,
device matching, alerts + events), W03 read model + web (backupHealthReadModel,
GET /backup/health/devices, Integrations Backup tab, overview all-orgs mode,
device tab card), W04 portal + reports, W05 backup status report.

Plan authoring surfaced and resolved: GET /backup/health already exists
(verification summary) so the device listing is /backup/health/devices;
status-bucket grouping is one shared constant (six buckets incl. 'other');
SELF_MANAGED_DB_CONTEXT_ROUTES registration for routes that call the vendor;
/backup/dashboard never emitted overdueDevices; the portal has no i18n system.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying breeze with  Cloudflare Pages  Cloudflare Pages

Latest commit: 2596a7a
Status: ✅  Deploy successful!
Preview URL: https://6d23a79b.breeze-9te.pages.dev
Branch Preview URL: https://spec-backup-provider-integra.breeze-9te.pages.dev

View logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant