Skip to content

Strengthen snapshot, unlock and asset evidence boundaries - #112

Open
RCmerci wants to merge 3 commits into
mainfrom
codex/ocaml-evidence-boundaries-20261023
Open

RCmerci wants to merge 3 commits into
mainfrom
codex/ocaml-evidence-boundaries-20261023

Conversation

@RCmerci

@RCmerci RCmerci commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Snapshot attempts, E2EE unlock operations and decoded assets now carry abstract evidence between their existing owners. This seals independently reconstructed activation fields, password submissions without the active challenge, boolean attachment receipts and unchecked cache publication while retaining runtime ticket, generation, owner, current-scope and key checks.

  • Bind metadata URL/cursor, graph scope, downloaded artifact and activation receipts to the active snapshot attempt. Preserve metadata cursor catchup semantics and atomic activation.
  • Represent unlock challenge, submission, attachment and presentation with a local ADT. Derive the existing UI projection; leave the password screen before Timeline appearance. Publish the missing-mirror bootstrap stage before metadata work so delayed downloads show progress.
  • Return abstract version-bound verified assets and finite decode errors. Cache publication accepts verified values only; conservative candidate classification and no authentication-failure raw fallback remain intact.

No dependency, Dune, Swift/FFI wire or persistent-format changes.

Validation:

  • dune build @all and repository dune runtest pass with isolated build outputs. Applicable reruns include Sync305, Application144, runtime locality152, worker integration15, worker reducer20 and LUI service49; existing overlay storage85 also passes. The bootstrap-notification regression was reproduced with public Core events before its fix.
  • Existing public-interface compiler tests reject forged activation/challenge/attached/verified values and the removed artifact factory. Dynamic tests separately cover replaced metadata/downloads, retired activation, cursor catchup, unlock cancellation/stale responses/notification ordering, conservative decoding and stale cache publication.
  • Actual A135 iOS26.1 Simulator, final source modules: wrong password, cancel/reselect, sign out→login→E2EE unlock, retained-mirror attach, and fresh412-row bootstrap with delayed snapshot delivery. Observed bootstrapping→password pending false→presentable→Timeline; persisted cursor42, SQLite integrity ok, SyncCurrent/StartupReady/GraphOpen.
  • Clear and Apple AES-GCM attachments publish exact plaintext. A corrupted-auth envelope with matching wire checksum fails without Ready or cache publication. Sign out removes decoded cache and memory secrets; relogin downloads/verifies again.
  • Independent read-only review found no remaining proven issue. The implementation decision records results and limits.

Simulator scope: isolated synthetic account/graph, loopback transport and memory secrets adapter through a temporary external test entry; production entry is restored and unchanged. No real account, Keychain or protected1446 graph was accessed. experimental-host-restamp, cross_abi_validated=false; this does not establish complete cross-ABI or live authentication-service acceptance. Pending-operation cancellation and disk/hardware faults were not simulated on-device; existing dynamic tests are separate evidence. All task App/server/build processes stopped and A135 released. Five pre-existing unrelated decision-document format errors remain in spec-dev-tool check --all; this decision passes.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T08:27:47.085121Z 5bc9a01 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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