Repository navigation
feat: find conversations and settings through shared navigation search - #2016
Conversation
Keep the existing search icons and shortcuts, unify native results, and add bounded Gateway catalog and message reads without executing actions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Adapt search to current Workspace selection and Dashboard-only skill destinations while retaining detached reads, cancellation fences, and native navigation proof. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
🦞👀 Pull request received. I will update this pull request when review starts. |
Keep navigation-only search and host ownership while deferring reopen through the existing FlyoutShowRequest and preserving main footer composition. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Current-head behavior proof for 806184f after integrating the shared Workspace footer and deferred flyout owner. Native ARM64 Release: all 15 search journeys passed without skips. Debug: 14 passed in the full run, and the page-name case passed a focused rerun after an isolated-profile cleanup file lock. Full build passed; Shared 4,908 passed plus 25 opt-in skips; Tray 5,043 passed; CLI 129 passed; actual Release MCP discovery/invocation 1 passed. These captures are from the current Release fixture, not user data. Live Gateway/browser-route and signed-distribution proof remain unverified. |
|
@clawsweeper review |
|
🦞👀 Re-review progress:
|
|
Codex review: needs maintainer review before merge. What this changesThis PR shares navigation-only search across Chat and Settings, adding conversation, transcript, setting, and Gateway destinations. Example: Search for “camera” using Ctrl+K.
Review scores
ProductKind: Feature · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review Keep this PR open: it adds useful, maintainer-directed search capabilities absent from main, and this review found no actionable correctness defect. Priority: P2 Before mergeNone. FindingsNone. Tests
Agent review detailsHow this fits togetherThe native search popup combines local navigation metadata with authenticated Gateway reads, then routes a selected result through existing conversation, Settings, or Dashboard navigation owners. flowchart TD
A[Chat and Settings] --> B[Shared SearchHost]
B --> C[HubSearchController]
D[Local navigation catalog] --> C
E[Authenticated Gateway reads] --> C
C --> F[Ranked grouped results]
F --> G[Existing navigation owners]
Technical reviewBest possible solution: Land the shared navigation search through the existing landing gates, coordinating the transcript reader with the overlapping Sessions-search work. Do we have a high-confidence way to reproduce the issue? This is a feature expansion; source comparison confirms main has command search but lacks this shared grouped navigation and transcript-search flow. Is this the best way to solve the issue? The change consolidates duplicate shell filtering into focused shared owners while retaining existing navigation, Gateway authorization, and native page application boundaries. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 4aee38a1bfaa. Provenance checked
TestingProof path: shipped entry point. SecurityNone. EvidenceWhat I checked:
Likely related people:
Preflight sourceSource unknown. Source comparison at the observed PR snapshot only. Completion is self-reported; body, policy, tests, execution, and report bytes are not verified. Review metrics
LabelsLabel changes: No label changes. Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment HistoryReview history (5 earlier review cycles)
Reviewed November 5, 2026, 9:22 PM ET / November 6, 2026, 02:22 UTC (Revision 6). |
Target the shared search TextBox itself, inject Alt+Right as a native chord, and scroll the expanded list through its viewport while retaining full-description assertions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Current head: The four failures in CI run 41933164539 are diagnosed:
All four originally failing cases passed in the current local Debug run. Full selected results: Debug 16 passed / 2 failed (held-modifier refusal and foreground-activation refusal); unsigned non-Dev Release 14 passed / 4 failed (three UI-readiness timeouts and one foreground refusal). This is not a clean 18-case local pass. Settings Light/Dark and expanded-description checks pass in both configurations; pinned history passes Debug and was foreground-blocked in Release. Below is the current-head Release capture after expanding and scrolling to the sixth result. The entire final description is readable, source status follows the results, and More is gone. Synthetic fixture Gateway data only; this does not prove a released Gateway or actual Dashboard browser routing. The earlier complete 15/15 Release run and the existing destination screenshots are from |
|
Repaired-head CI attempt 1 (7320936): all 63 mock-Gateway UI cases and 34 app/profile cases passed, including the formerly failing expanded-description and pinned-history checks. Functional UI passed19/19; broad accessibility passed22 with1 separately exercised opt-in skip. The general UI suite aborted after151 passes and7 ordinary skips because testhost crashed while running unchanged Reactor reasoning-picker coverage; there were no reported assertion failures in its partial TRX, and no crash dump was captured. This is not a green general UI suite. Preserved logs, TRX and blame sequence, and requested one bounded replay of only the aborted UI job plus dependent gates. No shipping source, assertion, skip or timeout was changed for the replay. |
Move focus off the disappearing More button, avoid restoring an obsolete viewport during expansion, and reveal the new native row after grouped layout settles. Keep metadata focus and scroll preservation separate. Strengthen native proof to require the actual focus handoff without test-driven scrolling. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…sources Retain all six search catalogs alongside the localized schema remove-item label. Preserve upstream accessibility fixture and keyboard-lane policy; no search assertions or scenarios are removed. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Current head a763511 integrates main06187826 and the production Show more repair207c890e. Native ARM64 unsigned non-Dev Release:15/15 MainSearch journeys passed,0skips. The complete Debug15-case lane passed on207c890e before the resource-only conflict resolution/main integration. The strengthened long-description case fails before the repair because the new row never receives focus; after repair it requires both real keyboard focus and complete viewport containment without manually scrolling the expanded list. SearchHost now moves focus off the disappearing More button, separates expansion from normal same-query scroll preservation, and performs a generation/owner/selection-guarded reveal after grouped layout. This current-head Release capture shows the actual focused sixth result, all description lines and inline source status. The synthetic fixture does not establish released-Gateway search/denial or real Dashboard browser routing. Full local closeout and hostedCI41971001031 are still finishing; previous failures remain preserved, not reclassified as green. |
|
Current-head CI41971001031 attempt1: all67 fixture UI cases and34 app/profile cases passed, including every search scenario. General UI641 passed/1 failed/7 ordinary skips; Functional19 passed; broad accessibility22 passed/11 separately gated opt-in skips after the upstream accessibility-baseline integration. Ordinary skips are not claimed as executed proof.
Requesting one replay of only this failed UI job and its dependent CI Gate. No test assertion, skip, timeout or product source is changed for it. A repeated same-head failure will require investigation, not another blind replay. Current local Release search proof is15/15 with0skips; full local mandatory closeout is still running after compiler locks released. |
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
Retain typed detached-search errors, bounded user-profile error diagnostics, and existing speech/question exceptions. Preserve the upstream profile identity and bounded native-setup owners without restoring parallel paths. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Append new rows to observable groups rather than resetting the grouped ItemsSource. Retain the scroll anchor and refresh shifted automation indices, with native coverage for expansion in multiple groups. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Head5299ba0adb4370f69929f064c84578161bf4be8c: native search expansion now appends rows to observable groups without resetting the native grouped view. Real multi-group proof checks both newly revealed Settings and Skills rows, including shifted indices. Current local required closeout is green: stockfullbuildall5; Shared4940passed/25expectedopt-in skips; Tray5115passed/0skips; CLI129passed/0skips. Current native ARM64 unsigned non-Dev Release is16/16passed/0skips. Debug latest11passed/5failed on shared-desktop foreground/focus/readiness, with both expansion regressions passed; no clean full Debug claim. Independent bounded rubber-duck review found no blocking defect in the incremental mechanism. Current screenshot shows actual newly revealed row focus and complete multiline description with inline status. This remains synthetic Gateway proof, not released-Gateway authorization/indexing or actual Dashboard browser routes. HostedCI42070187223 is still running; the last ClawSweeper review rated overallGold3/6 and qualityPlatinum4/6. |
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
Describe header actions and nonvisual UI Automation status after footer removal. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Fixed the P3 design-contract finding in c27c8cd. DESIGN.md now places conditional More/Retry beside the input and documents nonvisual UI Automation ItemStatus/notifications. This commit changes only that prose paragraph; product, tests and workflows are unchanged from the runtime-tested parent. Local validation passed: .\scripts\validate-docs.ps1 (72 Markdown files, seven proof pools), .\scripts\validate-agent-skills.ps1 (16 skills/25 Markdown files), .\scripts\test-agent-skills-validator.ps1 (27 fixtures plus repository skills), and git diff --check. Existing Platinum overall/Diamond proof was awarded by the bot, not manually labeled. Final-head CI 42142995466 is in progress. @clawsweeper re-review |
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
|
Final-head ClawSweeper review now reports Platinum overall, Diamond proof confidence, no findings and no before-merge items at c27c8cd. CI attempt 1 failed two documented existing failure families: unchanged Reactor reasoning-picker native testhost crash (178 passed before abort), and pre-search E2E fixture MCP startup timeout (service initialization began about 79 seconds after spawn, leaving little of the existing 90-second window). The startup/capability owners and picker sources are unchanged; the E2E fixture delta only filters copied artifacts. Logs and failed attempt are retained. After the entire run completed, one failed-jobs-only replay was requested with gh run rerun 42142995466 --failed. No timeout/assertion was weakened, no product fix is claimed, and no second replay of this SHA is planned. The PR remains draft until this attempt finishes successfully. |
Bound only Windows sharing/lock waits, retain explicit deadline failures and allow cleanup recovery after release. Cover transient and persistent held log handles. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Published 8c1813c to repair the distinct attempt-2 teardown failure, not to rerun an unchanged failing SHA. The two real-file-lock regressions both failed before the repair with the exact openclaw-tray.log sharing IOException. After repair, all 34 selected profile/lifecycle tests passed; the actual ARM64 app/MCP/profile fixture also passed 36/36. Only Win32 sharing/lock codes 32/33 wait within a named 10-second cleanup deadline (explicit environment override); persistent locks still fail with the original I/O error, other errors still propagate, and reparse checks run before every delete attempt. No test assertion or timeout was weakened. Full build passed all five product targets; Tray passed 5123/5123; docs passed72 files. The local Shared run is retained as 4937 passed /2 failed /26 skipped: this host lacks symbolic-link creation privilege, and the unchanged ephemeral-port error-classifier test hit its known Network-versus-Server defect. Neither unrelated test was changed or silently omitted. Independent rubber-duck review of this cleanup delta found no blocking issues; synchronous bounded cleanup is an explicit test-harness tradeoff. Full native fixture and fresh exact-head CI are pending. The prior final-head ClawSweeper review was Platinum overall /Diamond proof with no findings, not relabeled as a review of this new harness delta. |
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
|
Fresh native ARM64 proof at 8c1813c: the full isolated fixture passed71/71 native UI cases (all17 MainSearch journeys) and36/36 actual app/MCP/profile cases, with zero skipped selected cases. This newly captured image was inspected directly and shows the complete keyboard-focused sixth multiline result without a footer. The fixture used the task-worktree Debug ARM64 app, synthetic Gateway data and owned profiles; all fixture processes completed cleanup. This is native UI/MCP proof, not a released-Gateway or signed-package claim. ClawSweeper independently reviewed this new head: Platinum overall, Diamond proof, no findings. Exact-head hosted CI is still in progress; the separately recorded local Shared failures remain disclosed. |
|
8c1813c hosted attempt1: all17 MainSearch cases passed, including the formerly failing teardown path; app/MCP/profile and actual released-Gateway setup/connect passed. Overall CI is not green: the framework UI testhost hit the existing unchanged ReasoningPicker_PreservesCurrentValueWithoutInventingSupportedOptions crash, and the fixture had70pass/1fail in the unchanged HistoricalFractionalVoiceConversationRendersWithoutLoadingPlaceholder cached-view restoration step. Its retained snapshot proves all30 voice entries initially loaded; the failure is after navigating away/back, with no search RPC. Chat rendering/cached restoration owners and these tests are unchanged. The new cleanup tests and all search cases passed; no weakened assertion, timeout or product change was made. After inspecting logs, receipt, snapshot and source ownership, one failed-jobs-only replay was requested for this new head. No further replay of8c1813c0 is planned if it fails again. The local complete native fixture remains71/71 plus36/36 app/MCP/profile. PR remains draft pending green CI. |
|
Fresh released-Gateway/browser proof for PR head8c1813c0, CI42149147134 attempt1 (tested merge2ef1f14f6f46541f98dc7cef33ec56f9e4a13971). The selected ReleasedGateway_SearchDenialAndDashboardRoutes passed, not skipped: released OpenClaw2026.11.1(4ffdd20), production exact-session metadata/transcript matches, config schema, approvals-only FORBIDDEN, and authenticated actual Edge rendering root Model Setup and /skills. Setup/connect report:53passed/0failed/7ordinary opt-in skips; all9browser-storage admission cases passed; downloaded archive contains0browser-profile files. These are newly downloaded and visually inspected captures from that exact invocation, not relabeled earlier images. npm provenance is in gateway-release.json. This does not claim exact skill selection, provider inference or native packaged-Gateway proof. Core/CLI and Tray/setup reports on this head also passed. Only the diagnosed UI-job replay remains pending. |
Merge origin/main (4ea07e8) into the Automations page. The only textual conflict was CronPage.xaml.cs, where main still edited the retired XAML page; the Reactor host is kept. Main's shared navigation search (#2016) opens a found automation through CronPage.RevealSearchJob, which the Reactor page did not have. Port it: - AutomationsStore.RevealAsync looks the job up on the Gateway, selects it and reports Revealed, NotFound, Failed or Superseded. A missing job selects nothing instead of leaving a phantom selection, and a reveal that loses to a newer load changes nothing. - A reveal can widen a specific-agent filter to All agents so a job owned by another agent is shown. Search and the post-save reveal widen; agenda and attention reveals stay in the current scope. New automations still belong to the route agent. - A job that no longer exists shows the Hub search "unavailable" wording as a neutral, auto-dismissing in-page notice. It is not a global notification and adds no new localized strings. - AutomationsRevealChannel carries the page request to the mounted root, holds one pending request until the root attaches, and supersedes it on dispose, so a search that lands before the first render is not lost. - SettingsShellView and the search catalog from main are unchanged. Docs: update the architecture ledger rows for the Automations page and add the search reveal owner with its behavioral guard. Tests: store reveal tests (found, missing, filtered, widened, saved for another agent, disconnected, superseded), channel tests and source contract tests. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>








