Skip to content

feat: add signed bundled Bun to Windows desktop - #165486

Draft
steipete wants to merge 36 commits into
mainfrom
feat/w148-windows-tauri-bun
Draft

steipete wants to merge 36 commits into
mainfrom
feat/w148-windows-tauri-bun

Conversation

@steipete

@steipete steipete commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

What Problem This Solves

Adds explicit Windows x64/ARM64 bundled-Bun adoption to the Tauri desktop companion. Main supplies fresh Windows setup; this change lets an existing Node Gateway move to the signed bundled runtime through the canonical service owner. The branch consumes main's signed production Windows pins and removes the obsolete unsigned preparation entry.

User Impact

Windows publication remains OFF. The PR remains draft because native qualification and CI attribution are incomplete. There is no Windows release asset, updater feed or automatic updater activation.

Passive startup, reconnect, Quit and app replacement preserve the existing Gateway's runtime and registration. Switching requires Use bundled runtime… and confirmation. Fresh installation and Startup adoption remain unelevated. Protected S4U adoption uses one UAC handoff while the desktop stays unelevated; cancellation and stale consent must preserve the existing Gateway.

Azure federation, Foundation signing access, the first signed x64/ARM64 fork release and generated production pins are complete. Shared release openclaw-v1.4.3-20261010-65d94e7156-webkit-01f208ae7a-r2 admits both Windows architectures with authenticodeSigned: true and testOnly: false.

Why This Change Was Made

The desktop passes confirmed observations to the canonical CLI. The existing Windows service owner controls the replacement transaction: native lock, expected runtime pin/definition, backup, stop, publish, start, readiness and guarded recovery. Startup registration stays Startup registration. Protected S4U adoption invokes the installed CLI once through ShellExecuteExW("runas") with --expected-runtime-pin; a private, same-account, nonce-bound receipt returns the result. There is no resident privileged helper or automatic migration.

The shared stager verifies archive/payload hashes and stores immutable signed runtime bytes per user. Main's pin validator, exact bigint file identities, backup matching and Windows test targets remain intact. Qualification repairs preserve effective Node heap settings and recognize equivalent native home/temporary paths without relaxing explicit-environment or foreign-profile checks.

The existing desktop release owner gains a nonpublishing signing rehearsal. Only protected-main workflow_dispatch, with source SHA equal to workflow SHA, may enter. Separate native x64/ARM64 build and signing jobs use the existing release-signing environment, Azure OIDC and Artifact Signing, Foundation account/profile, SHA256 and RFC3161 timestamping. They verify pinned Bun and installer identity. Outputs are three-day Actions artifacts; the rehearsal cannot reach a release, tag, feed, public asset or publication credential. Signing access and branch policy are unchanged. Existing Linux publication and historical mixed-platform recovery remain intact.

Qualification also repaired partial-setup Retry through the existing bootstrap owner, Linux handled-navigation behavior, and Windows release executables opening an extra console. Release builds now select the GUI subsystem; native CI checks the built PE header. Debug builds retain console output.

Evidence

Current pushed head: 76a8560ec6f4694699f606e26ae071e065b9b0a4. Its three-file delta from f7602c3bba68d2cf6cfcec4065e8e72a1541e7f7 fixes the Windows release subsystem, adds a built-PE guard, and documents the behavior. Independent P2 autoreview is scoped-clean. The selected case in test/scripts/ci-workflow-guards.test.ts passes on Node 24 and pinned Bun (node scripts/run-vitest.mjs run test/scripts/ci-workflow-guards.test.ts -t "keeps Windows rehearsal artifacts isolated from release and feed publication" --maxWorkers=1; 19.39s / 27.22s wrapper wall time); scoped check-changed passes in 280.13s, with rustfmt and diff checks passing. Both actual f760 Windows artifacts were PE console-subsystem binaries, and the new guard failed against the installed x64 binary before the fix. Both current-version Windows packages are now independently verified; native console-free launch proof remains pending.

Current-head packaged binaries

Native run 38368593003 is terminal SUCCESS, 4/4 platform jobs, attempt 1. Both archives match their GitHub service digests and exact run/head identity. Selected 2026.10.2 apps have the correct architecture and GUI subsystem 2; their Bun manifests/hashes match the signed production pins and independently pass Foundation Authenticode, digest, RFC3161 timestamp, chain and CRL verification.

