OXYGENHUB

Backlog: M5 done 73609c9f7f50

Author
Andy McCall @andymccall <[email protected]>
When
· 2026-09-29 00:43 UTC
Signature
✔ signed by Andy McCall
Hash
73609c9f7f50a9d4d5ac26f5a45b5231ff9e266cf9445ea09d63118d33d28a50
Depends on
75036530b621 c1fe1fb25021 ce3e73ce9020
Depended on by
08b388841556
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 +9 −1
…
71 unchanged lines
72 72
- [x] M14 (feedback 7a) `oxy show`'s summary lists every path the change touches with its kind (added, modified, removed, renamed, mode), not only additions.
73 73
- [x] M3 Start a run without moving a bookmark (feedback 9): "Run pipeline" on a state and "Re-run" on a finished run, in the web and the API.
74 74
- [x] M4 Guest `/dev/fd`, `/dev/stdin|stdout|stderr` links in flow-init (feedback 15), and job variables `FLOW_STATE`, `FLOW_HEADS`, `FLOW_BOOKMARK`, `FLOW_RUN`, `FLOW_REPO` (feedback 17).
75 -
- [ ] M5 Sandbox-level `env` in pipeline.kdl, and the image's environment kept through `flow rootfs import` (feedback 16).
75 +
- [x] M5 Sandbox-level `env` in pipeline.kdl, and the image's environment kept through `flow rootfs import` (feedback 16).
76 76
- [ ] M6 Flow API: `GET /repos/{o}/{n}/flow/runs`, `/flow/runs/{n}` with jobs, a job's log; checks by head hash as well as state (feedback 11). JSON 404s under `/api/v1` (feedback 13). Per-repository run numbers, or a note (feedback 12).
77 77
- [ ] M7 Server push errors name the operation and bookmark and log the error chain (feedback 2).
78 78
- [ ] M8 `merge` updates a working copy that is clean against the pre-merge base; `checkout` tells "removed by you" from "not yet written"; `bookmark switch --help` says what happens to uncommitted work (feedback 3).
…
432 unchanged lines
511 511
  - **Runner:** tries 5xx answers again after 1, 2 and 4 s; a 4xx is final. Tested against a fake hub.
512 512
  - **Hub:** busy timeout 30 s.
513 513
  - No lock errors in the runs since, including a full oxygenhub run.
514 +
- 2026-09-29 **M5 done** (oxygenflow#9; feedback 16).
515 +
  - **Sandbox env.** A sandbox takes an `env` block that every job in it starts from; a job's own `env` overrides it.
516 +
    - It is canonical field 6, only when set, so existing pipelines keep their hashes.
517 +
  - **Image environment.** `flow rootfs import --env NAME=value` writes the image's own environment to `/etc/flow/env`: what a Dockerfile's `ENV` sets and `docker export` loses. It is covered by the image's hash.
518 +
  - **Layers in flow-init:** `PATH` and `HOME`, then the image's environment, then the job's. The program is found in the resulting `PATH`.
519 +
  - **Tests** for parsing, precedence, hashing, layering and `--env` checks.
520 +
  - Hub pinned and deployed, since it parses pipelines. Runner deployed.
521 +
  - **Proved in a microVM on Earth:** a program found only through the sandbox's `PATH` ran, with the job's value winning. The image layer is unit-tested; nothing was re-imported on Earth.