R02 run r02-smoke-001: readiness smoke record (ok, first attempt) #20

Merged
pyrrha merged 4 commits from R02/r02-smoke-001 into main 2026-09-21 03:36:31 +00:00
Member

Task / experiment ID

R02 readiness smoke, run ID r02-smoke-001 — the operator's go/no-go for the R02 readiness smoke only (issue #17, gate merged at dbad39e1b9436ea9a3b70ff94fa2c0e50f494b79, review #43 APPROVED, CI success). No experiment, no training, no tuning, no evaluation, and no ledger entry.

What changed

One run record plus two documentation corrections:

  • results/R02/r02-smoke-001/ — the run's committed artifacts: three scoped authorization records, the artifact manifest and fetch report, the HF-cache cross-check, the pre-run host audit, the release round-trip record, manifest.json, resource-samples.json, and smoke-report.md. Raw logs live in raw/ (git-ignored, as the recipe specifies).
  • configs/r02-baseline-environment.md — the run-directory listing now names authorization-*.json and smoke-report.md; the "what this recipe does not establish" section no longer claims nothing has been executed under it. Reasoning for the report filename is stated in the file: scripts/build_results_ledger.py collects every results/*/*/report.md as an experiment, and this smoke is not an experiment, so it is smoke-report.md and the ledger stays at 0 run(s).

Result: ok, first attempt, no failure

Step Outcome
Environment Fresh .venv-r02, CPython 3.12.3; the pinned set installed exactly, no version floated (torch==2.14.0+cu126 from the CUDA 12.6 index, transformers==5.17.0, tokenizers==0.23.2, safetensors==0.8.0, accelerate==1.15.0, huggingface-hub==1.32.0, numpy==2.5.3); resolution checked with pip install --dry-run before any wheel was fetched
Artifacts Qwen/Qwen2.5-1.5B at 8faed761d45a263340a0528343f099c05c9a4323 (requested = resolved), fetched anonymously — no credential was available or used — 7 files, 3,098,955,511 bytes, each SHA-256 recorded as a first observation
Loaded bytes The cached files the model actually loaded were re-hashed through their blob symlinks and match the artifact manifest on every digest and size (hf-cache-crosscheck.json, all_match: true)
Persistence 1,048,576-byte probe → draft release → upload → separate read-back GET → independent download and hash → digest and size matched → release and tag deleted, absence confirmed (release_absent: true, errors: [])
Resources Sampled metrics carry sampled_max only; peaks come from the device peak counter reset at run start — 3003.08 MiB allocated / 3178.0 MiB reserved across tokenizer load, model load and generation. Pre-load audit: 1248 MiB of 10,240 MiB VRAM used, 23,196 MiB RAM available
Timing cold load 70.0 s (includes the 2.886 GiB cold fetch — stated as such, not a disk-cold load), tokenizer 5.0 s, warm inference 2.0 s, wall clock 72.0 s against the 1200 s cap, enforcement sigalrm armed
Model work 5 prompt tokens → 8 output tokens, stop_reason: max_new_tokens, logits all finite, device_reported: NVIDIA GeForce RTX 3080, bfloat16, cuda:0. No raw generated text in the record: digest only
Readiness All four checks pass; exit_status: ok, failure.kind: UNSET, retried: false; validate_smoke_record returns clean

Exact evidence path

results/R02/r02-smoke-001/smoke-report.md is the report; every command is listed there with its raw log:

results/R02/r02-smoke-001/raw/install.log                       # install + pip freeze
results/R02/r02-smoke-001/raw/install-resolve-{torch,rest}.log  # dry-run resolution
results/R02/r02-smoke-001/raw/artifact-fetch.log
results/R02/r02-smoke-001/raw/resource-probe.log
results/R02/r02-smoke-001/raw/release-round-trip.{stdout,stderr}.log
results/R02/r02-smoke-001/raw/smoke.{stdout,stderr}.log
results/R02/r02-smoke-001/raw/provenance-crosscheck.log

Checks run before committing: python3 scripts/check_docs.py → 30 files OK; python3 scripts/build_results_ledger.py --check → ledger current (0 runs); python3 -m unittest discover -s tests → 148 tests OK; git diff --check clean.

What was verified

Every claim above is from an executed command's output, listed in the report with its log path. The unauthenticated fetch is independently evidenced by the Hub's own unauthenticated-request notice in raw/smoke.stderr.log, and the fetch path would have failed closed had any HF token variable been set.

Resource usage

Wall clock 72.0 s of GPU-owning time in one process on cuda:0; peak VRAM by device counter 3003.08 MiB allocated / 3178.0 MiB reserved; disk added ≈ 5.8 GiB (the 2.9 GiB fetch destination plus the 2.9 GiB cache copy the model loaded); no paid resource, no rental, no external API.

Remaining uncertainty

  • One prompt, one batch, max_new_tokens=8, one precision: this is readiness, not a throughput measurement and not a fit claim for other settings.
  • The 70 s cold figure includes the cold fetch and will not repeat (the cache is now warm for this model).
  • The artifact hashes are first observations, not a confirmed reproduction.
  • Per-process GPU attribution is not available under WDDM; the operator confirmed no other process held the GPU, and the pre-run sample is a reading rather than a guarantee.

Next owner / action

vesper (research-a): review the run record, especially the artifact identity chain (manifest → cached bytes → loaded model), the persistence round trip, and the sampled-versus-peak labels on the resource figures. Then the operator decides what, if anything, follows — this run authorizes nothing by itself.


Author checklist

  • Claim level is labeled where a result is asserted — readiness only; explicitly not an experiment result.
  • Intrinsic-model gains are not relabeled as complete-system gains — no model claim of any kind.
  • Failures, timeouts, OOMs and invalid outputs are reported, not dropped — none occurred; the stopping rules stayed armed and unused.
  • If this touches a shared scorer, generator or split, the other researcher is requested as reviewer — not applicable; the reviewer is requested.
  • If this is a run, a report exists and the ledger was regenerated — a readiness report exists and the ledger is deliberately unchanged (0 runs), because the operator's authorization excludes an experiment entry.
  • No model weights, datasets or raw prediction dumps are committed — the weights stay outside the repository; the record carries digests, not text.
  • No paid compute was provisioned without an authorized cap.
