Add the overnight work plan 96f7610fa666
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-09-26 22:02 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
96f7610fa66681d3a29ec6c2bd273502f85d2da62280deff033a4b2551ceadaa- Depends on
- ff0af1ee299d
- Depended on by
- ef26f9a28790 89a1d0243544 eae595568832 84b9e9ac0ab4 119bbf50cb86 7aa2dc9369e3 b0e64e81e4fb 05e71ed6cdf1 75167672ebcd e02bf0cd0533 c6aa5bd9d1c8 728da0f92161 957fee30826e 4dee277c327a fbda43e7d8ed 86fe29fd62ea 694805cca585 50a046e439e9 ee06a6c557b7 b7f102fcbb17 8f10a07a1dbe 2b872d074ddb 30ea9c1e70fa 7bc302317004 045469792ee1 94084087a876 28fc23d7706a ec2cfb379e70 c177d1752eaa ebef3715554c 4eb6dd3d794d af5bd4e6c6b2 717ef88f2799 d1d1e9e8c486 13eddcc46544 7a716eb94dee 135212de5370
- 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
- 1 atom, 1 tree operation, 1 file
Browse the tree at this change
added docs/plan.md +34 −0
| 1 | + | # Overnight work plan |
|
| 2 | + | ||
| 3 | + | Each loop iteration: pick the first unchecked item, implement it with tests, run the gated checks, commit with `oxy`, tick the box here with a one-line note, and commit again. Update `docs/spec.md` (and its changelog) whenever behaviour the spec describes changes. If an item cannot be finished in two iterations, note why under it and move on. |
|
| 4 | + | ||
| 5 | + | ## Rules |
|
| 6 | + | ||
| 7 | + | - Never run `git init` in this directory or push this project anywhere. Oxygen tracks itself with `target/release/oxy`. |
|
| 8 | + | - Never modify `~/development/tetriblox`; use only mirror clones in the scratch directory. |
|
| 9 | + | - Tests must stay hermetic (`hermetic()` / `OXY_HOME`); never touch `~/.config/oxy`. |
|
| 10 | + | - Gate every commit on `cargo test --workspace` exit status and a clean `cargo clippy --workspace --all-targets`. |
|
| 11 | + | - No new external services, no publishing, no artifacts. |
|
| 12 | + | ||
| 13 | + | ## Items |
|
| 14 | + | ||
| 15 | + | - [ ] Checkpoints (spec §11): serialize a `State` to a checkpoint object, load the nearest checkpoint in `load_state` and replay only the difference, create one automatically every `core.checkpoint-interval` changes (default 256) and on demand (`oxy checkpoint`). Benchmark before/after on a 5,000-change synthetic repository and record the numbers here. |
|
| 16 | + | - [ ] Pack merging (spec §13.4): merge packs when more than 16 exist; `oxy gc` reports it. |
|
| 17 | + | - [ ] Lazy blobs and the `objects` endpoint (spec §13.5, §16.1, §17): `clone --max-blob SIZE`, absent blobs recorded with their remote, fetched on first read; server endpoint; wire encoding in spec §16.3. |
|
| 18 | + | - [ ] Sparse checkout (spec §17): `filter.paths` in config, `clone --sparse PATH..`, status/commit/checkout honour it. |
|
| 19 | + | - [ ] Shallow clone (spec §17): `clone --depth N`, shallow boundary with a checkpoint, `oxy deepen`. |
|
| 20 | + | - [ ] Tags (spec §10.1, §14.4): `oxy tag create|list`, tag attestations, tags in views, wire, and export. |
|
| 21 | + | - [ ] Multiple workspaces (spec §12.2): `oxy workspace add|list|forget`, per-workspace directory metadata, snapshot lock. |
|
| 22 | + | - [ ] `.oxyattributes` (spec §19): `binary`, `eol=lf|crlf`, `nocompress`, `lockable` (advisory locally). |
|
| 23 | + | - [ ] Hooks (spec §20): `pre-commit`, `post-commit`, `pre-push`, `post-fetch`, `post-checkout`, and the `semantic-deps` hook with its JSON interface. |
|
| 24 | + | - [ ] Amend on non-head changes with a diff-derived correspondence; `oxy split`. |
|
| 25 | + | - [ ] Reify orphaned references on rewrite as conflicts instead of refusing (spec §8.4); define the conflict shape in the spec. |
|
| 26 | + | - [ ] Identity lifecycle: `oxy identity rotate|revoke`, expiry, delegates (`oxy identity delegate add|remove`), multi-signer policy updates. |
|
| 27 | + | - [ ] Rename detection on Git import (similarity ≥ 50%); `oxy git fetch`/`push` against a Git remote via a mirror. |
|
| 28 | + | - [ ] Hardening: property tests for the CBOR decoder and pack reader against random and mutated inputs; a concurrent-push test against the server; a 1 GB single-file benchmark for chunking and blobs. |
|
| 29 | + | - [ ] Documentation: `docs/guide.md` (user guide by task) and `docs/protocol.md` (for other implementers, derived from spec §16 and the wire encodings). |
|
| 30 | + | - [ ] Spec review pass: resolve or re-word every "MAY ... until" allowance introduced during implementation, and close what can be closed in §27. |
|
| 31 | + | ||
| 32 | + | ## Log |
|
| 33 | + | ||
| 34 | + | - 2026-09-26 23:01 plan created. |