ops(erp-tune): stage + launch R47 ERP-seat SFT run 5 on pfi-gx10

Run 5 = the dependency-forcing corpus arm: airoboros-3.2 OUT of the 20% slot,
govreport/clean-v1 (496) + qmsum/clean-v1 (97) IN, at run 4's lr 2e-04 with
everything else held. kvasir byte-identical (survivors-r5 = survivors-r4 minus
airoboros plus the two new roots whole). Operator authorized the launch to
infra-ops directly; grant operator-2026-09-07-rnd-run5.

Canonical copies of the config, launcher and survivors builder; runbook
docs/runbooks/gx10-run-05.md. Launch gates all passed (7/7 root shas + shard
hashes, survivor join 8,212 = recipe, holdout disjoint, window_count==1 on all
593 slot rows, realized [mix] slot loss 3.46% vs preregistered 3.4%). 524 steps.
persistent-memory current-state updated: run 5 LAUNCHED + training.
This commit is contained in:
vh
2026-09-07 09:33:03 -07:00
parent 61001e69e5
commit 265357efb2
6 changed files with 299 additions and 25 deletions
+31 -16
View File
@@ -1,20 +1,35 @@
# erp-tune on pfi-gx10
Canonical copies of what is staged on pfi-gx10 for ERP-seat SFT **run 3c** —
the LoRA that died on ana-ml2 at step 24 of 604 when an Anaheim breaker tripped.
| file | deployed to |
|---|---|
| `run-03c-gx10.json` | `/home/infra-ops/erp-tune/run-03c-gx10.json` |
| `launch-run-03c.sh` | `/home/infra-ops/erp-tune/launch-run-03c.sh` |
`run-03c-gx10.json` is `ana-ml2:/tank/erp-tune/run-03c.json` with its eight path
keys rehomed to local NVMe and two `substitute_controls` entries appended
recording the host move and the library delta. **No hyperparameter, corpus,
base, mask or recipe value differs** — verified key-by-key at generation.
Full context, what was verified and how to launch:
[`docs/runbooks/gx10-run-03c.md`](../../docs/runbooks/gx10-run-03c.md).
Canonical copies of what is staged on pfi-gx10 for the R47 ERP-seat SFT runs.
The harness itself (`eitri-smithy`) is not vendored here; it lives on the box at
`/home/infra-ops/erp-tune/eitri-smithy`, git `0a6bd2e`.
| file | deployed to | run |
|---|---|---|
| `run-03c-gx10.json` | `/home/infra-ops/erp-tune/run-03c-gx10.json` | 3c |
| `launch-run-03c.sh` | `/home/infra-ops/erp-tune/launch-run-03c.sh` | 3c |
| `run-05-gx10.json` | `/home/infra-ops/erp-tune/run-05-gx10.json` | 5 |
| `launch-run-05.sh` | `/home/infra-ops/erp-tune/launch-run-05.sh` | 5 |
| `build_r5_survivors.py` | `/home/infra-ops/erp-tune/build_r5_survivors.py` | 5 |
Runbooks: [`docs/runbooks/gx10-run-03c.md`](../../docs/runbooks/gx10-run-03c.md),
[`docs/runbooks/gx10-run-05.md`](../../docs/runbooks/gx10-run-05.md).
**Run 3c** — the LoRA that died on ana-ml2 at step 24 when an Anaheim breaker
tripped, rehomed here unchanged (eight path keys rehomed to local NVMe, two host/
library `substitute_controls` appended; no hyperparameter/corpus/base/mask/recipe
value differs, verified key-by-key).
**Run 5** — third R47 corpus-gate run: the 20% slot's composition changes
(airoboros OUT, dependency-forcing govreport + qmsum IN) at run 4's lr 2e-04,
everything else held; kvasir byte-identical (survivors reused from run 4).
`run-05-gx10.json` is run 4's config with recipe/survivors/override swapped.
> **Run 4 is not vendored here.** It ran on the box (config `run-04-gx10.json`,
> gated STILL-COUPLED) but its canonical copies were never committed; run 5's
> `build_r5_survivors.py` derives from `survivors-r4.jsonl` on the box, so run 4
> is a live dependency of the run-5 build even though it is absent from this repo.
Each `run-*-gx10.json` carries its run-scoped `training_eligibility_override`,
`overridden_blockers` and `substitute_controls` so the adapter's provenance
manifest records the grant, the two open blockers and their substitute controls.