Log in

mrmrs-fad256

mrmrs-fad256

Open into main
2 commits · 6 files +4 added ~2 modified · 6 behind main ·Seen by zach 3 days ago
M README.md
@@ -383,6 +383,43 @@
383383 --results /abs/worker-owned/materialization-ab/results
384384 ```
385385
386+Fresh shallow worker -> named task branch at current `main` -> first parent
387+refresh, Oak versus Git, with per-step HTTP request counts:
388+
389+```bash
390+python3 scripts/task_loop.py \
391+ --config /abs/path/subjects.toml --subjects git,oak_baseline,oak_candidate \
392+ --oak-serve-bin /abs/immutable/fixed-oak-serve \
393+ --scenarios shallow_worker_branch_refresh_v1 \
394+ --shallow-refresh-fixtures 1000:1,2000:2 \
395+ --runs 7 --randomize-subject-order --injected-request-delay-ms 0 \
396+ --workdir /abs/worker-owned/shallow-refresh/work \
397+ --results /abs/worker-owned/shallow-refresh/results
398+```
399+
400+Each `COMMITS:SEED` fixture is a deterministic merge-history Git repo
401+(`oakbench/merge_history_fixture.py`, ~5-7% two-parent merges). During untimed
402+setup it is imported into an owned loopback `oak serve` and a bare Git repo on
403+`GitHTTPServer`. Both sit behind `oakbench/httpcount.py` proxies that frame
404+HTTP/1.x requests: rows carry `http_request_count`,
405+`http_commits_info_request_count` and wire bytes, and all are null when the
406+stream could not be framed. The Oak cell times `clone --shallow` ->
407+`switch -c task` -> `fetch`. It then records a separate
408+`shallow.branch_create_repeat_local` row, which isolates local switch cost in
409+the already-refreshed worker. A second Oak cell, `shallow_pull.*`, repeats
410+the fresh clone and `switch -c task`, then runs `pull` instead of `fetch`.
411+Together the two cells show which command pays for the first-refresh
412+ancestry work. The Git cells are `clone --depth 1` ->
413+`switch -c` -> `fetch`, plus `warm_worktree.*`, which starts from an untimed
414+warm full clone. That is a different starting state and is labeled as such.
415+The oracle reads `.oak/oak.db` query-only (or `git rev-parse`), requires the
416+task branch head to equal the server's `main`, and requires the worktree to
417+hash to the fixture model's tree. Rows record `serve_depth_behavior`: a Serve
418+that ignores `--shallow` depth yields `serve_depth_ignored`, and such rows are
419+a fidelity baseline, not hosted-equivalent evidence (`hosted_equivalent` is
420+always false on loopback). `--injected-request-delay-ms` is a fixed per-request
421+sleep in the proxy, not a shaped network.
422+
386423 Add `--oak-serve-source /abs/read-only/exact-head-checkout` when that immutable
387424 checkout is retained; otherwise rows explicitly record that only the supplied
388425 source head and binary hash were available for provenance.