persona: fix what the persona/ move broke, and add the gates that would have caught it

- phase3_lora_and_transplant: slice_qwen4exp_gguf stayed at top-level scripts/ - trainer REPO vs ROOT: vendor/ and models/ are not under persona/, and ensure_gguf_bridge mkdirs lib_path.parent, so a directory probe on persona/vendor self-validated a wrong root - --validate-only / --export-only were never added to main()'s dispatch, so both exited 0 having printed --help: success with no work done - --export-only: re-export a checkpoint at another quantization without a 28 min val sweep - evaluate_validation_splits: guard each window against OOM and log its CE, because an unguarded 28 min silent sweep reads exactly like a crashed process - transplant_persona_writers: CLI bundle/out paths measured: epoch-2 heldout win rate 1.0 (49/49), ood_ce 0.8774. q8_0 writer export flattens the voice on 3/3 probes against in_place at pinned MoCE routing; in_place (3.90 GB) matches base in voice and is 440 MB smaller, so it is the only correct default export type for this model.

92a523f0 parent 156bd084 +184 −25
browse files