Skip to content

Commit 45a4b98

Browse files
author
CometAPI
committed
docs: record pre-visibility validation evidence
1 parent 97a14ac commit 45a4b98

1 file changed

Lines changed: 41 additions & 1 deletion

File tree

ROADMAP.md

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,47 @@ Pre-visibility dependency disposition:
114114

115115
| Item | Disposition | Evidence and required action |
116116
| --- | --- | --- |
117-
| Dependabot [PR #2](https://github.com/cometapi-dev/cometapi-python/pull/2): `actions/checkout` 4.2.2 to 7.0.1 | Deferred; must not merge as-is | Credential-free [CI run 29796719306](https://github.com/cometapi-dev/cometapi-python/actions/runs/29796719306) failed in every test lane because the mutable-action-reference regression test hard-codes the previous v4 checkout SHA and no longer exercises its replacement; dependent artifact and copied-checkout jobs were skipped. Revisit only with version-independent regression coverage and a completely successful replacement CI run. The failed run is not upgrade evidence. |
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. |
119+
| 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. |
121+
| 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. |
123+
124+
Recorded pre-visibility replacement evidence on 2026-07-22:
125+
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/*`,
136+
`uv run python scripts/check_artifacts.py dist/*`, and
137+
`uv run python scripts/check_clean_install.py dist/*` passed for both exact
138+
artifacts, including SHA256 digest generation and comparison.
139+
- `uv run python scripts/check_repository_independence.py` passed after copying
140+
the candidate into an empty temporary parent and rerunning its complete
141+
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.
118158

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

0 commit comments

Comments
 (0)