Architecture Artifact Selected NSIS SHA256 Extracted app SHA256
x64 11798846864 1951a87c43b9ce047ce444a78db854673662d79666ceabe8517eb1ab506ba194 f8b13d6cd765f1daa0b70d25bcfa07e12a46e67967d783cb481322f6959d7fcc
ARM64 11798347465 0165a51cfb99a4bba5b43f6e26b68bc5b65d6a219eee8e4022af0a5c81172a7f 8a52383057ace13f69767cd86e4cd540a76a3a518f404d95f870477807e398e0

Both ZIPs also retain an older cached 0.1.0 app with console subsystem 3. Those byte-identical older payloads are separately identified and excluded from current-version proof. The rehearsal builds without that Cargo cache and rejects anything except one installer of its admitted version. App and NSIS files remain unsigned, unpublished CI proof artifacts. No Windows executable from this new head was run locally or on a lease; artifact inspection does not establish interactive qualification.

The matching current-head CLI package from main run 38368686521, artifact 11798088528, has verified service digest and tarball SHA256 8b3e8fac6f097d6efd124a8bae0f4e5ce6ba2d9ad8791c72ea5af161fd3b2b0a. Its build metadata embeds the exact 76a commit and its complete runtime pin matches source. This is metadata verification, not package execution.

Retained native x64 proof — f760 artifacts

The last executed app and CLI are f760, not the new GUI-fix head. Native build run 38356676815 passed all four platforms. The x64 NSIS SHA256 is acd4663393b2f4c91ffde0dd0829452cdf2d43455e91adeb4dfca1579f23b1f6; packaged app SHA256 is 480d2435040a390870e82f6865893c85bce3a24884ea72def8807b09649445d3. The matching CLI artifact from run 38356770517 has tarball SHA256 63a720d5f8d944af73fce5c24c834a7e2122135878533a578118ff07bfa40652 and embeds the exact f760 commit. GitHub artifact service digests and runtime manifests were verified.

Packaged Bun hashes match the production pins: x64 65b0f43ec6e50e1c11358d41aa7108d09394e81da76ea5d8c3151964619abb9f; ARM64 50dc2915c6aa5fdb7f2bf27cf828fe6b5df75be3de7a627f0a288078f89d0d60. Both pass independent Foundation signature, digest, timestamp and chain verification. App and NSIS files are unsigned, unpublished CI proof artifacts. Runtime signing does not establish installer signing or ARM64 app qualification.

Native case Retained result and limit
Fresh install and startup Actual f760 NSIS GUI install exited 0 under the medium desktop token. Installed app matches its artifact hash. Bundled and materialized Bun report Get-AuthenticodeSignature: Valid, Foundation subject and exact pin hash. Default managed discovery installed the CLI and reached a rendered dashboard, RPC readiness and health/readiness HTTP 200. Startup registration and medium app/Gateway tokens were verified.
Initial fetch and reconnect Initial-fetch timeout did not recur on the fresh load; this is not proof of Retry after a real failure. A later reconnect observation exceeded its unchanged 180s budget and is retained as failed. The app subsequently recovered, and a separate stable capture verified the same Gateway process/creation, pin and launchers.
Close, reopen and Quit Actual window close/Open Dashboard and actual tray Quit passed. Independent RPC and HTTP checks after Quit confirm the same Gateway process/creation, signed runtime, pin and launchers. A failed UI Automation attempt remains separately recorded.
External CLI and cleanup Exact f760 Node/npm installation passed, including all five lifecycle scripts. First canonical uninstall removed registration but failed process termination and refused state removal. Later complete absence/no-writer checks and a separately reviewed canonical recovery passed. The original failure and unknown cause remain recorded; it is not first-attempt cleanup success.
Existing Node and UAC cancellation A genuine S4U/LeastPrivilege Node baseline reached RPC/HTTP readiness. The actual medium-token app invoked one UAC prompt. Choosing No produced the visible manual-command outcome. Independent verification preserved the original Node process/creation, runtime pin, task policy, launchers and health. The existing-Node dashboard remained white although the tray showed Connected; rendered passive UI success is not claimed.
Stale consent The competitor operation failed its consent-identity guard while a real UAC prompt was pending. The follow-up could not reconnect. Guest effect state and the native observer were not reconciled, so stale refusal and no-mutation outcomes are not claimed.

