Repository navigation
feat(desktop): implement local Server setup, recovery and management - #2306
Conversation
b14e5e5 to
6a5e47b
Compare
|
please resolve conflicts |
bc54b21 to
29d784f
Compare
hireview001
left a comment
There was a problem hiding this comment.
- Resolve merge conflicts with the target branch.
- CI failed: CI result (failure).
- CI did not complete: tests (3.14, unit) (cancelled).
- CI did not complete: tests (3.12, e2e) (cancelled).
- CI failed: tests (3.11, unit) (failure).
- CI failed: Main (failure). Failed steps: tests (3.11, unit) / Run unit tests; tests (3.12, e2e) / Run remaining end-to-end tests; tests (3.14, unit) / Run unit tests.
knqiufan
left a comment
There was a problem hiding this comment.
The existing Memory draft-loss and macOS CI entrypoint findings remain reproducible at this head. Please address the existing threads and reconcile the conflicting ZCode test changes before merging. GitHub does not allow the PR author to request changes on their own PR.
|
The current run on |
hireview001
left a comment
There was a problem hiding this comment.
- CI failed: CI result (failure).
- CI failed: Upgrade release gate (failure).
- CI did not complete: tests (3.13, e2e) (cancelled).
- CI did not complete: tests (3.11, e2e) (cancelled).
- CI did not complete: tests (3.12, e2e) (cancelled).
- CI failed: check-website (failure).
- CI failed: Main (failure). Failed steps: check-website / Check website; tests (3.12, e2e) / Run remaining end-to-end tests; tests (3.11, e2e) / Run remaining end-to-end tests.
hireview001
left a comment
There was a problem hiding this comment.
- Resolve merge conflicts with the target branch.
- CI failed: CI result (failure).
- CI failed: Upgrade release gate (failure).
- CI did not complete: tests (3.13, e2e) (cancelled).
- CI did not complete: tests (3.11, e2e) (cancelled).
- CI did not complete: tests (3.12, e2e) (cancelled).
- CI failed: check-website (failure).
- CI failed: Main (failure). Failed steps: check-website / Check website; tests (3.12, e2e) / Run remaining end-to-end tests; tests (3.11, e2e) / Run remaining end-to-end tests.
b117068 to
68b91ce
Compare
|
The latest run on |
hireview001
left a comment
There was a problem hiding this comment.
- Resolve merge conflicts with the target branch.
- CI failed: CI result (failure).
- CI failed: harness-validation / Atomic Memory clean migration (OceanBase) (failure).
- CI failed: harness-validation / Acceptance (sqlite) (failure).
- CI failed: harness-validation / Acceptance (oceanbase) (failure).
- CI failed: skill-guidance / validate (failure).
- CI failed: harness-validation / Atomic Memory clean migration (OceanBase shard 2/3) (failure).
- CI failed: harness-validation / Atomic Memory clean migration (OceanBase shard 0/3) (failure).
- CI failed: harness-validation / Recall effort (OceanBase) (failure).
- CI failed: Atomic Memory clean migration (SeekDB) (failure).
- CI failed: code-seekdb (3.11, 0) (failure).
- Additional CI issues: PR checks.
68b91ce to
78951ba
Compare
The include-tree fixture omitted memoryProtocol, so Doctor stayed degraded and setup exited 1. Give the HTTP status checks a longer request deadline so a cold CI start can still observe a completed 401.
|
The sqlite acceptance failure was the old harness entrypoint |
|
The latest CI run on |
…ture
The `dsh-package` job reached "Verify DSH setup with customized profiles" for
the first time on this branch and failed one case:
tests/test_dsh_transport.py::
test_explicit_web_doctor_does_not_read_desktop_environment_profile
`doctor dsh --profile web` verifies the installed plugin's declared Memory
protocol (oceanbase#2495). The fixture's Web profile was an empty `bundles: []`, so
`read_dsh_settings(..., require_installed=True)` could not resolve a plugin,
the compatibility diagnostic degraded to `unverified`, and the command exited
1 before the assertion about profile selection ran. Master never observed it
because its own `dsh-package` run stopped at an earlier JS step; current master
(oceanbase#2306) fixes the same fixture by installing a bundle that declares the
contract.
Give the Web profile a resolvable `powercontext-dsh` bundle whose manifest
declares `atomic-artifact-v1`, then assert the diagnostic reports that exact
protocol. The Desktop profile keeps its empty bundle list and its own baseUrl,
so the original point of the test still holds: if doctor read the Desktop
profile selected by the DSH_PROFILE environment variable, the check would
degrade rather than pass. Upstream's policy (setup/doctor fail on an unverified
or incompatible plugin) is unchanged.
Verified locally with the real DSH runtime and config boot:
`uv run pytest tests/test_dsh_transport.py --require-dsh-runtime
--require-dsh-config-runtime` -> 109 passed. `ruff check`, `ruff format
--check` and `ty check` all pass.
Master advanced 27 commits after the previous merge and opened five conflicts. None of them touch the Work Ledger runtime: work_handlers.py, composition.py, worker.py, membership.py and the ledger tests are unchanged upstream. * `tests/test_dsh_transport.py` and `integrations/dsh/plugins/powercontext/tests/runtime/setup.test.mjs`: take up/master. oceanbase#2306 fixed the same two synthetic-plugin fixtures independently (declaring `atomic-artifact-v1` on the installed plugin so `setup`/`doctor` can verify the Memory contract). Keeping our equivalent patches would duplicate the fix and our `_run_dsh` stub references the doctor path master refactored. * `tests/test_desktop_contract.py`: keep both added tests — our bundled-contract qualification check and master's local-setup catalog digest check. * `desktop/VALIDATION.md`: keep both qualification records — the Work Ledger 7d716b6/2cb8da31 sections and master's installed connection journey section. * `release/upgrade-support.json`: concatenate both rationale additions (the v1_5_0_005 Work Ledger tables and master's FTS helper v2 / seekdb identity notes), and recompute `schema_review.persistence_sha256` as `d81b7d0e...` — the merge brings master's `builtin/persistence/oceanbase/profile.py` into the digest's managed inputs, so neither side's stored digest matches the merged tree anymore. Local verification on the merged tree: dsh transport 109 passed (with real DSH runtime and config boot), desktop contract + upgrade gate + release version 144 passed / 6 skipped, Work Ledger core 27 passed, `load_policy` passes with the recomputed digest, and `ruff check`, `ruff format --check`, `ty check` all pass.
Which issue or RFC does this PR close?
Refs #2117 (12-A, 12-B and 12-C), parent #2114 and RFC #1733. Keep #2117 open until exact installed Windows/macOS acceptance is linked.
Rationale for this change
Users need to review and approve local Server installation and service plans, recover durable operations without replaying uncertain work, and connect to the Server's public default Scope. Existing-Server connection remains an independent path.
What changes are included in this PR?
Are there any user-facing changes?
Local setup and management are available when matching trusted Installer/Ops resources are supplied. Missing resources leave existing-Server connection available. Installation, service changes and connection effects require explicit consent; reopening does not install, replay or activate a private session.
Native IPC adds a constrained handoff command and additive reference/progress fields. Version-1 references retain optional action/options; older strict bridge binaries cannot read the new fields, so the controlling bridge must not be downgraded during recovery. Saved profiles and the 20-profile budget are preserved.
How was this change tested?
1026e37dand resolved the ZCode acceptance conflict using the current stage-based timeout contract.uv run pytest tests/test_ci_pipeline.py tests/test_desktop_macos_workflow.py tests/test_desktop_macos_bundle.py tests/test_desktop_contract.py -q: 68 passed, 2 skipped.uv run pytest tests/e2e/test_zcode_service_chain.py -q: 6 passed after updating the delayed binding probe to exceed the current 3-second request timeout.pnpm typecheck,pnpm lint, andpnpm buildpassed.--all-targets -- -D warningsandcargo fmt --checkpassed.make checkandgit diff --checkpassed.Current PR checks. Native connection fixtures use synthetic HTTP servers. Installed package acceptance and service mutations remain tracked by #2108, #2109 and #2112.
AI usage statement
OpenAI Codex assisted with implementation, conflict resolution, review regression fixes and validation. Open Code Review delegate mode supplied review file/rule selection.