Skip to content

Design the shared public store and state the OS-login encryption boundary (R11) - #171

Merged
LucaCappelletti94 merged 1 commit into
mainfrom
docs/r11-design
Oct 17, 2026
Merged

LucaCappelletti94 merged 1 commit into
mainfrom
docs/r11-design

Conversation

@LucaCappelletti94

Copy link
Copy Markdown
Owner

This records the design of R11, the store that holds declared public tables once per device instead of once per account, and splits it into seven pull requests.

The store is attached to every account's replica connection with its own device-wide raw key, using the text form of the ATTACH key clause, which both SQLCipher and sqlite3mc honour. Server rows and rollbacks are replayed into it by connetto, because SQLite's changeset apply only writes to the main database and silently does nothing on an attached one. A second session captures local writes. Forgetting an account removes the rows only it used, and the last account out deletes the store and its key. The build refuses a declared table that some account may not read in full. How capabilities affect a table with no row policy is measured at the start of slice 2 and settled before code.

Chapters 12 and 14 and the ReplicaKeyStore docs now state that encryption rests on the OS login's keychain and does not keep accounts under one login apart, so the shared store exposes nothing new and the second-account signal is dropped.

@coderabbitai

coderabbitai Bot commented Oct 17, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 16 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: LucaCappelletti94/coderabbit/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: c26ff486-08ef-44e4-aeca-b7827f4f19a5
📥 Commits

Reviewing files that changed from the base of the PR and between 026f852 and 47b1133.

📒 Files selected for processing: 4
  • crates/connetto-core/src/traits.rs
  • docs/architecture/12-identity-session-capability.md
  • docs/architecture/14-at-rest-encryption.md
  • plans/master-implementation-plan.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.81%. Comparing base (03cfb34) to head (47b1133).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #171      +/-   ##
==========================================
+ Coverage   87.78%   87.81%   +0.02%     
==========================================
  Files         188      188              
  Lines       50326    50326              
  Branches    50326    50326              
==========================================
+ Hits        44179    44194      +15     
+ Misses       4059     4042      -17     
- Partials     2088     2090       +2     
Flag Coverage Δ
client 60.59% <ø> (+0.10%) ⬆️
rest 55.62% <ø> (-0.31%) ⬇️
server 51.83% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sonarqubecloud

Copy link
Copy Markdown

@LucaCappelletti94
LucaCappelletti94 merged commit b38250e into main Oct 17, 2026
63 of 64 checks passed
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