Skip to content

Prepare collection mode controller and service readiness - #1033

Merged
callumalpass merged 31 commits into
mainfrom
feat/collection-mode-execution
Oct 29, 2026
Merged

callumalpass merged 31 commits into
mainfrom
feat/collection-mode-execution

Conversation

@callumalpass

@callumalpass callumalpass commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Implement resumable Private ↔ Cloud copy switching with native proofs, whole-switch-set trust, a capability floor/token drain, explicit owner handover, receiver-only reading and shared inline controls.

Execution defaults off. LAB builds explicitly opt in; server startup advertises execution only after both normal-role Workers expose their authenticated readiness and retirement handlers. Deploy mode-capable Workers before enabling the server.

Recovery and safety

  • Preserve exact request/publication identities, immutable signed genesis and authenticated history. No new trust exception or token/log format.
  • Require support from every active keyed user device before Private publication; gate current token mint support and drain existing token lifetimes.
  • Keep source consent separate from receiver reading. An applied return to Private clears the receiver witness, including on ineligible receivers.
  • Let the existing policy producer release adjacency from observed log position without depending on owner finish. Provide owner abandonment of an unrekeyed published Private request without replacing its publication or creating an epoch; held mutations return typed conflicts.
  • Preserve unrelated integrity faults alongside mode alerts. Failed optional persistent-keyring history repair restores existing keys and authority; mandatory RAM-only rebuild remains strict.
  • Retain migration state during service-cache retirement. Readiness is not app admission or a physical-erasure claim.
  • Add recovery metadata through a new migration; applied SQL is unchanged.

Validation

  • Rust libraries: replica 1,022, daemon 455, hosted 217 passed; all-targets clippy with -D warnings and formatting passed.
  • Server suite: 2,273 passed; final targeted release-gate/proof/configuration checks also passed.
  • Six isolated PostgreSQL suites: 149 passed, 1 skipped, including missing-finish hold release, typed conflicts, owner abandonment and exact-request restart recovery.
  • Management tests; server/management/shared-UI typechecks; generated inventories; 18 deployment-guard tests; architecture/changelog/diff checks passed.
  • Prior managed LAB qualification completed the older-device blocker and both directions, including uninterrupted online Private exchange, Cloud return and separate cold receiver replay. These review fixes target failure/recovery paths rather than that successful handover; LAB was not redeployed for this revision.

No production/staging deployment, merge or release is included. New-head CI runs after push.

@callumalpass
callumalpass force-pushed the feat/cloud-to-private-trust branch from 0a37b24 to 5452854 Compare October 28, 2026 21:07
@callumalpass
callumalpass force-pushed the feat/collection-mode-execution branch from c18f119 to 8599286 Compare October 28, 2026 21:07
Base automatically changed from feat/cloud-to-private-trust to main October 28, 2026 22:51
@callumalpass
callumalpass force-pushed the feat/collection-mode-execution branch from d374cd1 to 7f5cd51 Compare October 28, 2026 23:32
@callumalpass
callumalpass marked this pull request as ready for review October 29, 2026 09:54
@callumalpass
callumalpass disabled auto-merge October 29, 2026 12:41
# Conflicts:
#	runtime/crates/daemon/src/server.rs
@callumalpass
callumalpass added this pull request to the merge queue Oct 29, 2026
# Conflicts:
#	apps/portal/src/locales/de/messages.po
#	apps/portal/src/locales/en/messages.po
#	apps/portal/src/locales/es/messages.po
#	apps/portal/src/locales/fr/messages.po
#	apps/portal/src/locales/it/messages.po
#	apps/portal/src/locales/ja/messages.po
#	apps/portal/src/locales/ko/messages.po
#	apps/portal/src/locales/pt/messages.po
#	apps/portal/src/locales/ru/messages.po
#	apps/portal/src/locales/zh/messages.po
@callumalpass
callumalpass removed this pull request from the merge queue due to a manual request Oct 29, 2026
@callumalpass
callumalpass added this pull request to the merge queue Oct 29, 2026
# Conflicts:
#	apps/desktop/src/main/main.ts
#	apps/desktop/src/main/preload.ts
#	apps/desktop/src/renderer/global.d.ts
#	runtime/crates/daemon/src/cli.rs
#	runtime/crates/daemon/src/server.rs
@callumalpass
callumalpass removed this pull request from the merge queue due to a manual request Oct 29, 2026
@callumalpass
callumalpass added this pull request to the merge queue Oct 29, 2026
Merged via the queue into main with commit d094d68 Oct 29, 2026
49 checks passed
@callumalpass
callumalpass deleted the feat/collection-mode-execution branch October 29, 2026 18:15
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