Skip to content

Harden security, recovery, and release assurance - #1

Open
AtHeartEngineer wants to merge 31 commits into
mainfrom
codex/security-release-hardening
Open

Harden security, recovery, and release assurance#1
AtHeartEngineer wants to merge 31 commits into
mainfrom
codex/security-release-hardening

Conversation

@AtHeartEngineer

@AtHeartEngineer AtHeartEngineer commented Aug 2, 2026

Copy link
Copy Markdown
Member

Carapace now keeps published folders synchronized across enrolled devices, resumes saved watchers after restart, and reports unavailable peers and folders in the interface. Interrupted restores preserve the partial working tree in a private backup before retrying; missing baselines must be authenticated before local edits can be reconciled.

This integrates desktop reliability work with the existing security hardening: protected credential storage and migration, authenticated durable state, bounded recovery ceremonies, signed claimant handoffs, encrypted account transfer, streaming ingestion and restore, safe Windows file replacement, replica authorization, and redacted diagnostics. The interface adds folder browsing, device transfer and enrollment, accurate recovery protection status, and reliable session reconnection.

CI and release workflows cover native Windows, macOS, and Linux on x86-64 and ARM64. Release archives contain both programs and retain the existing dependency, checksum, signing, SBOM, and provenance gates. Packaged startup checks validate daemon health and authenticated CLI access.

Validation performed locally on macOS:

  • Full Rust workspace: 434 tests passed, none ignored.
  • Focused interrupted-restore, offline-edit, restart, and baseline-repair regressions passed.
  • Strict workspace lints passed; Windows-target restore and vault lints passed.
  • Updated h2, lru, and chacha20 after CI flagged advisories or a withdrawn version; 21 network/API regressions and strict lints passed afterward.
  • GUI: zero Svelte errors/warnings, 15 unit/component tests, production build, and 14 headless Firefox browser checks passed.
  • Daemon startup, health endpoint, and authenticated control-client smoke check passed.
  • Release layout, restore layout, requirement inventory, operational log, fuzz-source, and supply-chain configuration checks passed.

At commit 0d9412e, CI passes the GUI, independent CBOR vectors, and dependency-policy jobs. All six native jobs are still running; the earlier integration run passed native macOS ARM64. Native CI results are required before claiming support on every target. Installers, macOS notarization, clean-machine credential/recovery acceptance, and sleep/wake/network-change testing remain release requirements. Current file-size and operating-system limits are documented in README.md, docs/supported-platforms.md, and docs/quality-readiness.md. No release is published by this pull request.

Phase 2 shipped durable runtime-state persistence, so several deferred notes
are now resolved: S2 PoR round counter (cat::POR), own-card version floor
(cat::CARD_VERSION), S4 envelope-digest gating (F1), and §14 split-state
sealing are all live. W2-gc (old-epoch blob GC) stays open, now a disk-growth
concern. Option B recorded as shipped in the ledger.
Collapse WHAT-narration and multi-line spec-clause comment essays to one-line
WHY where non-obvious, delete the rest. Verified comment-only: stripping
comments+blanks leaves byte-identical code. Per-crate tests, clippy
(-D warnings), and fmt all green. por.rs's 64-line module block is now 18.
Compress multi-paragraph module docs and multi-line spec-clause/audit-narration
comment blocks to one-line WHY where non-obvious, delete WHAT-narration; two
misattached doc comments split back to their items. lib.rs 8579->7765,
persist.rs 1808->1722, state.rs 266->242, tests ~-280. Verified comment-only:
stripping comments+blanks leaves byte-identical code. Fixed a
doc-lazy-continuation clippy error a compressed doc introduced (por_reboot_replay).
Workspace clippy (-D warnings) and fmt clean.
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