Skip to content

[Repo Assist] fix(version): use alpha fallback and add alpha update test channel#571

Open
github-actions[bot] wants to merge 3 commits into
masterfrom
repo-assist/fix-issue-570-bump-version-0.5.0-197a3346e667a8c7
Open

[Repo Assist] fix(version): use alpha fallback and add alpha update test channel#571
github-actions[bot] wants to merge 3 commits into
masterfrom
repo-assist/fix-issue-570-bump-version-0.5.0-197a3346e667a8c7

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented May 28, 2026

🤖 This PR was created by Repo Assist, then revised by a maintainer to match the current alpha testing plan.

Summary

  • Set the local-development fallback version to 0.6.0-alpha.1 instead of the stale 0.4.7 or stable 0.5.0.
  • Keep release versioning tag-driven: CI still overrides Version from GitVersion/tag outputs.
  • Replace the hardcoded A2UI dashboard footer version with AppVersionInfo.DisplayVersion.
  • Preserve SemVer pre-release labels in AppVersionInfo display/diagnostics while still stripping SourceLink build metadata.
  • Add an explicit alpha update-testing channel: OPENCLAW_UPDATE_CHANNEL=alpha enables pre-release checks and release-list fetching.
  • Force the in-app updater to ZIP assets, because portable ZIPs are the in-app update payloads; MSIX packages remain sideload/install assets.
  • Document alpha update testing with isolated OPENCLAW_TRAY_DATA_DIR runs.

Maintainer decision

Current master should use the alpha local fallback (0.6.0-alpha.1) because the next validation target is alpha release/update testing. This is not a routine release-file bump: release artifacts remain tag-driven through CI, and the csproj value is still only the local fallback for dev/test builds.

Behavior proof

Release build metadata from this PR branch:

CsprojVersion     : 0.6.0-alpha.1
ExeProductVersion : 0.6.0-alpha.1+303f45f28d58571aa15d452c3ec7b6d689441c95
ExeFileVersion    : 0.6.0.0
DllProductVersion : 0.6.0-alpha.1+303f45f28d58571aa15d452c3ec7b6d689441c95
DllFileVersion    : 0.6.0.0
AssemblyVersion   : 0.6.0.0

This means UI/diagnostics can show the alpha label after AppVersionInfo strips +metadata, while updater-facing file/assembly versions stay numeric.

Release-channel proof:

v0.5.0 prerelease=false
OpenClawTray-0.5.0-win-x64.zip

v0.6.0-alpha.1 prerelease=true
OpenClawTray-0.6.0-507-win-x64.zip

Validation

  • ./build.ps1
  • dotnet test ./tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj --no-restore (2057 total / 2028 passed / 29 skipped)
  • dotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --no-restore (868 passed)
  • ./build.ps1 -Configuration Release
  • Release assembly/file metadata proof above
  • git diff --check
  • GitHub PR checks: all successful (15 successful / 12 skipped)

Note: this was a fresh linked worktree, so the first local --no-restore test invocations hit the known zero-test no-op. I ran each test project once with restore/build enabled, then reran the required --no-restore commands and got the counts above. The first CI e2etests attempt hit a fresh-WSL startup timeout; rerunning the failed job passed.

Closes #570

…UI test

The <Version> in OpenClaw.Tray.WinUI.csproj was stale at 0.4.7 while the
latest release tag is v0.5.0. In CI the version is overridden by GitVersion,
but local builds and fallback paths displayed the wrong version.

Also update A2UIDashboardScaleTest to assert AppVersionInfo.DisplayVersion
instead of a hardcoded literal, so the test stays green across future bumps.

Closes #570

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 28, 2026

Codex review: needs maintainer review before merge. Reviewed May 28, 2026, 2:00 PM ET / 18:00 UTC.

Summary
The branch updates the WinUI local fallback version to 0.6.0-alpha.1, preserves prerelease labels in AppVersionInfo, adds an OPENCLAW_UPDATE_CHANNEL alpha/prerelease policy for Updatum ZIP updates, and updates related docs/tests.

Reproducibility: yes. from source for the stale local fallback and hardcoded A2UI literal: current main still uses 0.4.7 in the csproj fallback and dashboard fixture. I did not run build/test commands because this review is read-only and those commands create artifacts.

Review metrics: 1 noteworthy metric.

  • Diff surface: 10 files changed, 145 additions, 27 deletions. The branch is no longer only a version literal bump; it also changes updater release-channel policy and related docs/tests.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🐚 platinum hermit
Patch quality: 🐚 platinum hermit
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • [P2] Let the in-progress e2etests check finish green before merge.

Mantis proof suggestion
A Windows visual/terminal smoke would materially help verify the About/version surface and alpha update-check behavior that unit tests do not exercise end to end. A maintainer can ask Mantis to capture proof by posting a new PR comment that starts with the OpenClaw Mantis account mention, followed by:

visual task: verify a Release build with OPENCLAW_UPDATE_CHANNEL=alpha reports v0.6.0-alpha.1 and offers the alpha ZIP update when the local baseline is lower.

Risk before merge

  • [P1] The PR changes updater release selection and default asset filtering, so maintainers should intentionally accept that in-app updates now use ZIP assets and alpha prerelease checks only through the documented env channel.
  • [P1] Public check-run data still showed e2etests in_progress at review time, so the PR should wait for required CI to finish green before merge.

Maintainer options:

  1. Land with explicit alpha/ZIP policy acceptance (recommended)
    Merge after required checks if maintainers accept the PR body's policy that stable checks stay latest-only and alpha testing opts into prerelease ZIP assets.
  2. Add a Windows updater smoke before merge
    Ask for a Windows Release-build smoke showing OPENCLAW_UPDATE_CHANNEL=alpha drives the expected update-check path if maintainers want proof beyond unit tests and terminal metadata.
  3. Split the updater channel if policy is not settled
    If the alpha update channel is not ready for core, keep only the fallback/display cleanup here and move the updater policy to a separate maintainer-owned PR.

Next step before merge

  • No ClawSweeper repair lane is appropriate because no blocking code finding was found; the remaining action is maintainer merge judgment after CI.

Security
Cleared: The diff does not add dependencies, workflows, secrets handling, or broader code-execution surfaces; the updater change narrows in-app payload selection to ZIP assets.

Review details

Best possible solution:

Land the narrow fallback/display cleanup with the opt-in alpha update channel once required CI is green and maintainers accept the documented alpha ZIP-update testing policy.

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

Yes from source for the stale local fallback and hardcoded A2UI literal: current main still uses 0.4.7 in the csproj fallback and dashboard fixture. I did not run build/test commands because this review is read-only and those commands create artifacts.

Is this the best way to solve the issue?

Yes, assuming the posted maintainer alpha plan is accepted: the PR preserves tag-driven release builds, moves display text through AppVersionInfo, and makes alpha update checks opt-in. A live Windows updater smoke would reduce risk but I did not find a blocking patch defect.

AGENTS.md: found and applied where relevant.

Codex review notes: model gpt-5.5, reasoning high; reviewed against 8edf4eb07bfe.

Label changes

Label changes:

  • add P3: This is low-risk versioning and alpha-update testing cleanup with limited blast radius and no core runtime outage.
  • add merge-risk: 🚨 compatibility: Changing updater release selection and asset filtering can affect existing update behavior even when unit tests pass.
  • add proof: sufficient: Contributor real behavior proof is sufficient. The PR body includes terminal-style Release build metadata and release-list/asset output showing the changed version and alpha channel assumptions after the fix.
  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (terminal): The PR body includes terminal-style Release build metadata and release-list/asset output showing the changed version and alpha channel assumptions after the fix.
  • remove rating: 🧂 unranked krab: Current PR rating is rating: 🐚 platinum hermit, so this older rating label is no longer current.
  • remove status: 📣 needs proof: Current PR status label is status: 👀 ready for maintainer look.

Label justifications:

  • P3: This is low-risk versioning and alpha-update testing cleanup with limited blast radius and no core runtime outage.
  • merge-risk: 🚨 compatibility: Changing updater release selection and asset filtering can affect existing update behavior even when unit tests pass.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (terminal): The PR body includes terminal-style Release build metadata and release-list/asset output showing the changed version and alpha channel assumptions after the fix.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body includes terminal-style Release build metadata and release-list/asset output showing the changed version and alpha channel assumptions after the fix.
Evidence reviewed

What I checked:

  • Repository policy read: AGENTS.md was read fully; its validation requirements apply to code changes, but this cleanup review stayed read-only and did not run artifact-producing build/test commands. (AGENTS.md:1, 8edf4eb07bfe)
  • Current versioning policy: Current main documents tag-driven release versioning, CI version overrides, and treats the csproj Version as a local development fallback rather than the routine release source of truth. (docs/RELEASING.md:3, 8edf4eb07bfe)
  • Current stale fallback and display path: Current main still has the WinUI project fallback Version at 0.4.7, and AppVersionInfo reads assembly informational version for user-visible version text. (src/OpenClaw.Tray.WinUI/OpenClaw.Tray.WinUI.csproj:12, 8edf4eb07bfe)
  • PR updater policy diff: The PR adds UpdateChannelPolicy so alpha/prerelease env values allow prereleases, fetch the release list, and constrain in-app update payloads to zip assets. (src/OpenClaw.Tray.WinUI/Services/UpdateChannelPolicy.cs:1, c338a7bba4af)
  • PR version display diff: The PR changes AppVersionInfo normalization to strip build metadata while preserving SemVer prerelease labels, and adds regression coverage for that behavior. (src/OpenClaw.Shared/AppVersionInfo.cs:85, c338a7bba4af)
  • Behavior proof in PR body: The PR body now includes Release build metadata showing 0.6.0-alpha.1 informational/product versions with numeric file/assembly versions, plus release-list output showing stable and alpha ZIP assets. (c338a7bba4af)