The one fresh Windows lease subsequently lost SSH/VNC. A cloud audit confirmed the backing instance terminated; the cause was not established. The broker lease is now released, with cleanup complete and no remaining host/provisioning resource. Downloaded evidence is retained; final guest cleanup and receipts stranded after termination are not claimed. No replacement lease was allocated. The shared ARM64 VM remains untouched.

CI and review

Native run 38368593003 is SUCCESS, 4/4 platform jobs, original attempt 1. Main-tier run 38368686521 is terminal FAILURE, 133 successful / 13 failed / 13 skipped jobs, original attempt 1. Its twelve specific failures are shown below; the thirteenth failure is the aggregate CI gate. The final Node shards 17 and 40 passed, as did Docker, the published-driver update and iOS. The skipped draft auto-run is not counted as proof. No rerun or prior-head run is relabeled.

Failed check Attribution and limit
checks-fast-contracts-channels Demonstrated inherited: complete workboard-import body matches the proven scheduled-main failure.
control-ui-i18n Demonstrated inherited: complete command-failure payload matches the frozen-main reproduction.
macos-swift (tests) Demonstrated inherited: all nine complete diagnostic/actual/expected bodies match the service-digest-verified scheduled-main log.
check-dependencies Mixed per-issue main/upstream attribution; source fixes in #170660, #170680 and #170698. No whole-main passing claim.
checks-node-compact-large-12 Upstream metadata-cache source fix identified in #170659. No passing candidate replay claimed.
checks-node-compact-large-37 Unclassified: passing assertions followed by two unhandled Solid context rejections. Source review identifies missing provider/async settlement in the fixture, without a matching executed-main failure.
checks-node-compact-large-28 Unclassified: eight maintenance SQL statements captured by the global eligibility spy. Causal source review does not establish inherited CI failure.
checks-windows-node-test-1 Unclassified: native CLI produces PONG, then cleanup hangs to its 120s command deadline. Latest main passes the same native case; its older version-preparation failure is a different diagnostic.
checks-node-compact-large-3 Unclassified: remote catalog timeout and refresh-error result. Current v2 body differs from the preceding head.
checks-ui-e2e-real-gateway (2/2) Unclassified: delegation approval timeout and child stdio not closing. Bodies match an earlier unclassified run, which does not establish inheritance.
checks-node-compact-large-44 Unclassified: stopped-service post-core handoff reaches 120s. Complete body matches the preceding unclassified failure; the frozen-main near-deadline pass does not prove inheritance.
checks-node-compact-large-25 Unclassified: two agents.delete 30s timeouts match the preceding unclassified failures. Frozen-main failures occurred at different 180s/setup boundaries.

Three specific failures are demonstrated inherited, one has mixed per-issue evidence, one has an identified upstream source fix, and seven remain unclassified. No blanket inherited-red exception is claimed. Passing main replays, unchanged source and matching test titles do not resolve an unknown failure.

Independent P2 review covers the full frozen authored diff in 18 sections, separate UI/Linux deltas, mechanical rebase continuity, the partition repair and the latest GUI delta. It is not a fresh review of incoming main. ClawSweeper's exact-head review completed at 2026-10-13T09:17:00.143Z on 76a8560ec6f4694699f606e26ae071e065b9b0a4: zero discrete code findings, with a needs-human/security hold for final-effect authority, current-package behavior, Linux handled navigation, upgrade/data compatibility and the seven unclassified CI failures. The review command reports Complete. The earlier superseded request is not counted. The PR remains draft.

Earlier evidence, kept at its actual head

Earlier release-profile x64 runs demonstrated confirmed S4U adoption with the expected pin, Startup adoption, held-lock recovery, disabled already-selected actions and Gateway preservation through reconnect/Quit. Earlier principal refusal, recovery control and injected revoked-recovery cases are native owner integrations, not actual app/UAC revocation races. Earlier real app replacement retained two synthetic saved Gateways and an appearance preference, with Windows updates disabled. An earlier official 2026.10.2 driver upgrade retained installed/serving identity, Node/policy and logical data through Doctor and cleanup; its original encoding/cron fixture failures remain recorded, and intended Unicode is not claimed. These results do not substitute for final-package qualification.

Publication/rehearsal guards passed 16 selected cases on Node 24 and pinned Bun. The forbidden-ref rehearsal run skipped all twelve jobs and produced zero artifacts. This proves branch admission, not positive signing. Positive signing from protected main remains a pre-shipping task.

