|
1 | 1 | # CometAPI Python SDK Roadmap |
2 | 2 |
|
3 | 3 | Status: `0.1.0a1` in progress |
4 | | -Last updated: 2026-07-23 |
| 4 | +Last updated: 2026-07-27 |
5 | 5 | Repository contract: this roadmap is self-contained. |
6 | | -Current gate: Public Preview pre-visibility complete; visibility change awaiting explicit authorization. |
| 6 | +Current gate: Public Preview ready; `0.1.0a1` Registry Alpha awaiting explicit authorization. |
7 | 7 |
|
8 | 8 | ## Product target |
9 | 9 |
|
10 | 10 | The SDK provides the shortest reliable path from an OpenAI Python integration |
11 | 11 | to CometAPI while preserving official request, response, error, retry, timeout, |
12 | 12 | sync, async, and streaming behavior. |
13 | 13 |
|
14 | | -Private Remote Validation and the Public Preview pre-visibility closeout are |
15 | | -complete for the sanitized repository, which remains private. Public Preview is |
16 | | -not ready: the next external action is a separately authorized visibility |
17 | | -change, followed by the required public configuration and protected evidence. |
18 | | -Public Preview and the functional `0.1.0a1` prerelease remain separate evidence |
19 | | -gates. Support and release claims remain limited to the evidence defined in |
20 | | -this roadmap and `COMPATIBILITY.md`. |
| 14 | +Private Remote Validation and Public Preview are complete for the sanitized |
| 15 | +public repository. Protected repository configuration, public default-branch |
| 16 | +CI, and an authorized live smoke establish preview readiness. Public Preview |
| 17 | +and the functional `0.1.0a1` prerelease remain separate evidence gates; the next |
| 18 | +external actions require separate Registry Alpha authorization. Support and |
| 19 | +release claims remain limited to the evidence defined in this roadmap and |
| 20 | +`COMPATIBILITY.md`. |
21 | 21 |
|
22 | 22 | ## Milestones |
23 | 23 |
|
24 | 24 | | Milestone | Status | Exit outcome | |
25 | 25 | | --- | --- | --- | |
26 | 26 | | Repository foundation | Complete | Public files, offline gates, packaging checks, and self-containment are complete. | |
27 | 27 | | Private Remote Validation | Complete | The sanitized private repository passes real credential-free default-branch CI; public-only controls and live tests remain disabled. | |
28 | | -| Public Preview | Awaiting visibility authorization | Pre-visibility work is complete. After a separately authorized visibility change, the public repository must establish blocking CI, repository rules, security reporting, protected environments, and authorized live-smoke evidence before it claims preview readiness. | |
29 | | -| `0.1.0a1` Registry Alpha | Planned | Early adopters can install a functional prerelease from PyPI. | |
| 28 | +| Public Preview | Complete | The public repository has blocking CI, repository rules, security reporting, protected environments, immutable releases, and authorized live-smoke evidence. | |
| 29 | +| `0.1.0a1` Registry Alpha | Awaiting authorization | Early adopters can install a functional prerelease from PyPI after every release and registry gate passes. | |
30 | 30 | | `0.1.0` stable | Planned | Complete runtime, release-PR, example, provenance, and registry gates pass. | |
31 | 31 | | `0.2.0` provider-native text | Planned | Optional official Anthropic and Gemini adapters. | |
32 | 32 | | `0.3.0` CometAPI resources | Planned | First schema-backed typed CometAPI-specific resource. | |
@@ -103,20 +103,21 @@ Recorded evidence on 2026-07-21: |
103 | 103 |
|
104 | 104 | ## Public Preview |
105 | 105 |
|
106 | | -Public Preview pre-visibility complete; visibility change awaiting explicit authorization. |
| 106 | +Public Preview ready as of 2026-07-27. |
107 | 107 |
|
108 | | -There is no remaining pre-visibility implementation task. Do not create another |
109 | | -closeout pull request without a new, explicit maintainer request. The recorded |
110 | | -dependency dispositions below remain authoritative for the listed pull |
111 | | -requests. Newly opened dependency pull requests remain pending until a current |
112 | | -maintainer request explicitly authorizes their normal maintenance; they must |
113 | | -not cause closed or superseded dispositions to be described as unfinished. |
| 108 | +Private initialization, pre-visibility work, the visibility change, public |
| 109 | +configuration, and preview evidence are completed historical steps and must not |
| 110 | +be repeated. The recorded dependency dispositions below remain authoritative |
| 111 | +for the listed pull requests. Newly opened dependency pull requests remain |
| 112 | +pending until a current maintainer request explicitly authorizes their normal |
| 113 | +maintenance; they must not cause closed or superseded dispositions to be |
| 114 | +described as unfinished. |
114 | 115 |
|
115 | | -Public Preview is not ready. The repository must remain private until a |
116 | | -visibility change is explicitly authorized. After that change, repository |
117 | | -rules, Private Vulnerability Reporting, protected environments, |
118 | | -default-branch CI, the public-content gate, and authorized protected live smoke |
119 | | -must pass before the milestone can be marked ready. |
| 116 | +The milestone was established only after repository rules, Private |
| 117 | +Vulnerability Reporting, immutable releases, protected environments, |
| 118 | +public default-branch CI, the public-content gate, and an authorized protected |
| 119 | +live smoke passed. Registry Alpha remains a separate authorization and evidence |
| 120 | +gate. |
120 | 121 |
|
121 | 122 | Recorded pre-visibility dependency dispositions: |
122 | 123 |
|
@@ -240,7 +241,7 @@ Failed or unavailable checks: |
240 | 241 | probe in a fresh detached worktree failed closed before the verified cache was |
241 | 242 | populated; it is not final-candidate validation evidence. |
242 | 243 |
|
243 | | -Remote evidence: |
| 244 | +Recorded pre-visibility remote evidence: |
244 | 245 |
|
245 | 246 | - Private PR #9's final-head |
246 | 247 | [CI run 29916685839](https://github.com/cometapi-dev/cometapi-python/actions/runs/29916685839) |
@@ -272,20 +273,50 @@ Remote evidence: |
272 | 273 | additional evidence. No visibility, secret, environment, protection, live, |
273 | 274 | tag, release, registry, or publication change was made. |
274 | 275 |
|
275 | | -Live evidence: |
| 276 | +Recorded pre-visibility live evidence: |
276 | 277 |
|
277 | 278 | - The live-smoke path was not executed, and no live API request was made. |
278 | 279 | Transport success and provider behavior therefore remain unverified. |
279 | 280 |
|
280 | | -Registry and release evidence: |
| 281 | +Recorded pre-visibility registry and release evidence: |
281 | 282 |
|
282 | 283 | - Release Please, immutable-release publishing, PyPI OIDC, provenance, and |
283 | 284 | public-registry installation were not executed. No tag, release, or |
284 | 285 | publication was created. |
285 | 286 |
|
286 | | -Changing the repository to public begins a short configuration interval; it |
287 | | -does not establish Public Preview readiness by itself. The preview is ready |
288 | | -only when: |
| 287 | +Public Preview readiness evidence on 2026-07-27: |
| 288 | + |
| 289 | +- The complete local readiness gate passed on 2026-07-27 with all three |
| 290 | + readiness-document changes present: lock reproduction, Ruff, formatting, |
| 291 | + Pyright, 200 non-live tests, public-content, secret, workflow, actionlint, |
| 292 | + exact wheel and source-distribution, clean-install, and copied |
| 293 | + standalone-repository checks all succeeded. |
| 294 | +- The canonical repository became public. Active rulesets require pull |
| 295 | + requests and the nine blocking CI contexts on `main`, block force pushes and |
| 296 | + deletion with organization-administrator emergency bypass, permit only squash |
| 297 | + merges, and protect `refs/tags/v*` from updates and deletion. |
| 298 | +- Immutable releases and Private Vulnerability Reporting were enabled. The |
| 299 | + `live-smoke` environment has no required reviewer; the `pypi` environment |
| 300 | + requires the current release approver and permits self-review. The live key |
| 301 | + exists only as an environment secret. |
| 302 | +- Public scheduled |
| 303 | + [CI run 30248141487](https://github.com/cometapi-dev/cometapi-python/actions/runs/30248141487) |
| 304 | + passed quality, Python 3.10 through 3.14, minimum and latest-within-major |
| 305 | + OpenAI compatibility, package, exact-artifact, retained-digest, and copied |
| 306 | + standalone-repository jobs for `fa32e962f7a35dd9e183f7b201bd9117590654a9`. |
| 307 | + A manually requested rerun was superseded by this scheduled run through the |
| 308 | + reviewed concurrency group and was not used as final evidence. |
| 309 | +- Explicitly authorized protected |
| 310 | + [live-smoke run 30248383703](https://github.com/cometapi-dev/cometapi-python/actions/runs/30248383703) |
| 311 | + passed all four sequential Chat Completions and Responses modes against |
| 312 | + `gpt-5.4` within the four-request, 16-output-token, 30-second-per-request, |
| 313 | + concurrency-one, zero-retry, stop-on-first-failure budget. The |
| 314 | + `LIVE_SMOKE_ENABLED` opt-in was reset to `false` after the run. |
| 315 | +- No tag, GitHub release, Trusted Publisher, PyPI OIDC publication, provenance, |
| 316 | + or public-registry installation was created or claimed. Release Please remains |
| 317 | + disabled through the initial manual alpha. |
| 318 | + |
| 319 | +Public Preview remains ready only while: |
289 | 320 |
|
290 | 321 | - `main` requires pull requests and blocking CI with zero required approvals; |
291 | 322 | force pushes and deletion are blocked, and administrator bypass is reserved |
|
0 commit comments