Skip to content

feat(install): add release-aware installers and explicit personal service setup - #1892

Draft
PsiACE wants to merge 15 commits into
oceanbase:masterfrom
PsiACE:codex/script-installation
Draft

PsiACE wants to merge 15 commits into
oceanbase:masterfrom
PsiACE:codex/script-installation

Conversation

@PsiACE

@PsiACE PsiACE commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Which issue or RFC does this PR close?

Closes #1900. Refs #1733 and #1408. RFC: English / 中文.

Rationale for this change

A personal installation should provision its dependencies, keep Runtime and Agent releases aligned, and offer an explicit path from configuration to a persistent Server. Users should not need to keep a dedicated Server terminal open or infer readiness from package installation.

What changes are included in this PR?

  • Bash/PowerShell bootstrap for latest stable or exact releases, local/client profiles, independent package/uv/Python sources, and opt-in hosts pinned to the installed release.
  • Explicit --configure, --service, and --env-file orchestration through the existing CLI. Piped Bash configuration uses the controlling terminal; unattended service setup uses an existing protected file.
  • config init --require-write stops later setup when saving is cancelled, preserving ordinary standalone cancellation behavior.
  • doctor --env-file diagnoses the Server listener from the same file independently of inherited shell defaults, or the Client URL for a client-only file. Explicit diagnostic URLs retain priority.
  • Native service registration rejects client-only configuration. Service status and readiness must pass before reporting service completion; partial failures preserve installed components and identify recovery steps.
  • Bilingual installer reference covers version selection, mirrors, configuration, and personal services. Wizard output and generated next steps reconcile services after Scope ID edits or upgrades; onboarding and migration guidance remain aligned with the current release.
  • Shared installer behavior cases, real HTTP diagnostic tests, real wheel/profile/persistence acceptance, and native Linux/macOS CI for script-to-service setup, file reconciliation, and stopped-service upgrades.

Are there any user-facing changes?

Ordinary installation remains unattended and does not implicitly configure or start a Server. Personal-service setup is explicitly selected. Windows remains experimental; its explicit --service option enables login auto-start. Client-only profiles reject local setup options before installation.

Use the original --env-file when reconciling after any file edit or upgrade. Foreground server run remains available for development, debugging, temporary use, and unavailable native managers. The website installer and a package release containing the new CLI options must be published together; older packages report an unsupported post-install stage without claiming full completion.

How was this change tested?

  • make check.
  • make docs-test: verified 948 public pages and their internal links.
  • Focused configuration, cancellation, wizard, diagnostics, native service abstraction, DSH profile, and unified CLI tests.
  • Installer contracts with real uv and synthetic distributions, dependency-source selection, and release-reference update tests.
  • Bash syntax validation. PowerShell, real native service registration, and Windows acceptance were not executed locally; native Linux/macOS service acceptance and Windows qualification are covered by CI.

Pinned product research and reproducible experiments document the ownership and source-resolution evidence.

AI usage statement

OpenAI Codex assisted with implementation, review, validation, and documentation.

@PsiACE PsiACE changed the title feat(install): add Bash and PowerShell installers feat(install): add release-aware installers and explicit personal service setup Oct 9, 2026
@AlexStocks AlexStocks added the 1.4.0 v1.4.0 release tracking label Oct 14, 2026
@PsiACE PsiACE added 1.4.1 v1.4.1 release tracking and removed 1.4.0 v1.4.0 release tracking labels Oct 19, 2026

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

1.4.1 v1.4.1 release tracking

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: recommend service-managed lifecycle for personal use

2 participants