Skip to content

Complete ADR-0027 opaque indexed storage - #80

Merged
AndriGitDev merged 7 commits into
mainfrom
storage/adr-0027-complete
Jul 27, 2026
Merged

Complete ADR-0027 opaque indexed storage#80
AndriGitDev merged 7 commits into
mainfrom
storage/adr-0027-complete

Conversation

@AndriGitDev

@AndriGitDev AndriGitDev commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • Moves all 25 sensitive logical domains to the ADR-0027 opaque record schema.
  • Separates keyed locators and secondary indexes by database, domain, and purpose; binds each sealed row to its database id, schema version, table domain, and final locator; validates decoded keys and indexes on open.
  • Adds keyed conversation and message-id lookup, authenticated stable cursors, and exact indexed edits and deletes.
  • Implements bounded, restartable sibling migration and logical-record-only backup/restore with released v0.1.0–v0.3.0 fixtures, replacement-phase failpoints, space checks, sync, rollback handling, atomic replacement, and full validation.
  • Adds bounded secure-delete, vacuum, and WAL maintenance with explicit forensic limits.
  • Adds enforced 100,000- and 1,000,000-message history budgets and records supported evidence and open platform cells.

Verification

Passed on Linux/ext4:

  • Rust 1.88 workspace all-feature/all-target check.
  • Stable workspace clippy with warnings denied.
  • All storage, migration, backup/restore, property, and storage integration tests.
  • All non-network-blocked core integrations, no-std crypto/protocol builds, dependency policy, formatting, documentation, and release-version checks.
  • All 7 crypto and 15 protocol fuzz targets for 60 seconds each with address and undefined-behavior instrumentation. Leak detection was disabled because this host denies /proc/<pid>/task inspection.
  • 100,000 messages: 10.824 s migration, 1.171 s unlock, 378 µs page lookup, 3.021 ms exact edit, 1.232 ms exact delete, 70.62 MiB RSS increase, 49.92 MiB database plus WAL.
  • 1,000,000 messages: 143.641 s migration, 10.425 s unlock, 388 µs page lookup, 2.575 ms exact edit, 1.120 ms exact delete, 70.50 MiB RSS increase, 501.14 MiB database plus WAL.

Passed on final remote head 44cc851:

  • CI run 30226131083: all ten jobs passed, covering workspace formatting, documentation, clippy, tests, no-std builds, MSRV, dependency policy, Windows Server 2025/NTFS storage, desktop build/test/launch, Android core/app, iOS core/simulator, and all fuzz targets.
  • Container run 30226131118 passed.

Environment boundaries:

  • Local mDNS and daemon network tests stop during interface or socket setup because the local host exposes loopback only and rejects the required operations; hosted workspace tests passed.
  • Desktop and mobile SDK dependencies are absent locally; the corresponding hosted desktop, Android, and iOS jobs passed.
  • Hardware-in-loop remains ignored as documented.
  • Physical power-loss, backup-exclusion, owner-only Windows ACL, snapshot, and forensic claims remain open in the qualification record.

@AndriGitDev
AndriGitDev marked this pull request as ready for review July 27, 2026 00:14
@AndriGitDev
AndriGitDev merged commit 53f6a38 into main Jul 27, 2026
11 checks passed
@AndriGitDev
AndriGitDev deleted the storage/adr-0027-complete branch July 27, 2026 10:25
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