What Problem This Solves
Companion needs one search that takes users to the right conversation, setting or Gateway destination without making changes on their behalf.
User Impact
User impact: existing search icons and Ctrl+K/Ctrl+E open shared, grouped navigation search in Chat and Settings. Settings retains Ctrl+F; Alt+Enter opens eligible Dashboard counterparts.
Search never toggles settings, runs automations, selects models or sends messages. Transcript hits open the exact conversation, not a precise message offset. The visible search footer/status messages are removed; conditional More/Retry actions sit beside the input. No migration is required.
Why This Change Was Made
Replace duplicate shell filters with one window-owned
HubSearchControllerand shared nativeSearchHost, retaining existing conversation, Settings and Dashboard navigation owners. Offline local results are supplemented by bounded authenticated Gateway reads. Query, connection, agent and access fences plus private request IDs prevent stale activation and sidebar roster pollution.Native names, Windows symbols, wrapping descriptions and one scroller preserve readable results. Incremental expansion retains the scroll anchor and focuses the first revealed row. Status uses nonvisual UI Automation ItemStatus and text-bearing notifications. Local MCP
app.searchreturns navigation metadata without requesting transcript snippets. Unknown Dashboard versions remain conservative; the separately verified Skills route supports released 2026.11.1.Closeout also corrected the stale design paragraph and repaired a real fixture cleanup failure. Owned-profile removal waits only for Windows sharing/lock errors within an explicit deadline; persistent locks and all other failures remain visible. Tests are not retried or weakened.
Evidence
Head
8c1813c0806f4a06ac3080e4aab6cd85c5925cb6: CI 42149147134, attempt 2 and CI Gate passed. ClawSweeper reviewed this head: Platinum overall (4/6), Diamond proof confidence (5/6), no actionable findings or before-merge items. The bot assigned its own rating; no rating label was manually applied.Downloaded reports confirm hosted native UI 71/71, including all 17 search journeys, and actual app/MCP/profile 36/36, with zero skipped selected cases. A separate local ARM64 run passed the same 71/71 + 36/36. The image below is a newly captured, inspected ARM64 image from this head, not an earlier screenshot relabeled as current.
The real released-Gateway proof also passed on this head: OpenClaw 2026.11.1 (4ffdd20), production C# exact-session metadata/transcript matches, config schema metadata, restricted-operator
FORBIDDEN, and actual authenticated Edge rendering root's Model Setup destination and/skills. No AI request was made. Root reaches Model Setup because no provider is verified; this does not prove exact skill selection.Verified evidence downloads: successful UI/native reports and captures, real released-Gateway report, npm provenance and browser captures, Core/CLI reports, Tray/setup/integration reports. All were downloaded and their actual TRX outcomes inspected. The three uploaded images were fetched back as authenticated bytes and visually inspected. See the native proof report and released-Gateway report.
Retained failures: current run attempt 1 hit the existing unchanged Reactor reasoning-picker testhost crash and an unchanged historical-voice cached-view restoration timeout (fixture 70 passed / 1 failed, all 17 search cases passed). Logs, source ownership, the fully loaded 30-entry snapshot and absence of search RPCs were inspected before one failed-jobs-only replay. Attempt 2 passed both suites; no product fix is claimed for those unrelated failures. Earlier failures and the cleanup repair remain in the repair report and replay rationale.
Change Type
Scope
winnodeRequired proof pools
windows-winui-interactive: current-head isolated native search, keyboard focus, layout, expansion, Settings reveal and open-popup Axe journeys passed locally and in CI. High Contrast/Narrator remain unverified.windows-11-arm64: current-head local native ARM64 Debug app/MCP/profile and full fixture UI passed; prior non-Dev Release history remains attributed to its original reports, not a new signed-package claim.windows-wsl-gateway-e2e: current-head real released-Gateway search, denied access and authenticated Dashboard destinations passed in the existing disposable hosted setup/connect lane.These are boundary-specific results, not certification of every command in a whole proof pool. Ordinary CI skips do not count as executed custom proof.
Validation
Source identity: local build/tests used the manually hash-recorded cleanup code subsequently committed as
8c1813c0; the native fixture ran on that committed head. CI run 42149147134 is associated with PR head 8c1813c and tested merge 2ef1f14 (refs/pull/2016/merge). Attempt 2 reran only the failed UI job and its dependents; successful unchanged jobs retain their actual attempt-1 reports..\build.ps1dotnet test .\tests\OpenClaw.Shared.Tests\OpenClaw.Shared.Tests.csproj --no-restoreRefusedTransport_ReportsNetworkWithoutClassifyingStackFrameshit its documented ephemeral-port Network-versus-Server classifier defect. Neither test was changed or omitted. Both cases passed in the current-head hosted Shared report below.dotnet test .\tests\OpenClaw.Tray.Tests\OpenClaw.Tray.Tests.csproj --no-restoredotnet test .\tests\OpenClaw.Tray.IntegrationTests\OpenClaw.Tray.IntegrationTests.csproj --no-restore --filter 'FullyQualifiedName~GatewayFixtureProfileTests|FullyQualifiedName~GatewayFixtureRunTests'.\scripts\test-gateway-fixture.ps1 -AppPath '.\src\OpenClaw.Tray.WinUI\bin\Debug\net10.0-windows10.0.22621.0\win-arm64\OpenClaw.Tray.WinUI.exe' -ArtifactsDirectory '.\TestResults\FixtureCleanupCloseout' -Screenshots.\scripts\validate-docs.ps1.\scripts\validate-agent-skills.ps1.\scripts\test-agent-skills-validator.ps1git diff --checkFresh test projects were built before the required
--no-restoreruns, and the actual TRX counts were checked. Managed tests cleared the inheritedOPENCLAW_STATE_DIRand unrelated runtime opt-ins. The local Shared failures above remain disclosed, not relabeled green by the hosted result..\scripts\Invoke-CiTest.ps1 -Project tests\OpenClaw.Shared.Tests -ResultsDirectory TestResults\Shared -TrxFileName OpenClaw.Shared.Tests.trx -HangTimeoutSeconds 300with CIOPENCLAW_RUN_INTEGRATION=1.\scripts\Invoke-CiTest.ps1 -Project tests\OpenClaw.Connection.Tests -ResultsDirectory TestResults\Connection -TrxFileName OpenClaw.Connection.Tests.trx.\scripts\Invoke-CiTest.ps1 -Project tests\OpenClaw.WinNode.Cli.Tests -ResultsDirectory TestResults\WinNodeCli -TrxFileName OpenClaw.WinNode.Cli.Tests.trx.\scripts\Invoke-CiTest.ps1 -Project tests\OpenClaw.Tray.Tests -ResultsDirectory TestResults\Tray -TrxFileName OpenClaw.Tray.Tests.trx -Runtime win-x64.\scripts\Invoke-CiTest.ps1 -Project tests\OpenClaw.SetupEngine.Tests -ResultsDirectory TestResults\SetupEngine -TrxFileName OpenClaw.SetupEngine.Tests.trx -Runtime win-x64.\scripts\Invoke-CiTest.ps1 -Project tests\OpenClaw.Tray.IntegrationTests -ResultsDirectory TestResults\TrayIntegration -TrxFileName OpenClaw.Tray.IntegrationTests.trx -Runtime win-x64with CIOPENCLAW_RUN_INTEGRATION=1.\scripts\Invoke-CiTest.ps1 -Project tests\OpenClaw.Tray.UITests -ResultsDirectory TestResults\TrayUI -TrxFileName OpenClaw.Tray.UITests.trx -Runtime win-x64 -Filter "Category!=Accessibility&Category!=NativeOnboardingProof&Category!=GatewayFixture" -HangTimeoutSeconds 300.\scripts\test-gateway-fixture.ps1 -AppPath .\src\OpenClaw.Tray.WinUI\bin\Debug\net10.0-windows10.0.22621.0\win-x64\OpenClaw.Tray.WinUI.exe -ArtifactsDirectory .\TestResults\GatewayFixture -ScreenshotsOther downloaded current-head reports: Functional UI 19 / 0 / 0, accessibility 22 / 0 / 11, Dev settings 31 / 0 / 0, hardware profile after-state 12 / 0 / 0. Skipped accessibility/other opt-in cases are not claimed as executed proof. All three WSL E2E shards, x64 release publishing smoke, x64/ARM64 MSIX artifacts, Store bundle and the overall CI Gate passed. Policy-skipped release publishing is not a failed check.
The exact hosted real-Gateway command was:
Result: 53 passed / 0 failed / 7 ordinary opt-in skips.
SetupAndConnectTestsSearchProof.ReleasedGateway_SearchDenialAndDashboardRoutesand all nine browser-storage admission cases passed, not skipped. The existingOPENCLAW_RUN_E2E=1disposable hosted fixture owns provisioning and teardown. No local/shared Gateway was provisioned or mutated for closeout.Review: ClawSweeper reviewed exact head
8c1813c0, Platinum overall / Diamond proof, no findings. Independenttask/rubber-duckreviews covered the feature/proof plan and the new cleanup delta, with no blocking issues. The latter explicitly noted synchronous bounded cleanup as a test-harness tradeoff; no success fallback was added. Reviewer model identities were not independently observable. Earlier Hanselman repairs remain in the linked history. No shared-autoreview-helper-owned status or isolation claim is made.Real Behavior Proof
8c1813c0806f4a06ac3080e4aab6cd85c5925cb6; CI associated with that head and built tested merge2ef1f14f6f46541f98dc7cef33ec56f9e4a13971. No older review, screenshot or binary is relabeled as a new execution.GatewayFixtureAppTests.RealOperatorPopulatesSessionsWithoutEnablingNodeExecutionperforms MCPtools/list, discoversapp.search, invokes it forcamera, checks result metadata and verifies the setting is unchanged.FORBIDDENand authenticated actual-browser destinations passed.gateway-release.jsonrecords exact npm version, tarball and SHA-512 integrity; downloaded setup archive contains zero browser-profile files.Yes/No/N/A): Yes. All three published images were fetched back as authenticated bytes and inspected; the linked evidence archives were downloaded and their TRX outcomes inspected.Copied output from this head's selected hosted proof:
Security Impact
Yes/No): NoYes/No): Yes, test-harness-only browser/profile handling; no production credential storage or precedence changesYes/No): YesYes/No): YesYes/No): YesYes, explain the risk and mitigation: search reads authorized session metadata/transcript snippets and catalog/schema metadata over the existing authenticated operator connection. Explicit transcript scope excludes global/unknown/background sessions. Only schema metadata is indexed, not config values/sensitive subtrees. Query cancellation, identity/access fencing and private request IDs prevent stale publication and roster updates. Local MCP search is navigation metadata only; it neither requests snippets nor executes results. The disposable CI browser receives its fixture test token through CDP navigation, not process arguments; browser-profile storage is excluded from artifacts and the downloaded archive was checked clean. Earlier affected task-generated archives were removed defensively without inspecting credential values. Cleanup still checks reparse points before every attempt and deletes only owned fixture data.Compatibility and Migration
Yes/No): Yes, with intentional search UX changes: setting matches navigate instead of toggle; MCP retains Title/Subtitle/Icon and adds navigation metadata. No visible search footer/status block remains.Yes/No): No required product changes. Optional bounded search timing controls remain. Test-onlyOPENCLAW_GATEWAY_FIXTURE_CLEANUP_TIMEOUT_SECONDSaccepts a positive finite deadline, default 10 seconds.Yes/No): NoReview Conversations
GitHub reports zero inline review threads. The stale design contract was corrected, the subsequent cleanup failure was repaired with negative controls and current runtime proof, and ClawSweeper's final source-head review has no actionable findings. Ready for human review is not an approval or merge claim.