OXYGENHUB

Backlog: O12 done (oxygen#1) 540b229288ba

Author
Andy McCall @andymccall <[email protected]>
When
· 2026-09-28 14:24 UTC
Signature
✔ signed by Andy McCall
Hash
540b229288bab5a876f15c26328c148408296c4e7b82e434f1cab0619faa20bd
Depends on
30924fc6c7d6 75036530b621 cf949c7966b1 e7ddd552b619
Depended on by
e1dc6d6aad4f 3b1dc8a974a3
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 +7 −1
…
50 unchanged lines
51 51
- [x] O4 Benchmarks with thresholds: 10 000 files, 5 000 changes; status, commit, log, blame, push, clone; record numbers in docs.
52 52
- [x] O10a Heads at scale (first part of O10): `State::maximal` compared every pair of heads (quadratic; about 1.5 s per call at 4 500 heads, called three times per commit); now one walk. Commit reuses the snapshot's base state instead of loading it again.
53 53
- [x] O10b Parallel snapshot work: rendering the base state's files, building file graphs from a checkpoint, and reading working-copy files now run on every core (rayon).
54 -
- [ ] O12 `log_for_path_in` and `blame_in` rebuild and re-render the whole state on every call, and walk every change: take an already loaded state, stop at the first change touching the path when only the newest is wanted, and benchmark it (found in H16).
54 +
- [x] O12 `log_for_path_in` and `blame_in` rebuild and re-render the whole state on every call, and walk every change: take an already loaded state, stop at the first change touching the path when only the newest is wanted, and benchmark it (found in H16).
55 55
- [ ] O10c Snapshot without the whole base (rest of O10): load only the file graphs a snapshot needs (a checkpoint split per file or indexed), skip reading and rendering files whose stat matches a manifest written for the same base, cache materialized states. Needs a spec change to the checkpoint format; target spec §25.
56 56
- [x] O5 Concurrency: two processes committing, snapshotting and pushing on one repository; locks hold, nothing is lost.
57 57
- [x] O6 Error messages audit: every user-facing error says what to do next; `oxy doctor` checks identity, config, remotes, CA files, hub reachability.
…
109 unchanged lines
167 167
  - Warm views: spec.md 196 → 8 ms, repo/mod.rs 400 → 18 ms, state.rs 317 → 14 ms, blame 428 → 23 ms.
168 168
  - Unit test for the LRU; browse test checks the second view hits the cache. Hub spec §16.3.
169 169
  - Follow-up for oxy-core: `log_for_path_in` should reuse a loaded state instead of rebuilding it.
170 +
- 2026-09-28 O12 done (oxygen#1, closed by the change; the first issue in the oxygen repository):
171 +
  - oxy-core has `log_of(state)`, `log_for_path_of(state, path, limit)` and `blame_of(state, tree, path)`. They find the path in the tree view alone, with no full render, and the walk stops at `limit`.
172 +
  - `log_for_path_in` and `blame_in` wrap them and load once instead of twice.
173 +
  - Test `history_and_blame_of_a_loaded_state_match_the_full_walk`; gate green; release binary rebuilt.
174 +
  - The hub uses them for last change, blame and tree rows.
175 +
  - Cold file pages on Earth: 196/400/317/428 ms (before any caching) → 146/256/121/88 ms; warm 8–24 ms (oxygenhub/docs/performance.md).