Repository navigation
Add opt-in pad contexts and shared navigation controls - #232
Conversation
Keep one core store while grouping stable tab UUIDs and file paths into local pads. Add exclusive folder bindings, bounded recent-app routing, corruption refusal, and independent projection sorting without filtering lifetime state. Test catalog restore, numeric ID reminting, inactive expiry, file ownership, and routing precedence. Context metadata remains unencrypted local preferences.
Add shared experimental pad chrome, explicit folder and app controls, compact association header, guarded Command-digit switching, and Timeline before Files. Preserve custom key bindings and disabled-mode navigation. Keep the paper and rail on one sorted projection and anchor Today correctly in ascending mode. Document the feature proposal, verified gate, and native hardware checks still owed.
Use Unix-millisecond UUIDv7 IDs for new pads and core tab, page, chip, and block identities. Preserve stored UUIDv4 identities and the fixed Scratch sentinel. Document the timestamp and entropy implications, and verify both generators against RFC 9562 plus legacy restoration. Full Swift and Rust test-util suites and Clippy pass.
Fail early on an unavailable release toolchain and report missing generated metadata or payloads at the icon packaging boundary. Scope digest naming to the icns fallback, specify the mac target device, and make compiler failure tests independent of the installed Xcode version.
Link the exported glass preview, distinguish the renderer study from the saved release composition, and record the black premultiplied shadow invariant. Normalize the Composer JSON final newline.
…hadow Create and package the glass app icon with an internal cast shadow
# Conflicts: # docs/README.md # shell/Sources/CompanionKit/SettingsSections.swift # shell/Sources/OnetimePad/Views/BackdropRootView.swift
|
Claude finished @delano's task —— View job Code review: opt-in pad contexts and shared navigation controlsI read the full diff against the PR base ( Overall: the ownership/reconciliation design is careful, the default-off gate is respected on every path I traced, and the test coverage is unusually good for an experiment of this size. Findings below are new (not duplicates of the resolved threads). Findings1 · An in-flight conceal loses its visible outcome on a pad switch (
Related: 2 · Stored metadata now includes individual file paths, which the disclosure copy does not mention (
3 · When 4 ·
Smaller notes
ValidationI could not run any build or test command in this environment: the sandbox has no macOS/Swift toolchain, and
No files were changed; this is review feedback only. |
|
Keep new identities UUIDv7 without aborting for pre-epoch or overflowing wall clocks. Preserve secure random bits and legacy restored UUIDs, document the tab-summary seam and initializer compatibility, and exercise clock boundaries in Rust and Swift.
Prune stale metadata only after authoritative restoration, avoid no-op writes, and keep Scratch ownership implicit. Support pad rename/removal, remember selected files, retain ownership through disabled Save As, and compare explicit directory aliases without scanning. Add restore-refusal, pruning, lifecycle, and alias regression coverage.
Show create and rename validation, confirm removal within each pad cell, and avoid duplicate activation. Localize experimental controls and disclosures, share rail width with settings, distinguish current sort order from its next action, and suspend pad shortcuts during sheets.
Document clock and directory identity limits, catalog lifecycle and restore safeguards, remembered files and provisional recency. Preserve an itemized response to every Claude observation, the preview-runner investigation, and final automated results. Correct the missing shadows option in icon usage text.
Replace wall-clock recency with bounded logical ranks while preserving legacy relative order on read. Promote a manual visit after automatic routing and keep true MRU reselection write-free. Cover future legacy timestamps and soft-route reselection.
Dismiss outgoing conceal offers on pad transitions and distinguish later offers for the same target by transient UUIDv7 identity. Retain dirty-close visibility across experiment toggles, restore Keep Editing through owner-aware navigation, and preserve existing file ownership on reopen. Key checkpoint preferences and pruning by the displayed calendar day. Cover each transition and late success/failure with regression tests.
Distinguish the three new feedback fixes from the two previously addressed observations. Record logical recency, stable Today sorting, stale same-target conceal responses and cross-pad Keep Editing, with the final 1,528-test Swift result and manual checks still owed.
Validate the calendar interval around the core roster read and share its reference with sorting and controls. Defer date pruning and checkpoint writes on ambiguous reads while reconciling tab ownership; cover midnight, timezone changes, and backwards clock steps.
Check the application window roster before handling Command digits. Exercise a real sheet attached to another window and shortcut resumption after dismissal.
Document both remaining findings, the calendar fallback correction, the 1,530-test gate, and the manual checks for midnight refreshes and sheets in other windows.
Summary
Review guide
PadCatalog.swiftandPageModel.swiftfor ownership, selection restoration, explicit-file routing, and modal/confirmation guards; then reviewPadPickerView.swift,PadAssociations.swift, and the timeline/roll integration.build-icons.sh,package-app.sh, and.github/workflows/ci.ymltogether.docs/qa/pad-context-experiment.mdtracks outstanding signed-app, activation, accessibility, and release checks; unit coverage does not establish release acceptance.Validation
Related to #230