Backlog: P1e done 1d27d0a2b3c1
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-09-29 05:34 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
1d27d0a2b3c117ce6bd52053632913c64054ad409b9e90b1b0fe9f9dc70e947a- Depends on
- 0cded3d844e4 75036530b621 7f64236d2829
- Depended on by
- fc1a466a1e66 31f64699c8aa
- 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 +9 −1
| … | 85 unchanged lines |
||
| 86 | 86 | - [x] P1a Text conflicts resolved region by region on OxygenHub (first part of P1, below). |
|
| 87 | 87 | - [x] P1c Name conflicts on the resolver: keep one candidate, which takes the name as a move. |
|
| 88 | 88 | - [x] P1d "Resolve in VS Code": the resolver hands a conflict to oxygen-vscode (a vscode:// URI the extension handles: clone or open, switch to the bookmark, open the file). |
|
| 89 | - | - [ ] P1e Replace conflicts of binary files: oxy-core cannot yet resolve one by keeping an existing candidate (writing a candidate's bytes counts as no change); make that a resolution, then offer it on the resolver. |
|
| 89 | + | - [x] P1e Replace conflicts of binary files: oxy-core cannot yet resolve one by keeping an existing candidate (writing a candidate's bytes counts as no change); make that a resolution, then offer it on the resolver. |
|
| 90 | 90 | - [ ] P1 **Conflict resolution on OxygenHub** (Andy's list, item 1). A resolver page for a conflicted state: |
|
| 91 | 91 | - Per conflict region: pick a side, several sides, or none; edit freely; tree conflicts too (keep a candidate). |
|
| 92 | 92 | - Commit the result as a `kind = resolution` change on the bookmark, through the web-edit path. Signing: sealed when the author next pushes, or "resolve in VS Code" hands off to oxygen-vscode. |
|
| … | 554 unchanged lines |
||
| 647 | 647 | - Parsing and matching are in `src/handoff.ts`, with tests; `npm run check` passes (`ℹ fail 0`). |
|
| 648 | 648 | - Installed in both profiles; hub deployed; both runs green. |
|
| 649 | 649 | - **Fixed on the way:** P1c's name-conflict test found the kept candidate by the first occurrence of a word anywhere on the page, which failed now and then. It now reads the candidates' previews; six passes in a row. |
|
| 650 | + | - 2026-09-29 **P1e done** (oxygen#21, hub refs; Draft 0.8m). |
|
| 651 | + | - **Core.** A change that writes an opaque file with a replace conflict settles it when the caller names the path. |
|
| 652 | + | - One `Replace` goes from each live blob to the chosen one, depending on each change that made a candidate live, so all are superseded (§9.3). |
|
| 653 | + | - Hosted edits name the paths the user writes. A plain snapshot never settles one, since a checkout writes a candidate at the path. |
|
| 654 | + | - **Hub.** The resolver offers a binary file's versions, each labelled with its change. Keeping one commits the resolution, and the conflicts page links them. |
|
| 655 | + | - **Tests.** A core test (conflict via merge, snapshot leaves it, keeping a candidate or new bytes settles it) and a hub end-to-end test (five passes in a row). |
|
| 656 | + | - Pinned and deployed; all three runs green. |
|
| 657 | + | - **P1 is complete apart from P1b** (live collaboration). |