Stabilize public API, SDK, and extension contracts for `0.1.0`
@mrunalp is already working on this.
Since Sep 15, 2026.
- Dominant language
- Rust
- Stars
- 8.7k
- Forks
- 1.3k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 253
Description
Summary
Before the OpenShell 0.1.0 release, review and stabilize every public API, SDK, and extension contract. This is the final planned opportunity to make coordinated breaking changes before those surfaces are treated as stable as defined in RFC-0014.
We'll use this ticket to track specific API changes as child tickets.
Scope
Contract inventory and review
Create an inventory of all externally consumed contracts and identify an owner for each surface, including:
- Gateway gRPC services, messages, methods, status/error behavior, and transport metadata
- SDK APIs and generated client types across supported languages
- CLI- or configuration-facing representations derived from public API types
- Extension contracts, including gateway interceptors, supervisor middleware, compute drivers, credential drivers, and other supported extension points
- Serialization formats, enum behavior, identifiers, pagination, optionality/defaults, version negotiation, and capability discovery
For every contract, review naming, structure, semantics, consistency, extensibility, error handling, and compatibility risks. Explicitly classify each surface as public/stable, public/experimental, or internal.
Final pre-beta breaking-change pass
- Resolve the contract changes identified by the review as one coordinated pre-beta stabilization effort.
- Remove or replace APIs that we do not intend to support during beta.
- Align equivalent concepts and behaviors across gRPC, SDKs, CLI/configuration, and extension surfaces.
- Regenerate affected clients and fixtures and update all in-repository consumers.
- Publish migration notes that enumerate every breaking change and show consumers how to update.
- Establish a cutoff after which public beta contracts follow the compatibility policy below.
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.
Assessment
This issue has not been assessed yet.