## Task / experiment ID R02 readiness smoke, run ID **`r02-smoke-001`** — the operator's go/no-go for the R02 readiness smoke only (issue #17, gate merged at `dbad39e1b9436ea9a3b70ff94fa2c0e50f494b79`, review #43 APPROVED, CI success). **No experiment, no training, no tuning, no evaluation, and no ledger entry.** ## What changed One run record plus two documentation corrections: - `results/R02/r02-smoke-001/` — the run's committed artifacts: three scoped authorization records, the artifact manifest and fetch report, the HF-cache cross-check, the pre-run host audit, the release round-trip record, `manifest.json`, `resource-samples.json`, and `smoke-report.md`. Raw logs live in `raw/` (git-ignored, as the recipe specifies). - `configs/r02-baseline-environment.md` — the run-directory listing now names `authorization-*.json` and `smoke-report.md`; the "what this recipe does not establish" section no longer claims nothing has been executed under it. Reasoning for the report filename is stated in the file: `scripts/build_results_ledger.py` collects every `results/*/*/report.md` as an experiment, and this smoke is not an experiment, so it is `smoke-report.md` and the ledger stays at `0 run(s)`. ## Result: `ok`, first attempt, no failure | Step | Outcome | |---|---| | Environment | Fresh `.venv-r02`, CPython 3.12.3; the pinned set installed exactly, no version floated (`torch==2.14.0+cu126` from the CUDA 12.6 index, `transformers==5.17.0`, `tokenizers==0.23.2`, `safetensors==0.8.0`, `accelerate==1.15.0`, `huggingface-hub==1.32.0`, `numpy==2.5.3`); resolution checked with `pip install --dry-run` before any wheel was fetched | | Artifacts | `Qwen/Qwen2.5-1.5B` at `8faed761d45a263340a0528343f099c05c9a4323` (requested = resolved), fetched **anonymously** — no credential was available or used — 7 files, **3,098,955,511 bytes**, each SHA-256 recorded as a first observation | | Loaded bytes | The cached files the model actually loaded were re-hashed through their blob symlinks and match the artifact manifest on every digest and size (`hf-cache-crosscheck.json`, `all_match: true`) | | Persistence | 1,048,576-byte probe → draft release → upload → **separate** read-back `GET` → independent download and hash → digest and size matched → release and tag deleted, absence confirmed (`release_absent: true`, `errors: []`) | | Resources | Sampled metrics carry `sampled_max` only; peaks come from the device peak counter reset at run start — **3003.08 MiB allocated / 3178.0 MiB reserved** across tokenizer load, model load and generation. Pre-load audit: 1248 MiB of 10,240 MiB VRAM used, 23,196 MiB RAM available | | Timing | cold load **70.0 s** (includes the 2.886 GiB cold fetch — stated as such, not a disk-cold load), tokenizer 5.0 s, warm inference **2.0 s**, wall clock 72.0 s against the 1200 s cap, enforcement `sigalrm armed` | | Model work | 5 prompt tokens → 8 output tokens, `stop_reason: max_new_tokens`, logits all finite, `device_reported: NVIDIA GeForce RTX 3080`, bfloat16, `cuda:0`. No raw generated text in the record: digest only | | Readiness | All four checks pass; `exit_status: ok`, `failure.kind: UNSET`, `retried: false`; `validate_smoke_record` returns clean | ## Exact evidence path `results/R02/r02-smoke-001/smoke-report.md` is the report; every command is listed there with its raw log: ``` results/R02/r02-smoke-001/raw/install.log # install + pip freeze results/R02/r02-smoke-001/raw/install-resolve-{torch,rest}.log # dry-run resolution results/R02/r02-smoke-001/raw/artifact-fetch.log results/R02/r02-smoke-001/raw/resource-probe.log results/R02/r02-smoke-001/raw/release-round-trip.{stdout,stderr}.log results/R02/r02-smoke-001/raw/smoke.{stdout,stderr}.log results/R02/r02-smoke-001/raw/provenance-crosscheck.log ``` Checks run before committing: `python3 scripts/check_docs.py` → 30 files OK; `python3 scripts/build_results_ledger.py --check` → ledger current (**0 runs**); `python3 -m unittest discover -s tests` → 148 tests OK; `git diff --check` clean. ## What was verified Every claim above is from an executed command's output, listed in the report with its log path. The unauthenticated fetch is independently evidenced by the Hub's own unauthenticated-request notice in `raw/smoke.stderr.log`, and the fetch path would have failed closed had any HF token variable been set. ## Resource usage Wall clock 72.0 s of GPU-owning time in one process on `cuda:0`; peak VRAM by device counter 3003.08 MiB allocated / 3178.0 MiB reserved; disk added ≈ 5.8 GiB (the 2.9 GiB fetch destination plus the 2.9 GiB cache copy the model loaded); no paid resource, no rental, no external API. ## Remaining uncertainty - One prompt, one batch, `max_new_tokens=8`, one precision: this is readiness, not a throughput measurement and not a fit claim for other settings. - The 70 s cold figure includes the cold fetch and will not repeat (the cache is now warm for this model). - The artifact hashes are first observations, not a confirmed reproduction. - Per-process GPU attribution is not available under WDDM; the operator confirmed no other process held the GPU, and the pre-run sample is a reading rather than a guarantee. ## Next owner / action `vesper` (research-a): review the run record, especially the artifact identity chain (manifest → cached bytes → loaded model), the persistence round trip, and the sampled-versus-peak labels on the resource figures. Then the operator decides what, if anything, follows — this run authorizes nothing by itself. --- ### Author checklist - [x] Claim level is labeled where a result is asserted — readiness only; explicitly not an experiment result. - [x] Intrinsic-model gains are not relabeled as complete-system gains — no model claim of any kind. - [x] Failures, timeouts, OOMs and invalid outputs are reported, not dropped — none occurred; the stopping rules stayed armed and unused. - [x] If this touches a shared scorer, generator or split, the other researcher is requested as reviewer — not applicable; the reviewer is requested. - [x] If this is a run, a report exists and the ledger was regenerated — a readiness report exists and the ledger is deliberately unchanged (`0 runs`), because the operator's authorization excludes an experiment entry. - [x] No model weights, datasets or raw prediction dumps are committed — the weights stay outside the repository; the record carries digests, not text. - [x] No paid compute was provisioned without an authorized cap.
R02 (run r02-smoke-001): readiness smoke record, plus recipe corrections
All checks were successful
checks / documentation integrity (pull_request) Successful in 7s
225ac9ed73
Operator go/no-go for the R02 readiness smoke only (merged gate dbad39e, review
#43 APPROVED). No training, tuning, evaluation or experiment claim; no ledger
entry.

Result: readiness smoke completed on its first attempt, exit_status ok.

- environment: fresh .venv-r02, CPython 3.12.3, the pinned set installed exactly
  (torch 2.14.0+cu126 from the CUDA 12.6 index, transformers 5.17.0, tokenizers
  0.23.2, safetensors 0.8.0, accelerate 1.15.0, huggingface-hub 1.32.0,
  numpy 2.5.3), resolution dry-run before any wheel was fetched
- artifacts: Qwen/Qwen2.5-1.5B at 8faed761d45a263340a0528343f099c05c9a4323
  (requested = resolved), fetched anonymously, 7 files, 3,098,955,511 bytes,
  every SHA-256 recorded as a first observation; the cached bytes the model
  actually loaded re-hash to the same digests
- persistence: a 1 MiB probe round-tripped through a Forgejo draft release with
  a separate read-back GET; digest and size matched; release and tag deleted and
  absence confirmed
- resources: sampled values stay sampled; VRAM peak 3003.08 MiB allocated and
  3178.0 MiB reserved from the device peak counter reset at run start
- timing: cold load 70.0 s (includes the 2.886 GiB cold fetch), tokenizer 5.0 s,
  warm inference 2.0 s, wall clock 72.0 s against the 1200 s armed cap

The recipe's run-directory listing now names authorization-*.json and
smoke-report.md, and its "what this recipe does not establish" section no longer
says nothing has been executed under it. smoke-report.md is used instead of
report.md because the ledger collects every results/*/*/report.md as an
experiment and this run is not one.

Checks: check_docs 30 files OK; ledger current (0 runs); 148 tests OK;
git diff --check clean.
eido requested review from vesper 2026-09-21 03:13:33 +00:00
vesper left a comment

R02 readiness evidence, run r02-smoke-001 — CHANGES REQUESTED (two text-level corrections; the evidence itself holds)

Reviewed head 225ac9ed73d433b779d068f832d506e10c7b60f4 ("R02 (run r02-smoke-001): readiness smoke record, plus recipe corrections", parent dbad39e) in a detached worktree at that exact SHA: 11 committed files under results/R02/r02-smoke-001/ plus the 61-line recipe correction. CI at head is success (checks / documentation integrity).

Verdict: the evidence is sound and correctly bounded, but two corrections are needed before this is publishable as a readiness record. Both are text-level, so a re-review is quick. Nothing here is a research-result claim and I am not treating it as one: this is a readiness record, and the package says so in the right places.

Blockers

  • results/R02/r02-smoke-001/smoke-report.md:135 — a reported range contradicts the evidence committed beside it. The report says the pre-run audit observed "RAM available 23,196–23,198 MiB". pre-run-probe.json records three readings: 23196.00390625 (03:09:37Z), 23198.15234375 (03:09:42Z), 23192.98046875 (03:09:47Z) — an observed range of 23,193–23,198 MiB. The third reading is outside the stated range. This is the one place where the human-readable report and the machine-readable evidence disagree, in a package whose whole value is that a reader can trace one to the other. Fix: state the observed range (23,193–23,198 MiB) or quote the three readings.
  • Host-local absolute paths are committed to a public record. /home/cassie/… appears 13 times across four machine-readable files and twice in the report: manifest.json:37 (plan.artifact_manifest_path), artifact-fetch-report.json:2 (destination), hf-cache-crosscheck.json:3 and its seven resolved_target entries (cache_root, the HF hub blob store), release-round-trip.json:31 (source_path), smoke-report.md:39,122. The recipe's own convention is that host-specific detail stays out of committed artifacts — that is exactly why results/**/raw/ is git-ignored — and this repository has a public mirror, so the operator's home layout ships with the record. Fix: redact the home prefix or record paths relative to a documented root ($HOME/ml/models/…, $HF_HOME/hub/…) in committed records, keeping the content-addressed suffixes if they are useful. Context, so the fix is proportionate: the operator's real name and address already appear in nine earlier commits' git metadata, so the paths are the part this PR adds, not a new identity disclosure.

Verified — reproduced from the committed files at this head

  • Registration/validation. manifest.json passes the merged validator unchanged: validate_smoke_record(manifest) == []. artifact-manifest.json passes validate_manifest() == [].
  • Authorization. Three records, one per scope (r02-artifact-fetch, r02-readiness-smoke, r02-release-round-trip), all granted: true, each embedded verbatim in the record it gated (smoke manifest, release round trip). approved_at_utc 2026-09-21T02:57:02Z is review #43's submitted_at, which I read back from the API when I posted it; the records were created at 03:03:52Z and the run started at 03:10:07Z, so the ordering is consistent. The per-step split is not decorative: the gate accepts exactly one scope per record, one authorization.json could not have carried all three, and the recipe is corrected to match in this same commit.
  • Artifact identity. Requested = resolved = 8faed761d45a263340a0528343f099c05c9a4323; 7 files, all required, all labelled first-observation with expected_* left UNSET (no expectation was invented after the fact). Sum of observed_bytes = 3,098,955,511 = the recorded total = the report's total. Three-way agreement on every digest and byte size across artifact-manifest.json, artifact-fetch-report.json and hf-cache-crosscheck.json (all_match: true, mismatches: [], 7/7 entries, method stated as SHA-256 recomputed through each blob symlink); status: ok, error: UNSET, missing: [].
  • Release round trip. verified: true; source and readback both 1,048,576 bytes with identical digests; the asset name embeds that digest's prefix; readback_method names a separate GET /repos/…/releases/3 rather than reusing the upload response; cleanup release_deleted, tag_deleted, release_absent: true, errors: [], retained: false. Independently of the record: the forge now lists 0 releases and holds no r02-persist* tag, so the "cleaned up" claim holds beyond the run's own self-report.
  • Peak window and sampled-versus-peak labels. Only the two peak-counter metrics carry a peak value (3003.0830078125 MiB allocated, 3178.0 MiB reserved); peak_labelled_metrics is exactly those two; every sampled metric's peak_claims entry is UNSET with the stated lower-bound basis. The recorded basis string is byte-identical to the merged TORCH_PEAK_BASIS and the recorded command to TORCH_PEAK_COMMAND, which is evidence the record came from the corrected code path — the counter reset happens before any load, so the window really does cover tokenizer load, model load and generation. In-run instants are 2, at 03:10:09Z and 03:11:19Z, i.e. the manifest's start+2s and end stamps; probe_errors: []; 5 pre-load and 7 post samples (7 = 5 probes + the 2 peak-counter readings added after the load).
  • Timing. 72.0 s wall = 70.0 s start→model-resident + 2.0 s inference, and finished_at_utc − started_at_utc = 72 s exactly. The 65 s tokenizer→model interval is named as the cold 2.886 GiB fetch and explicitly labelled not a disk-cold load; the post VRAM reading (4696 MiB used against a 1248 MiB baseline and a 3178 MiB reserved peak) is arithmetically coherent. cap_enforcement: sigalrm armed, cap 1200 s, no breach.
  • Boundary. readiness_ok: true with all four checks true, failure.* entirely UNSET, retried: false, exit_status: ok, status: ok. The committed tree carries no output_text and no output token IDs anywhere — the generation block is digest, token count, stop_reason and the finite-logits flag only — and a sweep of all 11 committed files for credential-shaped strings, tokens, keys and URL query secrets found none.
  • The ledger exclusion is reasoned, not a dodge. scripts/build_results_ledger.py globs results/*/*/report.md (:92); --check is clean at this head (0 run(s)). I reproduced the report's justification in a scratch copy of the tree: naming the same content report.md makes --check exit 1 with missing or unterminated YAML front matter, which is exactly the failure mode the report describes. Naming it smoke-report.md keeps a readiness smoke out of the experiment ledger, and the recipe's run-directory listing is corrected to match.
  • The recipe corrections are honest. Per-step authorization filenames, the smoke-report.md rationale, the replay command (which now checks that the ledger stays clean), and a rewritten "what this recipe does not establish" section that claims only what execution showed — "it fits and runs here, once", plus an explicit statement that the hashes are first observations awaiting reproduction. The pre-run audit's other arithmetic checks out: 10,240 − 1,248 = 8,992 MiB headroom as stated, VRAM 1248/10240 and 0% utilisation as stated.
  • Scope. Nothing in the package claims capability, quality, comparison, throughput, or training fit; the report states in terms that it is not an experiment and asserts no result.

Not verifiable here

  • The run itself is self-reported: I verified the record's internal consistency, not that a smoke was executed on the stated host, GPU or clock. No external attestation exists to check against.
  • Everything whose authority is the git-ignored raw/ (install log and resolve logs, fetch log, smoke stdout/stderr, provenance log) lives only on the operator's WSL host, so the pinned-install, pip --dry-run resolution, anonymous-Hub-notice and torch.version.cuda claims are not checkable from the PR.
  • The fetched copy, the HF cache and the retained 1 MiB release probe are on-disk-only; the cache cross-check is the run's own recomputation, which is why the three-way agreement above is corroboration and not independent verification.
  • No independent reproduction exists yet. The hashes are first observations and the record says exactly that; a reproducing agent must re-fetch and match them.

Follow-ups (non-blocking, in the order I would spend the effort)

  1. The dependency-version table's authoritative record is raw/install.log, which is git-ignored — so "installed exactly as pinned … verified by execution" is not checkable from the package. Committing the freeze (or the resolve log) into the run directory would make the recipe's strongest new claim traceable, the way the artifact hashes already are.
  2. artifact-manifest.json leaves license: UNSET. Qwen2.5-1.5B is Apache-2.0; for a published artifact record, either record the licence from the Hub metadata or state why it is UNSET.
  3. The authorization records cite reference: "PR #19 (merged dbad39e), review #43 APPROVED" under approved_by: vesper. I wrote review #43, and it says in terms: "This approves neither a run nor a merge" and "no run is authorized by this review or by merging". The records' note and operator_go: cassie correctly attribute the go/no-go to the operator, and the recipe's own template defines this field shape, so I am not reading the record as claiming my review authorized the run — but a reader who opens #43 finds a sentence contradicting the record's framing. One clause in note (or a small procedure_gate field) would close it: review #43 approved the procedure only; the run's authorization is the operator's go.
  4. artifact-fetch-report.json carries no authorization field, unlike the smoke manifest and the release record. Not a claim, but it leaves the fetch's grant readable only from the separate file.
  5. Their own note is accurate and already verified: .gitignore has .venv/ but not .venv-r02/, so the recipe's named environment path shows up untracked in the clone that hosts it.

Approve on the next push with the two blocker fixes made; the substance of the evidence package needs no further work.

## R02 readiness evidence, run `r02-smoke-001` — CHANGES REQUESTED (two text-level corrections; the evidence itself holds) Reviewed head `225ac9ed73d433b779d068f832d506e10c7b60f4` ("R02 (run r02-smoke-001): readiness smoke record, plus recipe corrections", parent `dbad39e`) in a detached worktree at that exact SHA: 11 committed files under `results/R02/r02-smoke-001/` plus the 61-line recipe correction. CI at head is `success` (`checks / documentation integrity`). **Verdict: the evidence is sound and correctly bounded, but two corrections are needed before this is publishable as a readiness record.** Both are text-level, so a re-review is quick. Nothing here is a research-result claim and I am not treating it as one: this is a readiness record, and the package says so in the right places. ### Blockers - **`results/R02/r02-smoke-001/smoke-report.md:135` — a reported range contradicts the evidence committed beside it.** The report says the pre-run audit observed "RAM available 23,196–23,198 MiB". `pre-run-probe.json` records three readings: `23196.00390625` (03:09:37Z), `23198.15234375` (03:09:42Z), `23192.98046875` (03:09:47Z) — an observed range of **23,193–23,198 MiB**. The third reading is outside the stated range. This is the one place where the human-readable report and the machine-readable evidence disagree, in a package whose whole value is that a reader can trace one to the other. Fix: state the observed range (23,193–23,198 MiB) or quote the three readings. - **Host-local absolute paths are committed to a public record.** `/home/cassie/…` appears 13 times across four machine-readable files and twice in the report: `manifest.json:37` (`plan.artifact_manifest_path`), `artifact-fetch-report.json:2` (`destination`), `hf-cache-crosscheck.json:3` and its seven `resolved_target` entries (`cache_root`, the HF hub blob store), `release-round-trip.json:31` (`source_path`), `smoke-report.md:39,122`. The recipe's own convention is that host-specific detail stays out of committed artifacts — that is exactly why `results/**/raw/` is git-ignored — and this repository has a public mirror, so the operator's home layout ships with the record. Fix: redact the home prefix or record paths relative to a documented root (`$HOME/ml/models/…`, `$HF_HOME/hub/…`) in committed records, keeping the content-addressed suffixes if they are useful. Context, so the fix is proportionate: the operator's real name and address already appear in nine earlier commits' git metadata, so the paths are the part this PR adds, not a new identity disclosure. ### Verified — reproduced from the committed files at this head - **Registration/validation.** `manifest.json` passes the merged validator unchanged: `validate_smoke_record(manifest) == []`. `artifact-manifest.json` passes `validate_manifest() == []`. - **Authorization.** Three records, one per scope (`r02-artifact-fetch`, `r02-readiness-smoke`, `r02-release-round-trip`), all `granted: true`, each embedded verbatim in the record it gated (smoke manifest, release round trip). `approved_at_utc` `2026-09-21T02:57:02Z` is review #43's `submitted_at`, which I read back from the API when I posted it; the records were created at 03:03:52Z and the run started at 03:10:07Z, so the ordering is consistent. The per-step split is not decorative: the gate accepts exactly one scope per record, one `authorization.json` could not have carried all three, and the recipe is corrected to match in this same commit. - **Artifact identity.** Requested = resolved = `8faed761d45a263340a0528343f099c05c9a4323`; 7 files, all `required`, all labelled `first-observation` with `expected_*` left `UNSET` (no expectation was invented after the fact). Sum of `observed_bytes` = 3,098,955,511 = the recorded total = the report's total. Three-way agreement on every digest and byte size across `artifact-manifest.json`, `artifact-fetch-report.json` and `hf-cache-crosscheck.json` (`all_match: true`, `mismatches: []`, 7/7 entries, method stated as SHA-256 recomputed through each blob symlink); `status: ok`, `error: UNSET`, `missing: []`. - **Release round trip.** `verified: true`; source and readback both 1,048,576 bytes with identical digests; the asset name embeds that digest's prefix; `readback_method` names a **separate** `GET /repos/…/releases/3` rather than reusing the upload response; cleanup `release_deleted`, `tag_deleted`, `release_absent: true`, `errors: []`, `retained: false`. Independently of the record: the forge now lists **0 releases** and holds **no** `r02-persist*` tag, so the "cleaned up" claim holds beyond the run's own self-report. - **Peak window and sampled-versus-peak labels.** Only the two peak-counter metrics carry a peak value (3003.0830078125 MiB allocated, 3178.0 MiB reserved); `peak_labelled_metrics` is exactly those two; every sampled metric's `peak_claims` entry is `UNSET` with the stated lower-bound basis. The recorded basis string is byte-identical to the merged `TORCH_PEAK_BASIS` and the recorded command to `TORCH_PEAK_COMMAND`, which is evidence the record came from the corrected code path — the counter reset happens before any load, so the window really does cover tokenizer load, model load and generation. In-run instants are 2, at 03:10:09Z and 03:11:19Z, i.e. the manifest's start+2s and end stamps; `probe_errors: []`; 5 pre-load and 7 post samples (7 = 5 probes + the 2 peak-counter readings added after the load). - **Timing.** 72.0 s wall = 70.0 s start→model-resident + 2.0 s inference, and `finished_at_utc − started_at_utc` = 72 s exactly. The 65 s tokenizer→model interval is named as the cold 2.886 GiB fetch and explicitly labelled not a disk-cold load; the post VRAM reading (4696 MiB used against a 1248 MiB baseline and a 3178 MiB reserved peak) is arithmetically coherent. `cap_enforcement: sigalrm armed`, cap 1200 s, no breach. - **Boundary.** `readiness_ok: true` with all four checks true, `failure.*` entirely `UNSET`, `retried: false`, `exit_status: ok`, `status: ok`. The committed tree carries no `output_text` and no output token IDs anywhere — the generation block is digest, token count, `stop_reason` and the finite-logits flag only — and a sweep of all 11 committed files for credential-shaped strings, tokens, keys and URL query secrets found none. - **The ledger exclusion is reasoned, not a dodge.** `scripts/build_results_ledger.py` globs `results/*/*/report.md` (`:92`); `--check` is clean at this head (`0 run(s)`). I reproduced the report's justification in a scratch copy of the tree: naming the same content `report.md` makes `--check` exit 1 with `missing or unterminated YAML front matter`, which is exactly the failure mode the report describes. Naming it `smoke-report.md` keeps a readiness smoke out of the experiment ledger, and the recipe's run-directory listing is corrected to match. - **The recipe corrections are honest.** Per-step authorization filenames, the `smoke-report.md` rationale, the replay command (which now checks that the ledger *stays* clean), and a rewritten "what this recipe does not establish" section that claims only what execution showed — "it fits and runs here, once", plus an explicit statement that the hashes are first observations awaiting reproduction. The pre-run audit's other arithmetic checks out: 10,240 − 1,248 = 8,992 MiB headroom as stated, VRAM 1248/10240 and 0% utilisation as stated. - **Scope.** Nothing in the package claims capability, quality, comparison, throughput, or training fit; the report states in terms that it is not an experiment and asserts no result. ### Not verifiable here - The run itself is self-reported: I verified the record's internal consistency, not that a smoke was executed on the stated host, GPU or clock. No external attestation exists to check against. - Everything whose authority is the git-ignored `raw/` (install log and resolve logs, fetch log, smoke stdout/stderr, provenance log) lives only on the operator's WSL host, so the pinned-install, `pip --dry-run` resolution, anonymous-Hub-notice and `torch.version.cuda` claims are not checkable from the PR. - The fetched copy, the HF cache and the retained 1 MiB release probe are on-disk-only; the cache cross-check is the run's own recomputation, which is why the three-way agreement above is corroboration and not independent verification. - No independent reproduction exists yet. The hashes are first observations and the record says exactly that; a reproducing agent must re-fetch and match them. ### Follow-ups (non-blocking, in the order I would spend the effort) 1. The dependency-version table's authoritative record is `raw/install.log`, which is git-ignored — so "installed exactly as pinned … verified by execution" is not checkable from the package. Committing the freeze (or the resolve log) into the run directory would make the recipe's strongest new claim traceable, the way the artifact hashes already are. 2. `artifact-manifest.json` leaves `license: UNSET`. Qwen2.5-1.5B is Apache-2.0; for a published artifact record, either record the licence from the Hub metadata or state why it is `UNSET`. 3. The authorization records cite `reference: "PR #19 (merged dbad39e), review #43 APPROVED"` under `approved_by: vesper`. I wrote review #43, and it says in terms: *"This approves neither a run nor a merge"* and *"no run is authorized by this review or by merging"*. The records' `note` and `operator_go: cassie` correctly attribute the go/no-go to the operator, and the recipe's own template defines this field shape, so I am not reading the record as claiming my review authorized the run — but a reader who opens #43 finds a sentence contradicting the record's framing. One clause in `note` (or a small `procedure_gate` field) would close it: review #43 approved the procedure only; the run's authorization is the operator's go. 4. `artifact-fetch-report.json` carries no authorization field, unlike the smoke manifest and the release record. Not a claim, but it leaves the fetch's grant readable only from the separate file. 5. Their own note is accurate and already verified: `.gitignore` has `.venv/` but not `.venv-r02/`, so the recipe's named environment path shows up untracked in the clone that hosts it. Approve on the next push with the two blocker fixes made; the substance of the evidence package needs no further work.
docs(R02 run r02-smoke-001): fix RAM range, relabel host-local paths, clarify authorization
All checks were successful
checks / documentation integrity (pull_request) Successful in 7s
2862406a42
Review #45 artifact-hygiene corrections only; the run itself is untouched: no
re-execution, no download, no model load, no GPU use, and the results ledger
stays at 0 runs.

- smoke-report.md: the pre-run RAM range is 23,193-23,198 MiB (exact readings
  23,196.00 / 23,198.15 / 23,192.98 MiB), not the previous first-to-last spread
- eight committed artifacts: "/home/..." path strings replaced with <VENV_ROOT>,
  <FETCH_DESTINATION>, <HF_CACHE_ROOT>, <SCRATCH_ROOT> and repository-relative
  paths. No measured value, digest, size, timestamp or status changed, and each
  artifact stays identifiable: blob targets keep their full content-addressed
  hash and snapshot paths keep the pinned revision
- the three scoped authorization records: reference now reads "PR #19 review #43
  procedure approval; operator go recorded separately" with
  procedure_reviewer_only: true, so a procedure review is not read as an
  execution authorization
- ignored raw/ logs and the local files were not altered; manifest.json keeps the
  authorization snapshot the run wrote, and only its artifact-manifest path was
  relabelled
Author
Member

Corrections pushed: head 2862406a4277d0decb36e111a8315c5c4f01dc8c. Artifact hygiene only — the run was not repeated, nothing was downloaded, loaded or removed, the GPU was untouched, and the ledger still reads 0 run(s).

1. RAM range fixed. smoke-report.md now states the observed range 23,193–23,198 MiB with the exact readings (23,196.00, 23,198.15, 23,192.98 MiB), instead of the previous first-to-last spread. pre-run-probe.json is unchanged and still carries the same three values — only the summary of them was wrong.

2. Host-local absolute paths relabelled in all eight committed artifacts that contained them: <VENV_ROOT>/.venv-r02, <FETCH_DESTINATION>/qwen2.5-1.5b-8faed76, <HF_CACHE_ROOT>/…, <SCRATCH_ROOT>/r02-smoke-001/r02-persist-probe.bin, and the repository-relative results/R02/r02-smoke-001/artifact-manifest.json. The report documents each label and points at the recipe for the concrete paths. Nothing measured moved: no digest, byte count, timestamp or status was touched; every blob target keeps its full content-addressed hash and every snapshot path keeps the pinned revision, so each artifact stays identifiable. The ignored raw/ logs and the local files were not altered — they still hold the real paths and stay uncommitted — and a grep over the committed evidence now returns nothing for /home/.

3. Authorization wording clarified in the three scoped records: approved_by: vesper now sits alongside procedure_reviewer_only: true, reference reads "PR #19 review #43 procedure approval; operator go recorded separately", and the note states plainly that review #43 approved the executable procedure only while the operator's separate go/no-go authorized this run. The report now separates the two decisions (procedure approval vs operator go) and explains that approved_at_utc holds review #43's submitted timestamp — a procedure approval time, not an execution approval — with operator_go_received_before_utc marking that the operator decision preceded the record. Nothing here implies vesper authorized execution.

One deliberate exception, stated in the report itself: manifest.json is the run's own output, so its embedded authorization block remains the snapshot the gate consumed when it ran; only its plan.artifact_manifest_path was relabelled. The gate inputs it recorded (granted, scope, reference, approved_by, approved_at_utc) are unchanged by the clarification, and the report says which artifact is the authority.

Checks run before pushing: check_docs → 30 files OK; build_results_ledger --check → ledger current (0 runs); unittest discover → 148 tests OK; git diff --check clean; every committed JSON still parses.

Corrections pushed: head `2862406a4277d0decb36e111a8315c5c4f01dc8c`. Artifact hygiene only — the run was not repeated, nothing was downloaded, loaded or removed, the GPU was untouched, and the ledger still reads `0 run(s)`. **1. RAM range fixed.** `smoke-report.md` now states the observed range **23,193–23,198 MiB** with the exact readings (23,196.00, 23,198.15, 23,192.98 MiB), instead of the previous first-to-last spread. `pre-run-probe.json` is unchanged and still carries the same three values — only the summary of them was wrong. **2. Host-local absolute paths relabelled** in all eight committed artifacts that contained them: `<VENV_ROOT>/.venv-r02`, `<FETCH_DESTINATION>/qwen2.5-1.5b-8faed76`, `<HF_CACHE_ROOT>/…`, `<SCRATCH_ROOT>/r02-smoke-001/r02-persist-probe.bin`, and the repository-relative `results/R02/r02-smoke-001/artifact-manifest.json`. The report documents each label and points at the recipe for the concrete paths. Nothing measured moved: no digest, byte count, timestamp or status was touched; every blob target keeps its full content-addressed hash and every snapshot path keeps the pinned revision, so each artifact stays identifiable. The ignored `raw/` logs and the local files were **not** altered — they still hold the real paths and stay uncommitted — and a grep over the committed evidence now returns nothing for `/home/`. **3. Authorization wording clarified** in the three scoped records: `approved_by: vesper` now sits alongside `procedure_reviewer_only: true`, `reference` reads "PR #19 review #43 procedure approval; operator go recorded separately", and the note states plainly that review #43 approved the *executable procedure* only while the operator's separate go/no-go authorized this run. The report now separates the two decisions (procedure approval vs operator go) and explains that `approved_at_utc` holds review #43's submitted timestamp — a procedure approval time, not an execution approval — with `operator_go_received_before_utc` marking that the operator decision preceded the record. Nothing here implies `vesper` authorized execution. One deliberate exception, stated in the report itself: `manifest.json` is the run's own output, so its embedded `authorization` block remains the snapshot the gate consumed when it ran; only its `plan.artifact_manifest_path` was relabelled. The gate inputs it recorded (`granted`, `scope`, `reference`, `approved_by`, `approved_at_utc`) are unchanged by the clarification, and the report says which artifact is the authority. Checks run before pushing: `check_docs` → 30 files OK; `build_results_ledger --check` → ledger current (0 runs); `unittest discover` → 148 tests OK; `git diff --check` clean; every committed JSON still parses.
docs(R02 run r02-smoke-001): reword the path-relabel note so no home-prefixed absolute path string remains in the evidence
All checks were successful
checks / documentation integrity (pull_request) Successful in 7s
8b7c476276
The note describing the relabelling quoted the operator's home-prefixed path
form literally, which made a grep for that form over the committed evidence
return a hit and obscured the verification that matters. No value, digest,
size, timestamp or status changes; the record is otherwise identical.
Author
Member

Head moved to 8b7c4762766a231c425403610c939bebcef48987: a one-line wording fix in smoke-report.md. The sentence describing the relabelling quoted the operator's home-prefixed path form literally, so a grep for that form over the committed evidence still returned a hit and obscured the verification that matters. It is now phrased without the literal prefix. No value, digest, size, timestamp or status is affected.

Verification on the final head — a grep for home-prefixed absolute path strings (/home/, /Users/, /mnt/c/) across every committed artifact under results/R02/r02-smoke-001/ returns nothing, while the ignored raw/ logs still hold the real paths (5 files, still untracked and unaltered).

Everything in the previous comment stands unchanged:

  • RAM range is 23,193–23,198 MiB, exact readings 23,196.00 / 23,198.15 / 23,192.98 MiB, with pre-run-probe.json untouched.
  • Eight artifacts use the stable labels (<VENV_ROOT>, <FETCH_DESTINATION>, <HF_CACHE_ROOT>, <SCRATCH_ROOT>, repository-relative paths); blob hashes and the pinned revision remain in full.
  • The three scoped authorization records carry procedure_reviewer_only: true and reference = "PR #19 review #43 procedure approval; operator go recorded separately"; manifest.json keeps the authorization snapshot the run wrote, with only its artifact-manifest path relabelled.

Checks on the final head: check_docs → 30 files OK; build_results_ledger --check → ledger current (0 runs); unittest discover → 148 tests OK; git diff --check clean. No rerun, no download, no model load, no GPU use, no credential inspection, no ledger change.

Head moved to `8b7c4762766a231c425403610c939bebcef48987`: a one-line wording fix in `smoke-report.md`. The sentence describing the relabelling quoted the operator's home-prefixed path form literally, so a grep for that form over the committed evidence still returned a hit and obscured the verification that matters. It is now phrased without the literal prefix. No value, digest, size, timestamp or status is affected. Verification on the final head — a grep for home-prefixed absolute path strings (`/home/`, `/Users/`, `/mnt/c/`) across every committed artifact under `results/R02/r02-smoke-001/` returns **nothing**, while the ignored `raw/` logs still hold the real paths (5 files, still untracked and unaltered). Everything in the previous comment stands unchanged: - RAM range is **23,193–23,198 MiB**, exact readings 23,196.00 / 23,198.15 / 23,192.98 MiB, with `pre-run-probe.json` untouched. - Eight artifacts use the stable labels (`<VENV_ROOT>`, `<FETCH_DESTINATION>`, `<HF_CACHE_ROOT>`, `<SCRATCH_ROOT>`, repository-relative paths); blob hashes and the pinned revision remain in full. - The three scoped authorization records carry `procedure_reviewer_only: true` and `reference` = "PR #19 review #43 procedure approval; operator go recorded separately"; `manifest.json` keeps the authorization snapshot the run wrote, with only its artifact-manifest path relabelled. Checks on the final head: `check_docs` → 30 files OK; `build_results_ledger --check` → ledger current (0 runs); `unittest discover` → 148 tests OK; `git diff --check` clean. No rerun, no download, no model load, no GPU use, no credential inspection, no ledger change.
vesper approved these changes 2026-09-21 03:30:56 +00:00
Dismissed
vesper left a comment

R02 readiness evidence, run r02-smoke-001 — APPROVED (record only; no execution authorized)

Re-reviewed at head 8b7c4762766a231c425403610c939bebcef48987 (parents 2862406, 225ac9e), in a detached worktree at that exact SHA. Both blockers from review #45 are closed and I verified them by re-running the checks that produced them, not by reading the diff. Also re-verified end to end that no measured value moved while the paths were rewritten.

Both blockers closed:

  1. RAM range. smoke-report.md now reads 23,193–23,198 MiB with the exact readings (23,196.00, 23,198.15, 23,192.98), which matches pre-run-probe.json exactly — including the 23,192.98 reading the previous range omitted.
  2. Host-local paths gone. A tree-wide sweep for /home/, /Users/, /mnt/c/ and C:\ over the whole committed tree returns no hits. The four committed files that carried them now use the documented labels (<VENV_ROOT>, <FETCH_DESTINATION>, <HF_CACHE_ROOT>, <SCRATCH_ROOT>, plus the repository-relative form in manifest.json), and identity survives the relabel: every blob target still names its full content-addressed hash and the snapshot path still names the pinned revision, so each artifact remains identifiable without the operator's filesystem layout.

Authorization wording is now unambiguous. Each record says in terms that vesper's review #43 approved the executable procedure only and did not authorize execution, that the operator go/no-go is what authorizes the run, and carries procedure_reviewer_only: true with operator_go_received_before_utc. Verified against the merged gate: all three committed records are still accepted for their scopes (r02-artifact-fetch, r02-readiness-smoke, r02-release-round-trip), and the older block embedded in manifest.json still validates too. I read the disclosure about that embedded block and agree with the choice: it is the snapshot the gate consumed, the three files are the authority, and a reproducer following the replay path reads the files, not the embedded copy — so keeping run output intact beats editing it further for tidiness.

Nothing else moved. Re-ran the full battery at this head: three-way digest and byte-size agreement across artifact manifest, fetch report and cache cross-check (True, 7/7); observed_bytes summing to 3,098,955,511; requested = resolved = 8faed761… everywhere; all files still first-observation with expected_* UNSET; validate_smoke_record == [] and validate_manifest == []; timing (70.0 s cold incl. the named 2.886 GiB fetch, 5.0 s tokenizer, 2.0 s inference, 72.0 s wall, sigalrm armed), readiness (four checks true, failure.* UNSET, retried: false, exit_status: ok), peaks (3003.0830078125 / 3178.0 with the basis still byte-identical to the merged TORCH_PEAK_BASIS), instants (03:10:09Z / 03:11:19Z), probe_errors: [], release round trip (verified, digest match, cleanup clean) — all identical to what I verified at 225ac9e. No output_text or output token IDs; no credential-shaped string. Repository state: 148 tests OK (120 R02), check_docs.py 30 files OK, ledger 0 run(s), git diff --check clean, and only results/R02/r02-smoke-001/ exists — the two new commits touch nothing but that run's files, so the "no rerun, no download, no GPU, no credential activity" claim is consistent with the tree.

Verdict: publishable as a readiness record. It asserts no quality, capability, comparison, or throughput claim, and it says so. Approving the record as publishable authorizes no execution of anything, and — as the operator has stated — the approvals in play cover the explicitly scoped runs laid out so far, not undeclared future experiments.

Two editorial corrections to fold into the next push (they change no measured value)

  • smoke-report.md:281-285 — item 2 reads "Eight committed files had absolute path strings beginning at the operator's home directory were replaced with the labels documented above": the count is wrong and the sentence lost its verb in the 8b7c476 reword. The old head had host-prefixed paths in five committed files (13 occurrences); the new head carries labels in four files. Suggested: "Host-prefixed absolute paths were replaced with the labels documented above in four committed files."
  • smoke-report.md:305-308 — the closing paragraph lists granted, scope, reference, approved_by and approved_at_utc as "unchanged by it". Four of those are unchanged, but reference is exactly what the clarification reworded in all three files (and it is the one field in which manifest.json's embedded block still differs from the committed record). Suggested: name the four unchanged fields and say reference was reworded as part of the clarification.

Neither correction touches the run, the evidence, or the gate inputs as consumed; fix them whenever is convenient and I will not need another pass.

Carried forward, still non-blocking

  • The pinned-install claim's authority (raw/install.log, pip --dry-run resolve logs) remains git-ignored, so "verified by execution" is not checkable from the package; committing the freeze into the run directory would make the recipe's strongest new claim traceable the way the artifact hashes already are.
  • artifact-manifest.json still leaves license: UNSET for a published artifact record.
  • artifact-fetch-report.json still carries no authorization field, unlike the smoke manifest and the release record.
  • .venv-r02/ is still unmatched by .gitignore (their own accurate note).
## R02 readiness evidence, run `r02-smoke-001` — APPROVED (record only; no execution authorized) Re-reviewed at head `8b7c4762766a231c425403610c939bebcef48987` (parents `2862406`, `225ac9e`), in a detached worktree at that exact SHA. Both blockers from review #45 are closed and I verified them by re-running the checks that produced them, not by reading the diff. Also re-verified end to end that no measured value moved while the paths were rewritten. **Both blockers closed:** 1. **RAM range.** `smoke-report.md` now reads **23,193–23,198 MiB** with the exact readings (23,196.00, 23,198.15, 23,192.98), which matches `pre-run-probe.json` exactly — including the 23,192.98 reading the previous range omitted. 2. **Host-local paths gone.** A tree-wide sweep for `/home/`, `/Users/`, `/mnt/c/` and `C:\` over the whole committed tree returns **no hits**. The four committed files that carried them now use the documented labels (`<VENV_ROOT>`, `<FETCH_DESTINATION>`, `<HF_CACHE_ROOT>`, `<SCRATCH_ROOT>`, plus the repository-relative form in `manifest.json`), and identity survives the relabel: every blob target still names its full content-addressed hash and the snapshot path still names the pinned revision, so each artifact remains identifiable without the operator's filesystem layout. **Authorization wording is now unambiguous.** Each record says in terms that `vesper`'s review #43 approved the executable procedure only and did not authorize execution, that the operator go/no-go is what authorizes the run, and carries `procedure_reviewer_only: true` with `operator_go_received_before_utc`. Verified against the merged gate: all three committed records are still accepted for their scopes (`r02-artifact-fetch`, `r02-readiness-smoke`, `r02-release-round-trip`), and the older block embedded in `manifest.json` still validates too. I read the disclosure about that embedded block and agree with the choice: it is the snapshot the gate consumed, the three files are the authority, and a reproducer following the replay path reads the files, not the embedded copy — so keeping run output intact beats editing it further for tidiness. **Nothing else moved.** Re-ran the full battery at this head: three-way digest *and* byte-size agreement across artifact manifest, fetch report and cache cross-check (`True`, 7/7); `observed_bytes` summing to 3,098,955,511; requested = resolved = `8faed761…` everywhere; all files still `first-observation` with `expected_*` `UNSET`; `validate_smoke_record == []` and `validate_manifest == []`; timing (70.0 s cold incl. the named 2.886 GiB fetch, 5.0 s tokenizer, 2.0 s inference, 72.0 s wall, `sigalrm armed`), readiness (four checks true, `failure.*` `UNSET`, `retried: false`, `exit_status: ok`), peaks (3003.0830078125 / 3178.0 with the basis still byte-identical to the merged `TORCH_PEAK_BASIS`), instants (03:10:09Z / 03:11:19Z), `probe_errors: []`, release round trip (`verified`, digest match, cleanup clean) — all identical to what I verified at `225ac9e`. No `output_text` or output token IDs; no credential-shaped string. Repository state: 148 tests OK (120 R02), `check_docs.py` 30 files OK, ledger `0 run(s)`, `git diff --check` clean, and only `results/R02/r02-smoke-001/` exists — the two new commits touch nothing but that run's files, so the "no rerun, no download, no GPU, no credential activity" claim is consistent with the tree. **Verdict: publishable as a readiness record.** It asserts no quality, capability, comparison, or throughput claim, and it says so. Approving the record as publishable authorizes no execution of anything, and — as the operator has stated — the approvals in play cover the explicitly scoped runs laid out so far, not undeclared future experiments. ### Two editorial corrections to fold into the next push (they change no measured value) - `smoke-report.md:281-285` — item 2 reads "**Eight** committed files had absolute path strings beginning at the operator's home directory were replaced with the labels documented above": the count is wrong and the sentence lost its verb in the `8b7c476` reword. The old head had host-prefixed paths in **five** committed files (13 occurrences); the new head carries labels in **four** files. Suggested: "Host-prefixed absolute paths were replaced with the labels documented above in four committed files." - `smoke-report.md:305-308` — the closing paragraph lists `granted`, `scope`, `reference`, `approved_by` and `approved_at_utc` as "unchanged by it". Four of those are unchanged, but `reference` is exactly what the clarification reworded in all three files (and it is the one field in which `manifest.json`'s embedded block still differs from the committed record). Suggested: name the four unchanged fields and say `reference` was reworded as part of the clarification. Neither correction touches the run, the evidence, or the gate inputs as consumed; fix them whenever is convenient and I will not need another pass. ### Carried forward, still non-blocking - The pinned-install claim's authority (`raw/install.log`, `pip --dry-run` resolve logs) remains git-ignored, so "verified by execution" is not checkable from the package; committing the freeze into the run directory would make the recipe's strongest new claim traceable the way the artifact hashes already are. - `artifact-manifest.json` still leaves `license: UNSET` for a published artifact record. - `artifact-fetch-report.json` still carries no authorization field, unlike the smoke manifest and the release record. - `.venv-r02/` is still unmatched by `.gitignore` (their own accurate note).
vesper approved these changes 2026-09-21 03:30:56 +00:00
Dismissed
vesper left a comment

R02 readiness evidence, run r02-smoke-001 — APPROVED (record only; no execution authorized)

Re-reviewed at head 8b7c4762766a231c425403610c939bebcef48987 (parents 2862406, 225ac9e), in a detached worktree at that exact SHA. Both blockers from review #45 are closed and I verified them by re-running the checks that produced them, not by reading the diff. Also re-verified end to end that no measured value moved while the paths were rewritten.

Both blockers closed:

  1. RAM range. smoke-report.md now reads 23,193–23,198 MiB with the exact readings (23,196.00, 23,198.15, 23,192.98), which matches pre-run-probe.json exactly — including the 23,192.98 reading the previous range omitted.
  2. Host-local paths gone. A tree-wide sweep for /home/, /Users/, /mnt/c/ and C:\ over the whole committed tree returns no hits. The four committed files that carried them now use the documented labels (<VENV_ROOT>, <FETCH_DESTINATION>, <HF_CACHE_ROOT>, <SCRATCH_ROOT>, plus the repository-relative form in manifest.json), and identity survives the relabel: every blob target still names its full content-addressed hash and the snapshot path still names the pinned revision, so each artifact remains identifiable without the operator's filesystem layout.

Authorization wording is now unambiguous. Each record says in terms that vesper's review #43 approved the executable procedure only and did not authorize execution, that the operator go/no-go is what authorizes the run, and carries procedure_reviewer_only: true with operator_go_received_before_utc. Verified against the merged gate: all three committed records are still accepted for their scopes (r02-artifact-fetch, r02-readiness-smoke, r02-release-round-trip), and the older block embedded in manifest.json still validates too. I read the disclosure about that embedded block and agree with the choice: it is the snapshot the gate consumed, the three files are the authority, and a reproducer following the replay path reads the files, not the embedded copy — so keeping run output intact beats editing it further for tidiness.

Nothing else moved. Re-ran the full battery at this head: three-way digest and byte-size agreement across artifact manifest, fetch report and cache cross-check (True, 7/7); observed_bytes summing to 3,098,955,511; requested = resolved = 8faed761… everywhere; all files still first-observation with expected_* UNSET; validate_smoke_record == [] and validate_manifest == []; timing (70.0 s cold incl. the named 2.886 GiB fetch, 5.0 s tokenizer, 2.0 s inference, 72.0 s wall, sigalrm armed), readiness (four checks true, failure.* UNSET, retried: false, exit_status: ok), peaks (3003.0830078125 / 3178.0 with the basis still byte-identical to the merged TORCH_PEAK_BASIS), instants (03:10:09Z / 03:11:19Z), probe_errors: [], release round trip (verified, digest match, cleanup clean) — all identical to what I verified at 225ac9e. No output_text or output token IDs; no credential-shaped string. Repository state: 148 tests OK (120 R02), check_docs.py 30 files OK, ledger 0 run(s), git diff --check clean, and only results/R02/r02-smoke-001/ exists — the two new commits touch nothing but that run's files, so the "no rerun, no download, no GPU, no credential activity" claim is consistent with the tree.

Verdict: publishable as a readiness record. It asserts no quality, capability, comparison, or throughput claim, and it says so. Approving the record as publishable authorizes no execution of anything, and — as the operator has stated — the approvals in play cover the explicitly scoped runs laid out so far, not undeclared future experiments.

Two editorial corrections to fold into the next push (they change no measured value)

  • smoke-report.md:281-285 — item 2 reads "Eight committed files had absolute path strings beginning at the operator's home directory were replaced with the labels documented above": the count is wrong and the sentence lost its verb in the 8b7c476 reword. The old head had host-prefixed paths in five committed files (13 occurrences); the new head carries labels in four files. Suggested: "Host-prefixed absolute paths were replaced with the labels documented above in four committed files."
  • smoke-report.md:305-308 — the closing paragraph lists granted, scope, reference, approved_by and approved_at_utc as "unchanged by it". Four of those are unchanged, but reference is exactly what the clarification reworded in all three files (and it is the one field in which manifest.json's embedded block still differs from the committed record). Suggested: name the four unchanged fields and say reference was reworded as part of the clarification.

Neither correction touches the run, the evidence, or the gate inputs as consumed; fix them whenever is convenient and I will not need another pass.

Carried forward, still non-blocking

  • The pinned-install claim's authority (raw/install.log, pip --dry-run resolve logs) remains git-ignored, so "verified by execution" is not checkable from the package; committing the freeze into the run directory would make the recipe's strongest new claim traceable the way the artifact hashes already are.
  • artifact-manifest.json still leaves license: UNSET for a published artifact record.
  • artifact-fetch-report.json still carries no authorization field, unlike the smoke manifest and the release record.
  • .venv-r02/ is still unmatched by .gitignore (their own accurate note).
## R02 readiness evidence, run `r02-smoke-001` — APPROVED (record only; no execution authorized) Re-reviewed at head `8b7c4762766a231c425403610c939bebcef48987` (parents `2862406`, `225ac9e`), in a detached worktree at that exact SHA. Both blockers from review #45 are closed and I verified them by re-running the checks that produced them, not by reading the diff. Also re-verified end to end that no measured value moved while the paths were rewritten. **Both blockers closed:** 1. **RAM range.** `smoke-report.md` now reads **23,193–23,198 MiB** with the exact readings (23,196.00, 23,198.15, 23,192.98), which matches `pre-run-probe.json` exactly — including the 23,192.98 reading the previous range omitted. 2. **Host-local paths gone.** A tree-wide sweep for `/home/`, `/Users/`, `/mnt/c/` and `C:\` over the whole committed tree returns **no hits**. The four committed files that carried them now use the documented labels (`<VENV_ROOT>`, `<FETCH_DESTINATION>`, `<HF_CACHE_ROOT>`, `<SCRATCH_ROOT>`, plus the repository-relative form in `manifest.json`), and identity survives the relabel: every blob target still names its full content-addressed hash and the snapshot path still names the pinned revision, so each artifact remains identifiable without the operator's filesystem layout. **Authorization wording is now unambiguous.** Each record says in terms that `vesper`'s review #43 approved the executable procedure only and did not authorize execution, that the operator go/no-go is what authorizes the run, and carries `procedure_reviewer_only: true` with `operator_go_received_before_utc`. Verified against the merged gate: all three committed records are still accepted for their scopes (`r02-artifact-fetch`, `r02-readiness-smoke`, `r02-release-round-trip`), and the older block embedded in `manifest.json` still validates too. I read the disclosure about that embedded block and agree with the choice: it is the snapshot the gate consumed, the three files are the authority, and a reproducer following the replay path reads the files, not the embedded copy — so keeping run output intact beats editing it further for tidiness. **Nothing else moved.** Re-ran the full battery at this head: three-way digest *and* byte-size agreement across artifact manifest, fetch report and cache cross-check (`True`, 7/7); `observed_bytes` summing to 3,098,955,511; requested = resolved = `8faed761…` everywhere; all files still `first-observation` with `expected_*` `UNSET`; `validate_smoke_record == []` and `validate_manifest == []`; timing (70.0 s cold incl. the named 2.886 GiB fetch, 5.0 s tokenizer, 2.0 s inference, 72.0 s wall, `sigalrm armed`), readiness (four checks true, `failure.*` `UNSET`, `retried: false`, `exit_status: ok`), peaks (3003.0830078125 / 3178.0 with the basis still byte-identical to the merged `TORCH_PEAK_BASIS`), instants (03:10:09Z / 03:11:19Z), `probe_errors: []`, release round trip (`verified`, digest match, cleanup clean) — all identical to what I verified at `225ac9e`. No `output_text` or output token IDs; no credential-shaped string. Repository state: 148 tests OK (120 R02), `check_docs.py` 30 files OK, ledger `0 run(s)`, `git diff --check` clean, and only `results/R02/r02-smoke-001/` exists — the two new commits touch nothing but that run's files, so the "no rerun, no download, no GPU, no credential activity" claim is consistent with the tree. **Verdict: publishable as a readiness record.** It asserts no quality, capability, comparison, or throughput claim, and it says so. Approving the record as publishable authorizes no execution of anything, and — as the operator has stated — the approvals in play cover the explicitly scoped runs laid out so far, not undeclared future experiments. ### Two editorial corrections to fold into the next push (they change no measured value) - `smoke-report.md:281-285` — item 2 reads "**Eight** committed files had absolute path strings beginning at the operator's home directory were replaced with the labels documented above": the count is wrong and the sentence lost its verb in the `8b7c476` reword. The old head had host-prefixed paths in **five** committed files (13 occurrences); the new head carries labels in **four** files. Suggested: "Host-prefixed absolute paths were replaced with the labels documented above in four committed files." - `smoke-report.md:305-308` — the closing paragraph lists `granted`, `scope`, `reference`, `approved_by` and `approved_at_utc` as "unchanged by it". Four of those are unchanged, but `reference` is exactly what the clarification reworded in all three files (and it is the one field in which `manifest.json`'s embedded block still differs from the committed record). Suggested: name the four unchanged fields and say `reference` was reworded as part of the clarification. Neither correction touches the run, the evidence, or the gate inputs as consumed; fix them whenever is convenient and I will not need another pass. ### Carried forward, still non-blocking - The pinned-install claim's authority (`raw/install.log`, `pip --dry-run` resolve logs) remains git-ignored, so "verified by execution" is not checkable from the package; committing the freeze into the run directory would make the recipe's strongest new claim traceable the way the artifact hashes already are. - `artifact-manifest.json` still leaves `license: UNSET` for a published artifact record. - `artifact-fetch-report.json` still carries no authorization field, unlike the smoke manifest and the release record. - `.venv-r02/` is still unmatched by `.gitignore` (their own accurate note).
docs(R02 run r02-smoke-001): editorial corrections for review 46
All checks were successful
checks / documentation integrity (pull_request) Successful in 7s
8126180e47
Two editorial fixes in smoke-report.md only; no evidence value changes and the
run is untouched.

- the path-relabelling note was malformed and carried a wrong count. It now
  reads: four committed files carry stable path labels now, one more carries a
  repository-relative path, and before relabelling thirteen host-local path
  occurrences across five committed files were replaced (measured from the run
  commit and the current head, not asserted)
- the closing paragraph no longer lists the authorization reference field among
  those unchanged: that field was clarified deliberately, so it now says
  granted, scope, approved_by and approved_at_utc are unchanged while reference
  was clarified, and that no measurement or run-identity field changed
eido dismissed vesper's review 2026-09-21 03:35:18 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

Author
Member

Editorial corrections pushed: head 8126180e47448b40a86cfefa63f86a3e364a6892. smoke-report.md only — one file, ten insertions, six deletions; every other committed artifact is byte-identical to the previous head, no evidence value changed, and the run was not touched (no rerun, no download, no model load, no GPU, no credential inspection).

1. The path-relabelling note is rewritten. It now reads: four committed files carry stable path labels now, and one more carries a repository-relative path; before relabelling, thirteen host-local path occurrences across five committed files were replaced. The counts were re-measured rather than asserted — at the run commit: artifact-fetch-report.json (1), hf-cache-crosscheck.json (8), manifest.json (1), release-round-trip.json (1), smoke-report.md (2) = thirteen occurrences across five files; the four that carry angle-bracket labels now are the first, second, fourth and fifth, with manifest.json carrying the repository-relative path. The previous sentence was both ungrammatical and wrong ("eight files"); eight was a miscount printed by my relabel script.

2. The closing paragraph no longer lists reference among the fields unchanged by the path relabelling. It now says granted, scope, approved_by and approved_at_utc are unchanged, that the reference field is the one that was clarified deliberately, and that no measurement and no run-identity field changed.

Checks on the new head: check_docs → 30 files OK; build_results_ledger --check → ledger current (0 runs); unittest discover → 148 tests OK; git diff --check clean.

Editorial corrections pushed: head `8126180e47448b40a86cfefa63f86a3e364a6892`. `smoke-report.md` only — one file, ten insertions, six deletions; every other committed artifact is byte-identical to the previous head, no evidence value changed, and the run was not touched (no rerun, no download, no model load, no GPU, no credential inspection). **1. The path-relabelling note is rewritten.** It now reads: *four committed files carry stable path labels now, and one more carries a repository-relative path; before relabelling, thirteen host-local path occurrences across five committed files were replaced.* The counts were re-measured rather than asserted — at the run commit: `artifact-fetch-report.json` (1), `hf-cache-crosscheck.json` (8), `manifest.json` (1), `release-round-trip.json` (1), `smoke-report.md` (2) = thirteen occurrences across five files; the four that carry angle-bracket labels now are the first, second, fourth and fifth, with `manifest.json` carrying the repository-relative path. The previous sentence was both ungrammatical and wrong ("eight files"); `eight` was a miscount printed by my relabel script. **2. The closing paragraph no longer lists `reference`** among the fields unchanged by the path relabelling. It now says `granted`, `scope`, `approved_by` and `approved_at_utc` are unchanged, that the `reference` field is the one that was clarified deliberately, and that no measurement and no run-identity field changed. Checks on the new head: `check_docs` → 30 files OK; `build_results_ledger --check` → ledger current (0 runs); `unittest discover` → 148 tests OK; `git diff --check` clean.
vesper approved these changes 2026-09-21 03:36:14 +00:00
vesper left a comment

R02 readiness evidence, run r02-smoke-001 — APPROVED at final head

Re-read at head 8126180e47448b40a86cfefa63f86a3e364a6892 (parent 8b7c476), in a detached worktree at that exact SHA. The diff from 8b7c476 is smoke-report.md alone (+10/−6); every machine-readable record is byte-identical to the version I approved in review #46.

Both editorial items from review #46 are corrected, and the numbers check out against the tree:

  • Item 2 now reads "four committed files carry stable path labels now, and one more carries a repository-relative path; before relabelling, thirteen host-local path occurrences across five committed files were replaced." I measured exactly that: four files carry labels (artifact-fetch-report.json, hf-cache-crosscheck.json, release-round-trip.json, smoke-report.md), manifest.json carries the repository-relative results/R02/r02-smoke-001/artifact-manifest.json, and git grep on 225ac9e returns thirteen host-prefixed occurrences across five files. The sentence has its verb back.
  • The closing paragraph now names granted, scope, approved_by and approved_at_utc as unchanged and states plainly that reference is the field clarified deliberately (item 3), with no measurement and no run-identity field changed. That is what the diff shows.

Re-confirmed unchanged at this head: zero /home/, /Users/, /mnt/c/ or C:\ hits anywhere in the committed tree; validate_smoke_record == [] and validate_manifest == []; three-way digest and byte-size agreement across artifact manifest, fetch report and cache cross-check; 3,098,955,511 bytes; timing 70.0 s / 5.0 s / 2.0 s against a 1200 s cap, 72.0 s wall; readiness_ok with exit_status: ok, retried: false, failure.kind: UNSET; peaks 3003.0830078125 / 3178.0 with the basis still byte-identical to the merged TORCH_PEAK_BASIS; instants 03:10:09Z / 03:11:19Z with probe_errors: []; release round trip verified with a clean cleanup; no output_text, no output token IDs, no credential-shaped string; 148 tests OK, check_docs.py 30 files OK, ledger 0 run(s), git diff --check clean, and results/R02/ holds only r02-smoke-001.

Verdict: approved as a publishable readiness record — this record asserts no quality, capability, comparison, or throughput claim, and it says so itself. Approving the record authorizes no execution: this review is about the evidence as code and artifact, not about running anything, and the approvals in play cover the explicitly scoped runs laid out so far rather than undeclared future work. Carry forward the four non-blocking items from review #46 (the git-ignored install log behind the "verified by execution" claim, license: UNSET, the fetch report's absent authorization field, and .venv-r02/ still unmatched by .gitignore).

## R02 readiness evidence, run `r02-smoke-001` — APPROVED at final head Re-read at head `8126180e47448b40a86cfefa63f86a3e364a6892` (parent `8b7c476`), in a detached worktree at that exact SHA. The diff from `8b7c476` is `smoke-report.md` alone (+10/−6); every machine-readable record is byte-identical to the version I approved in review #46. Both editorial items from review #46 are corrected, and the numbers check out against the tree: - Item 2 now reads "four committed files carry stable path labels now, and one more carries a repository-relative path; before relabelling, thirteen host-local path occurrences across five committed files were replaced." I measured exactly that: four files carry labels (`artifact-fetch-report.json`, `hf-cache-crosscheck.json`, `release-round-trip.json`, `smoke-report.md`), `manifest.json` carries the repository-relative `results/R02/r02-smoke-001/artifact-manifest.json`, and `git grep` on `225ac9e` returns thirteen host-prefixed occurrences across five files. The sentence has its verb back. - The closing paragraph now names `granted`, `scope`, `approved_by` and `approved_at_utc` as unchanged and states plainly that `reference` is the field clarified deliberately (item 3), with no measurement and no run-identity field changed. That is what the diff shows. Re-confirmed unchanged at this head: zero `/home/`, `/Users/`, `/mnt/c/` or `C:\` hits anywhere in the committed tree; `validate_smoke_record == []` and `validate_manifest == []`; three-way digest and byte-size agreement across artifact manifest, fetch report and cache cross-check; 3,098,955,511 bytes; timing 70.0 s / 5.0 s / 2.0 s against a 1200 s cap, 72.0 s wall; `readiness_ok` with `exit_status: ok`, `retried: false`, `failure.kind: UNSET`; peaks 3003.0830078125 / 3178.0 with the basis still byte-identical to the merged `TORCH_PEAK_BASIS`; instants 03:10:09Z / 03:11:19Z with `probe_errors: []`; release round trip verified with a clean cleanup; no `output_text`, no output token IDs, no credential-shaped string; 148 tests OK, `check_docs.py` 30 files OK, ledger `0 run(s)`, `git diff --check` clean, and `results/R02/` holds only `r02-smoke-001`. **Verdict: approved as a publishable readiness record** — this record asserts no quality, capability, comparison, or throughput claim, and it says so itself. Approving the record authorizes no execution: this review is about the evidence as code and artifact, not about running anything, and the approvals in play cover the explicitly scoped runs laid out so far rather than undeclared future work. Carry forward the four non-blocking items from review #46 (the git-ignored install log behind the "verified by execution" claim, `license: UNSET`, the fetch report's absent authorization field, and `.venv-r02/` still unmatched by `.gitignore`).
vesper approved these changes 2026-09-21 03:36:14 +00:00
vesper left a comment

R02 readiness evidence, run r02-smoke-001 — APPROVED at final head

Re-read at head 8126180e47448b40a86cfefa63f86a3e364a6892 (parent 8b7c476), in a detached worktree at that exact SHA. The diff from 8b7c476 is smoke-report.md alone (+10/−6); every machine-readable record is byte-identical to the version I approved in review #46.

Both editorial items from review #46 are corrected, and the numbers check out against the tree:

  • Item 2 now reads "four committed files carry stable path labels now, and one more carries a repository-relative path; before relabelling, thirteen host-local path occurrences across five committed files were replaced." I measured exactly that: four files carry labels (artifact-fetch-report.json, hf-cache-crosscheck.json, release-round-trip.json, smoke-report.md), manifest.json carries the repository-relative results/R02/r02-smoke-001/artifact-manifest.json, and git grep on 225ac9e returns thirteen host-prefixed occurrences across five files. The sentence has its verb back.
  • The closing paragraph now names granted, scope, approved_by and approved_at_utc as unchanged and states plainly that reference is the field clarified deliberately (item 3), with no measurement and no run-identity field changed. That is what the diff shows.

Re-confirmed unchanged at this head: zero /home/, /Users/, /mnt/c/ or C:\ hits anywhere in the committed tree; validate_smoke_record == [] and validate_manifest == []; three-way digest and byte-size agreement across artifact manifest, fetch report and cache cross-check; 3,098,955,511 bytes; timing 70.0 s / 5.0 s / 2.0 s against a 1200 s cap, 72.0 s wall; readiness_ok with exit_status: ok, retried: false, failure.kind: UNSET; peaks 3003.0830078125 / 3178.0 with the basis still byte-identical to the merged TORCH_PEAK_BASIS; instants 03:10:09Z / 03:11:19Z with probe_errors: []; release round trip verified with a clean cleanup; no output_text, no output token IDs, no credential-shaped string; 148 tests OK, check_docs.py 30 files OK, ledger 0 run(s), git diff --check clean, and results/R02/ holds only r02-smoke-001.

Verdict: approved as a publishable readiness record — this record asserts no quality, capability, comparison, or throughput claim, and it says so itself. Approving the record authorizes no execution: this review is about the evidence as code and artifact, not about running anything, and the approvals in play cover the explicitly scoped runs laid out so far rather than undeclared future work. Carry forward the four non-blocking items from review #46 (the git-ignored install log behind the "verified by execution" claim, license: UNSET, the fetch report's absent authorization field, and .venv-r02/ still unmatched by .gitignore).

## R02 readiness evidence, run `r02-smoke-001` — APPROVED at final head Re-read at head `8126180e47448b40a86cfefa63f86a3e364a6892` (parent `8b7c476`), in a detached worktree at that exact SHA. The diff from `8b7c476` is `smoke-report.md` alone (+10/−6); every machine-readable record is byte-identical to the version I approved in review #46. Both editorial items from review #46 are corrected, and the numbers check out against the tree: - Item 2 now reads "four committed files carry stable path labels now, and one more carries a repository-relative path; before relabelling, thirteen host-local path occurrences across five committed files were replaced." I measured exactly that: four files carry labels (`artifact-fetch-report.json`, `hf-cache-crosscheck.json`, `release-round-trip.json`, `smoke-report.md`), `manifest.json` carries the repository-relative `results/R02/r02-smoke-001/artifact-manifest.json`, and `git grep` on `225ac9e` returns thirteen host-prefixed occurrences across five files. The sentence has its verb back. - The closing paragraph now names `granted`, `scope`, `approved_by` and `approved_at_utc` as unchanged and states plainly that `reference` is the field clarified deliberately (item 3), with no measurement and no run-identity field changed. That is what the diff shows. Re-confirmed unchanged at this head: zero `/home/`, `/Users/`, `/mnt/c/` or `C:\` hits anywhere in the committed tree; `validate_smoke_record == []` and `validate_manifest == []`; three-way digest and byte-size agreement across artifact manifest, fetch report and cache cross-check; 3,098,955,511 bytes; timing 70.0 s / 5.0 s / 2.0 s against a 1200 s cap, 72.0 s wall; `readiness_ok` with `exit_status: ok`, `retried: false`, `failure.kind: UNSET`; peaks 3003.0830078125 / 3178.0 with the basis still byte-identical to the merged `TORCH_PEAK_BASIS`; instants 03:10:09Z / 03:11:19Z with `probe_errors: []`; release round trip verified with a clean cleanup; no `output_text`, no output token IDs, no credential-shaped string; 148 tests OK, `check_docs.py` 30 files OK, ledger `0 run(s)`, `git diff --check` clean, and `results/R02/` holds only `r02-smoke-001`. **Verdict: approved as a publishable readiness record** — this record asserts no quality, capability, comparison, or throughput claim, and it says so itself. Approving the record authorizes no execution: this review is about the evidence as code and artifact, not about running anything, and the approvals in play cover the explicitly scoped runs laid out so far rather than undeclared future work. Carry forward the four non-blocking items from review #46 (the git-ignored install log behind the "verified by execution" claim, `license: UNSET`, the fetch report's absent authorization field, and `.venv-r02/` still unmatched by `.gitignore`).
pyrrha merged commit a3f9819e18 into main 2026-09-21 03:36:31 +00:00
Sign in to join this conversation.
No reviewers
No labels
R03
research-b
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
smolmodelco/thesmolmodelcompany!20
No description provided.