Phase 12 checks (26 to 28 Oct 2026)¶
Evidence for the claims-ledger rows E-70 to E-72. Everything here was run on the development laptop (Windows 11). Nothing was published, uploaded or tagged.
1. Installed wheel, empty folder (E-70)¶
Built at d183423: driftwatch_lifetime-0.1.0-py3-none-any.whl, 206,715 bytes, 89 files; source archive driftwatch_lifetime-0.1.0.tar.gz, 165,857 bytes. scripts/check_release.py --dist and twine check --strict pass on both. The wheel was installed with uv pip install into a fresh Python 3.12 environment and run from a folder that is not a checkout and holds no data:
driftwatch --versionprinteddriftwatch 0.1.0;driftwatch smoke --out smoke-reportprintedMATCH: 2 rows, max |diff| 0.000000 (tolerance 0.002)and exited 0.
The capture is docs/architecture/img/term-smoke.png. The same two commands run on fresh Linux and Windows runners in release.yml (job smoke-wheel) and clean-room.yml; those workflows have not run yet because the repository is not public.
2. The cleanup commit changed no stored number (E-71)¶
Baseline taken at f7dffb5, before the edits; compared with the working tree of commit b87c6eb (stale docstrings, one shared file-hash helper, one shared window-key helper, logging instead of print, return annotations):
Check |
Result |
|---|---|
Smoke run, predictions table |
40 rows, 16 columns in both; only |
Smoke run, slot table |
4 rows, 30 columns; only |
Smoke run, window table |
2 rows, 51 columns; |
|
every command exit 0; |
|
exit 0 |
3. Filtered public history, rehearsal (E-72)¶
scripts/make_public_history.py --out <scratch> on the repository at 3a5b519: 193 commits cloned as a mirror and rewritten with git filter-repo --path docs/source --invert-paths. Checks: 0 commits touch docs/source; no tree contains it; tags prereg-v1, prereg-v2 and prereg-v3 survive; the number of commits is unchanged (193); the largest blob is 415,219 bytes (data/manifest.json); no match in any revision for the secret patterns the script scans (AWS access key ids, GitHub tokens of the ghp_, gho_, ghu_, ghs_, ghr_ and github_pat_ forms, PyPI tokens, private-key blocks); a pattern scan finds those shapes only and is not a proof that no secret exists. The script printed public history: OK (nothing was pushed) and wrote a map of 193 old and new hashes. The repository before filtering is 13 MB.
4. The deploy step of docs.yml, simulated (no ledger row: a behaviour check, not a measured value)¶
The shell of the deploy job was run, unchanged, against a scratch repository with a bare remote, four times: a branch build (creates the gh-pages branch), a tag build (adds v0.1.0/), a later branch build with new content (replaces latest/ and keeps v0.1.0/), and the same content again (nothing to publish). Result: gh-pages holds .nojekyll, index.html, latest/, v0.1.0/, versions.html and versions.json; three commits were made, the fourth run made none. Not simulated: the GitHub token and Pages hosting.
Not checked¶
Anything that needs the public repository: the workflows on GitHub’s runners, the Trusted Publisher registration, a TestPyPI upload, the Zenodo record. These are listed in docs/RELEASING.md with the go each needs.