Backlog 4: the other planned work, for when the speed items are blocked abdbc768c6e8
refs andymccall/oxygenhub#67, andymccall/oxygenflow#19
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-09-30 20:45 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
abdbc768c6e8d71d15b9dfc5814202478ac40c30789a68fdb9cdf537a60589f6- Depends on
- 61e9ad6ddc2d c69733a3ce59
- Depended on by
- 0c15e4678479 6e2b12dfe6ec 332c1241a11c
- 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.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
- 4 atoms, 0 tree operations, 1 file
Browse the tree at this change
modified docs/backlog-overnight-4.md +46 −17
| … | 99 unchanged lines |
||
| 100 | 100 | what takes the space, then try a trained zstd dictionary per repository |
|
| 101 | 101 | and packing similar objects together. |
|
| 102 | 102 | ||
| 103 | - | ## When a speed item is blocked: web workspaces (P5) |
|
| 103 | + | ## When a speed item is blocked: the other planned work |
|
| 104 | 104 | ||
| 105 | - | Andy's choice (2026-09-30): if the loop is stuck on the speed items, it |
|
| 106 | - | works on P5 from backlog 2, "VS Code in the hub", in its parts, rather |
|
| 107 | - | than stopping. |
|
| 105 | + | Andy's choice (2026-09-30): if the loop is stuck on the speed items (no |
|
| 106 | + | idea left that measures better, or blocked on something only Andy can |
|
| 107 | + | decide), it notes why in the log and takes the next item below instead of |
|
| 108 | + | stopping. Each follows the same rules: an issue, tests, the gate, push, |
|
| 109 | + | deploy where it applies, and a log line. Skip an item that needs Andy (a |
|
| 110 | + | decision, an account, hardware) and say so in the log. |
|
| 108 | 111 | ||
| 109 | - | - [ ] P5a **flow-casfs**: a read-only FUSE mount of a state from its |
|
| 110 | - | content-addressed chunks, in oxygenflow, measured (mount time, first |
|
| 111 | - | read, a full tree walk of the Linux tip). |
|
| 112 | - | - [ ] P5b **Open in Workspace** on a change or bookmark page of the hub: |
|
| 113 | - | openvscode-server (MIT, unmodified) with Oxygen VCS inside a Firecracker |
|
| 114 | - | microVM per workspace, the state mounted read-only through casfs with an |
|
| 115 | - | ephemeral overlay for edits, and commits going back through oxy as the |
|
| 116 | - | signed-in user. The runner hosts it (the image under `~/flow`, a |
|
| 117 | - | workspace job kind); the hub starts it, proxies it to the signed-in user |
|
| 118 | - | only, and stops it when idle. Boot time measured, aiming under 100 ms for |
|
| 119 | - | the mount. Write the design into the hub and oxygenflow specs first. |
|
| 120 | - | - A fork of VS Code ("oxycode") only if an extension cannot do what is |
|
| 121 | - | needed, decided with Andy. |
|
| 112 | + | 1. **Web workspaces (P5), "VS Code in the hub"**, in parts: |
|
| 113 | + | - [ ] P5a **flow-casfs**: a read-only FUSE mount of a state from its |
|
| 114 | + | content-addressed chunks, in oxygenflow, measured (mount time, first |
|
| 115 | + | read, a full walk of the Linux tip). |
|
| 116 | + | - [ ] P5b **Open in Workspace** on a change or bookmark page of the hub: |
|
| 117 | + | openvscode-server (MIT, unmodified) with Oxygen VCS inside a |
|
| 118 | + | Firecracker microVM per workspace, the state mounted read-only through |
|
| 119 | + | casfs with an ephemeral overlay for edits, and commits going back |
|
| 120 | + | through oxy as the signed-in user. The runner hosts it (the image under |
|
| 121 | + | `~/flow`, a workspace job kind); the hub starts it, proxies it to the |
|
| 122 | + | signed-in user only, and stops it when idle. Boot time measured, aiming |
|
| 123 | + | under 100 ms for the mount. Write the design into the hub and |
|
| 124 | + | oxygenflow specs first. A fork of VS Code only if an extension cannot |
|
| 125 | + | do what is needed, decided with Andy. |
|
| 126 | + | 2. - [ ] **oxy on projects coming from Git**: say when a folder holding |
|
| 127 | + | `.git` is skipped (oxygen#43), and honour `.gitignore` or offer to import |
|
| 128 | + | it (oxygen#44). |
|
| 129 | + | 3. - [ ] **Device sign-in** for apps and `oh` (oxygenhub#67): approve a code on |
|
| 130 | + | the web with password and 2FA, and the app receives a scoped token. The |
|
| 131 | + | Android client needs it. |
|
| 132 | + | 4. - [ ] **An Android build image** for OxygenFlow (oxygenflow#19): JDK, |
|
| 133 | + | Android SDK and NDK, and a Gradle cache warmed offline. |
|
| 134 | + | 5. - [ ] **OxygenHub VCS**: declare its authentication provider in the |
|
| 135 | + | manifest (oxygenhub-vscode#4), released as the next patch (see the |
|
| 136 | + | Marketplace notes: never reuse a version). |
|
| 137 | + | 6. - [ ] **Import at scale**: finish oxygen#25 (per-commit import cost), then |
|
| 138 | + | backlog 3's H3 (Linux history slices of 2 000, 10 000 and 50 000 |
|
| 139 | + | commits, verified) and H4 (vscode's full history, about 130 000 |
|
| 140 | + | commits, into a scratch repository that is never published). |
|
| 141 | + | 7. - [ ] **The hub's open issues**: runner management (oxygenhub#41, backlog |
|
| 142 | + | 2's H12 parts), a pinned subrepo left out of a Flow job for lack of |
|
| 143 | + | access (#56), faster CI (#29), required checks over the API (#20). |
|
| 144 | + | 8. - [ ] **The hub's plan** (`oxygenhub/docs/plan.md`): notifications for |
|
| 145 | + | review requests, mentions and landings; the organisation webhooks page. |
|
| 146 | + | Email verification and password reset need SMTP on Earth, and passkeys |
|
| 147 | + | are for 1.0: skip both unless Andy says otherwise. |
|
| 148 | + | 9. - [ ] **Housekeeping**: tick plan items that are already done (for |
|
| 149 | + | example `oxy seal --proposal` exists), and CHANGELOG files for oxygen, |
|
| 150 | + | oxygenhub and oxygenflow like the extensions' (backlog 2's V2). |
|
| 122 | 151 | ||
| 123 | 152 | ## Also |
|
| 124 | 153 | ||
| … | 12 unchanged lines |