Skip to content

Commit 5db7f01

Browse files
author
CometAPI
committed
docs: finalize pre-visibility evidence
1 parent 668b78f commit 5db7f01

1 file changed

Lines changed: 103 additions & 31 deletions

File tree

ROADMAP.md

Lines changed: 103 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -114,47 +114,119 @@ Pre-visibility dependency disposition:
114114

115115
| Item | Disposition | Evidence and required action |
116116
| --- | --- | --- |
117-
| Dependabot [PR #1](https://github.com/cometapi-dev/cometapi-python/pull/1): `actions/download-artifact` 4.3.0 to 8.0.1 | Superseded by private [PR #9](https://github.com/cometapi-dev/cometapi-python/pull/9) | PR #9 applies the reviewed SHA pin throughout the release workflow and adds a credential-free CI artifact download plus SHA256 round trip. Its current-base [CI run 29907523251](https://github.com/cometapi-dev/cometapi-python/actions/runs/29907523251) passed. Close PR #1 after PR #9 merges; do not merge both. |
118-
| Dependabot [PR #2](https://github.com/cometapi-dev/cometapi-python/pull/2): `actions/checkout` 4.2.2 to 7.0.1 | Superseded by private [PR #9](https://github.com/cometapi-dev/cometapi-python/pull/9); must not merge as-is | PR #2's [CI run 29796719306](https://github.com/cometapi-dev/cometapi-python/actions/runs/29796719306) failed because its regression test hard-coded the previous checkout SHA. PR #9 instead validates parsed action references independently of version and passed current-base CI run 29907523251. Close PR #2 after PR #9 merges; the failed PR #2 run remains negative evidence only. |
117+
| Dependabot [PR #1](https://github.com/cometapi-dev/cometapi-python/pull/1): `actions/download-artifact` 4.3.0 to 8.0.1 | Superseded by private [PR #9](https://github.com/cometapi-dev/cometapi-python/pull/9) | PR #9 applies the reviewed SHA pin throughout the release workflow and adds a credential-free CI artifact download plus SHA256 round trip. Its initial code-bearing [CI run 29907523251](https://github.com/cometapi-dev/cometapi-python/actions/runs/29907523251) passed. Close PR #1 after PR #9 merges; do not merge both. |
118+
| Dependabot [PR #2](https://github.com/cometapi-dev/cometapi-python/pull/2): `actions/checkout` 4.2.2 to 7.0.1 | Superseded by private [PR #9](https://github.com/cometapi-dev/cometapi-python/pull/9); must not merge as-is | PR #2's [CI run 29796719306](https://github.com/cometapi-dev/cometapi-python/actions/runs/29796719306) failed because its regression test hard-coded the previous checkout SHA. PR #9 instead validates parsed action references independently of version and passed initial code-bearing CI run 29907523251. Close PR #2 after PR #9 merges; the failed PR #2 run remains negative evidence only. |
119119
| Dependabot [PR #3](https://github.com/cometapi-dev/cometapi-python/pull/3): `pypa/gh-action-pypi-publish` 1.14.0 to 1.14.1 | Deferred; keep out of `main` | Pull-request CI does not execute the release-triggered OIDC publish action or prove PyPI publication, provenance, or registry installation. Revisit with an authorized release-path review and the separately required protected release evidence; credential-free CI success alone is insufficient. |
120-
| Dependabot [PR #4](https://github.com/cometapi-dev/cometapi-python/pull/4): `actions/upload-artifact` 4.6.2 to 7.0.1 | Superseded by private [PR #9](https://github.com/cometapi-dev/cometapi-python/pull/9) | PR #9 applies the reviewed SHA pin in CI and release builds, requires missing artifacts to fail, retains digest evidence, and passed current-base CI run 29907523251. Close PR #4 after PR #9 merges; do not merge both. |
120+
| Dependabot [PR #4](https://github.com/cometapi-dev/cometapi-python/pull/4): `actions/upload-artifact` 4.6.2 to 7.0.1 | Superseded by private [PR #9](https://github.com/cometapi-dev/cometapi-python/pull/9) | PR #9 applies the reviewed SHA pin in CI and release builds, requires missing artifacts to fail, retains digest evidence, and passed initial code-bearing CI run 29907523251. Close PR #4 after PR #9 merges; do not merge both. |
121121
| Dependabot [PR #5](https://github.com/cometapi-dev/cometapi-python/pull/5): `googleapis/release-please-action` 4.4.1 to 5.0.0 | Deferred; keep out of `main` | `RELEASE_PLEASE_ENABLED` remains disabled, and pull-request CI does not execute the gated write-capable Release Please action. Revisit only after its real config, manifest, permissions, and release behavior can be reviewed without treating a skipped action as execution evidence. |
122-
| Dependabot [PR #6](https://github.com/cometapi-dev/cometapi-python/pull/6): `actions/setup-python` 5.6.0 to 7.0.0 | Superseded by private [PR #9](https://github.com/cometapi-dev/cometapi-python/pull/9) | PR #9 applies the reviewed SHA pin across CI, monitoring, and release workflows and passed current-base CI run 29907523251 on Python 3.10 through 3.14, the minimum OpenAI lane, package builds, and copied-checkout verification. Close PR #6 after PR #9 merges; do not merge both. |
122+
| Dependabot [PR #6](https://github.com/cometapi-dev/cometapi-python/pull/6): `actions/setup-python` 5.6.0 to 7.0.0 | Superseded by private [PR #9](https://github.com/cometapi-dev/cometapi-python/pull/9) | PR #9 applies the reviewed SHA pin across CI, monitoring, and release workflows and passed initial code-bearing CI run 29907523251 on Python 3.10 through 3.14, the minimum OpenAI lane, package builds, and copied-checkout verification. Close PR #6 after PR #9 merges; do not merge both. |
123123

124124
Recorded pre-visibility replacement evidence on 2026-07-22:
125125

126-
- Local commit `97a14ac6087db3c9205e66bcfbcc890dc23a7ca7` passed
127-
`git diff --check`, `uv lock --check`, `uv sync --locked`,
128-
`uv run ruff check src tests scripts`,
129-
`uv run ruff format --check src tests scripts`, `uv run pyright`,
130-
`uv run pytest -m "not live"`, both documented version checks,
131-
`uv run python scripts/check_secrets.py`, and
132-
`uv run python scripts/check_workflows.py`. The offline suite reported 173
133-
passed and one separately marked live test deselected.
134-
- A clean `uv build` produced the `0.1.0a1` wheel and source distribution.
135-
`uv run twine check dist/*`,
126+
Local and package evidence at commit
127+
`97a14ac6087db3c9205e66bcfbcc890dc23a7ca7`:
128+
129+
- `git diff --check`, `uv lock --check`, and `uv sync --locked` passed.
130+
- `uv run ruff check src tests scripts`,
131+
`uv run ruff format --check src tests scripts`, and `uv run pyright` passed.
132+
- `uv run pytest -m "not live"` passed with 173 tests passed and one separately
133+
marked live test deselected.
134+
- `uv run python scripts/check_version.py --expected 0.1.0a1 --require-changelog`
135+
and
136+
`uv run python scripts/check_version.py --require-public-preview-docs` passed.
137+
- `uv run python scripts/check_secrets.py` and
138+
`uv run python scripts/check_workflows.py` passed.
139+
- `rm -rf dist` completed, and `uv build` produced the `0.1.0a1` wheel and source
140+
distribution in the clean output directory.
141+
- `uv run twine check dist/*`,
136142
`uv run python scripts/check_artifacts.py dist/*`, and
137143
`uv run python scripts/check_clean_install.py dist/*` passed for both exact
138-
artifacts, including SHA256 digest generation and comparison.
144+
artifacts, including SHA256 digest generation.
139145
- `uv run python scripts/check_repository_independence.py` passed after copying
140146
the candidate into an empty temporary parent and rerunning its complete
141147
offline, workflow, build, artifact, and two-artifact clean-install gates.
142-
`uv run python scripts/run_actionlint.py` and the same command with
143-
`--offline` both passed with checksum-pinned actionlint 1.7.12.
144-
- An independent 76-case adversarial workflow review found no remaining accepted
145-
hostile case after checking trigger filters, secret-context access, runner and
146-
environment overrides, arbitrary privileged actions, mutable refs, no-op and
147-
failure-swallowing commands, artifact ordering, and release-ref decoys.
148-
- Private PR #9's credential-free CI run 29907523251 passed quality, Python 3.10
149-
through 3.14, minimum OpenAI, package, exact-artifact clean install, retained
150-
artifact digest, and copied-checkout jobs. The PR-only latest-within-major
151-
canary skipped as designed; scheduled or Dependabot execution remains separate
152-
evidence.
153-
- The live smoke, Release Please, immutable-release publish, PyPI OIDC,
154-
provenance, and public-registry verification paths were not executed. No live
155-
API request, visibility change, secret or environment configuration, tag,
156-
release, publication, or repository-protection change was made. The canonical
157-
repository was confirmed private after the successful replacement run.
148+
- `uv run python scripts/run_actionlint.py` and
149+
`uv run python scripts/run_actionlint.py --offline` passed with
150+
checksum-pinned actionlint 1.7.12.
151+
152+
Follow-up verifier-hardening evidence at commit
153+
`88560a889017e2bddc47c52bcaf51e97fa42bcd4`:
154+
155+
- `git diff --check`, `uv lock --check`, and `uv sync --locked` passed.
156+
- `uv run ruff check src tests scripts`,
157+
`uv run ruff format --check src tests scripts`, and `uv run pyright` passed.
158+
- `uv run pytest -m "not live"` passed with 197 tests passed and one separately
159+
marked live test deselected.
160+
- `uv run python scripts/check_version.py --expected 0.1.0a1 --require-changelog`,
161+
`uv run python scripts/check_version.py --require-public-preview-docs`,
162+
`uv run python scripts/check_secrets.py`, and
163+
`uv run python scripts/check_workflows.py` passed.
164+
- `uv run python scripts/run_actionlint.py` and
165+
`uv run python scripts/run_actionlint.py --offline` passed with
166+
checksum-pinned actionlint 1.7.12.
167+
- `uv build`, `uv run twine check dist/*`,
168+
`uv run python scripts/check_artifacts.py dist/*`, and
169+
`uv run python scripts/check_clean_install.py dist/*` passed for the rebuilt
170+
wheel and source distribution.
171+
- `uv run python scripts/check_repository_independence.py` passed the complete
172+
copied-checkout gate, including its offline suite, build, artifact checks, and
173+
independent clean installs of both artifacts.
174+
- Independent adversarial workflow review and targeted follow-up regression
175+
coverage found no remaining accepted hostile case after checking trigger
176+
filters, secret-context access, runner, container, matrix, working-directory,
177+
checkout, job, step, and environment overrides, arbitrary privileged actions,
178+
mutable refs, no-op and failure-swallowing commands, artifact ordering, and
179+
release-ref decoys.
180+
181+
Final workflow-inventory hardening evidence at commit
182+
`668b78f89e8962cc8ab1d1aca8fe3d24c38723ac`:
183+
184+
- `git diff --check`, `uv lock --check`, and `uv sync --locked` passed.
185+
- `uv run ruff check src tests scripts`,
186+
`uv run ruff format --check src tests scripts`, and `uv run pyright` passed.
187+
- `uv run pytest -m "not live"` passed with 200 tests passed and one separately
188+
marked live test deselected.
189+
- `uv run python scripts/check_version.py --expected 0.1.0a1 --require-changelog`,
190+
`uv run python scripts/check_version.py --require-public-preview-docs`,
191+
`uv run python scripts/check_secrets.py`, and
192+
`uv run python scripts/check_workflows.py` passed.
193+
- `uv run python scripts/run_actionlint.py` and
194+
`uv run python scripts/run_actionlint.py --offline` passed with
195+
checksum-pinned actionlint 1.7.12.
196+
- `uv run python scripts/check_repository_independence.py` passed the complete
197+
copied-checkout gate, including 200 offline tests, the package build, artifact
198+
inspection, and independent clean installs of the wheel and source
199+
distribution.
200+
201+
Failed or unavailable checks:
202+
203+
- None of the recorded final-candidate checks failed or were unavailable.
204+
Dependabot PR #2's failed run remains separate negative evidence for that PR,
205+
not replacement evidence for PR #9. An earlier intentional offline actionlint
206+
probe in a fresh detached worktree failed closed before the verified cache was
207+
populated; it is not final-candidate validation evidence.
208+
209+
Remote evidence:
210+
211+
- Private PR #9's credential-free initial code-bearing CI run 29907523251 passed
212+
quality, Python 3.10 through 3.14, minimum OpenAI, package, exact-artifact
213+
clean install, retained artifact digest, and copied-checkout jobs. The PR-only
214+
latest-within-major canary skipped as designed; scheduled or Dependabot
215+
execution remains unverified.
216+
- The canonical repository was confirmed private after the successful
217+
replacement run. No visibility, secret, environment, or
218+
repository-protection change was made.
219+
220+
Live evidence:
221+
222+
- The live-smoke path was not executed, and no live API request was made.
223+
Transport success and provider behavior therefore remain unverified.
224+
225+
Registry and release evidence:
226+
227+
- Release Please, immutable-release publishing, PyPI OIDC, provenance, and
228+
public-registry installation were not executed. No tag, release, or
229+
publication was created.
158230

159231
Changing the repository to public begins a short configuration interval; it
160232
does not establish Public Preview readiness by itself. The preview is ready

0 commit comments

Comments
 (0)