Skip to content

Preserve installed Local AI runtime controls - #1206

Open
TheAngryPit wants to merge 4 commits into
openclaw:karkarl-refine-local-ai-setup-uxfrom
TheAngryPit:codex/fix-pr1204-managed-runtime-actions
Open

Preserve installed Local AI runtime controls#1206
TheAngryPit wants to merge 4 commits into
openclaw:karkarl-refine-local-ai-setup-uxfrom
TheAngryPit:codex/fix-pr1204-managed-runtime-actions

Conversation

@TheAngryPit

Copy link
Copy Markdown
Contributor

Summary

This is a narrow follow-up for the ClawSweeper P1 on #1204.

Hardware eligibility now gates only fresh setup retry. It no longer disables management of an already installed Companion-managed Local AI runtime.

  • Preserve Start, Stop, Restart, Open logs, Repair connection, and Open chat when their existing runtime predicates allow them.
  • Stop disabling the three enclosing Local AI management cards.
  • Keep the unavailable InfoBar and See why diagnostics.
  • Keep fresh setup retry blocked when hardware eligibility fails.

This preserves #1204's UX work and does not change Core, WSL, credentials, or package trust behavior.

Validation

  • Focused failed-first proof: 3 relevant failures before the repair.
  • Focused final tests: 8 passed, 0 failed, 0 skipped.
  • ./build.ps1: PASS for Shared, CLI, WinNodeCli, SetupEngine, and WinUI.
  • Shared: 3,812 passed, 32 skipped, 0 failed.
  • Tray: 2,711 passed, 0 skipped, 0 failed.
  • git diff --check: PASS.
  • Independent exact-diff review: no actionable findings.

Real behavior proof

The focused tests exercise the exact failed-probe state for:

  • healthy installed runtime: Stop, Restart, and Open logs execute;
  • healthy connected runtime: Open chat executes;
  • stopped installed runtime: Start executes;
  • disconnected Gateway: Repair connection executes;
  • no installed runtime: setup retry remains unavailable.

The page contract also proves that no enclosing card is disabled by the availability probe.

Proof level: test_proven. A product-only preview seam was not added solely to manufacture a screenshot, so runtime_proven and end_to_end_proven are not claimed.

Local TRX artifacts and hashes are preserved in the operator evidence bundle. The live installed Companion, WSL, Gateway, credentials, and settings were not started or changed.

@clawsweeper

clawsweeper Bot commented Aug 22, 2026

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

@clawsweeper clawsweeper Bot added P2 Normal priority bug or improvement with limited blast radius. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Aug 22, 2026
@clawsweeper

clawsweeper Bot commented Aug 22, 2026

Copy link
Copy Markdown

Codex review: needs real behavior proof before merge. Reviewed August 22, 2026, 12:32 PM ET / 16:32 UTC.

ClawSweeper review

What this changes

The PR separates Local AI hardware eligibility for fresh setup from controls that manage an already installed Companion-managed runtime.

Merge readiness

Blocked until real behavior proof from a real setup is added - 4 items remain

Keep open. This is a focused corrective follow-up to the still-open Local AI UX parent PR, with no code correctness finding, but it still needs current-head native tray proof before merge.

Priority: P2
Reviewed head: 2887846627225b2486ce297ba952e08ab439ef3d

Review scores

Measure Result What it means
Overall readiness 🦪 silver shellfish (2/6) The small implementation and focused tests are credible, but real native behavior proof remains the merge gate.
Proof confidence 🦪 silver shellfish (2/6) Needs real behavior proof before merge: Needs real behavior proof before merge: the PR has focused fake-dependency tests but no current-head tray UI Automation output, screenshot, recording, or live runtime evidence. Redact private details before posting proof. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Needs proof Needs real behavior proof before merge: Needs real behavior proof before merge: the PR has focused fake-dependency tests but no current-head tray UI Automation output, screenshot, recording, or live runtime evidence. Redact private details before posting proof. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Evidence reviewed 5 items Focused action boundary: The revised policy removes hardware eligibility from Start, Stop, Restart, logs, gateway repair, and chat, while retaining it for fresh setup retry.
Focused regression coverage: The tests cover unavailable hardware with installed healthy and stopped runtimes, connected chat, and blocked fresh setup.
Parent behavior provenance: History identifies the parent Local AI UX commit as introducing the shared availability gate that this PR narrows.
Findings None None.
Security None None.

Live Verification

Command: .\run-app-local.ps1 -Dev -Isolated -AllowNonMain

Result: FAIL (failed) — execution before step 1 run: sh -lc pnpm install --ignore-scripts --frozen-lockfile failed: ! Corepack is about to download https://registry.npmjs.org/pnpm/-/pnpm-11.22.0.tgz

