OXYGENHUB
# bf7bb1b80fa3 oxygenflow / CHANGELOG.md
2.0 KiB · Markdown · last changed pipeline.kdl: timeout on a job or a sandbox 1 month ago renderedsource blame history raw

Changelog

OxygenFlow has no release yet: the runner on Earth runs main. This file starts on 2026-10-01; earlier history is in oxy log.

Unreleased

  • A job says how long it may run (#23). timeout "90m" on a job, or on a sandbox for its jobs (hours, minutes, seconds; a minute to a day). The hub caps it at the site's maximum.

  • A pinned file is re-read from the disk before its hash is called wrong (#22).

  • A runner says which jobs it holds (oxygenhub#71). Each claim lists the jobs the runner is running or still has a result for, so the hub ends at once any job it lost by restarting, instead of an hour later at the time limit.

  • A runner says which images it holds (oxygenhub#73). Each claim lists the rootfs images in the runner's cas/ (read each time, so an image imported while it runs counts), and the hub offers only jobs whose image is among them. plex-1 had failed metalgear's jobs for want of one.

  • A job's result is kept until the hub has it (oxygenhub#71). The runner offered a finished job's result three times over seven seconds and then dropped it, so a hub that was briefly down (Earth's reset) left the job running forever. The result is now kept on disk (pending/ in the Flow home) and offered again, every 5 s doubling to a minute, for up to two hours, through any server error or lost connection; a runner that restarts sends what it kept. A refusal (the hub ended the job already) is final.

  • The Rust build image vendors mimalloc (#20). Oxygen's new allocator was missing from the image, so oxygen's runs #150 to #153 failed. The image was rebuilt with images/rust/build.sh, imported on Earth and pinned in the oxygen, oxygenhub and oxygenflow pipelines. Rebuild it whenever a Cargo.lock of those projects changes.

  • A hint for shell escapes in a pipeline. KDL 2.0 strings have no \033, \e or \x escapes; a pipeline that uses one (for ANSI colours, say) is still invalid, but flow check and the hub now name the line and say to write ESC as \u{1b}.