Likely related people:

  • Scott Hanselman: History ties Scott to the v0.5.0 release tag, recent release-flow docs/workflow changes, and the PR timeline shows he revised the branch for the current alpha testing plan. (role: release/versioning flow contributor; confidence: high; commits: 1960a436e0d0, 5a555abf9e4c, c338a7bba4af; files: docs/RELEASING.md, .github/workflows/ci.yml, src/OpenClaw.Tray.WinUI/OpenClaw.Tray.WinUI.csproj)
  • Ranjesh Jaganathan: Recent current-main history includes updater validation and CI hardening work near the release/update surface this PR changes. (role: recent updater/workflow contributor; confidence: medium; commits: dcc77f55e2c9, a727197dd709; files: .github/workflows/ci.yml, src/OpenClaw.Tray.WinUI/App.xaml.cs)
  • Regis Brid: Earlier local history shows Regis introduced AppVersionInfo, the fallback version path, and the A2UI footer version literal that this PR updates, although current blame is collapsed through the later source snapshot. (role: version display surface introducer; confidence: medium; commits: f3d3fd2772f3; files: src/OpenClaw.Shared/AppVersionInfo.cs, src/OpenClaw.Tray.WinUI/OpenClaw.Tray.WinUI.csproj, tests/OpenClaw.Tray.UITests/A2UIDashboardScaleTest.cs)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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.

How this review workflow works
  • 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.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels May 28, 2026
shanselman and others added 2 commits May 28, 2026 10:41
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@shanselman shanselman changed the title [Repo Assist] fix(version): bump csproj Version to 0.5.0 and fix hardcoded version in UI test [Repo Assist] fix(version): use alpha fallback and add alpha update test channel May 28, 2026
@shanselman shanselman marked this pull request as ready for review May 28, 2026 17:52
@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. 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. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels May 28, 2026
@shanselman
Copy link
Copy Markdown
Contributor

@clawsweeper re-review\n\nCI is now green after rerunning the transient E2E failure; PR body has been updated with the final check status.

@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 28, 2026

🦞👀
ClawSweeper assist is taking a look at your question.

I queued a lightweight read-only assist pass. It will post a separate answer comment and will not edit the durable ClawSweeper review comment or trigger close, merge, repair, label, or branch changes.

Request: review\n\nCI is green now; please refresh the durable review against head c338a7b.

@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 28, 2026

ClawSweeper assist: This needs a full correctness re-review, so use @clawsweeper review for the actual review pass. From the supplied context, the prior blocker was CI state, and the PR body now claims all GitHub PR checks are successful after rerunning the transient e2etests failure.

Evidence:

Suggested next action: Run @clawsweeper review if you want a fresh full review after the CI rerun and PR body update.


Source: #571 (comment)
Assist model: gpt-5.5, reasoning low.

@shanselman
Copy link
Copy Markdown
Contributor

@clawsweeper review\n\nCI is green now; please refresh the durable review against head c338a7b.

@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 28, 2026

🦞👀
ClawSweeper picked this up.

Command router queued. I will update this comment with the next step.

@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 28, 2026

ClawSweeper assist: This request is for a full durable correctness review, not a lightweight assist answer. Use @clawsweeper review to refresh the durable review against head c338a7bba4af4ba9f0dc66dbe55a599a589634cf.

Evidence:

Suggested next action: Run the durable @clawsweeper review path for the refreshed review.


Source: #571 (comment)
Assist model: gpt-5.5, reasoning low.

@shanselman
Copy link
Copy Markdown
Contributor

@clawsweeper review

@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 28, 2026

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented Jun 4, 2026

🤖 This is a note from Repo Assist.

This PR currently has a merge conflict (mergeable_state: dirty) due to changes on master since the branch was last rebased. The conflict is in OpenClaw.Tray.WinUI.csproj.

Given that this PR was revised by a maintainer, I'm leaving the rebase for human decision rather than risk disrupting those changes. Flagging here for awareness — please let me know if you'd like me to attempt a rebase.

Generated by 🌈 Repo Assist, see workflow run. Learn more.

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@97143ac59cb3a13ef2a77581f929f06719c7402a

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

Labels

automation merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. repo-assist status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Released version v0.5.0 still displays v0.4.7 in-app due to stale csproj Version

1 participant