Log P4b (release trust and audit); add H12 runner management fd3f920f0b24
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-09-29 10:43 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
fd3f920f0b24acaaa1be76e5824a474ed08d409229303b5107201deb2c2316a7- Depends on
- 03571027793e 28fee1c9eb6c 4960d87af58b 75036530b621
- Depended on by
- a5d2fbe7c10d e811b0813473 a707df24e576
- In bookmarks
- agents-in-readme bare-hashes carried-not-removed carry-identical doctor-trust identical-sides keyless-tags main merge-remote-bookmark only-help-103 paths-for-resolutions-and-amend push-notes show-stat subrepo-pin-state switch-says
- In tags
- v0.1.0 v0.10.0 v0.11.0 v0.2.0 v0.3.0 v0.3.1 v0.4.0 v0.4.1 v0.4.2 v0.4.3 v0.4.4 v0.4.5 v0.4.6 v0.5.0 v0.5.1 v0.6.0 v0.7.0 v0.8.0 v0.9.0
- Edits
- 4 atoms, 0 tree operations, 1 file
Browse the tree at this change
modified docs/backlog-overnight-2.md +15 −1
| … | 113 unchanged lines |
||
| 114 | 114 | - A runner identity whose key (composite Ed25519 + ML-DSA-65) signs each receipt. |
|
| 115 | 115 | - Receipts stored in the repository and verified by the hub. |
|
| 116 | 116 | - Flow `output` and artifacts, so a release asset links to the receipt that built it. |
|
| 117 | - | - [ ] P4b **Trust dashboard** (item 4): per release and asset, a graph of authors' identities and signatures, the runner and its pinned environment, inputs (state, scope hash), and receipts, with a one-click audit view and export. |
|
| 117 | + | - [x] P4b **Trust dashboard** (item 4): per release and asset, a graph of authors' identities and signatures, the runner and its pinned environment, inputs (state, scope hash), and receipts, with a one-click audit view and export. |
|
| 118 | 118 | - [x] H11 Run pipeline without a push, made easy (Andy): a primary button on the Flow tab, reasons shown when it is missing, and Run pipeline beside each bookmark and on change pages (runs the change's own state); `POST /flow/runs` takes `{"change"}`. |
|
| 119 | + | - [ ] H12 **Runner management** (Andy; oxygenhub#41), in parts: |
|
| 120 | + | - H12a Runners in the database: registration from the UI (`flow runner register`) with the signing key bound at registration, replacing hub.toml tokens. A Runners page (status, key, architecture, tiers, labels, capacity, current jobs) with each runner's job history, and drain, disable and remove. |
|
| 121 | + | - H12b Scopes: site, organisation or repository runners. Claims only return in-scope jobs, and repositories and organisations get Settings → Runners. |
|
| 122 | + | - H12c Labels and architecture: `runs-on` in pipelines (oxygenflow), with runners reporting labels and architecture in claims. |
|
| 123 | + | - H12d Queue view (why each job waits) and the runners API. |
|
| 124 | + | - H12e Bring up Plex (x86_64) as a second microVM runner, and a VisionFive 2 Lite (riscv64). The JH7110 has no hypervisor extension, so it needs a non-microVM tier first. Andy will say how to reach them. |
|
| 119 | 125 | - [ ] H10 `oh`, a command-line client for OxygenHub like GitHub's `gh`: a crate `crates/oh` in the oxygenhub workspace on hub-api. First slice: `oh auth login`, `oh issue list|view|create`, `oh proposal list|view|create|land`, `oh run list|view|watch`, `oh release list|create|upload`, with `--json`. |
|
| 120 | 126 | - [ ] P5 **Web workspaces** (item 2), in parts: |
|
| 121 | 127 | - P5a: flow-casfs, a read-only FUSE mount of a state from CAS chunks, measured. |
|
| … | 614 unchanged lines |
||
| 736 | 742 | - **Run pipeline:** now a primary button on the Flow tab. Viewers who cannot use it are told why: Flow is off, they are not signed in, or they lack write access. |
|
| 737 | 743 | - **Bookmarks and changes:** each bookmark has Run pipeline beside it. On a change page it runs the state whose only head is that change; such runs carry no bookmark and are labelled "change". `POST /flow/runs` accepts `{"change"}`, and the empty-state text mentions manual runs. |
|
| 738 | 744 | - **Tests and deploy:** the manual-run test covers a change run, an unknown change, the reasons text and the missing buttons. Deployed; the hub run is green. |
|
| 745 | + | - 2026-09-29 **P4b done** (oxygenhub#42; Andy's item 4). |
|
| 746 | + | - **Page:** `/{o}/{n}/releases/trust/{tag}`, linked from each release as "Trust and audit". |
|
| 747 | + | - **Contents:** the tag's signer and signature; the authors of the changes since the previous release, with signed, sealed, unsigned, invalid and revoked counts and linked accounts; and each asset's build: run, job, runner key (and whether one of this hub's runner tokens signs with it), tier, rootfs and environment hashes, inputs (state, pipeline, scope), and the signed receipt, verified again. |
|
| 748 | + | - **Graph and audit:** an SVG graph (authors → tag → jobs → assets, dashed for a build from another state), and a pass/warn/fail audit of each claim. |
|
| 749 | + | - **Export:** `?format=json` and `GET /api/v1/repos/{o}/{n}/releases/trust/{tag}` carry the signed receipts as hex for offline `oxy receipt verify`. |
|
| 750 | + | - **Tests and deploy:** a hub end-to-end test with a signed tag, a signed-receipt build and a hand upload. Deployed; the hub run is green. |
|
| 751 | + | - 2026-09-29 **Andy asked for runner management** (see, assign per site, organisation or repository). Filed as oxygenhub#41 and added as H12a–e. Plex and VisionFive 2 Lites are available for remote runner tests. |
|
| 752 | + | - 2026-09-29 **P5c in progress.** The importer fix (oxygen#25) is committed. The full 166 412-commit import runs locally on Sarturn under disk and 16 GB RSS watchdogs; Andy said to move heavy jobs to Earth if they cause trouble. |