Repository navigation
Description
Parent
What to build
Add the Search destination with one complete Computer path: query the retained local conversation/message cache, open the exact matching message and return to the same results. Search only inherits Chats scope; no environment picker or independent global search.
Acceptance criteria
- Search joins Chats/Activity in the navigation island and hides +; current Computer/All scope is inherited from Chats, with no environment picker.
- Conversation-name and retained-message matches appear as separate sections; messages show sender/excerpt/time/channel/source and explain incomplete local coverage.
- A scoped catalogue enumerates only currently connected/authorized Computer cache namespaces; duplicate slugs/IDs in fixtures cannot leak content. No remote history search or query-triggered bulk download.
- Unpair/refusal/source replacement removes corresponding results and prevents late results from reviving detached content.
- Click a Computer message result and highlight its exact source-bound message. If evicted, explicitly report missing local content and offer online recovery without silently jumping to the latest message.
- Return restores query/scope/scroll; new entry from Chats/Activity starts fresh. No durable recent-query history.
- In intermediate Cloud scopes, show clearly unsupported local message search until N4; All discloses that coverage rather than pretending no Cloud matches exist.
- An assigned native UAT journey downloads a known message, searches it offline, opens/highlights it, returns, evicts/revokes the fixture and observes correct recovery/refusal. Keyboard and large text remain operable.
- Regressions exercise search through the public search/controller boundary and source-cache fixtures, not implementation-shaped snapshots.
Blocked by
Delivery and testing boundary
Planning only; do not implement until the Human authorizes this slice. Milestone v2.0; Open Cloud Groups Project. One issue = one implementation PR. UAT only; no Prod/merge authorization. Use existing source owners/public API and CLI readback for business facts, focused behavioral regressions and exact-head native evidence. Reserve the shared device lane; report iOS/Android/physical/Human and large-text/keyboard/accessibility results separately. Preserve unrelated work. Do not infer native success from source tests.
Activity
DoodleBears commentedon Oct 18, 2026
Agent work claim
codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9(not a DSH Session)codex/2196-local-searchdocs(mobile): record retained search UAT evidence (#2196)
DoodleBears commentedon Oct 18, 2026
Agent-Handoff:
codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9State: handed-off. Implementation and the allocated native path are complete; the review gates below remain open.
Draft PR #2255 implements this Computer-only retained-search slice. Runtime source
990fed93ebf693b6de4e4bb4d38336508b02179c; 58 focused tests, local typecheck and CI39168992325 passed. Standards/Spec source review findings were fixed and re-reviewed.Batch46 native evidence records search/grouping, exact highlight, return state, offline restart, missing-cache explicit recovery and device-revocation clearing. Shared lane restored/released; no Prod. Evidence-only head
46e15175a82fcab29b390d3104e3344f276746e5passed CI39171063022; screenshots do not change the runtime source.Review gates remain: maximum-text navigation word wrapping, offline roster-name fallback, native All/multiple Computer/Cloud-only scope, Android/phone/VoiceOver/Reduce Transparency/Human acceptance. No claim that source tests prove those native cases. Cloud retained-message search stays in its separate slice. Keep this issue open and PR Draft; no merge authorized for this successor.
PR screenshot markup read back with bare SHA-pinned raw URLs and
200 image/png; the in-app browser is disabled in Work settings, so a fresh GitHub-page rendering check could not be completed. Local images and sampled recording frames were inspected. Private credentials, app backups and failure logs remain machine-local; no dependency overlays or private state committed.DoodleBears commentedon Oct 29, 2026
Agent work claim — continue PR #2255 against current main
Task:
codex/local/01a1877d-c8fa-78e0-aa3f-d0af1007be34. Human requested continuing PR #2255. Prior task's handoff and native evidence reviewed; no active overlapping claim found. Starting remote head46e15175a82fcab29b390d3104e3344f276746e5; latest main includes #3179/#3185/#3186. Scope: integrate latest main while preserving both retained-search identity/cancellation behavior and current navigation/cache/conversation lifecycle; repair confirmed compatibility failures; focused source checks and fresh supported runtime evidence. No remote/global/Cloud message search or duplicate feature implementation. Old CI/native results do not qualify the integrated source. Use an isolated worktree, preserve dirty main and other sessions, and reserve the shared lane before any native runtime. Existing PR remains the delivery vehicle; previous unrun platform checks remain unclaimed. The prior iOS physical-device waiver was for #3186 only and is not silently applied to this PR.Merge latest main into retained Computer search
fix(mobile): keep retained search results renderable and stable durin…
fix(mobile): retry retained message focus after row measurement
test(mobile): retry focus from another row measurement
fix(mobile): unify retained search in Chats header
fix(mobile): prefer retained search results for offline Computers
fix(android): keep search names and excerpts readable at large text
fix(mobile): show Computer names in unified native search results
test(mobile): isolate the offline header-search assertion
test(mobile): count streaming bubbles independently of layout wrappers
fix(mobile): debounce Chats search and center empty results
fix(android): retain the empty-search retry accessibility identifier
docs(qa): retain native Chats search evidence and restoration
DoodleBears commentedon Oct 29, 2026
Agent work outcome
codex/local/01a1877d-c8fa-78e0-aa3f-d0af1007be34(not a DSH Session)codex/2196-local-search, PR #2255, final head138ca1306bad234f6bf5a86d8a10682ffcdfd204; production source28c7667083f6.This task claim; original feature claim and Draft/UAT instruction remain in the history. Existing
ready-for-humanstate is retained; noagent:activelabel was present at handoff.