ADR 013 Project Continuity and Read Only Publication - joeroberts/release-radar GitHub Wiki

  • ID: ADR-013
  • Status: Accepted
  • Date: 2026-09-06
  • Date meaning: Original dated decision/source section; extraction recorded 2026-10-02.
  • Implementation: No implementation information was recorded in the source status; tickets own progress.
  • Approval qualification: Owner-selected continuity/publication direction; encoding, implementation, deployment and owner-state operations remain separately bounded.

Context

Project retention, portable packages, application recovery and read-only publication preserve separate authority and recovery boundaries.

Decisions

The owner selected these product policies. They control subsequent design while leaving schemas, migrations, package encoding, delivery briefs and implementation to their authorized slices. Other proposed architecture decisions remain proposed.

Archive and remove from tracking: Archive retains the complete project and history, hides it from active views and suspends monitoring; Restore is reversible. Remove from tracking removes the operational project and local access capabilities, stops project monitoring and prevents pending app-owned actions from applying, and retains read-only audit/activity history and a removal record. The confirmation must state that history is retained. Both preserve repository files and other projects. Re-adding the folder creates a new registration that old requests cannot mutate. Removal is not full erasure; no erasure operation or destructive action is authorized by this policy decision.

Portable project package: Export must contain the complete supported project records, managed documents and evidence files, including historical provenance. Supported goals, task plans, revisions, dependencies and later authoritative features must be represented rather than silently omitted. Preserve domain and artifact identities; use explicit destination root mappings and fresh folder authorization. Source-code checkouts, credentials and device access permissions are outside the package. Unavailable required content prevents a claim of complete export. Imported history is source history, not a fabricated local audit or a request to replay notifications or commands. Preserve the v1 rule that import creates a new project, rejects live collisions and revalidates its exact input; the package's file placement, failure recovery and database transaction must be designed together before implementation. A self-contained project package is distinct from a full application backup and from reversible project archiving.

Full application backup and recovery: The versioned app-backup package is an app-created, integrity-checked snapshot of the supported local store, including configuration, audits, retained history, plugin receipts and notification history. It excludes Keychain credentials, repositories, portable project files and device permission grants. Restoration uses adjacent no-follow staging, an explicit rollback marker, drained app-owned services and a fresh store/service graph. It preserves readable newer historical and terminal notification facts, disables backed-up pending sends, marks bookmarks stale and rotates live registration authority so pre-recovery or root-only external commands cannot silently target restored work. Interrupted replacement resolves before normal launch services start. Plugin inspection after recovery is read-only and cannot register, rebind, install, remove or update the external plugin.

Read-only companion authority: The Mac app remains authoritative for delivery state; repository documents retain their authoritative location and catalogued identity. Cloud storage carries published copies for the read-only iPhone client, including the selected operational documents, evidence and history, with explicit publication and freshness information. Cloud and phone copies cannot independently edit or accept delivery/document state. This replaces the companion draft's cloud-source-of-truth and document-relocation direction. It does not authorize a cloud deployment or settle the remaining RM8 feasibility, content-limit, privacy, account, deletion-propagation, backup or recovery details. Publication is not a backup or automatic authority takeover after Mac loss.