Earlier release-profile app reports healthy signed bundled Bun

Earlier bundled-runtime action disabled after successful adoption

Both captures were inspected and cropped to synthetic app content; they retain earlier package provenance.

Remaining Gates

Before ready: current-head console-free native launch; real initial-fetch Retry recovery; Linux handled-navigation proof; resolve existing-Node white dashboard; S4U and Startup stale-state/held-lock rollback/adoption with exact file identities; reassigned-principal and revoked-recovery refusal before service I/O; genuine standard-account refusal; earlier-app saved-state replacement; official 2026.10.2 driver → candidate upgrade with Unicode/binary/session/disabled-cron data, durable history, Doctor and cleanup; complete exact-head CI attribution and ClawSweeper review. Native execution is blocked by the terminated lease; prepared packets are not completed proof.

Before shipping, separate from landing: positive artifact-only signing rehearsal from protected main after landing; ARM64 interactive app qualification when the shared VM is free; Peter's updater-feed/release decision. Windows publication remains disabled. No merge or release has been performed.

@clawsweeper

clawsweeper Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

🦞👀
ClawSweeper picked this up.

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

ClawSweeper review complete

ClawSweeper finished reviewing this revision. The review result is being finalized.

View the workflow run.

@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation app: macos App: macos gateway Gateway runtime cli CLI command changes scripts Repository scripts app: linux plugin: linux-node size: XL labels Oct 5, 2026
@clawsweeper clawsweeper Bot added P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Oct 5, 2026
@clawsweeper

clawsweeper Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge.

What this changes

This PR adds explicit Windows bundled-Bun adoption, guarded service recovery, desktop setup repairs, and a nonpublishing signing rehearsal.

Example: A Windows x64 user has a running Node Gateway registered as a protected Scheduled Task.

  • Before: The desktop provides no Windows “Use bundled runtime…” action.
  • After: The user confirms adoption, approves one CLI elevation, and the canonical service owner replaces the runtime while preserving registration and recovery controls.

Review scores

Measure Result What it means
Overall readiness 🦐 gold shrimp (3/6) Useful maintainer-directed work with meaningful native evidence, no new discrete finding, and unresolved authority and compatibility qualification.
Proof confidence 🦐 gold shrimp (3/6) Real behavior proof is necessary before merge. See Before merge.
Patch quality 🦐 gold shrimp (3/6) Security review found an item that needs attention.

Product

Kind: Feature · Worth it: Yes · Fix scope: Complete
User problem: Existing Windows Gateway users cannot choose the desktop’s signed bundled runtime through the app.
Reason: The maintainer-directed feature provides an explicit migration path through established ownership without automatic runtime replacement.

Merge readiness

⛔ Blocked before merge - 5 items remain

Keep this maintainer-led draft open: explicit Windows runtime adoption remains distinct from main’s fresh setup, and this review established no new actionable code defect.

Priority: P2
Reviewed head: 76a8560ec6f4694699f606e26ae071e065b9b0a4

Before merge

  • Add real behavior proof - Authority-chain proof required: retained f760 installed-app results support fresh x64 setup, Quit preservation, and actual UAC cancellation, but do not establish allowed adoption and reassigned-principal, stale-consent, standard-account, and revoked-recovery refusal through the refreshed owners before service I/O. The current GUI-subsystem package was inspected but not launched; retry, the existing-Node white dashboard, Linux navigation, and saved-state replacement remain unqualified. Add redacted native logs, terminal output, or recordings without IPs, API keys, phone numbers, or non-public endpoints. The unavailable additional screenshots and blocked log downloads are reviewer limitations, not additional contributor defects. After adding proof, update the PR body, then request a new review with @clawsweeper re-review. The PR author or someone with repository write access can request it.
  • Resolve security review attention item - The elevated adoption and recovery paths still need final-effect authority evidence.
  • Resolve merge risk - Before merge, establish that reassigned task principals and revoked recovery authority are rejected before native service effects; source guards and earlier integrations leave this material authority boundary unqualified.
  • Complete next step - Classify the seven unclassified exact-head CI failures using matching base-failure or head-versus-revert evidence, and repair any failures demonstrated to come from this diff.
  • Add data-model compatibility proof - The review found that existing stored data may not work after upgrade. Show that existing data still loads and works with this change.

