Skip to content

Commit b3360d6

Browse files
author
CometAPI
committed
docs: align stable release state
1 parent 1617a6a commit b3360d6

5 files changed

Lines changed: 42 additions & 38 deletions

File tree

AGENTS.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ Post-alpha invariants:
9797
2. Keep `.github/CODEOWNERS` absent until a real multi-maintainer model exists.
9898
3. Keep scheduled and manually dispatched live smoke fail-closed behind
9999
`LIVE_SMOKE_ENABLED=true`, and keep `RELEASE_PLEASE_ENABLED` disabled outside
100-
an explicitly authorized release sequence. The stable-readiness
101-
configuration establishes the recovery alpha boundary with a reviewed and
102-
tested `last-release-sha` bridge.
100+
an explicitly authorized release sequence. The reviewed `last-release-sha`
101+
bridge was used once to generate the stable release PR and must remain absent
102+
after its human finalization.
103103
4. Treat the recorded public rules, security reporting, immutable releases, and
104104
protected environments as readiness invariants. Any drift invalidates the
105105
readiness claim until it is explicitly authorized, restored, and verified.
@@ -265,11 +265,10 @@ committed.
265265
`v0.1.0-alpha.1+recovery.1`, which maps to package version `0.1.0a1`.
266266
Later releases must use their ordinary canonical tag spelling.
267267
- Keep Release Please disabled outside an explicitly authorized release
268-
sequence. Its stable-readiness configuration uses the reviewed and tested
269-
`last-release-sha` bridge because the recovery tag's build metadata cannot be
270-
inferred from the manifest. Remove the one-time bridge and prerelease
271-
versioning controls in the human-finalized stable release PR before it is
272-
merged.
268+
sequence. The stable-readiness configuration used a reviewed and tested
269+
`last-release-sha` bridge because the recovery tag's build metadata could not
270+
be inferred from the manifest. The human-finalized stable release PR removed
271+
that bridge and its prerelease-versioning controls; keep them absent.
273272
- Keep third-party Actions pinned to full commit SHAs. Grant `id-token: write`
274273
only to the reusable publication caller and the protected publishing job;
275274
the caller passes this maximum permission and only the publishing job uses

ARCHITECTURE.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,10 @@ recovery release uses SemVer build metadata in
141141
artifact identity: the PyPI version remains `0.1.0a1`.
142142

143143
Release Please remains disabled outside an explicitly authorized release
144-
sequence. The stable-readiness configuration establishes the recovery commit
145-
as the previous-release boundary with a tested `last-release-sha` bridge, so
146-
the one-time build-metadata recovery tag cannot replay earlier history.
144+
sequence. The stable-readiness configuration used a tested `last-release-sha`
145+
bridge to establish the recovery commit as the previous-release boundary and
146+
generate the stable release PR without replaying earlier history. Human
147+
finalization then removed that one-time bridge.
147148

148149
## Rejected 0.1 approaches
149150

RELEASING.md

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,11 @@ one active maintainer.
4646
Before the historical first push, scheduled and manually dispatched live
4747
execution was required to fail closed unless `LIVE_SMOKE_ENABLED=true`.
4848
`RELEASE_PLEASE_ENABLED` was kept disabled. The reviewed stable-readiness
49-
configuration now uses an explicit `last-release-sha` bridge to establish the
50-
recovery alpha as the previous-release boundary; the repository variable stays
51-
disabled until maintainers intentionally start the stable release sequence. An
52-
unset or non-true value prevents the corresponding gated job from executing.
49+
configuration later used an explicit `last-release-sha` bridge to establish the
50+
recovery alpha as the previous-release boundary. Maintainers enabled the
51+
repository variable only to start the stable release sequence, and human
52+
finalization removed the bridge. An unset or non-true variable prevents the
53+
corresponding gated job from executing.
5354
The release live-model configuration resolves an unset or empty
5455
`COMETAPI_LIVE_MODEL` to `gpt-5.4`.
5556

