OXYGENHUB

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.