sh -lc pnpm install --ignore-scripts --frozen-lockfile failed: ! Corepack is about to download https://registry.npmjs.org/pnpm/-/pnpm-11.22.0.tgz

Assertions:

  • FAIL expect_output: Started OpenClaw Tray

How this fits together

The tray Local AI page combines runtime state, gateway state, and a hardware eligibility probe to determine available actions. This change preserves valid runtime-management actions while restricting only new setup or download retries.

flowchart LR
A[Runtime snapshot] --> D[Local AI action policy]
B[Gateway connection state] --> D
C[Hardware eligibility probe] --> D
D --> E[Installed runtime controls]
D --> F[Fresh setup retry]
E --> G[Local AI tray page]
F --> G
Loading

Before merge

  • Add real behavior proof - Needs real behavior proof before merge: Needs real behavior proof before merge: the PR has focused fake-dependency tests but no current-head tray UI Automation output, screenshot, recording, or live runtime evidence. Redact private details before posting proof. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
  • Resolve merge risk (P1) - The PR provides only fake-dependency tests, so the active WinUI state for an installed managed runtime remains unverified.
  • Resolve merge risk (P1) - This branch depends on the still-open parent Local AI UX PR and should be reviewed in that combined behavior before a main-branch merge.
  • Complete next step (P2) - The remaining blocker is contributor-supplied active tray proof, which cannot be established by an automated repair branch.
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Production versus test delta 4 files, production +8/-21, tests +108/-22 The patch is narrowly scoped and has substantially more regression coverage than production growth.

Root-cause cluster

Relationship: fixed_by_candidate
Canonical: #1204
Summary: This PR is the candidate corrective follow-up for the Local AI availability behavior in the open parent PR.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Merge-risk options

Maintainer options:

  1. Capture active tray proof (recommended)
    Show the current head on an ineligible device with an installed managed runtime, including an enabled valid action and an unavailable fresh-setup retry.

Technical review

Best possible solution:

Merge the parent UX work with this corrective action policy only after posting redacted current-head tray evidence that valid installed-runtime controls remain usable while fresh setup stays unavailable.

Do we have a high-confidence way to reproduce the issue?

No live reproduction is supplied. The unavailable-probe path is high-confidence from the current source and focused tests, but those tests use fake runtime, gateway, probe, and command dependencies.

Is this the best way to solve the issue?

Yes. Keeping existing action predicates and limiting hardware eligibility to fresh setup is the narrowest maintainable boundary, pending native tray confirmation.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against ccd64bbb7d68.

Labels

Label changes:

  • add merge-risk: 🚨 compatibility: The change intentionally alters which controls existing Local AI users can invoke after eligibility becomes unavailable.

Label justifications:

  • P2: This is a bounded Local AI tray UX correction without evidence of an urgent production outage.
  • merge-risk: 🚨 compatibility: The change intentionally alters which controls existing Local AI users can invoke after eligibility becomes unavailable.
  • rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦪 silver shellfish and patch quality is 🐚 platinum hermit.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: Needs real behavior proof before merge: the PR has focused fake-dependency tests but no current-head tray UI Automation output, screenshot, recording, or live runtime evidence. Redact private details before posting proof. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Evidence

What I checked:

Likely related people:

  • Joel: Introduced the Local AI runtime page and its original action predicates on current main. (role: introduced Local AI page behavior; confidence: high; commits: ccd64bbb7d68; files: src/OpenClaw.Tray.WinUI/Presentation/LocalAiPageViewModel.cs, src/OpenClaw.Tray.WinUI/Pages/LocalAiPage.xaml.cs)
  • karkarl: Authored the open parent Local AI availability UX work that added the disabled-card behavior this patch refines. (role: adjacent Local AI UX author; confidence: high; commits: 03c5deff01ff; files: src/OpenClaw.Tray.WinUI/Presentation/LocalAiPageViewModel.cs, src/OpenClaw.Tray.WinUI/Pages/LocalAiPage.xaml.cs)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Run the current head in an isolated tray environment with an installed Companion-managed runtime and an unavailable eligibility probe, then add redacted UI Automation output, a screenshot, or a short recording to the PR body.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

History

Review history (3 earlier review cycles)
  • reviewed 2026-08-22T15:18:48.007Z sha b327f55 :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-22T15:57:25.281Z sha 74a8295 :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-22T16:14:31.716Z sha edd4e75 :: needs real behavior proof before merge. :: none

@clawsweeper clawsweeper Bot added the merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. label Aug 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P2 Normal priority bug or improvement with limited blast radius. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants