OXYGENHUB

Backlog: F5 done; every repository requires its OxygenFlow checks 9a239f064f76

Author
Andy McCall @andymccall <[email protected]>
When
· 2026-09-28 20:13 UTC
Signature
✔ signed by Andy McCall
Hash
9a239f064f765648bdc66bb1e30f31398b3e82fc45db4119f2b2d9f057ef626d
Depends on
3498fb471800 75036530b621 85df6b4c4d9c b037ade16953
Depended on by
9a8ede1e609f 3c5c6ad2518a
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 +14 −1
…
61 unchanged lines
62 62
- [x] F4a oxygenflow's pipeline gains fmt, clippy and tests, with oxygen as its pinned subrepo; oxygenhub builds against the oxygen that oxygenflow pins (one oxy-core), and claims follow subrepos of subrepos.
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
- [ ] 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).
65 -
- [ ] 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.
65 +
- [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.
66 66
- [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.
67 67
- [ ] P1 **Conflict resolution on OxygenHub** (Andy's list, item 1). A resolver page for a conflicted state:
68 68
  - Per conflict region: pick a side, several sides, or none; edit freely; tree conflicts too (keep a candidate).
…
318 unchanged lines
387 387
  - **First runs:** `package` failed in both, because a job starts from a fresh workspace and had no dist/. It now builds first.
388 388
  - **Green:** oxygen-vscode #21 (check 1 min 8 s, package 6 s), oxygenhub-vscode #22 (check 7 s, package 5 s). oxygenflow #20 passed all 8 jobs.
389 389
  - All five repositories are now linted, tested and built by OxygenFlow on every push.
390 +
- 2026-09-28 F5 done (oxygenhub#20, referenced by the changes).
391 +
  - **Required checks over the API.** They could only be set from the settings page, so the hub gained `GET` and `PUT /api/v1/repos/{o}/{n}/checks/required` (admins, the whole list, audited). Tested; TS regenerated; hub deployed.
392 +
  - **Required checks set on every repository:**
393 +
    - oxygen and oxygenhub: flow/fmt, clippy, test, build;
394 +
    - oxygenflow: flow/fmt, clippy, test, summary;
395 +
    - both extensions: flow/check, package.
396 +
    - Proposals cannot land on main without them.
397 +
  - **Waiting for green.**
398 +
    - `oxy push --json` now reports the state each bookmark was pushed to (tested).
399 +
    - New `flow wait <repo URL> <state>` follows that state's checks on the hub against the required ones: exit 0 passed, 1 failed (a failed check, or a skipped required one), 2 at the time limit. Unit-tested.
400 +
    - First real use: it followed oxygenflow's own run for the change that adds it, 8 checks from queued to passed, and exited 0.
401 +
  - **From now on the loop pushes and waits** with `flow wait` after the local gate, and a red run is fixed before an item counts as done. Recorded in my working notes; Andy's loop prompt file is unchanged.
402 +
  - F1 to F5 (dogfooding) are done. F6 (faster runs) is next in the F group; then P1 and the rest.