Log P4a (execution receipts) as done 155313e68e15
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-09-29 07:29 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
155313e68e154afe5ba12111a3b5b3fb0c4b29a02ce47ec48b03d2003da79b72- Depends on
- 28fee1c9eb6c 75036530b621 8f6b03b28e40 fc1a466a1e66
- Depended on by
- 7dc9f65b6546
- 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 +8 −1
| … | 104 unchanged lines |
||
| 105 | 105 | - [x] P3 **Swimlanes** (item 3): |
|
| 106 | 106 | - Hub: a bookmark's changes drawn as lanes of independent changes (oxy-core `lanes`), with dependencies as edges and no merge nodes. |
|
| 107 | 107 | - P3b: drag and drop on proposal bookmarks only. Dropping a change onto another proposes a squash, dragging a dependent chain proposes a rebase. The hub produces a plan and the author's oxy or oxygen-vscode applies and signs it (V6 has split, squash and rebase). Reordering independent changes means nothing and is not offered. |
|
| 108 | - | - [ ] P4a The `receipt` object and attestation in the Oxygen spec and oxy-core: a signed receipt verifies on its own; the repository keeps receipts by state; `oxy receipt list|show|export|verify|import` (first part of P4, below). |
|
| 108 | + | - [x] P4a The `receipt` object and attestation in the Oxygen spec and oxy-core: a signed receipt verifies on its own; the repository keeps receipts by state; `oxy receipt list|show|export|verify|import` (first part of P4, below). |
|
| 109 | 109 | - [ ] P4c The runner signs each receipt with its own identity; the hub verifies it against its known runner keys, keeps it in the repository, and shows it on the run, the check and the change. |
|
| 110 | 110 | - [ ] P4d Flow `output` and artifacts: a job's declared outputs become blobs named by its receipt, and a release asset links to the receipt that built it. |
|
| 111 | 111 | - [ ] P4 **Signed Flow receipts**: |
|
| … | 586 unchanged lines |
||
| 698 | 698 | - **Hub:** on an open or draft proposal's board (author, or Write role), dropping a change on another asks `POST …/lanes/{ref}/plan`. It offers a squash when the change needs nothing the target lacks (the same rule as `oxy squash`), and a rebase unless the change already depends on the target. It refuses when the target depends on the change, or when either change is already on the proposal's target. Each option gives the oxy commands and a VS Code link. The hub never rewrites the changes itself, because they must be signed by their author. Hub spec §6.7 describes it. |
|
| 699 | 699 | - **oxygen-vscode 0.12.0:** the `/plan` link finds the checkout, confirms, switches to the bookmark and pulls it, squashes or rebases, then offers a force push. Installed in both profiles. |
|
| 700 | 700 | - **Tests:** one end-to-end hub test (squash, both options, refused, already on main) and one test of the extension's link parsing. Deployed. Hub and extension runs are green. |
|
| 701 | + | - 2026-09-29 **P4a done** (oxygen#23; Draft 0.8o). P4 was split into P4a, P4c and P4d. |
|
| 702 | + | - OxygenFlow's receipt is now the Oxygen `receipt` object (§14.6), with the same encoding and hash as flow-core's. |
|
| 703 | + | - An attestation of kind `receipt` binds a receipt to its state and run, and the runner signs it. |
|
| 704 | + | - A signed receipt is `[receipt, attest, sigs, identity]` and verifies with nothing else. |
|
| 705 | + | - The repository indexes receipts by state. gc keeps them, their runners and their outputs while the state's changes live, and pruning a state drops its index. |
|
| 706 | + | - The CLI has `oxy receipt list|show|export|verify|import`. |
|
| 707 | + | - **Tests:** core round trip and tamper tests, a repo test (keep, refuse, gc, fsck) and a CLI end-to-end test. The oxygen run is green. |