Backlog: M4 done; database-locked retries ce3e73ce9020
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-09-29 00:21 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
ce3e73ce90208fe0b5c21a7ddfad4e946090c486d3d22e1196dbd750e571035a- Depends on
- 75036530b621 85ef828b6bf0 c1fe1fb25021
- Depended on by
- 73609c9f7f50
- 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
| … | 70 unchanged lines |
||
| 71 | 71 | - [x] M13 (feedback 3a) `oxy bookmark switch --carry`: take uncommitted work to the other bookmark when it applies cleanly there (and `bookmark create --switch` moving the working copy onto a new bookmark at its base, changes and all). |
|
| 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 | - | - [ ] 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). |
|
| 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 | 75 | - [ ] 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). |
|
| … | 420 unchanged lines |
||
| 498 | 498 | - Runs record what started them (migration 0020), and the run page says "pushed by", "started by" or "re-run of #N by". |
|
| 499 | 499 | - Pushes and both new paths share `flow::start_run`. |
|
| 500 | 500 | - One hub test; gate green; deployed; run green. |
|
| 501 | + | - 2026-09-29 **M4 done** (oxygenflow#7; feedback 15 and 17). |
|
| 502 | + | - **/dev links.** flow-init adds `/dev/fd`, `/dev/stdin`, `/dev/stdout` and `/dev/stderr` into `/proc/self/fd`. |
|
| 503 | + | - **Job variables.** Claims carry the run's state hash, bookmark and number. The runner adds `FLOW_REPO`, `FLOW_STATE`, `FLOW_HEADS`, `FLOW_BOOKMARK`, `FLOW_RUN` and `FLOW_JOB` to the job's environment, so they are in its receipt too. |
|
| 504 | + | - `flow run` sets `FLOW_JOB` and `FLOW_RUN=local`. |
|
| 505 | + | - A pipeline's own value wins; unknown values are left out. |
|
| 506 | + | - **Tests:** unit tests for both, and the hub test checks the claim's new fields. Hub and runner deployed (runner with `.prev` copies). |
|
| 507 | + | - **Proved in a real microVM on Earth:** `< <(echo …)` works, the links are there, and the variables arrive. |
|
| 508 | + | - 2026-09-29 **"database is locked" again** (oxygenflow#8). |
|
| 509 | + | - At 00:40 and 01:01, during oxygenhub runs, log appends and a claim got HTTP 500 after the 5 s busy timeout, and the runner dropped those log lines. |
|
| 510 | + | - It was not the hub restarting (up since 00:51) nor the WAL (4 MB). Most likely a commit stalled while the release build saturated Earth's disk. Not proven. |
|
| 511 | + | - **Runner:** tries 5xx answers again after 1, 2 and 4 s; a 4xx is final. Tested against a fake hub. |
|
| 512 | + | - **Hub:** busy timeout 30 s. |
|
| 513 | + | - No lock errors in the runs since, including a full oxygenhub run. |