OXYGENHUB

Backlog: F6b2 done (hub CI 722 s to 320 s); F6b3 next cf1b0412f142

Author
Andy McCall @andymccall <[email protected]>
When
· 2026-09-29 04:04 UTC
Signature
✔ signed by Andy McCall
Hash
cf1b0412f142a8e78b3fcb1213bdd656e5e677a1ba12324402ceef51e5095cd7
Depends on
2bdfb3f99aee 75036530b621 767bcd290e94
Depended on by
b0abd4a74708
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
3 atoms, 0 tree operations, 1 file

Browse the tree at this change

modified docs/backlog-overnight-2.md +21 −1
…
62 unchanged lines
63 63
- [x] F4b Extension pipelines (oxygen-vscode, oxygenhub-vscode): typecheck, bundle, tests and package, offline. Needs the npm packages in the build image, and `oxy` for oxygen-vscode's tests (built in the job from a pinned oxygen). The hub client tests skip without a hub binary.
64 64
- [x] F6a Runner runs several jobs at once within a budget (Earth: 3 jobs, 24 GiB, 8 vCPUs); the hub hands out only jobs that fit the room the runner reports.
65 65
- [x] F6b1 Faster Rust jobs, first part: CI builds without debug info or incremental state, set once in each pipeline's rust sandbox env.
66 -
- [ ] F6b2 A warm dependency cache: the dependencies of each lock file prebuilt in the build image and copied onto the job's scratch disk; measured on oxygenhub.
66 +
- [x] F6b2 A warm dependency cache: the dependencies of each lock file prebuilt in the build image and copied onto the job's scratch disk; measured on oxygenhub.
67 +
- [ ] F6b3 The same prebuilt dependencies for oxygen and oxygenflow (one image rebuild, all pipelines re-pinned).
67 68
- [x] 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.
68 69
- [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.
69 70
- [x] M1 (metalgear feedback 1, reported by Andy) Bookmarks with `/` in their names could not be pushed: attestation and checkpoint files are now flat, escaped names (oxygen#12). The hub is pinned to the fix and deployed.
…
512 unchanged lines
582 583
  - **At 10 000 files:** diff 0.57 → 0.22 s and commit 0.58 → 0.23 s, each 244 → 52 MB; show 0.53 s.
583 584
  - Caching materialized states turned out unnecessary.
584 585
  - One test: works with an unreadable unchanged file, and shows a change exactly as a full base renders it. Run green.
586 +
- 2026-09-29 **F6b2 done** (oxygenhub#29 refs; oxygenflow image recipe).
587 +
  - **Recipe.** `images/rust/recipe.py` writes a workspace's dependency recipe: manifests, the workspace roots path dependencies inherit from, the lock file, real build scripts, and stub targets. Checked to resolve offline with the lock unchanged.
588 +
  - **Image.** It builds oxygenhub's recipe at `/src` with the pipeline's environment (release, tests, clippy) and keeps `/opt/warm/oxygenhub` (2.1 GB, image 5.2 GB).
589 +
    - It was exported straight to Earth over ssh, since the local scratch quota refused the tarball.
590 +
    - Imported as `cas://blob/47b614a6…`.
591 +
  - **Jobs.** `.flow/warm-target.sh` copies the warm target onto the job's empty disk (8–12 s), then runs cargo. A missing cache or a failed copy falls back to a full build.
592 +
  - **First run found a bug:** the fresh ext4 disk holds `lost+found`, so the "empty" check skipped the copy. Fixed.
593 +
  - **Measured on Earth:**
594 +
595 +
    | oxygenhub | F6b1 | F6b2 |
596 +
    |---|---:|---:|
597 +
    | push to green | 722 s | 320 s |
598 +
    | build | 347 s | 147 s |
599 +
    | test | 182 s | 114 s |
600 +
    | clippy | 97 s | 52 s |
601 +
602 +
    Only the five workspace crates compile, and clippy compiles none.
603 +
  - **Andy:** rebuild the image when a Cargo.lock moves (`images/rust/build.sh`). Until then only the changed crates compile.
604 +
  - I ran `git --version` once by mistake while checking a pipeline. It touched no repository.