Findings

None.

Tests

  • Missing end-to-end proof: Retain native final-effect authority cases, current-package console-free launch and setup recovery, Linux handled navigation, and the official 2026.10.2 upgrade with operator state and recovery receipts preserved.
Agent review details

How this fits together

The Tauri companion sends confirmed runtime observations to the canonical CLI, which owns Windows service replacement, runtime-pin persistence, readiness, and recovery; release workflows separately build and sign installers.

flowchart TD
Desktop[Desktop confirmation] --> CLI[Canonical CLI]
Desktop --> UAC[One shot UAC handoff]
UAC --> CLI
CLI --> Owner[Windows service owner]
Owner --> Gateway[Gateway and runtime pin]
Owner --> Receipt[Private result receipt]
Receipt --> Desktop
Release[Protected main rehearsal] --> Artifacts[Temporary signed artifacts]
Loading

Technical review

Best possible solution:

Complete qualification through the existing CLI and Windows service owners while retaining explicit adoption and the approved publication-off boundary.

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

Current main’s Linux-only adoption gates establish the missing Windows capability from source; no target runtime was executed during this review.

Is this the best way to solve the issue?

Extending explicit adoption through the canonical CLI and native service transaction is appropriate, and the maintainer has already approved the direction and publication restriction.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning medium; reviewed against fada6e0812ce.

Merge-risk options

Maintainer options:

  1. Keep the qualification draft (recommended)
    Retain draft status and disabled Windows publication until native authority and upgrade qualification support landing.

Provenance checked

  • Explicit bundled-runtime adoption keeps the original intent (d9ccc49: Linux adoption required explicit confirmation and preserved existing runtime intent; Windows was deferred until signed artifacts existed.)
  • Windows replacement and recovery keeps the original intent (592c082: Managed replacement must settle the old process and restore definition and running policy when recovery remains authorized.)
  • Windows desktop publication changes intended behavior with a stated reason (3ba9c7d: Fresh Windows setup joined regular release publication; this maintainer-authored change explicitly suspends publication and updates during qualification.)
  • Linux updater publication and historical replay keeps the original intent (10d67c8: Preserve signed update delivery and immutable publication evidence across interrupted or differently ordered release completion.)

Testing

Proof path: shipped entry point.

Security

Needs attention: The elevated adoption and recovery paths still need final-effect authority evidence.

Evidence

What I checked:

  • Distinct capability remains absent from main: Fetched main still gates RuntimeAction and the adoption tray item to Linux. Fresh Windows setup landed separately in feat: support local Gateways in the Windows desktop app #169522, and signed runtime pins landed in fix: pin shared Bun to signed Windows rebuild #169532; neither supplies this Windows adoption flow. (apps/linux/src-tauri/src/tray.rs:30, fada6e0812ce)
  • Introduced change and preceding review: The introduced comparison was inspected independently of endpoint drift. The change since the preceding reviewed head only selects the Windows GUI subsystem, checks the built PE header, and documents that behavior; earlier authority and compatibility qualification remains applicable. (apps/linux/src-tauri/src/main.rs:1, 76a8560ec6f4)
  • Owner-approved publication boundary: The maintainer-authored direction deliberately disables Windows publication and updater activation. The rehearsal admits only main with matching source/workflow identities, separates secretless builds from signing, and retains temporary artifacts without a publication writer. (.github/workflows/linux-app-release.yml:54, 76a8560ec6f4)
  • Native evidence has explicit limits: The full body credits f760 packaged x64 fresh setup, close/reopen/Quit, and real UAC cancellation, while recording failed reconnect, a white existing-Node dashboard, unreconciled stale-consent effects, and host termination. Current packages have verified metadata but were not executed. Earlier upgrade evidence does not establish compatibility of the refreshed service recovery and backup behavior. (76a8560ec6f4)
  • Exact-head CI remains unresolved: REST confirms native run 38368593003 succeeded and main-tier run 38368686521 failed on this head, both on attempt 1. The body distinguishes three demonstrated inherited failures, mixed dependency attribution, an identified upstream source fix, seven unclassified failures, and the aggregate gate; this review does not promote those attributions into a blanket inherited-red exception. (76a8560ec6f4)
  • Inspection limits: Prepared screenshots were inspected and show the related fresh-setup failure and rendered Control UI. The current body’s two additional earlier-adoption screenshots could not be saved because the supplied scratch directory is read-only, and browser retrieval returned Cache miss. Actions log retrieval redirected to a blocked Azure storage host. One historical Git read also reported unavailable objects; these are reviewer infrastructure limits, not contributor defects.

