# What went public on 2026-09-04 — f2, the first push this lane has made

Approved: lines 1, 2 and 3 of `PUSH_LIST_2026-09-04.md`, and nothing else. Line 4 (PyPI ×5 and npm)
was not approved and was not attempted. Every URL below was fetched back after the push; a push
nobody re-read is a claim, not a receipt.

## Line 1 — the branch, to a private remote

| what | URL | carries |
|---|---|---|
| branch | `nickharris808/06_video_codec_discovery_foundry` @ `site-program/2026-09` | **`9f24e9e3`** |
| pull request | https://github.com/nickharris808/06_video_codec_discovery_foundry/pull/4 | `9f24e9e3` → `master`, OPEN |

Repository visibility read back after the push: **PRIVATE**. `master` (`f3ddc64d`), `main`
(`9514d21b`) and `reaudit/2026-08-27` (`139c036b`) are unchanged and all three are ancestors of the
tip, so the push was a fast-forward. Nothing was forced.

**Two deviations from the push list, both reported rather than reconciled quietly.** The list said
line 1 carries `36407be1`; that is where the list was *generated*, and it is an ancestor of the tip.
The three commits after it are the push list itself, the gate-4 regenerations and the S12 ledger
entry, so the branch carries `9f24e9e3`. And the approved `--body-file THREAD_LEDGER.md` was refused
by GitHub: the ledger is 70,990 characters against a 65,536 limit, so the PR body carries the S12
entry plus a pointer to the complete file in the branch.

## Line 2 — GitHub packages, eight targets

| repository | head after | changed |
|---|---|---|
| [crs-mcp](https://github.com/nickharris808/crs-mcp) | **`1e4b9b1`** | capability hints on all five tools, `test_tool_annotations.py`, README 252 → 264 |
| [soundnessbench](https://github.com/nickharris808/soundnessbench) | **`91defdc`** | the leaderboard's rows stated as baselines this lane wrote |
| [certkit](https://github.com/nickharris808/certkit) | `b0f4956` | no changes |
| [exploit-counter](https://github.com/nickharris808/exploit-counter) | `b762abf` | no changes |
| [pytest-mutation-verified](https://github.com/nickharris808/pytest-mutation-verified) | `b504346` | no changes |
| [certkit-action](https://github.com/nickharris808/certkit-action) | `6b74590` | no changes |
| [certkit-js](https://github.com/nickharris808/certkit-js) | `fe76020` | no changes |
| [certified-discovery](https://github.com/nickharris808/certified-discovery) | `9009ed6` | no changes |

The dry run was read line by line first: five changed paths across two targets, **zero deletion
lines**. The ninth entry in the publish map, `oss/stranger-verifier` → `HOLDCO_ORG/stranger-verifier`,
reported `BLOCKED — remote does not exist; refusing to invent a target` and the script exited rather
than substituting one. Those eight files are published nowhere; `verifier.html` and
`verifier.bundle.mjs` return 404 in every repository checked.

## Line 3 — Hugging Face, file by file

| artifact | URL | commit |
|---|---|---|
| dataset `README.md` | https://huggingface.co/datasets/nickh007/cve-proof-corpus | `9219871f` |
| dataset `CITATION.cff` | https://huggingface.co/datasets/nickh007/cve-proof-corpus | `eec60b7d` |
| Space card | https://huggingface.co/spaces/nickh007/certkit-demo | `036b1282` |
| Space card | https://huggingface.co/spaces/nickh007/soundnessbench-leaderboard | `c21daee7` |

All four sha256s were checked against the push list before upload and all four were fetched back
afterwards **byte-identical to local**. The hub's own files survived, which is why this was done file
by file: `.gitattributes` is still present on all three, `app.py` on both Spaces, and both Spaces are
still `RUNNING`.

**One deviation, reported.** `hf upload` failed on both Spaces with `402 Payment Required` on
`api/repos/create` — the CLI creates-if-missing before uploading, and these Spaces already exist. The
same single-file upload through `HfApi.upload_file` succeeded; it writes the named path in the named
existing repository and attempts no creation. No repository, organisation or account was created.

## The three corrections that were the point of the turn, now live

1. **certkit-demo** states that it fetches the pinned Pyodide 0.27.3 runtime from a CDN at first
   load, so "nothing is uploaded" is true while "no network requests" is not, and that it is not the
   plain-JS verifier the 12/12 seal covers.
2. **crs-mcp** declares capability hints on all five tools, with a test that checks the closed-world
   claim against every import rather than against the prose.
3. **soundnessbench** says on both its README and its Space that every leaderboard row is a baseline
   this lane wrote, scored against ground truth this lane computed.

## Checks after the push

- `oss/portfolio/check_links.py`: **10 of 10 HTTP 200**.
- `make oss-reconcile`: **11 of 11 measured, 11 in sync, 0 published files missing from this tree.**
- `scripts/preflight_oss.py`: CLEAR over 304 files in 13 package directories.
- `check_spaces.py` did **not** run: it needs a Playwright browser that is not installed here. Not a
  pass, and recorded as not run.

The README pointers to the organisation and the index entry for the stranger verifier are still
**held back**, because both would be links to a repository that does not exist and `check_links.py`
requires HTTP 200 from every URL it finds. They go in the same push as that repository.
