OXYGENHUB

Releases 1

OxygenHub and oh 0.4.0 v0.4.0 · ✔ signed by Andy McCall · andymccall ·

Trust and audit

OxygenHub 0.4.0 and oh 0.4.0, pinning Oxygen 0.4.0. OxygenFlow built the release files, and the trust page shows each one as attested.

  • Who did the work. A change an AI agent signed for its author says so wherever the author is shown: via NAME with an agent badge in history rows, a via row under the author on the change page (the agent's identity, the delegation it acted under and its expiry, its key), a count under the author in Contributors, and via in the API's change summaries. The author stays the human; a revoked delegation turns the badge red.

  • Rotated identities link themselves. A push that brings changes authored by a successor of a linked identity, where every step kept the key pair (a renewal, a delegation added or removed), links the successor to the same account: delegating to an agent no longer leaves your changes unattributed until you re-upload a key.

  • A Flow badge. /{owner}/{name}/flow/badge.svg is the latest run on the default bookmark as a small SVG for a README (passing, failing, running, no runs).

  • History by revset. GET /repos/{o}/{n}/history/{ref}?r=REVSET answers the changes a revset selects (Oxygen's docs/revset_query_language.md), under a two-second budget.

  • The hub garbage-collects every repository nightly (issue #94). oxy gc runs for each repository in turn at retention.gc_hour UTC (default 3; 24 or more turns it off), under its write lock, logging what was pruned and packed; oxygenhub gc runs the same pass by hand. The oxygen repository had 1.45 GB of loose objects when this was found.

  • Milestones over the API, and oh milestone (issue #91). POST /milestones creates one (title, description, due date) or changes the one with that title, PATCH /milestones/{title} changes title, description, due date or state; oh milestone list|create|edit|close|reopen.

  • oh issue edit (issue #95). Title, body (-F for a file), labels and assignees as whole sets (--no-labels, --no-assignees), milestone ("" clears); oh issue label keeps adding and removing.

  • oh dies quietly on a closed pipe (issue #92), as oxy does: oh issue list | head -1 no longer panics.

  • The trust report prints the tagged state once (issue #93): "The tagged state has N heads" with the short heads, and each asset's line names the run that built it.

  • A runner busy with its only job stays online (issue #78). Its log batches and finish call mark it seen, where only claims did.

  • The hub signs for you only with changes,refs. Delegating to the hub key now takes --scope changes,refs; the recipes and the trust page say so.

  • Web workspaces, designed (issue #69). Spec §13.3 has the design to review before anything is built: data, the runner's workspace job kind with flow-casfs, the owner-only proxy, delegate-signed pushes to ws/{account}/{id}, security, costs, open questions.

  • What starts a job: on (oxygenflow#24). A pipeline's or a job's on { push "main" "feature/*"; tag "v*"; manual } decides which events run it: pushing a tag now runs the jobs that name it, on the tagged state; a run has only the jobs its event starts (and what they need), and an event that starts none starts no run. A rerun repeats its run's event. A bookmark sent again unchanged starts no run. schedule "0 3 * * *" lines run their jobs on the default bookmark when due (UTC), checked each minute.

Assets