@@ -182,14 +183,14 @@ violations in one run and still returns non-zero when any violation exists.
182183
`LIVE_SMOKE_ENABLED=true`.
183184
- `release-please.yml` maintains a human-reviewed version and changelog pull
184185
request from Conventional Commits after maintainers enable the
185-
`RELEASE_PLEASE_ENABLED` repository variable. The checked-in stable-readiness
186-
configuration establishes the recovery release boundary with the reviewed
187-
`last-release-sha` bridge. Keep the variable disabled except while executing
188-
an explicitly authorized release sequence. When it creates an approved
189-
release with the GitHub workflow token, it polls the GitHub API until that
190-
exact tag and commit are independently reported as immutable, then invokes
191-
the protected publication chain directly; workflow-token release events do
192-
not trigger a second workflow run.
186+
`RELEASE_PLEASE_ENABLED` repository variable. A reviewed one-time
187+
`last-release-sha` bridge established the recovery release boundary and was
188+
removed during human finalization of the stable release PR. Keep the variable
189+
disabled except while executing an explicitly authorized release sequence.
190+
When it creates an approved release with the GitHub workflow token, it polls
191+
the GitHub API until that exact tag and commit are independently reported as
192+
immutable, then invokes the protected publication chain directly;
193+
workflow-token release events do not trigger a second workflow run.
193194
- `publish.yml` is called only with the independently verified immutable tag,
194195
commit, and default branch. It resolves the tag to the checked-out commit,
195196
fetches the protected default branch, and rejects a commit that is not
@@ -238,9 +239,9 @@ Maintainers then completed these steps in order:
238239
OIDC publication but failed before PyPI accepted any distribution. The
239240
recovery build suffix preserves the equivalent PEP 440 package version
240241
`0.1.0a1`; it is a one-time exception and must not be incremented or reused
241-
for later releases. Keep Release Please disabled until a separate reviewed
242-
and tested `last-release-sha` bridge establishes this recovery commit as its
243-
previous-release boundary.
242+
for later releases. Release Please was kept disabled until a separate
243+
reviewed and tested `last-release-sha` bridge established this recovery
244+
commit as its previous-release boundary.
244245
5. The release workflow proved `immutable=true`, resolved the tag to the
245246
checked-out commit, verified that commit was reachable from the protected
246247
default branch, and ran the bounded protected live suite against that exact
@@ -280,8 +281,9 @@ changelog, GitHub release, wheel, and source distribution.
280281
and source-distribution SHA256
281282
`98d86829ef14771e8b7ec180d452c6638289f49c14a39b7207be5c47cb64cde7`.
282283
- `LIVE_SMOKE_ENABLED=false`. Release Please remains disabled outside an
283-
explicitly authorized release sequence; the reviewed `last-release-sha`
284-
bridge is configured for the alpha-to-stable transition.
284+
explicitly authorized release sequence. The reviewed `last-release-sha`
285+
bridge generated the stable release PR and was removed during human
286+
finalization.
285287

286288
## Stable release sequence
287289

ROADMAP.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -314,9 +314,9 @@ Public Preview readiness evidence on 2026-07-27:
314314
`LIVE_SMOKE_ENABLED` opt-in was reset to `false` after the run.
315315
- At this Public Preview checkpoint, no tag, GitHub release, Trusted Publisher,
316316
PyPI OIDC publication, provenance, or public-registry installation existed.
317-
Those later Registry Alpha actions are recorded below. Release Please remains
317+
Those later Registry Alpha actions are recorded below. Release Please remained
318318
disabled until a separately reviewed and tested `last-release-sha` bridge
319-
establishes the recovery alpha as its previous-release boundary.
319+
established the recovery alpha as its previous-release boundary.
320320

321321
Public Preview remains ready only while:
322322

@@ -417,9 +417,9 @@ Accepted release evidence:
417417
its source-distribution SHA256 is
418418
`98d86829ef14771e8b7ec180d452c6638289f49c14a39b7207be5c47cb64cde7`.
419419
- `LIVE_SMOKE_ENABLED=false`. Release Please remains disabled outside an
420-
explicitly authorized release sequence; the reviewed stable-readiness
421-
configuration now establishes the recovery alpha boundary with
422-
`last-release-sha`.
420+
explicitly authorized release sequence. The reviewed stable-readiness
421+
`last-release-sha` bridge generated the stable release PR and was removed
422+
during human finalization.
423423

424424
## `0.1.0`: OpenAI protocol foundation
425425

@@ -480,9 +480,10 @@ successfully in the canonical GitHub repository.
480480
Scheduled and manually dispatched live smoke must require
481481
`LIVE_SMOKE_ENABLED=true`; an unset or other value prevents live execution.
482482
Release Please requires `RELEASE_PLEASE_ENABLED=true` and remains disabled
483-
outside an explicitly authorized release sequence. Its stable-readiness
484-
configuration uses the reviewed `last-release-sha` bridge for the recovery
485-
alpha boundary. Release jobs must resolve an unset or empty
483+
outside an explicitly authorized release sequence. Its reviewed one-time
484+
`last-release-sha` bridge established the recovery alpha boundary, generated
485+
the stable release PR, and was removed during human finalization. Release jobs
486+
must resolve an unset or empty
486487
`COMETAPI_LIVE_MODEL` to `gpt-5.4` rather than attempt a request with an empty
487488
model.
488489

SECURITY.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,9 @@ Long-lived PyPI tokens are not an accepted publication path. A successful
4646
upload is incomplete until provenance and a clean public-registry installation
4747
have been verified.
4848

49-
Third-party GitHub Actions must be pinned to full commit SHAs. Only the
50-
publishing job may receive `id-token: write`.
49+
Third-party GitHub Actions must be pinned to full commit SHAs. The reusable
50+
workflow caller and protected publishing job may declare `id-token: write`, but
51+
only the publishing job may request the OIDC token.
5152

5253
## Scope
5354

0 commit comments

Comments
 (0)