PR surface

PR surface statistics unavailable: the file list is incomplete.

Review metrics

Metric Value Why it matters
Private CLI transport 1 new hidden flag --desktop-runtime-receipt carries the request-bound result of explicit Windows adoption.

Labels

Label changes:

No label changes.

Label justifications:

  • P2: This is a useful Windows desktop capability with limited exposure while the PR remains draft and publication is disabled.
  • merge-risk: 🚨 compatibility: The change touches existing runtime intent, native registration replacement, recovery receipts, and update reconciliation; the refreshed upgrade case is not qualified.
  • merge-risk: 🚨 security-boundary: The one-shot elevated CLI and recovery callbacks cross an authority boundary whose forbidden-principal final effects remain unproven.
  • rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦐 gold shrimp and patch quality is 🦐 gold shrimp.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Rank-up moves

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

  • Retain allowed adoption and forbidden-principal or revoked-recovery observations showing rejection before native service effects.
  • Retain the official 2026.10.2 driver upgrade with settings, data, runtime intent, registration, Doctor, and recovery receipts intact.
  • Show current-package console-free launch, setup Retry recovery, existing-Node dashboard behavior, and Linux handled navigation.

Rating scale

6/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.

Workflow

ClawSweeper edits this one comment on every review. Comment @clawsweeper re-review for a fresh review only. Repair and merge execution lanes are retired.

History

Review history (49 earlier review cycles; latest 8 shown)
  • reviewed 2026-10-13T00:42:23.061Z sha 72e7bac9785f806b969236eb5b14e7375b3b715a :: needs real behavior proof before merge. :: [P3] Replace the obsolete Windows runtime preparation guidance
  • reviewed 2026-10-13T01:07:45.504Z sha 1e4d094810d9a2832af77d698250e03e2c92e7ce :: needs real behavior proof before merge. :: [P3] Replace the remaining obsolete Windows preparation guidance
  • reviewed 2026-10-13T01:17:22.438Z sha 1e4d094810d9a2832af77d698250e03e2c92e7ce :: needs real behavior proof before merge. :: [P3] Replace the remaining obsolete Windows preparation guidance
  • reviewed 2026-10-13T02:07:30.942Z sha 7b12d5ea2f8ef8ab2cbcb685a223dfb4741076c9 :: needs real behavior proof before merge. :: none
  • reviewed 2026-10-13T03:56:26.028Z sha 714d0e38e21912d5fc321fe11a8cd3b655c45561 :: needs real behavior proof before merge. :: none
  • reviewed 2026-10-13T05:05:57.326Z sha 3efc41dde4cde99fa0dfe16afe0c8b7bd5c43cb7 :: needs real behavior proof before merge. :: none
  • reviewed 2026-10-13T05:31:40.487Z sha 82070ac :: needs real behavior proof before merge. :: none
  • reviewed 2026-10-13T06:36:02.499Z sha f7602c3 :: needs real behavior proof before merge. :: none

Reviewed October 13, 2026, 5:17 AM ET / 09:17 UTC (Revision 50).

@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. labels Oct 5, 2026
@steipete
steipete force-pushed the feat/w148-windows-tauri-bun branch from 81a0ebc to 8dff06a Compare October 5, 2026 09:51
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. labels Oct 5, 2026
@steipete
steipete force-pushed the feat/w148-windows-tauri-bun branch from 8dff06a to d8916dc Compare October 5, 2026 12:31
@clawsweeper clawsweeper Bot added proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. and removed proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. labels Oct 5, 2026
@steipete
steipete force-pushed the feat/w148-windows-tauri-bun branch from d8916dc to 6edc21d Compare October 7, 2026 06:41
@clawsweeper clawsweeper Bot added merge-risk: 🚨 security-boundary 🚨 May affect sandboxing, authorization, credentials, or sensitive data. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. and removed proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Oct 7, 2026
Retain the installed HOME only when the elevated plan omits it and filesystem identity proves it is the current OS account profile. Keep explicit overrides and the strict preservation audit unchanged.
Integrate Windows runtime adoption with current main's Bun staging and private CLI owners. Preserve registration revalidation and the shared readiness deadline, remove obsolete unsigned preparation paths, and require Foundation Authenticode verification before installer publication.\n\nRelease-note context: Windows desktop consumes the signed shared Bun pin on x64 and ARM64; Startup and protected Scheduled Task adoption retain their guarded service-owner boundary. Native release-profile qualification remains separate from this source change.
Include Windows in the RuntimeAction type, implementation and operation-queue dispatch gates. The queue and tray already exposed the Windows action, but the Linux-only consumer gates prevented the native application from compiling.

