oceanbase / oceanbase/powercontext
Tracking Issue: manifest-driven installation outside the runtime CLI
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 212
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 199
Description
Goal
Replace powercontext setup with release-bound platform installers. install.sh and install.ps1 own bootstrap and platform environment changes, including obtaining uv, installing PowerContext and selected host distributions, exposing executables on PATH, and recording installer-owned state. They must not require Python before bootstrap.
The installer must resolve every installation through an immutable release manifest with exact versions, artifact URLs, and checksums. latest may select a release, but it must not be the installation contract.
Parent roadmap: #1352.
Existing ownership
- #1405 produces deterministic host distributions; this tracker installs them.
- #1357 owns capability declarations. This tracker owns the release manifest and artifact integrity data.
- #1298 owns native per-user Server service behavior. This tracker does not redefine it.
- #1301 keeps installation inside
powercontext setup; this tracker should supersede it after the RFC is accepted.
Tracking
- Record install locations, manifest schema, bootstrap trust, ownership, upgrade, failure, rollback, cross-platform conformance, and CLI deprecation in an RFC.
- Publish the runtime wheel, prebuilt host distributions, immutable manifest, and checksums from the release workflow.
- Implement
install.shfor macOS and Linux andinstall.ps1for Windows as first-class installers that share the release manifest and conformance fixtures. - Keep runtime profiles separate from repeated
--hostselection; non-interactive installation must not infer hosts fromPATH. - Deliver the first slice for the PowerContext runtime, Codex, and Claude Code.
- Migrate the remaining maintained hosts without cloning repositories or building plugins on user machines. Preserve host-specific ownership, conflict, and rollback behavior.
- Move runtime settings to
configor host-native configuration. Keepdoctorread-only. - After migration, remove
powercontext setup,--source,--ref, and setup-only result types through the RFC compatibility policy. - Cover clean machines without Python, N-1 upgrade, repeat install, non-interactive use, partial failure, ownership conflict, checksum failure, and offline bundles on supported platforms.
Completion criteria
Users can install or upgrade every maintained host from immutable release artifacts without Python already installed and without calling powercontext setup. Both installers follow the same manifest contract. Repeated runs are idempotent, host failures are isolated, and the runtime CLI contains no Agent integration installation logic.
Non-goals
- Translating the current Python setup modules line by line into shell and PowerShell.
- Requiring a Python installer engine before bootstrap.
- Regenerating host distributions owned by #1405.
- Redefining Server service lifecycle or runtime configuration semantics.
- Automatically installing every host detected on
PATH.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the ownership notes and the RFC checklist, then inspect install.sh, install.ps1, and the release workflow. Trace how the immutable manifest, runtime wheel, host distributions, and checksums are produced and consumed. Done means both installers work without Python, share the manifest contract, support the listed failure and upgrade cases, and replace setup without runtime CLI installation logic.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- powershell, python, shell
- Domain
- devops, infrastructure, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100