Backlog: F3 done; F6 faster runs 85df6b4c4d9c
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-09-28 19:10 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
85df6b4c4d9c765408b3048a4cd97c68336fde8ae6b6460c340beea932b8b063- Depends on
- 21352ce529e8 66eb646918c2 75036530b621 b037ade16953
- Depended on by
- 9a8ede1e609f 9a239f064f76 9ce6f08451b1
- 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 +14 −1
| … | 57 unchanged lines |
||
| 58 | 58 | - [x] F1a **Priority (Andy, 2026-09-28): dogfood OxygenFlow.** Every push to oxygen, oxygenhub, oxygenflow and both extensions lints, tests and builds through OxygenFlow on Earth, with results as checks on OxygenHub. F1a: ephemeral scratch mounts in jobs (`ephemeral://tmpfs`, `ephemeral://disk`) so builds have room; `make deploy-runner`. |
|
| 59 | 59 | - [x] F1b A build image for the runner: a rootfs with the Rust toolchain (stable, rustfmt, clippy), Node, e2fsprogs-free build basics, and every crate of the oxygen, oxygenhub and oxygenflow lock files vendored with cargo pointed at them (jobs have no network); a script that rebuilds it when lock files change; imported on Earth and measured on a real cargo test of oxygen in a microVM. |
|
| 60 | 60 | - [x] F2 oxygen pipeline (.flow/pipeline.kdl): fmt, clippy -D warnings, tests, release build; green on a real push. |
|
| 61 | - | - [ ] F3 oxygenhub pipeline: needs oxygen alongside (path dependencies), so the job checks out oxygen at a pinned change; fmt, clippy, tests, build. |
|
| 61 | + | - [x] F3 oxygenhub pipeline: needs oxygen alongside (path dependencies), so the job checks out oxygen at a pinned change; fmt, clippy, tests, build. |
|
| 62 | 62 | - [ ] F4 Extension pipelines (oxygen-vscode, oxygenhub-vscode): typecheck, bundle, tests (with oxy, and the hub binary for the hub client tests), package; and oxygenflow's own pipeline gains cargo fmt, clippy and tests. |
|
| 63 | + | - [ ] F6 Faster runs: the runner takes one job at a time (oxygenhub is about 14.5 min to green, 8.5 of them the release build), so run independent jobs in parallel within the runner's CPU and memory, and reuse a build tree between jobs of one run (clippy, test and build compile the same crates). |
|
| 63 | 64 | - [ ] F5 Required checks: each repository's default bookmark requires its pipeline's checks to land, and the work loop pushes and waits for green instead of gating only locally. |
|
| 64 | 65 | - [x] O10e Checkpoint payload version 2: large file graphs as shared blobs named from an index, read and decoded in parallel; readers accept both versions (spec §11). Agreed by Andy on 2026-09-28. |
|
| 65 | 66 | - [ ] P1 **Conflict resolution on OxygenHub** (Andy's list, item 1). A resolver page for a conflicted state: |
|
| … | 290 unchanged lines |
||
| 356 | 357 | - Waiting on Andy for a personal access token (Settings › Tokens, repo:write) to put in every repository's `earth` remote. |
|
| 357 | 358 | - Then, with his OK, remove the site token from hub.toml. |
|
| 358 | 359 | - 2026-09-28 Pushes now use a personal access token for Andy's account in every repository's `earth` remote, not the site push token, so the hub records them as andymccall. The site token stays in hub.toml until Andy agrees to remove it. |
|
| 360 | + | - 2026-09-28 F3 done (oxygenhub#19, oxygenflow#4, oxygen#8, closed by the changes). Andy chose pinned subrepos. |
|
| 361 | + | - **Subrepos.** oxygenhub pins oxygen and oxygenflow as subrepos in deps/ and builds against them. |
|
| 362 | + | - `make pins` pulls them to main on Earth; the next commit records the new pins. |
|
| 363 | + | - A Cargo `paths` override that kept local builds on the sibling checkouts warned that it will become a hard error, so there is none: local, CI and deploy all build the pins. |
|
| 364 | + | - **OxygenFlow.** |
|
| 365 | + | - Claims list the state's pinned Oxygen subrepos that the pusher can read, and the job token may read those (and nothing else). |
|
| 366 | + | - The runner fetches and exports each at its path, inside the scope hash. |
|
| 367 | + | - Hub test `claims_carry_pinned_subrepos_and_the_job_token_reads_only_those`. |
|
| 368 | + | - **oxy fix.** `submodule add` probed URLs without OXY_TOKEN and OXY_CA, so a hub with its own CA, or a private repository, fell back to git. It now reports the Oxygen error too. |
|
| 369 | + | - **Formatting.** `cargo fmt --all` in oxygenhub also formats the path dependencies in deps/, with the hub's style, since oxygen has no rustfmt.toml. The pipeline and the loop's hub gate use `cargo fmt -p oxygenhub -p hub-api`. |
|
| 370 | + | - **First run** (#12, pushed as andymccall, passed): fmt 5 s, clippy 1 min 49 s, test 4 min 1 s, release build 8 min 26 s. The runner runs one job at a time → F6. |
|
| 371 | + | - Also this iteration: removed fix.py, fix2.py and format_xenon.py from oxygen (Andy's request, oxygen#7). Answered Andy's VS Code question: the extension is installed in both profiles and only shows in an Oxygen repository. |