Restore main's first-install admission for an absent service with unknown mutation capability. Sealed definitions still refuse, existing-service adoption still requires writable capability, and the CLI retains native permissions and expected-pin authority. The existing Linux and macOS regression test exposed the dropped condition.

Release-note context: preserve the same explicit bundled-runtime adoption path on Linux and Windows. Native compilation is the regression boundary; the failed first attempt is retained in qualification evidence.
Keep Linux envelope corruption coverage and exercise Windows raw-resource checksum rejection for enveloped, truncated and empty inputs. Both paths must reject before private runtime state is created.

Match the existing signed-Windows missing-runtime diagnostic in the missing-manifest test. Production admission and publication behavior are unchanged; the first native suite's two stale test failures remain in qualification evidence.
Require successful Windows signing for new and reused publication cases,
and account for native registration revalidation within the existing
inspection deadline.
Account for registration and runtime revalidation in the updater timeout
fixtures while retaining the same budgets and no service mutations. Keep
the native SID audit test in the daemon partition after its mocks changed
test classification, and avoid consecutive ignored destructuring in the
identity-budget assertion.
A successful service install can be followed by a dashboard connection failure. Reobserve the local Gateway when setup is retried, preserving the existing service instead of attempting another fresh installation. Keep explicit CLI repair and remote choices available.

Four regressions reproduce the previous behavior; the focused dashboard file passes 24 tests on Node and pinned Bun. Targeted lint, formatting and independent P2 review pass. Native runtime guards, signing and publication policy are unchanged.
@steipete

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Please refresh the review for exact head 82070acc561cf8e4948d8118b0de848c3a2c964d. This rebases the existing work onto current main to resolve a package-script conflict: all 98 remaining authored file payloads are identical, while the old package override is removed in favor of main's native Node commands and single service-audit placement. The final tree matches the independently checked merge resolution. The body distinguishes the prior green native workflow and verified artifacts from new-head CI. Windows publication remains off, and the native capacity/authority/upgrade qualification holds remain disclosed; this is not a readiness claim.

@clawsweeper

clawsweeper Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

🦞👀
Exact review queued.

Re-review progress:

@steipete

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Please review exact head f7602c3bba68d2cf6cfcec4065e8e72a1541e7f7. The latest commit restores the Windows daemon test partition after import routing changed; it preserves all 160 selected targets. Native qualification remains in progress and Windows publication remains off.

@clawsweeper

clawsweeper Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

🦞👀
Exact review queued.

Re-review progress:

@steipete

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Please review head 76a8560ec6f4694699f606e26ae071e065b9b0a4. The latest change gives Windows release builds the GUI subsystem and verifies the built PE header in native CI. Windows publication and updater remain disabled. Native qualification gaps remain open; the PR is still draft.

@clawsweeper

clawsweeper Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

🦞👀
Exact review queued.

Re-review progress:

@steipete

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

The PR body now records final original-attempt CI for exact head 76a8560ec6f4694699f606e26ae071e065b9b0a4: native 4/4 success; main 133 success / 13 failure / 13 skipped, with per-check attribution and seven unclassified failures. Both current Windows packages and the exact-head CLI artifact are independently verified. Native qualification remains incomplete after the isolated proof host terminated; the PR stays draft and Windows publication/updater remain off.

Please review this unchanged head against the reconciled evidence. The prior request was superseded and is not being counted as completed review.

@clawsweeper

clawsweeper Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

🦞👀
Exact review queued.

Re-review progress:

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app: linux cli CLI command changes commands Command implementations docs Improvements or additions to documentation gateway Gateway runtime merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. merge-risk: 🚨 security-boundary 🚨 May affect sandboxing, authorization, credentials, or sensitive data. P2 Normal backlog priority with limited blast radius. plugin: linux-node rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. scripts Repository scripts size: XL 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.

1 participant