From b32fbdd98c501f2ece00fa4db01333a0dabe513b Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Mon, 19 Oct 2026 11:03:45 +0200 Subject: [PATCH] Docs: re-bucket the atproto verification plan as historical, fix path drift The plan is executed, so it is not a live proposal. atproto-source.ts resolveInternal() calls atproto-verify.ts fetchAndVerifyRecord() unconditionally with no unverified fallback; atproto-verify.ts carries the plan's named layout plus its Phase 2 PLC audit-log walk (buildKeyEpochs, selectKeyAtTime), covered by 23 tests in atproto-verify.test.ts. The one option the plan left open -- whether icons and screenshots belong in the lexicon -- was settled by taking it: space.peek.feature.release.json declares icon and screenshots, and peek://feature-blob/ serves them CID-verified. The doc moves to docs/historical/ with its note line and leaves the index's "Designs not yet built" section. Five paths in docs/mobile.md and docs/profiles.md gain their repo-relative prefix or point at a file that exists: three src/App.tsx sites become apps/mobile/src/App.tsx, the iOS App Groups entitlement is peek-save_iOS.entitlements rather than the removed tauri-app_iOS spelling, and the share-extension example lives under apps/mobile/. --- docs/README.md | 2 -- .../atproto-signature-verification-plan.md | 2 ++ docs/mobile.md | 8 ++++---- docs/profiles.md | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) rename docs/{ => historical}/atproto-signature-verification-plan.md (97%) diff --git a/docs/README.md b/docs/README.md index c26798c9..294fba03 100644 --- a/docs/README.md +++ b/docs/README.md @@ -91,8 +91,6 @@ describes, and change it if the design changed. - [entity-correlation-design.md](./entity-correlation-design.md) — co-occurrence, entity resolution and clustering over extracted entities. -- [atproto-signature-verification-plan.md](./atproto-signature-verification-plan.md) - — verifying that a feature-release record really came from its publisher. - [collab-notes-design.md](./collab-notes-design.md) and [collab-notes-ux.md](./collab-notes-ux.md) — multi-user notes with no Peek-operated server in the data path, and the UX that goes with it. diff --git a/docs/atproto-signature-verification-plan.md b/docs/historical/atproto-signature-verification-plan.md similarity index 97% rename from docs/atproto-signature-verification-plan.md rename to docs/historical/atproto-signature-verification-plan.md index 48158c74..15e2ad30 100644 --- a/docs/atproto-signature-verification-plan.md +++ b/docs/historical/atproto-signature-verification-plan.md @@ -1,5 +1,7 @@ # atproto Record Signature Verification Plan +*Historical: the plan for cryptographically verifying feature-release records, built as `apps/desktop/main/atproto-verify.ts` through Phase 2 with the icon/screenshot lexicon fields added; not current guidance.* + ## Gap `apps/desktop/main/atproto-source.ts:356` fetches a `space.peek.feature.release` diff --git a/docs/mobile.md b/docs/mobile.md index 922215bc..aacb8985 100644 --- a/docs/mobile.md +++ b/docs/mobile.md @@ -79,7 +79,7 @@ The main list supports pull-to-refresh with a **hold gesture** to prevent accide 3. Release before 300ms → cancels (bounce back) 4. Visual feedback shows progress ring filling -**Implementation:** `src/App.tsx` - search for `pullToRefresh` state +**Implementation:** `apps/mobile/src/App.tsx` - search for `pullToRefresh` state ### Frecency Algorithm @@ -238,7 +238,7 @@ CREATE TABLE settings ( ### Share Extension - `apps/mobile/src-tauri/gen/apple/Peek/ShareViewController.swift` - Full UI share extension -- `ShareViewController-full-ui.swift.example` - Reference implementation +- `apps/mobile/ShareViewController-full-ui.swift.example` - Reference implementation ### App Group Bridge - `apps/mobile/src-tauri/AppGroupBridge.m` - Objective-C bridge for App Groups access @@ -255,7 +255,7 @@ CREATE TABLE settings ( - **Webhook commands**: `sync_to_webhook`, `auto_sync_if_needed` ### Frontend -- `src/App.tsx` - React UI with tabbed navigation (Pages | Notes | Tags) +- `apps/mobile/src/App.tsx` - React UI with tabbed navigation (Pages | Notes | Tags) - `apps/mobile/src/App.css` - Mobile-optimized styling with dark mode ### Tests @@ -263,7 +263,7 @@ CREATE TABLE settings ( ### Configuration - `apps/mobile/src-tauri/tauri.conf.json` - Bundle ID: `com.dietrich.peek-mobile` -- `src-tauri/gen/apple/tauri-app_iOS/tauri-app_iOS.entitlements` - App Groups entitlement +- `apps/mobile/src-tauri/gen/apple/peek-save_iOS/peek-save_iOS.entitlements` - App Groups entitlement - `apps/mobile/src-tauri/gen/apple/Peek/Peek.entitlements` - Share extension entitlements ## Development diff --git a/docs/profiles.md b/docs/profiles.md index 8f9bd812..70840f27 100644 --- a/docs/profiles.md +++ b/docs/profiles.md @@ -613,7 +613,7 @@ Cons: - `get_current_profile_slug()` - sync profile (with override support) - `append_profile_to_url()` - adds ?profile= to sync URLs - `get_profile_info` / `set_profile` - Tauri commands -- `src/App.tsx` - Profile section in Settings UI +- `apps/mobile/src/App.tsx` - Profile section in Settings UI - `apps/mobile/src/App.css` - Profile banner and selector styles **Build Scripts:** -- knotmirror 0.0.1