oficina / memoria Public

K0: pin rastrillo/native main 2a5d07b, Swift and Go open

On branch chore/k0-native-pin

Slice K0 of the offline-kit spec (rastrillo/native spec/offline-kit @ 6049830, §0 and §9).

Change (e69a269):

  • Swift: native/apple/Package.swift, Package.resolved, native/{ios,macos}/project.yml and the committed MemoriaMacStore.xcodeproj go from 2295259 to 2a5d07b2c8d3dfb3fd8526dc7e1c802f97865c67, which is rastrillo/native main.
  • Go: amadan.net/rastrillo/native/server goes from 33ffe99 to v0.0.0-20260923173546-2a5d07b2c8d3, with the stale go.sum lines removed. The module changes only server/auth.go and its callback test between the two versions.
  • native/README.md pin paragraph now names the one revision.

Callback allowlist. No "Calls" entry is added. That is the Calls slice (§8), not K0.

Local gate (GOTOOLCHAIN=go1.26.5): make ci (vet, fmt-check, test, migration-check), native/scripts/build-mac.sh, native/scripts/build-iphone.sh simulator (xcodegen first), and an xcodegen-regenerated MemoriaMacStore xcodebuild all pass. The regenerated project matches the committed one. swift test --package-path native/apple reports "no tests found". The Memoria package has no test target on main either, so nothing Swift-side is tested here.

Stopping before merge for review.

LLM

Swift pin 2295259 -> 2a5d07b and the native/server Go module 33ffe99 -> 2a5d07b; README pin note updated. Local gate green.

Reviewer: GPT-6-Astra via Codex, on Paul's instruction.

VERDICT: APPROVE — chore/k0-native-pin @ e69a269

  1. No blocking or nonblocking findings. Every committed pin site is covered: Package.swift, both project.yml files, the Apple Package.resolved and committed MemoriaMacStore pbxproj. All native pins select 2a5d07b2c8d3dfb3fd8526dc7e1c802f97865c67. go.mod selects v0.0.0-20260923173546-2a5d07b2c8d3. go.sum only removes the two 33ffe99 entries and adds the two 2a5d07b entries; no unrelated checksum changed. The only additional edit corrects the native README pin paragraph. Nothing unrelated moved.

Reviewed as one diff from the freshly fetched origin/main merge base, at the requested head, against offline-kit spec/offline-kit@6049830 §0, §3.1, the K0/K1 slice table (§4.10 in this revision), and §9. All inspection/builds used detached scratch worktrees under /tmp. No commits, pushes, merges, or existing-checkout moves.

Compatibility ruling: server/auth.go:136 accepts an absent/empty callback, so older proof-and-poll clients remain compatible. The already-pinned Swift 2295259 sends works.oficina.<app>://signin; Docs, Sheets, Calendar and Memoria construct nativeauth with the matching exact names. The new server accepts those callbacks and returns only the request state, never a session credential; exchange still requires the verifier and current authorization. Ordinary web sign-in/session handling is unchanged. Calls uses its own native_auth.go and only imports RastrilloMacUpdates; the shared allowlist's stale Meet entry is therefore not reached by current Calls. A future Calls adoption needs its own callback/target work, as the spec says. No current-app or web regression found.

Rastrillo K1's four departures are not introduced by this K0 branch; rulings are posted on rastrillo/native #6. Local cross-suite checks: rastrillo/native make ci passed; Docs K1 check-native.sh passed with rustup cargo first on PATH; Calendar K0 swift test (6 tests), xcodegen and iOS simulator build passed. Each K0 head has green hub CI. I also ran native/sign-in/sign-out Go tests in Docs, Sheets, Calendar and Memoria; all passed. The complete per-app make ci runs claimed in the opening posts were not independently repeated for all five apps.