Backlog: O10f done (oxygen#10) 3c5c6ad2518a
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-09-28 20:25 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
3c5c6ad2518a0e9810d532fa788dbe8fc6c1c426cefc174d1df4e5cf5949cf32- Depends on
- 28fee1c9eb6c 75036530b621 9a239f064f76 b037ade16953
- Depended on by
- cc7a00565161 da29defdcb97
- 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 +12 −1
| … | 88 unchanged lines |
||
| 89 | 89 | - P5b: "Open in Workspace" on a change. openvscode-server (MIT, unmodified) with oxygen-vscode inside a Firecracker microVM per workspace, the state mounted read-only through casfs with an ephemeral overlay for edits, and commits back through oxy. Boot time measured, aiming under 100 ms for the mount. |
|
| 90 | 90 | - A fork ("oxycode") only if an extension cannot do what we need; decided with Andy. |
|
| 91 | 91 | - [ ] P5c Import microsoft/vscode's full Git history with `oxy git import` into a local scratch repository (not published): about 130 000 commits as a stress test of import, log, blame and status at scale, recorded in docs/benchmarks.md. |
|
| 92 | - | - [ ] O10f Load file graphs lazily from a version 2 checkpoint: a state keeps unread graphs by reference and reads one when first needed. |
|
| 92 | + | - [x] O10f Load file graphs lazily from a version 2 checkpoint: a state keeps unread graphs by reference and reads one when first needed. |
|
| 93 | 93 | - [ ] O10g Render only what a snapshot needs: the manifest records, per file, the graph blob it matched, so an unchanged file whose graph is untouched since the checkpoint is neither read nor rendered; cache materialized states. |
|
| 94 | 94 | - [x] O5 Concurrency: two processes committing, snapshotting and pushing on one repository; locks hold, nothing is lost. |
|
| 95 | 95 | - [x] O6 Error messages audit: every user-facing error says what to do next; `oxy doctor` checks identity, config, remotes, CA files, hub reachability. |
|
| … | 304 unchanged lines |
||
| 400 | 400 | - First real use: it followed oxygenflow's own run for the change that adds it, 8 checks from queued to passed, and exited 0. |
|
| 401 | 401 | - **From now on the loop pushes and waits** with `flow wait` after the local gate, and a red run is fixed before an item counts as done. Recorded in my working notes; Andy's loop prompt file is unchanged. |
|
| 402 | 402 | - F1 to F5 (dogfooding) are done. F6 (faster runs) is next in the F group; then P1 and the rest. |
|
| 403 | + | - 2026-09-28 O10f done (oxygen#10, closed by the change; OxygenFlow run green, followed with `flow wait`). |
|
| 404 | + | - **History-only states.** `Repo::load_state_history` keeps changes and tree but builds no file graph. |
|
| 405 | + | - From a version 2 checkpoint, graphs stay as pending blob refs or inline values. |
|
| 406 | + | - By replay, each change's edits wait per file. |
|
| 407 | + | - `load_graphs` builds the graphs asked for, in one blob batch, identical to a full load (tested against full payloads, by replay and from a checkpoint with later changes). |
|
| 408 | + | - An unloaded graph panics with a clear message rather than reading as empty, and `materialize` refuses a history-only state (both tested). |
|
| 409 | + | - **Used by** `log`, `log_state`, `log_for_path_in` and `blame_in` (one graph). |
|
| 410 | + | - **At 10 000 files:** the log's state load 270 → 37 ms, `oxy log` 0.89 → about 0.7–0.8 s. The rest is the working-copy snapshot the log takes first (O10g). CLI `blame` works from the snapshot, so it is unchanged (0.6 s). |
|
| 411 | + | - **Andy asked:** |
|
| 412 | + | - Why his pushes show "site token": his repositories metalgear, rstar-api and snake-oxy use hub.toml's site push token (c085…). Told him to make his own personal token and set it with `oxy config remote.earth.token`. Removing the site token waits for his OK. |
|
| 413 | + | - The oxy equivalent of git-flow: bookmarks and `oxy merge` (a union, no merge change), proposals, tags. Answered. |