# Adapter Matrix CPU-Safe Tournament Created: `2026-05-22T02:41:28` Mode: `cpu_safe_existing_reports_matrix_no_gpu` ## Executive Summary `v50` ranks first by broad historical evidence, but `frankenB_flagship` wins the flagship challenge lane because replacement requires preserving Franken-B's +106.76% vision and +103.32% fused edge. V58R remains the primary pending challenger because training is still running and no completed adapter exists yet. ## Flagship Challenge Ranking This lane answers only whether a candidate can replace Franken-B. Missing or broken fusion evidence is capped below the control. | Rank | Candidate | Challenge | Raw | Vision | Fused | Gate Flags | |---:|---|---:|---:|---:|---:|---| | 1 | `frankenB_flagship` | 0.9423 | 0.8031 | 106.760 | 103.320 | | | 2 | `franken_v6x` | 0.6020 | 0.7950 | 50.970 | 76.370 | fusion_below_frankenB_gate | | 3 | `v37s` | 0.5788 | 0.8475 | 43.990 | 68.060 | fusion_below_frankenB_gate | | 4 | `v6_governor` | 0.4558 | 0.7976 | 49.220 | 25.760 | fusion_below_frankenB_gate | | 5 | `v50` | 0.4100 | 0.9111 | n/a | n/a | fusion_unproven | | 6 | `v55` | 0.3780 | 0.8400 | n/a | n/a | fusion_unproven | | 7 | `v61` | 0.3322 | 0.7381 | n/a | n/a | fusion_unproven | | 8 | `v4_full` | 0.3297 | 0.7326 | n/a | n/a | fusion_unproven | | 9 | `v3_full` | 0.3054 | 0.6649 | 10.520 | 37.270 | fusion_below_frankenB_gate | | 10 | `v58` | 0.3033 | 0.6740 | n/a | n/a | fusion_unproven | | 11 | `v5_full` | 0.2659 | 0.7221 | -21.900 | 30.910 | vision_negative, fusion_below_frankenB_gate | | 12 | `v6_frankenB` | 0.2280 | 0.6243 | -55.920 | -5.040 | vision_negative, fused_negative, fusion_below_frankenB_gate | | 13 | `v56` | 0.2239 | 0.5863 | -64.890 | -31.470 | vision_negative, fused_negative, fusion_below_frankenB_gate | | 14 | `v59` | 0.1812 | 0.5291 | -61.250 | 7.670 | vision_negative, fusion_below_frankenB_gate | | 15 | `v58c` | 0.0332 | 0.1106 | -10.320 | -29.900 | vision_negative, fused_negative, fusion_below_frankenB_gate | | 16 | `qwen35_base` | 0.0000 | 0.0000 | n/a | n/a | fusion_unproven | | 17 | `v27_trained` | 0.0000 | 0.0000 | n/a | n/a | fusion_unproven | | 18 | `v58R_pending` | 0.0000 | 0.0000 | n/a | n/a | fusion_unproven | ## Ranked Evidence | Rank | Candidate | Recipe | Score | Strict | Corpus | Adv | Hard | Vision | Fused | Flags | |---:|---|---|---:|---:|---:|---:|---:|---:|---:|---| | 1 | `v50` | Qwen3.5 9B + v50 LM LoRA | 0.9111 | n/a | 0.906 | 1.000 | n/a | n/a | n/a | | | 2 | `v37s` | v3.7s merged base | 0.8475 | n/a | 0.948 | 0.900 | n/a | 43.990 | 68.060 | | | 3 | `v55` | v37s -> v50 | 0.8400 | n/a | n/a | n/a | n/a | n/a | n/a | | | 4 | `frankenB_flagship` | v37s -> v50 -> v58 last-3 | 0.8031 | 0.722 | 0.882 | 0.833 | n/a | 106.760 | 103.320 | | | 5 | `v6_governor` | v6 merged governance/verifier | 0.7976 | n/a | 0.873 | 1.000 | n/a | 49.220 | 25.760 | | | 6 | `franken_v6x` | v55 -> v6 -> v58 last-3 | 0.7950 | n/a | 0.864 | 0.767 | n/a | 50.970 | 76.370 | | | 7 | `v61` | v6.1 merged / gate reports | 0.7381 | n/a | 0.699 | n/a | n/a | n/a | n/a | | | 8 | `v4_full` | FrankenB + v4 phase1+phase2 corrector | 0.7326 | 0.733 | n/a | n/a | n/a | n/a | n/a | | | 9 | `v5_full` | FrankenB + v5 phase1 corrector | 0.7221 | 0.817 | 0.881 | 0.767 | 0.940 | -21.900 | 30.910 | vision_negative | | 10 | `v58` | v50 -> v58 last-3 | 0.6740 | n/a | 0.625 | n/a | n/a | n/a | n/a | | | 11 | `v3_full` | FrankenB + v3 phase1+phase2 corrector | 0.6649 | 0.736 | n/a | n/a | n/a | 10.520 | 37.270 | | | 12 | `v6_frankenB` | FrankenB + v6 phase1 corrector | 0.6243 | n/a | 0.881 | 0.867 | 0.940 | -55.920 | -5.040 | vision_negative, fused_negative | | 13 | `v56` | v55 successor / sanity battery | 0.5863 | n/a | 0.879 | 0.933 | n/a | -64.890 | -31.470 | vision_negative, fused_negative | | 14 | `v59` | v59 fusion branch | 0.5291 | n/a | 0.629 | n/a | n/a | -61.250 | 7.670 | vision_negative | | 15 | `v58c` | v58c fusion branch | 0.1106 | n/a | n/a | n/a | n/a | -10.320 | -29.900 | vision_negative, fused_negative | | 16 | `qwen35_base` | Qwen3.5-9B base, no VFAI adapter | 0.0000 | n/a | n/a | n/a | n/a | n/a | n/a | | | 17 | `v27_trained` | v27 veto-balanced-schema merged | 0.0000 | n/a | n/a | n/a | n/a | n/a | n/a | | | 18 | `v58R_pending` | FrankenB + rebuilt V58R lm_last3 adapter | 0.0000 | n/a | n/a | n/a | n/a | n/a | n/a | | ## GPU Promotion Queue 1. `frankenB_flagship` - control to beat; only candidate with +100% vision/fused evidence 2. `v58R_pending` - run first once adapter finishes; explicitly designed to keep vision while fixing v58 regressions 3. `v5_full` - best completed strict-boundary corrector, but must prove fusion does not stay broken 4. `v6_frankenB` - best completed adversarial/hard-boundary follow-up, but fusion regression is severe 5. `v37s` - fusion text sidecar/control with strong pre-Franken evidence ## Adapter Inventory | Adapter | Has Adapter | Train Rows | Base | Target | Manifest/Dataset | |---|---:|---:|---|---|---| | `v3_phase1` | True | 54 | E:/vfai-x_3.5_9b/models/franken_v37s_v50_v58_20260520/vfai-qwen35-9b-v37s-v50-v58-merged | model\.language_model\.layers\.\d+\.(linear_attn\.(in_proj_a|in_proj_b|in_proj_qkv|in_proj_z|out_proj)|self_attn\.(q_proj|k_proj|v_proj|o_proj)|mlp\.(gate_proj|up_proj|down_proj)) | `D:\vfai-x-model-backups\frankenB_corrector_loop_20260521\iter_v3\phase1\vfai_v3_phase1_crystals_manifest.json` | | `v3_phase2` | True | 3528 | E:/vfai-x_3.5_9b/models/franken_v37s_v50_v58_20260520/vfai-qwen35-9b-v37s-v50-v58-merged | model\.language_model\.layers\.\d+\.(linear_attn\.(in_proj_a|in_proj_b|in_proj_qkv|in_proj_z|out_proj)|self_attn\.(q_proj|k_proj|v_proj|o_proj)|mlp\.(gate_proj|up_proj|down_proj)) | `D:\vfai-x-model-backups\frankenB_corrector_loop_20260521\iter_v3\phase2\vfai_v3_phase2_manifest.json` | | `v4_phase1` | True | 42 | E:/vfai-x_3.5_9b/models/franken_v37s_v50_v58_20260520/vfai-qwen35-9b-v37s-v50-v58-merged | model\.language_model\.layers\.\d+\.(linear_attn\.(in_proj_a|in_proj_b|in_proj_qkv|in_proj_z|out_proj)|self_attn\.(q_proj|k_proj|v_proj|o_proj)|mlp\.(gate_proj|up_proj|down_proj)) | `D:\vfai-x-model-backups\frankenB_corrector_loop_20260521\iter_v4\phase1\vfai_v4_phase1_manifest.json` | | `v4_phase2` | True | 3528 | E:/vfai-x_3.5_9b/models/franken_v37s_v50_v58_20260520/vfai-qwen35-9b-v37s-v50-v58-merged | model\.language_model\.layers\.\d+\.(linear_attn\.(in_proj_a|in_proj_b|in_proj_qkv|in_proj_z|out_proj)|self_attn\.(q_proj|k_proj|v_proj|o_proj)|mlp\.(gate_proj|up_proj|down_proj)) | `D:\vfai-x-model-backups\frankenB_corrector_loop_20260521\iter_v4\phase2\vfai_v4_phase2_manifest.json` | | `v5_phase1` | True | 109 | E:/vfai-x_3.5_9b/models/franken_v37s_v50_v58_20260520/vfai-qwen35-9b-v37s-v50-v58-merged | model\.language_model\.layers\.\d+\.(linear_attn\.(in_proj_a|in_proj_b|in_proj_qkv|in_proj_z|out_proj)|self_attn\.(q_proj|k_proj|v_proj|o_proj)|mlp\.(gate_proj|up_proj|down_proj)) | `D:\vfai-x-model-backups\frankenB_corrector_loop_20260521\iter_v5\phase1\vfai_v5_phase1_manifest.json` | | `v5_phase2` | True | n/a | E:/vfai-x_3.5_9b/models/franken_v37s_v50_v58_20260520/vfai-qwen35-9b-v37s-v50-v58-merged | model\.language_model\.layers\.\d+\.(linear_attn\.(in_proj_a|in_proj_b|in_proj_qkv|in_proj_z|out_proj)|self_attn\.(q_proj|k_proj|v_proj|o_proj)|mlp\.(gate_proj|up_proj|down_proj)) | `` | | `v6_phase1` | True | 193 | E:/vfai-x_3.5_9b/models/franken_v37s_v50_v58_20260520/vfai-qwen35-9b-v37s-v50-v58-merged | model\.language_model\.layers\.\d+\.(linear_attn\.(in_proj_a|in_proj_b|in_proj_qkv|in_proj_z|out_proj)|self_attn\.(q_proj|k_proj|v_proj|o_proj)|mlp\.(gate_proj|up_proj|down_proj)) | `D:\vfai-x-model-backups\frankenB_corrector_loop_20260521\iter_v6\phase1\vfai_v6_phase1_clean_manifest.json` | | `v58R_phase1` | False | 581 | n/a | lm_last3 (running train command) | `D:\vfai-x-model-backups\frankenB_corrector_loop_20260521\iter_v58R\v58R_train_manifest.json` | | `v50_lora` | True | 99672 | /vol/base/Qwen3.5-9B | model\.language_model\.layers\.\d+\.(self_attn\.(q_proj|k_proj|v_proj|o_proj)|mlp\.(gate_proj|up_proj|down_proj)) | `E:\vfai-x_3.5_9b\models\v50_lm_lora_20260519_0614\v50_lm_lora\vfai_v50_manifest.json` | | `v58_last3` | True | 7914 | tjarvis91/vfai-v50-merged-base | model\.language_model\.layers\.(29|30)\.linear_attn\.(in_proj_a|in_proj_b|in_proj_qkv|in_proj_z|out_proj)|model\.language_model\.layers\.31\.self_attn\.(q_proj|k_proj|v_proj|o_proj)|model\.language_model\.layers\.(29|30|31)\.mlp\.(gate_proj|up_proj|down_proj) | `E:\vfai-x_3.5_9b\v5.8\hf_pull\tjarvis91__vfai-v58-adapter-v58_profit_direction_ondemand_lmlast3_300s_retry2_20260520\vfai_v58_profit_direction_ondemand_lmlast3_300s_retry2_20260520_manifest.json` | ## Staged Permutations These are the adapter-order candidates to run as actual CPU smoke after V58R finishes and the GPU is no longer training: | Recipe | Status | |---|---| | frankenB -> v5p1 -> v6p1 | `NEEDS_CPU_SMOKE` | | frankenB -> v6p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | frankenB -> v5p1 -> v58R | `WAIT_FOR_V58R` | | frankenB -> v58R -> v5p1 | `WAIT_FOR_V58R` | | frankenB -> v6p1 -> v58R | `WAIT_FOR_V58R` | | frankenB -> v58R -> v6p1 | `WAIT_FOR_V58R` | | frankenB -> v3p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | frankenB -> v5p1 -> v4p1 | `NEEDS_CPU_SMOKE` | | frankenB -> v4p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | frankenB -> v5p1 -> v6p1 -> v58R | `WAIT_FOR_V58R` | | frankenB -> v58R -> v5p1 -> v6p1 | `WAIT_FOR_V58R` | | v37s -> v5p1 -> v6p1 | `NEEDS_CPU_SMOKE` | | v37s -> v6p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | v37s -> v5p1 -> v58R | `WAIT_FOR_V58R` | | v37s -> v58R -> v5p1 | `WAIT_FOR_V58R` | | v37s -> v6p1 -> v58R | `WAIT_FOR_V58R` | | v37s -> v58R -> v6p1 | `WAIT_FOR_V58R` | | v37s -> v3p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | v37s -> v5p1 -> v4p1 | `NEEDS_CPU_SMOKE` | | v37s -> v4p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | v37s -> v5p1 -> v6p1 -> v58R | `WAIT_FOR_V58R` | | v37s -> v58R -> v5p1 -> v6p1 | `WAIT_FOR_V58R` | | v50 -> v5p1 -> v6p1 | `NEEDS_CPU_SMOKE` | | v50 -> v6p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | v50 -> v5p1 -> v58R | `WAIT_FOR_V58R` | | v50 -> v58R -> v5p1 | `WAIT_FOR_V58R` | | v50 -> v6p1 -> v58R | `WAIT_FOR_V58R` | | v50 -> v58R -> v6p1 | `WAIT_FOR_V58R` | | v50 -> v3p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | v50 -> v5p1 -> v4p1 | `NEEDS_CPU_SMOKE` | | v50 -> v4p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | v50 -> v5p1 -> v6p1 -> v58R | `WAIT_FOR_V58R` | | v50 -> v58R -> v5p1 -> v6p1 | `WAIT_FOR_V58R` | | v6_governor -> v5p1 -> v6p1 | `NEEDS_CPU_SMOKE` | | v6_governor -> v6p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | v6_governor -> v5p1 -> v58R | `WAIT_FOR_V58R` | | v6_governor -> v58R -> v5p1 | `WAIT_FOR_V58R` | | v6_governor -> v6p1 -> v58R | `WAIT_FOR_V58R` | | v6_governor -> v58R -> v6p1 | `WAIT_FOR_V58R` | | v6_governor -> v3p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | v6_governor -> v5p1 -> v4p1 | `NEEDS_CPU_SMOKE` | | v6_governor -> v4p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | v6_governor -> v5p1 -> v6p1 -> v58R | `WAIT_FOR_V58R` | | v6_governor -> v58R -> v5p1 -> v6p1 | `WAIT_FOR_V58R` | | franken_v6x -> v5p1 -> v6p1 | `NEEDS_CPU_SMOKE` | | franken_v6x -> v6p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | franken_v6x -> v5p1 -> v58R | `WAIT_FOR_V58R` | | franken_v6x -> v58R -> v5p1 | `WAIT_FOR_V58R` | | franken_v6x -> v6p1 -> v58R | `WAIT_FOR_V58R` | | franken_v6x -> v58R -> v6p1 | `WAIT_FOR_V58R` | | franken_v6x -> v3p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | franken_v6x -> v5p1 -> v4p1 | `NEEDS_CPU_SMOKE` | | franken_v6x -> v4p1 -> v5p1 | `NEEDS_CPU_SMOKE` | | franken_v6x -> v5p1 -> v6p1 -> v58R | `WAIT_FOR_V58R` | | franken_v6x -> v58R -> v5p1 -> v6p1 | `WAIT_FOR_V58R` | ## Files - JSON: `D:\vfai-x-model-backups\frankenB_corrector_loop_20260521\tournament\adapter_matrix_tournament_20260522_024128.json` - Markdown: `D:\vfai-x-model-backups\frankenB_corrector_loop_20260521\tournament\ADAPTER_MATRIX_TOURNAMENT_20260522_024128.md` - Original CPU tournament: `E:/vfai-x_3.5_9b/evals/vpa_learning/reports/FRANKEN_CPU_TOURNAMENT_20260520.md` - Prior V5 CPU tournament: `D:/vfai-x-model-backups/frankenB_corrector_loop_20260521/tournament/CODEX_CPU_TOURNAMENT_V5_REPORT_20260521_214837.md` ## Notes - No GPU process was started by this script. - V58R is training now and is marked pending until `adapter_model.safetensors` exists. - The current evidence says boundary correctors improve strict/corpus behavior but regress Franken-B's vision/fused edge.