Merge main (0.9.3) into draft-ready: the changelog line stays under Unreleased (refs #313) a36c79fd9493 resolution
- Author
- Andy McCall @andymccall <[email protected]>
- via
- agent
agent:claude@andymccall <[email protected]> · keyless, under your grant for changes,refs,seal · key e8ad53b0a3af
- When
- · 2026-10-25 18:17 UTC
- Signature
- ◈ sealed by agent:claude@andymccall
- Hash
a36c79fd9493ea9a185c484b434b00cfdd7cc2c4d45b9b5b9f0c9f172233791f- Depends on
- 09ffa7b600a9 234921ea0834 73c01b3448ee a7e6e8e6094c ab4df6aae179 b5668108487f
- Depended on by
- acb8d109e981
- In bookmarks
- api-unknown-fields diffusion-pin-bookmark draft-ready main proposal-list-fast
- In tags
- v0.9.11 v0.9.15 v0.9.16 v0.9.19 v0.9.20 v0.9.21 v0.9.22 v0.9.23 v0.9.24 v0.9.4 v0.9.5 v0.9.6 v0.9.7 v0.9.8 v0.9.9
- Edits
- 2 atoms, 0 tree operations, 1 file
Browse the tree at this change
modified CHANGELOG.md +5 −4
| … | 3 unchanged lines |
||
| 4 | 4 | ||
| 5 | 5 | ## Unreleased |
|
| 6 | 6 | ||
| 7 | - | <<<<<<< oxy conflict 1 of 1, side 1 of 2: change 9246a24c "A draft proposal can be made ready from oh and the API (refs #313)" |
|
| 8 | - | - **A draft proposal can be made ready from `oh` and the API (#313):** `oh proposal ready N` (and `--undo` to turn it back into a draft); `PATCH …/proposals/{n}` takes `state: "open"` for a draft and `state: "draft"` for an open one, as the page's buttons do, and `draft: false|true` in the words a proposal is created with. `{"draft": false}` used to answer 200 and change nothing. |
|
| 9 | - | ======= oxy conflict 1 of 1, side 2 of 2: change 677db50a "OxygenHub 0.9.3" |
|
| 10 | - | ## 0.9.3 (2026-10-25) |
|
| 7 | + | - **A draft proposal can be made ready from `oh` and the API (#313):** `oh proposal ready N` (and `--undo` to turn it back into a draft); `PATCH …/proposals/{n}` takes `state: "open"` for a draft and `state: "draft"` for an open one, as the page's buttons do, and `draft: false|true` in the words a proposal is created with. `{"draft": false}` used to answer 200 and change nothing. |
|
| 8 | + | ||
| 9 | + | ## 0.9.3 (2026-10-25) |
|
| 10 | + | ||
| 11 | + | - **Runners hand jobs back, and the queue takes them first (#312, oxygenflow#76):** `POST /api/v1/flow/jobs/{id}/release` {reason} lets a draining runner hand back a job it holds as it leaves (a phone off Wi-Fi, a restart, a spot reclaim). The job is queued again **ahead of new work**, whatever its priority; its log says who handed it back and why, and its next attempt's log follows on; it is not a decline. A job whose runner the hub has not heard from for 3 minutes (claims, 30-second heartbeats, logs) is handed back the same way, rather than running on until its time limit and ending as lost. A job handed back more than 5 times ends as an error saying so. Migration 0094 adds `flow_jobs.handed_back_ms` and `handbacks`. |
|
| 11 | 12 | ||
| 12 | 13 | - **Runners hand jobs back, and the queue takes them first (#312, oxygenflow#76):** `POST /api/v1/flow/jobs/{id}/release` {reason} lets a draining runner hand back a job it holds as it leaves (a phone off Wi-Fi, a restart, a spot reclaim). The job is queued again **ahead of new work**, whatever its priority; its log says who handed it back and why, and its next attempt's log follows on; it is not a decline. A job whose runner the hub has not heard from for 3 minutes (claims, 30-second heartbeats, logs) is handed back the same way, rather than running on until its time limit and ending as lost. A job handed back more than 5 times ends as an error saying so. Migration 0094 adds `flow_jobs.handed_back_ms` and `handbacks`. |
|
| 13 | 14 | >>>>>>> oxy conflict 1 of 1 end |
|
| … | 314 unchanged lines |