Repository navigation
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs real behavior proof before merge. What this changesThis PR replaces native Microsoft Store publication with a manual request to the central release repository. Example: An operator selects Gateway build run 123.
Review scores
ProductKind: Refactor · Worth it: Yes · Fix scope: Complete Merge readiness⛔ Blocked before merge - 4 items remain Keep open: this maintainer-authored PR provides a useful publication boundary change that requires a coordinated central cutover. Priority: P2 Before merge
Findings
Tests
Agent review detailsHow this fits togetherPackaging produces the authorized multi-architecture bundle; the adapter forwards its build run ID, while the central publisher must own source validation, release-manager approval, credentials, and Store mutations. flowchart LR
A[Authorized Gateway build] --> B[Retained Store bundle]
A --> C[Manual request adapter]
C --> D[Central source validation]
B --> D
D --> E[Release manager approval]
E --> F[Central Store publisher]
F --> G[Microsoft Store]
Technical reviewBest possible solution: Complete the central publisher and administrative cutover first, preserving one authoritative publisher and the existing authorized bundle handoff. Do we have a high-confidence way to reproduce the issue? Source confirms that current main publishes locally and the PR instead dispatches the central workflow; no live publication or unauthorized-principal experiment was performed. Is this the best way to solve the issue? Central ownership is a coherent solution, and the adapter is small with no retired local callers found; its security outcome depends on completing the explicitly documented external cutover. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against dfa5d77d0a5c. Merge-risk optionsMaintainer options:
Provenance checked
TestingProof path: unit tests only. SecurityNeeds attention: The adapter has no concrete security defect, but effective central publication authority is not yet established. EvidenceSecurity concerns:
What I checked:
Likely related people:
Review metrics
LabelsLabel changes:
Label justifications:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
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 Reviewed October 27, 2026, 2:07 PM ET / 18:07 UTC. |
What Problem This Solves
Gateway packaging currently owns Store credentials and an optional automatic publisher, so write access to this repository can change the code that publishes to Microsoft Store without release-manager approval.
User Impact
There is no installed-product change. Packaging continues to build and retain the authorized multi-architecture Store bundle. Its Store action becomes a main-only, manual request to
openclaw/releases; Store publication and approval move to the centralized publisher.Coordinated cutover dependency: do not merge this request-only change before the standalone
openclaw/releaseswindows-store-publish.ymlpublisher and its administrative controls are ready. The coordinated central PR link will be added to this description. The central publishing guide is provided by that change.Administrators must configure the exact-main
microsoft-store-gatewayenvironment with@openclaw/release-managers-openclawrequired reviewers and administrator bypass disabled; enforce release-manager code-owner review and verify the team's explicit write grant; make the existing release App available for request dispatch; and exclusively move the dedicated Gateway Store identity's federation to that central environment. Remove the old native Store federation so historical workflows cannot bypass central approval. This PR does not change settings, credentials, or cloud trust and is not sufficient alone to activate that boundary.Verified outstanding prerequisite: GitHub currently reports the intended release-manager team as an unknown CODEOWNERS owner for these rules, with a visibility/write-access suggestion. Administrators must make the team an eligible owner and verify zero CODEOWNERS errors before relying on required code-owner review. This is not passing approval-boundary proof.
Why This Change Was Made
submit-microsoft-store.ymland itsrun_idinput as an operator recovery surface, but removeworkflow_run,MSSTORE_ENABLED, native Store environments/OIDC, and Store API execution.{product: gateway, run_id}to the standalone central workflow onmain, using the existing release App (ID2729701) and an Actions-write token scoped only toopenclaw/releases. Request acceptance is never reported as Microsoft acceptance.Evidence
Reviewed and validated head:
0bde7cb3c7ef9f130118bd60c09c746c527defb6.Passed from the repository root in PowerShell 7 on macOS (existing fixture suites received
TEMP=[IO.Path]::GetTempPath()because it is unset by this shell):./scripts/Test-Request-MicrosoftStorePublish.Tests.ps1: 17 scenarios, real request owner with synthetic command-boundary fixtures; fixed workflow/repository/main/product/run ID, canonical IDs, no dispatch for foreign/branch/event inputs, failure propagation, request-only status../scripts/Test-SigningInputs.Tests.ps1: synthetic package and bundle signing-policy checks passed../scripts/Test-WorkflowSigningConfiguration.ps1: source/build routing and dispatch classification passed (including eight Store runner-preparation fixtures)../scripts/Test-WorkflowPackageVersion.Tests.ps1,./scripts/Test-PackagingRelevance.Tests.ps1, and./scripts/Test-MSIXUpgradeMatrix.Tests.ps1: passed../scripts/Test-DocReferences.ps1: 0 findings.actionlint -shellcheck= -pyflakes= .github/workflows/submit-microsoft-store.ymlandgit diff --check: passed.Not run: managed quality/xUnit lanes (no managed code changed), Windows NativeAOT/MSIX composition and installed upgrade lanes (Windows host required), live App-backed request/approval/Store proof, admin/ruleset/team settings, Entra federation changes, or live publishing. Hosted CI/review remain separate from these local results. The central implementation and exclusive trust cutover must be verified before production use.
Coordinated Store approval rollout
Land evidence-writer compatibility before enforcing PR-only main. Coordinate the central/native/caller cutovers with the documented administrator setup: team grants, active review/CI rules, exact-main release-manager environments without bypass, scoped existing App grants/key, product variables, and exclusive Entra federation migration. These PRs do not apply those live settings, merge themselves, or authorize a Store submission.