Skip to content

feat(desktop): package and provision independent Ops resources - #2503

Merged
hidb4ai merged 6 commits into
masterfrom
codex/desktop-product-resources
Nov 10, 2026
Merged

hidb4ai merged 6 commits into
masterfrom
codex/desktop-product-resources

Conversation

@knqiufan

@knqiufan knqiufan commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

Which issue or RFC does this PR close?

Related to #2112, #2108 and #2109. Platform acceptance and publication remain tracked there.

Rationale for this change

Product builds need to carry the approved independent Ops helper and bind their Server catalog to an approved distribution URL and the exact bundled qualification.

What changes are included in this PR?

  • Verify the trusted producer manifest, actual Server archive, Ops inventory and target, and exact Server wheel/source/HTTP contract/operation qualification before publishing a fresh resource staging directory.
  • Generate product catalog/provision pins and a bounded Tauri directory mapping that preserves the complete helper, including nested dotfiles.
  • Verify and deploy packaged Ops into a private current-user directory named by manifest digest, with cross-process locking and verified replacement of damaged caches. Preserve old helpers, journals and Server data; invalid packaged resources fail closed.
  • Keep the external bundle fallback for packages that omit ops/.
  • Add bilingual packaging/recovery documentation and regression coverage, including real Tauri bundling of a full-size synthetic inventory.
  • Stabilize worker OTLP failure-diagnostic observation, retain content-free resource smoke progress, and retry a curl TLS connection failure once while preserving pinned size/hash checks.
  • Fix the CI checks for OpenDAL model construction, skill guidance dependency installation, and cold DSH test Server startup.

Are there any user-facing changes?

Packagers can embed the helper without requiring globally installed Python. Server installation and service mutations retain their explicit plan/approval boundary. Candidate packaging remains unchanged.

This does not publish or sign resources, qualify a new Server build, or provide installed-platform acceptance. Release owners approve download availability and immutability. Old and damaged helper copies are retained, and complete inventories are read on launch.

How was this change tested?

  • Focused Desktop product and resource tests: 43 passed, 6 skipped. The actual pinned Tauri CLI bundled the full-size synthetic helper, including nested dotfiles.
  • UV_OFFLINE=1 make check and make opendal-test passed (10 OpenDAL tests).
  • The prospective merge with feat(desktop): implement local Server setup, recovery and management #2306 passed 27 native Ops tests, with two opt-in tests ignored. Eight spawned-worker OTLP tests also passed.
  • Eight DSH tests against a local Server and 28 skill guidance Python tests passed.
  • Rebased onto master 63f021d6; git diff --check passed.

Cloud CI for this head. The local resource fixtures are synthetic; these checks do not establish Windows or installed product qualification.

AI usage statement

OpenAI Codex assisted with implementation, review, rebase and validation. Open Code Review delegate mode supplied file and rule selection.

@hireview001 hireview001 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@AlexStocks AlexStocks added the 1.5.1 v1.5.1 release tracking label Nov 6, 2026

@hidb4ai hidb4ai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The generated product resource configuration exceeds process environment limits at the actual helper inventory size, preventing the documented product build. Please address the inline finding before merging.

Comment thread scripts/prepare_desktop_product.py Resolved

@hidb4ai hidb4ai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed 96d6590. The previous P1 is fixed: the directory mapping keeps the configuration bounded, and the actual pinned Tauri CLI now reaches beforeBuildCommand for both the original counterexample and a full-size synthetic inventory. The macOS bundle regression also passed, including nested dotfiles. I found no new correctness defect.

The remaining merge gate is CI: Linux Desktop validation exceeded its 40-minute limit while installing OS dependencies, so its build/tests never ran. CI result consequently failed. This is an incomplete validation run, not evidence of a new source regression; please rerun the affected validation and obtain a green aggregate before merging.

@hidb4ai hidb4ai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@knqiufan knqiufan left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed this head: no new blocking findings. Focused resource tests passed; the real Tauri bundle test, Windows and installed-product qualification were not rerun in this review. GitHub does not allow the PR author to approve their own PR.

@knqiufan
knqiufan force-pushed the codex/desktop-product-resources branch from 96d6590 to 143688d Compare November 7, 2026 09:59

@hidb4ai hidb4ai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed 143688d after the rebase. The product-resource implementation and bounded Tauri configuration fix are unchanged; replaying the original and full-size inputs with the pinned CLI still reaches beforeBuildCommand. I found no new correctness defect.

Current-head validation is still incomplete: check-website was killed with exit 137 during page-data collection after compilation and TypeScript checks succeeded. The workflow was subsequently cancelled, leaving unit/e2e, upgrade and aggregate checks unfinished. These logs do not establish a new PR source regression. Please investigate the killed build and rerun the required checks for this head before merging.

@hidb4ai hidb4ai removed the 1.5.1 v1.5.1 release tracking label Nov 9, 2026
@AlexStocks AlexStocks added the 1.6.0 v1.6.0 release tracking label Nov 9, 2026
@knqiufan
knqiufan force-pushed the codex/desktop-product-resources branch from 143688d to a365ba3 Compare November 9, 2026 15:32

@hireview001 hireview001 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@knqiufan
knqiufan force-pushed the codex/desktop-product-resources branch from a365ba3 to 917918c Compare November 10, 2026 01:25

@hidb4ai hidb4ai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed abac4ba. I found no new correctness defect in the added OpenDAL, skill-guidance or DSH changes, and the original Tauri configuration counterexample remains fixed. The previous website CI failure is also cleared.

Required validation is still blocked: Python 3.11 unit tests fail in test_history_events_correlate_a_real_spawned_attempt_and_keep_queue_time_distinct while waiting 10 seconds for the spawned worker result. The same timeout reproduces locally on both this head and base 63f021d6, so this is not a PR-introduced finding. Other test jobs were cancelled, and the Upgrade release gate fails because required upgrade acceptance was skipped. Please resolve the test failure and obtain successful required checks for this head before merging.

@hireview001 hireview001 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@hidb4ai
hidb4ai merged commit 7338a89 into master Nov 10, 2026
35 of 45 checks passed
jackie-cqz added a commit to jackie-cqz/powercontext that referenced this pull request Nov 11, 2026
Bring in the 6 first-parent commits that landed since the previous merge,
including the OpenDAL fix for the Pydantic diagnostic that failed
`opendal-package` on this branch and on master (oceanbase#2503), the Pi extension
tests against a real Server (oceanbase#2531), and the harness workflow restructuring
(oceanbase#2526).

The merge is textually clean. The persistence digest in
`release/upgrade-support.json` is unchanged. The new Pi service chain test
passed the removed `scheduler_path` argument to `create_server_app`, so that
argument is dropped.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.6.0 v1.6.0 release tracking

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants