soup-cli 0.76.0__tar.gz → 0.76.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- soup_cli-0.76.1/.github/constraints/transformers-floor.txt +25 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/workflows/ci.yml +11 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/CHANGELOG.md +42 -4
- {soup_cli-0.76.0 → soup_cli-0.76.1}/CONTRIBUTING.md +29 -28
- {soup_cli-0.76.0 → soup_cli-0.76.1}/PKG-INFO +48 -58
- {soup_cli-0.76.0 → soup_cli-0.76.1}/README.ar.md +61 -38
- {soup_cli-0.76.0 → soup_cli-0.76.1}/README.ja.md +61 -39
- {soup_cli-0.76.0 → soup_cli-0.76.1}/README.md +46 -56
- {soup_cli-0.76.0 → soup_cli-0.76.1}/README.tr.md +64 -43
- {soup_cli-0.76.0 → soup_cli-0.76.1}/README.zh.md +57 -37
- {soup_cli-0.76.0 → soup_cli-0.76.1}/changelog.d/README.md +3 -2
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/backends-and-ops.md +4 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/performance-and-quantization.md +7 -6
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/serving-and-export.md +1 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/pyproject.toml +13 -2
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/__init__.py +1 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cans/unpack.py +10 -16
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cli.py +6 -4
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/adapters.py +12 -4
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/deploy.py +10 -3
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/doctor.py +3 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/eval.py +3 -2
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/export.py +1 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/plan.py +2 -3
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/push.py +8 -3
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/recipes.py +5 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/ship.py +1 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/train.py +10 -5
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/config/loader.py +83 -5
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/formats.py +250 -19
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/loader.py +36 -4
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/gate.py +4 -2
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/judge.py +4 -3
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/migrate/axolotl.py +4 -4
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/migrate/llamafactory.py +4 -4
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/online_dpo.py +10 -6
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/agent_forge.py +2 -2
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/argv_redaction.py +98 -25
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/build_dag.py +3 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/checklist_dsl.py +2 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/data_mix.py +2 -3
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/expectations.py +3 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/license_matrix.py +4 -2
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/mix_proxy.py +6 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ra_dit_run.py +2 -2
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/recipe_dag.py +3 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/save_formats.py +4 -3
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/sweep_config.py +2 -3
- soup_cli-0.76.1/src/soup_cli/utils/yaml_limits.py +403 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_argv_redaction_bundled_shorts.py +10 -3
- soup_cli-0.76.1/tests/test_argv_redaction_command_tree.py +470 -0
- soup_cli-0.76.1/tests/test_cli_dependency_floors.py +313 -0
- soup_cli-0.76.1/tests/test_config_loader_limits.py +698 -0
- soup_cli-0.76.1/tests/test_formats_preference_layouts.py +1179 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue897_ui_yaml_body_cap.py +6 -2
- soup_cli-0.76.1/tests/test_loader_hub_id_routing.py +329 -0
- soup_cli-0.76.1/tests/test_trainer_preference_layouts.py +475 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_transformers_floor_compat.py +7 -1
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_yaml_expanded_limit.py +85 -0
- soup_cli-0.76.1/tests/test_yaml_limits.py +664 -0
- soup_cli-0.76.1/tests/test_yaml_reads_are_limited.py +658 -0
- soup_cli-0.76.0/.github/constraints/transformers-floor.txt +0 -13
- soup_cli-0.76.0/src/soup_cli/utils/yaml_limits.py +0 -121
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.dockerignore +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.gitattributes +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/FUNDING.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/pull_request_template.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/workflows/codspeed.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/workflows/dependency-drift.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/workflows/docker.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/workflows/issue-triage.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/workflows/merge-freshness.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/workflows/publish.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/workflows/recipe-attach.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/workflows/recipe-repo-ids.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.github/workflows/recipe-validation.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.gitignore +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.mailmap +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/.pre-commit-config.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/AGENTS.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/CODEOWNERS +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/CODE_OF_CONDUCT.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/CONTRIBUTORS.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/Dockerfile +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/LICENSE +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/NOTICE +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/SECURITY.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/README.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/bench_validator.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/evidence/quest-674-postfit-v1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-1227-ab-burn-in.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-1265-ab-nig.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-1418-ab-cs-accept.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-1702-arena-packing.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-395-second-stack-vram.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-655-pinned-store-accounting.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-674-quest-mixed-route.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-674-quest-w4a4-sft.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-725-lorafa-operating-point.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-836-bench-train-contract.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-901-14b-on-8gb.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-971-async-nvme-source.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-974-disk-tier-direct-io.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-h100-validation.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-qwen4-ple-m4-max.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-two-drive-striping.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-v0.72.0-layer-streaming.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-v0.72.2-nf4.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-v0.72.3-breadth.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-v0.72.4-preference-losses.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-v0.73.1-measured-vram-fit.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-v0.73.2-leg2-scoring.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-v0.76.0-arithmetic-discrimination.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-v0.76.0-common-sense-discrimination.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-v0.76.0-cuda-graph-decode.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gate-v0.76.0-tool-call-discrimination.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/gpu-test-runs.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/ab_burn_in_sweep.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/ab_cs_accept_sweep.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/ab_nig_sweep.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/batch_control_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/batch_control_rule.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/batch_control_sampler.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/bitexact.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/bnb_repro.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/compare_shard_caches.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/cuda_graph_decode_bench.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/cuda_graph_decode_compare.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/cuda_graph_decode_gate.ps1 +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/cuda_graph_decode_prompts.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/cuda_graph_decode_rerecord_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/cuda_graph_decode_synthetic_lora.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/cuda_graph_decode_verdict.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/determinism.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/fixture_window_cpu.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/fsdp_sharding_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/graddiff.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/head_prefetch_ab.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue1702_arena_pack_gate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue331_qlora_scope.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue361_nf4_throughput.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue395_second_stack_vram.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue725_lorafa_operating_point.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue901_stream_step_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue974_cache_populate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue974_cold_ranges.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue974_evict.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue974_read_paths.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue974_unbuffered.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/issue974_warm_stages.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/l2l_activations.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/l2l_box.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/l2l_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/l2l_rule.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/l2l_schedule.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/l2l_session.sh +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/layer0_wait.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/mechanism.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/mechanism_cost.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/mlx_sft_smoke.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/mmap_limit_repro.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/moe_coverage_report.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/moe_expert_coverage.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/quest_mixed_route.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/quest_parity_evidence.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/source_provenance.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/stream_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/synth_checkpoint.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/two_drive_aspm_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/two_drive_depth_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/two_drive_host_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/two_drive_read.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/two_drive_stripe_gate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/two_drive_sustained.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/two_drive_throttle.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/two_drive_throttle_read.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/two_drive_throttle_rule.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/harness/variant2_gate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/probe-moe-expert-coverage.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/probe-rtx5070-batch-control.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/probe-rtx5070-drive-throttle.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/probe-rtx5070-l2l-step0.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/probe-rtx5070-two-drive-read.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/probe-rtx5070-two-drive-sustained.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/probe-rtx5070-what-bounds-streaming.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/probe-v0.73.0-what-bounds-streaming.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/quest-674-postfit-development-results.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-full-a1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-full-a2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-full-a3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-full-b1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-full-b2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-full-b3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-full-comparison.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-full-verdict.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-lora-a1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-lora-a2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-lora-a3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-lora-b1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-lora-b2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-lora-b3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-lora-comparison.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-lora-verdict.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-pinned-a.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-gate-pinned-b.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cg-trees.txt +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cli-verdict.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/cli-wall-seconds.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/quiet-box.txt +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/rerecord-probe-1024.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/cuda-graph-decode/rerecord-probe-256.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1227-ab-burn-in/part1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1227-ab-burn-in/part2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1227-ab-burn-in/part3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1227-ab-burn-in/part4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1227-ab-burn-in/sweep.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/h0-part1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/h0-part2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/h0-part3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/h0-part4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/h0-part5.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/h0-part6.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/h0-part7.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/h0-part8.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/h1-part1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/h1-part2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/h1-part3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/report.txt +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1265-ab-nig/sweep.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/h0-part1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/h0-part2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/h0-part3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/h0-part4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/h0-part5.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/h0-part6.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/h0-part7.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/h0-part8.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/h1-part1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/h1-part2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/h1-part3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/report.txt +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-1418-ab-cs-accept/sweep.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/b1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/b2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/b3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/bench.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/bench_b.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/bench_c.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/bench_dpo.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/bench_fixture.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/bench_fixture_long.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/bench_frozen.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/c1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/c2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/c3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/d1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/d2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/d3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run10.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run5.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run6.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run7.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run8.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run9.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run_e1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run_e2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run_e3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run_e4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run_e5.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/gate-836/shapeA_run_e6.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/issue361-post-repair-8b-nf4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/async_cold_synth70b_nf4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/async_cold_synth70b_nf4_ra1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/async_cold_synth70b_nf4_ra2_repeat.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/async_cold_synth70b_nf4_ra4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/async_warm_mistral7b_nf4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/async_warm_mistral7b_nf4_reverse.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_build_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_build_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_single_b1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_single_b1.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_single_b2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_single_b2.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_single_b3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_single_b3.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_single_b3_void.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_single_b3_void.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_striped_b1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_striped_b1.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_striped_b2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_striped_b2.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_striped_b3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r0_striped_b3.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_single_b1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_single_b1.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_single_b2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_single_b2.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_single_b3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_single_b3.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_striped_b1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_striped_b1.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_striped_b2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_striped_b2.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_striped_b3.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch2_r1_striped_b3.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch_box_state.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch_build_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch_build_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch_driver.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch_r0_single_b1_void.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch_r0_single_b1_void.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch_r0_single_b1_void2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/batch-control/batch_r0_single_b1_void2.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/control_sync_cold_synth70b_nf4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/control_sync_cold_synth70b_nf4_last.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/control_sync_warm_mistral7b_nf4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/control_sync_warm_mistral7b_nf4_reverse.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/disk_cold_synth70b_nf4_steps.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/disk_synth70b_nf4_armsBD_seq128.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/disk_synth70b_nf4_armsBD_seq256.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/disk_synth70b_nf4_armsBD_seq512.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/disk_warm_mistral7b_nf4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue1702/series.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue1702/strict.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue1702/verdict.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue901_14b_seq384_pageable_after_fixA.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue901_14b_seq384_pinned_arenas.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue901_14b_seq384_pinned_arenas_final.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue901_e2e_soup_train.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/cache_populate_run1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/cold_ranges_runA.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/cold_ranges_runB.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_ablate_cold70b_seq256.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_ablate_cold70b_seq512.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_cold2_orderA_slot1_newasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_cold2_orderA_slot2_oldasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_cold2_orderA_slot3_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_cold2_orderB_slot1_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_cold2_orderB_slot2_oldasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_cold2_orderB_slot3_newasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_evictB_slot1_async.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_evictB_slot2_async.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_evictB_slot3_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_evictB_slot4_async.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_fix_cold_orderA_slot1_newasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_fix_cold_orderA_slot2_oldasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_fix_cold_orderA_slot3_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_fix_cold_orderB_slot1_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_fix_cold_orderB_slot2_oldasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_fix_cold_orderB_slot3_newasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_fix_orderA_slot1_async.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_fix_orderA_slot2_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_fix_orderB_slot1_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_fix_orderB_slot2_async.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_fix_orderC_slot1_ram.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_order1_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_order1_ram.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_quiet_orderA_slot1_async.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_quiet_orderA_slot2_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_quiet_orderB_slot1_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_quiet_orderB_slot2_async.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_quiet_orderC_slot1_ram.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_recheck_orderA_slot1_newasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_recheck_orderA_slot2_oldasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_recheck_orderA_slot3_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_recheck_orderA_slot4_ram.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_recheck_orderB_slot1_ram.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_recheck_orderB_slot2_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_recheck_orderB_slot3_oldasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_recheck_orderB_slot4_newasync.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/i974_validate_async.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/unbuffered_runA.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/issue974/unbuffered_runB.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/correctness_f1.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/correctness_f1_det.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/correctness_f2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/correctness_f2_det.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/logs/correctness_f1.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/logs/correctness_f1_det.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/logs/correctness_f2.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/logs/correctness_f2_det.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/logs/session.txt +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/logs/soup_cli_file.txt +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/logs/spill.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/logs/timing.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/spill.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/timing.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/l2l/verdict.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/layer0_wait_cold_synth70b_nf4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/moe/granite_bf16_cuda.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/moe/granite_bf16_cuda_run2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/moe/olmoe_bf16_cpu_control.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/moe/olmoe_nf4_cuda.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/ram_mistral7b_nf4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/ram_warm_mistral7b_nf4_reverse.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/ram_warm_mistral7b_nf4_today.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/d1_host_spin.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/d2_aspm.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate2_r0_single.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate2_r0_single.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate2_r0_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate2_r0_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate2_r1_single.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate2_r1_single.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate2_r1_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate2_r1_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate3_r0_single_void.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate3_r0_single_void.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r0_single.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r0_single.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r0_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r0_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r1_single.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r1_single.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r1_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r1_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r2_single.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r2_single.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r2_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate4_r2_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_box_state.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_build_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_build_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_cache_compare.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_driver.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_r0_single.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_r0_single.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_r0_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_r0_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_r1_single_void.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_r1_single_void.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_r1_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/gate_r1_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/r1_k4.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/r1_k4_run2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/r1_k4_run3_aspm_off.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/r3p_depth.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_build_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_build_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_cache_compare.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_cache_compare.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_driver_stdout.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r0_single.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r0_single.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r0_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r0_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r1_single.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r1_single.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r1_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r1_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r2_single.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r2_single.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r2_striped_void.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r2_striped_void.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r2_striped_void2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_r2_striped_void2.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain2_summarize.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_box_state.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_build_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_build_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_cache_compare.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_cache_compare.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_driver.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_driver_stdout.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_r0_single.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_r0_single.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_r0_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_r0_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_r1_single_void.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_r1_single_void.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_r1_striped.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_r1_striped.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/sustain_summarize.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/throttle_box_state.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/throttle_driver.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/throttle_driver_stdout.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/throttle_r0_c_void.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/throttle_r0_c_void.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/throttle_r0_c_void2.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/throttle_r0_c_void2.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/results/probe-rtx5070/two-drive/throttle_summarize.log +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/run-m1-8gb-mlx-sft.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/benchmarks/run-t4-colab-free-tier.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docker-compose.yml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/README.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/adapters-and-governance.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/assets/layer-streaming.gif +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/assets/web-ui-new-training.png +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/autodistill.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/commands.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/compliance.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/data.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/evaluation.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/issue-difficulty.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/models.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/peft-and-efficiency.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/docs/training.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/README.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/configs/dpo_chat.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/configs/dpo_example.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/configs/grpo_reasoning.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/configs/rlhf_step1_sft.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/configs/rlhf_step2_reward.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/configs/rlhf_step3_ppo.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/configs/sft_basic.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/configs/vision_llama.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/data/README.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/data/alpaca_tiny.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/data/chat_preferences.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/data/dpo_sample.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/data/reasoning_math.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/reward_hacking/rewards.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/synthetic_workflow.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/examples/synthetic_workflow.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/notebooks/proof-4gb.ipynb +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/scripts/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/scripts/assemble_changelog.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/scripts/autodistill_b1_hardware_smoke.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/scripts/check_recipe_attach.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/scripts/check_recipe_repo_ids.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/scripts/generate_recipe_snapshot.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/scripts/issue_triage_labels.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/scripts/merge_freshness.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/scripts/record_recipe_base_architectures.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/scripts/sync_recipe_count.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/soup.png +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/soup_logo_svg.svg +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/__main__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/autodistill/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/autodistill/capture.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/autodistill/contract.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/autodistill/fingerprints.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/autodistill/mlx_worker.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/autodistill/publisher.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/autopilot/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/autopilot/analyzer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/autopilot/decisions.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/autopilot/generate_config.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/bench/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/bench/collector.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/bench/train_report.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/bench/train_run.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cans/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cans/pack.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cans/publish.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cans/run.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cans/schema.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cans/verify.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cloud/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cloud/_common.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cloud/lambda_labs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/cloud/modal.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/_eval_v0550.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/_eval_v0610.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/_eval_v0650.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/_eval_v07110.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/_webhook_cli.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/ab.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/active_sample.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/advise.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/agent.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/airgap.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/apple_adapter.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/attest.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/audit_log.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/autopilot.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/bench.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/bom.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/build.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/can.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/card.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/chat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/ci.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/compile_cmd.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/compile_tools.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/completions.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/cost.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/data.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/data_canary.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/data_clean.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/data_doctor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/data_forge.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/data_mix.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/data_score.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/data_topics.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/delinearize_llama4.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/diagnose.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/diff.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/distill_prompt.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/draft.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/drift_alarm.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/edit.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/env.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/expect.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/fetch.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/generate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/history.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/infer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/ingest.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/init.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/iterative_dpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/license_advisor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/llama.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/local_rl.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/lock.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/loop.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/mcp.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/merge.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/merge_sharded_fsdp_weights.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/migrate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/monitor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/plugins.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/profile.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/prune_prompt.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/quantize.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/quickstart.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/ra_dit.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/registry.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/reward.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/rewind.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/runs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/serve.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/shrink.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/spectrum.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/steer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/sweep.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/tokenizer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/tui.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/tunability.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/ui.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/commands/why.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/config/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/config/backend_support.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/config/deprecation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/config/schema.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/config/staged_fields.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/config/unknown_keys.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/alpaca_tiny.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/behavior/elephant.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/behavior/harmbench.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/behavior/jailbreakbench.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/behavior/syceval.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/behavior/xstest.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/chat_preferences.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/dpo_sample.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/gate/format_json.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/gate/over_refusal.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/gate/safety.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/gate/tool_call.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/reasoning_math.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/unlearning/muse_demo.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/unlearning/tofu_demo.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/_fixtures/unlearning/wmdp_demo.jsonl +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/augment.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/chat_templates.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/collators.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/loss_mask.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/providers/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/providers/_utils.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/providers/anthropic.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/providers/ollama.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/providers/vllm.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/sft_format.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/templates/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/templates/code.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/templates/conversation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/templates/preference.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/templates/qa.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/templates/reasoning.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/templates/tool_calling.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/templates/verifiable.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/traces/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/traces/pair_builder.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/traces/parsers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/traces/quality.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/data/validator.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/envs/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/envs/_common.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/envs/calculator.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/envs/guess_number.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/envs/retrieval_qa.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/aider_polyglot.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/arena.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/benchmarks_v0_43.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/calibrate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/checkpoint_intelligence.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/custom.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/forgetting.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/gate_suites.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/human.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/leaderboard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/quant_check.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/eval/results.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/experiment/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/experiment/tracker.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/mcp_server/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/mcp_server/execution.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/mcp_server/registry.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/mcp_server/server.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/migrate/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/migrate/common.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/migrate/unsloth.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/monitoring/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/monitoring/callback.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/monitoring/curriculum_callback.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/monitoring/display.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/monitoring/grpo_stability_callback.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/monitoring/hf_push.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/monitoring/plugin_callback.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/monitoring/rewind_log.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/monitoring/trace_logger.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/plugins/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/py.typed +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/recipes/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/recipes/catalog.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/registry/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/registry/attach.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/registry/diff.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/registry/hashing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/registry/store.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/audio.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/bco.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/chat.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/code.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/embedding.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/eu-ai-act.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/fetch_examples/llama-3.1-8b-lora.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/fetch_examples/qwen2.5-7b-dpo.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/fetch_examples/zero3-cpu-offload.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/hipaa.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/ipo.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/kto.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/longcontext.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/manifest.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/medical.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/moe.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/orpo.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/pretrain.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/reasoning.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/rlhf.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/simpo.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/soc2.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/sr-11-7.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/tool-calling.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/templates/vision.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/_trl_compat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/asr.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/bco.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/bitnet.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/classifier.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/dispatch.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/distill.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/dpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/embedding.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/grpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/ipo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/kto.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/loss_summary.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/mlx_dpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/mlx_grpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/mlx_masking.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/mlx_optim.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/mlx_routing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/mlx_sft.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/mole_routing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/online_dpo_ranking.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/orpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/ppo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/preference.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/pretrain.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/prm.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/raft.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/reward_model.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/rewards.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/rewind_hf.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/rewind_mlx.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/sft.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/simpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/stream_setup.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/tts.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/trainer/unlearn.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/tui_app.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/ui/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/ui/app.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/ui/static/app.js +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/ui/static/index.html +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/ui/static/logo.png +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/ui/static/logo.svg +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/ui/static/safe_html.js +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/ui/static/style.css +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/_eval_text.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ab_test.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/activation_offload.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/active_sampler.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/adapter_arithmetic.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/adapter_audit.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/adapter_bisect.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/adapter_branch.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/adapter_check.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/adapter_diff.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/adapter_fuse.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/adapter_merge.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/adapter_pr.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/adapter_scan.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/adapter_sign.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/advanced_precision.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/advise.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/advise_history.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/agent_rollout.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/agent_sandbox.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/airgap_bundle.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/annex_xi.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/anthropic_messages.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/apple_adapter.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/asr_metrics.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/async_disk_source.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/attach_preflight.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/attest.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/audit_log.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/backend_detect.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/batch_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/behavior_battery.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/best_of_n.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/best_of_n_artifact.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/best_of_n_checkpoint.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/best_of_n_stream.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/bitnet.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/blame.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/block_expansion.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/bom.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/brain_rot.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/brain_rot_lang.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/canary.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/canary_discovery.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/canary_router.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/capability_suite.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/checkpoint_trigger.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ci_workflow.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/citation_faithful.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/classifier.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/cmaes_merge.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/compile_tools.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/completions.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/config_bounds.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/constants.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/convergence.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/crash.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/cross_doc_attn.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/cuda_graphs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/curriculum.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/curriculum_dynamic.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/cut_ce.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/data_clean.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/data_doctor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/data_forge.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/data_lint.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/data_pipeline.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/data_score.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/deepspeed.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/delinearize_llama4.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/demo_bundles.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/deploy_autopilot.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/deploy_measure.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/_common.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/badge.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/citation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/contamination.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/forgetting.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/format.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/live.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/memorization.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/mode_collapse.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/refusal.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/report.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/diagnose/runner.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/distill.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/dpo_variants.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/draft.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/drift_alarm.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ebft_gdpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/echo_trap.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/edit_diff.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/edit_governor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/edit_kernels.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/embed.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/encoding.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/energy.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/env_lock.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/errors.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/eval_design.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/eval_gate_hook.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/eval_lock_coverage.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/eval_schedule.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/evolve.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/exit_codes.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/fast_lora.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/fast_lora_mlp.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/fast_lora_qkv.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/fetch_examples.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/final_answer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/flash_attn.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/fp8.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/freeze.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/fsdp.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/fsdp_consolidate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/galore.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/gguf_quant.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/gpu.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/gpu_monitor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/grace_codebook.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/graceful_save.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/grad_accum.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/gradient_ckpt.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/grpo_long_context.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/grpo_variants.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/hardware_fit.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/harm_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/hf.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/hf_space.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/hubs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ingest_pull.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ingest_sources.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/integrations.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/interference.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/interference_live.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/irt.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/iterative_dpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/jinja_analyzer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/kernel_picker.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/knowledge_edit.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/kv_cache.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/launcher.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/layer_shard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/layer_stream.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/layer_stream_runtime.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/license_advisor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/liger.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/lisa.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/live_eval.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/llama_proxy.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/llama_server_timings.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/local_request_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/local_rl.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/local_rl_scheduler.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/loftq_init.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/log_level.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/long_context.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/longlora.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/loop_budget.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/loop_daemon.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/loop_iteration.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/loop_stages.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/loop_state.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/lr_finder.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/lr_groups.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/magpie.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/metrics.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/mii.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/minillm.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/mixed_precision.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/mlx.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/mod.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/moe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/moe_quant.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/mole_routing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/multipack.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/multipack_sampler.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/multipack_trainer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/namespace_pin.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/neat_packing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/net_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ngram_spec.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/nlg_metrics.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ollama.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/onboarding.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/optimizer_zoo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/oq_affine.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/owner_only_dir.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/paths.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/peft_builder.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/peft_patches.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/peft_wiring.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/persona_hub.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/pipeline.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/plotext_compat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/preference_combine.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/prm.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/prm_reward.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/probe_kernel.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/probe_pack.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/process_liveness.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/profiler.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/profiling.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/profiling_v0_43.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/prompt_compile.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/prompt_distill.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/prune_prompt.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/qat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/qr_url.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/quality.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/quant_menu.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/quest.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/qwen4_compat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/qwen4_ple.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ra_dit.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/raft.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/reasoning_effort.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/reasoning_parser.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/recipe_run.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/registry.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/rehearsal.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/relora.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/replay.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/repro_receipt.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/reward_hack_control.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/reward_hacking.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/reward_stress.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/reward_synth.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/rewind.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ring_attention.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/rl_checkpoint.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/rl_signal_buffer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/run_cost.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/sae_diff.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/safe_regex.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/safetensors_reader.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/seeding.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/semdedup.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/server_tools.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/sglang.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ship_verdict.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/shortcuts.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/shrink.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/signing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/sigstore_signing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/sleeper_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/soup_lock.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/spdx_license_ids.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/spec_pairing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/spectrum_scan.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/spike_recovery.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/sse_train_stream.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/steering.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/strict_safetensors.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/stripe_roots.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/structured_output.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/tail_latency.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/terminal.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/terraform_plan.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/tool_outputs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/topics.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/topology.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/torchao_compat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/tracing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/trackers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/train_event_buffer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/trainer_plugins.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/trust_remote.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/truth_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/tts.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/tts_codec.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/tunability.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/ui_env.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/uld.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/unlearn_kernels.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/unlearning.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/unlearning_eval.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/unsloth.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/v028_features.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/vector_bank.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/vllm.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/vscode_setup.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/warmup.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/webhooks.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/src/soup_cli/utils/why.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/templates/chat.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/templates/code.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/templates/medical.yaml +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/__init__.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/_tiny_hf_models.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/_windows_ci.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/conftest.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/autodistill/v1/capture_token.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/autodistill/v1/consumption_ledger.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/autodistill/v1/plan.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/autodistill/v1/shard_manifest.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/autodistill/v1/student_rollout_capture_token.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/cyclonedx/README.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/cyclonedx/bom-1.6.schema.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/cyclonedx/jsf-0.82.schema.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/cyclonedx/spdx.schema.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/issue204_langfuse_observations_v2_page.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/recipe_base_architectures.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/fixtures/recipe_config_snapshots.json +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/mcp_roundtrip.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/preprocess_cache_blob.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/qa/v053_qa.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/qa/v07114_qa.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/qa/v0716_qa.md +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/recipe_count.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_adapter_trusted_key_backend.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_adapters.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_advanced_peft.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_align_trainable_dtype.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_assistant_mask.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_audio.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_audit_log_option_masking.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_auto_mixed_precision_task_gate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_auto_tuning.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_autopilot.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_awq_gptq_export.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_batch_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_bco.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_bench.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_brain_rot_multilingual.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_bugfixes.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_build_dag.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_callback.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_can_deploy_target_containment.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_can_output_control_bytes.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_can_read_limits.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_cans.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_chat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_chat_template.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ci_full_matrix_on_approval.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ci_test_cells_run_in_parallel.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_cli.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_cli_help_assertions_are_ansi_safe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_cli_import_benchmark.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_cli_startup_is_light.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_cli_subprocess.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_click_argument_help.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_cloud_output_dir_containment.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_code_review_critical.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_code_review_deferred.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_code_review_high.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_code_review_medium_low.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_code_review_recurring.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_commands_md_covers_registered_commands.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_config.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_config_bounds_leaf.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_config_deprecation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_config_regex_limits.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_contributing_test_counts_are_digit_free.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_cost.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_crash_reporter.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_cuda_graph_cli.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_cuda_graph_decode_verdict.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_cuda_graphs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_curriculum.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_data.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_data_augment.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_data_clean.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_data_sample.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_data_split.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_data_tools.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_dataset_hub.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_dataset_registry.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_deepspeed.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_demo_bundle_metadata.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_deploy_ollama.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_determinism.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_device_map_distributed.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_diagnose_evidence_terminal_output.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_diagnose_unlearning_attach_to_registry.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_diff.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_disk_tier_stripe_cache.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_disk_tier_stripe_folders.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_disk_tier_stripe_read_ahead_advice.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_disk_tier_stripe_reader.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_disk_tier_stripe_roots.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_disk_tier_stripe_runtime.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_disk_tier_stripe_setup.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_disk_tier_stripe_sharder.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_disk_tier_stripe_terminal.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_display.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_doctor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_dpo_example.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_dpo_variants.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_edit_steer_registry_id_attaches.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_embedding.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_errors.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_eval.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_eval_gate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_eval_platform.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_eval_unlearning_terminal_output.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_examples_configs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_expect_unknown_key_lists_are_bounded.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_export.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_file_derived_text_printing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_formats.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_fp8_recipe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_freeze_training.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_generate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_gpu.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_graddiff.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_graddiff_acceptance.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_grpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_hf_cache_link_containment.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_hf_cache_slot_key.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_hf_integration.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_hf_shared_blob_store.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_hub_push_credentials.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_infer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_inference_advanced.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_init.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_init_output_link.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ipo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1001_backend_support_cites_no_source_lines.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1002_gpu_free_accelerator_error_classifier.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1003_page_lock_drain_before_vram_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1005_peft021_canonical_names.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1005_peft021_review_round.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1011_streamed_save_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1012_lora_head_streamed_large_layer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1017_merge_freshness.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1038_preprocess_to_pretokenized.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1048_lora_head_save_resume.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1049_untied_streamed_preference.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1052_draft_panel_escapes_model_names.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1054_pretokenized_labels.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1067_chat_template_cache_key.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1069_mlx_callback_monitoring_compat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1070_moe_target_modules.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1099_moe_lora_remaining_tasks.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1116_attach_preflight.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1116_attach_ratchet.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1122_glm4_granite_moe_targets.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1124_sft_audio_stream_unsloth_fp8.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1127_preprocess_cache_key_fields.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1136_token_not_persisted.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1137_regex_sink_guards.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1138_run_log_symlink.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1147_missing_grad_norm.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1152_fp8_conversion_stops.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1156_multimodal_mask_history_doctor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1158_run_log_directory_symlink_and_hardlink.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1162_quest_base_identity.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1165_fast_lora_patch_precedence.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1166_bench_train_instrumentation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1174_head_prefetch_ab_provenance.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1174_head_prefetch_after_lookup.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1180_preprocess_refuses_bad_rows.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1181_loader_reports_dropped_rows.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1189_find_lr_small_dataset.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1191_ui_session_cookie.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1192_arithmetic_discrimination.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1192_common_sense_discrimination.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1194_ui_login_url.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1195_ui_auth_non_ascii.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1197_vera_moe_lora.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1198_model_size_parsing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1199_quest_local_base_topology.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1199_v1_resume_identity.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1203_find_lr_no_synthetic_curve.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1204_fsdp_deepspeed_forwarding.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1208_simpo_zero_token_completion.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1210_loraplus_model_only_optimizers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1211_mcp_plan_symlink.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1212_autopilot_install_aware_kernels.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1213_dispatch_parity.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1214_migrators_pref_tasks.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1215_migrate_quantization_none.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1216_canary_formats.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1217_tool_calling_nested.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1217_zero_row_stop.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1218_parquet_parity.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1219_classifier_data_loader.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1219_pair_rows_are_task_scoped.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1220_resume_prm_moe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1221_forge_judge_failures.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1222_refuse_int8_qat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1223_eval_steps_config.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1223_evaluate_val_split.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1223_rl_signal_eval_isolation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1224_registry_baseline_newest_row.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1225_online_dpo_unranked_pairs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1225_runs_clean_keeps_a_checkpoint.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1226_clause_scanner_is_linear.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1226_grpo_gold_validation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1226_parser_edge_cases.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1226_reward_gold_parsing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1227_ab_two_sided.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1228_behavior_scoring.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1230_refuse_ebft.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1231_expect_all_formats.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1232_grpo_variant_kl.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1233_diagnose_unicode.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1234_embedding_contrastive_batch_size.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1235_prm_fp32_master_weights.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1236_packing_loss_mask.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1239_llama3_rope_compose.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1240_refuse_longlora.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1241_shrink_per_layer_config.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1242_distill_causal_target_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1247_grpo_beta_zero.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1251_data_doctor_mask_history.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1263_grpo_variant_kl_metric.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1264_unsloth_moe_lora_reason.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1265_ab_nig.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1266_mole_gate_fp32_master.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1267_auth_status_classification.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1269_optimizer_allowlist.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1270_newest_eval_rows.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1272_cache_refusal_reason.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1274_augment_distill_provider_failures.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1309_refuse_gdpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1320_canary_io.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1324_mlx_loraplus_refusal.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1325_expand_layers_scope.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1329_email_pattern_is_linear.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1330_backend_support_active_values.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1331_canary_placement.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1338_clean_nested_tool_calls.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1339_ab_boundary_and_overflow.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1342_custom_eval_answer_scoring.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1343_unspaced_and_symbols.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1344_sequence_distill_dropped_row_numbering.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1346_rewrites_are_linear.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1347_boxed_scan.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1347_mcq_boxed_letter.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1349_grpo_demo_golds.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1350_reward_synth_numeric_parser.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1351_unpacked_assistant_masks.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1352_narrow_terminal_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1355_accelerator_device.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1357_unsloth_refused_without_setup.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1358_vocab_expansion_refused.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1361_auth_status_text_chain.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1367_quadratic_backtracking.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1384_ab_degenerate_spread.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1387_source_provenance.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1389_grpo_val_reward.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1391_ppo_real_step.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1393_dpo_vision_loader.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1394_moe_aux_loss_modality.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1395_mistral3_target_modules.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1409_freeze_equals_expand.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1413_ppo_loss_summary.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1414_ci_fork_badge.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1418_ab_cs_accept.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1421_fused_moe_experts.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1424_detect_format_multirow.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1426_uld_unaligned_positions.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1428_suite_unknown_keys.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1429_bytelevel_tokenizer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1431_warmup_steps.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1433_expect_judge.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1434_expect_fail_closed.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1435_diagnose_not_run.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1435_diagnose_probe_rows.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1436_forgetting_holdout.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1437_memorization_long_rows.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1438_info_rm_discrete_reward.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1439_lambda_ssh_resilience.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1440_from_traces_reads_ingest_signal.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1441_ppo_refuses_unfed_rl_flags.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1443_device_map.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1445_early_destination_validation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1446_provenance_artifacts.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1447_judge_unavailable.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1448_advise_probe_model_roi_table.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1448_data_score_benchmarks.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1448_export_deploy_options.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1448_generate_preference_dedup.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1448_local_rl_schedule_args.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1448_merge_4bit_forced.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1448_real_helpers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1448_serve_streaming.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1448_train_profile_trace.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1449_trust_remote_code_dropped.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue144_gguf_export.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1450_atomic_replace.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1464_bon_staging_cleanup.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1465_documented_invocations_exist.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1465_ui_plugin_registry_removed.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1466_dora_prequantized.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1466_mxfp4.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1466_prm_reward_hub_id.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1467_verdict_matching.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1468_machine_output_raw_stdout.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1477_call_only_empty_content.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1478_serve_device_map.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1480_machine_output_rich_json.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1483_suite_top_level_keys.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1497_freeze_refused_outside_sft.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1522_judge_down.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1524_ab_accept_hold_note.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1528_contains_is_linear.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1529_unlearn_duration.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1530_from_traces_file_logs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1531_pinned_arena_alignment.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1547_outbound_http_sinks.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1548_loopback_set_is_shared.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1550_ip_literal_portable.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1550_numeric_host.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1579_notebook_magics.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1581_freeze_refused_off_the_text_path.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1597_vision_image_objects.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1603_trainer_config.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1609_grpo_variants_finite_ratio.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1613_early_stripe_roots.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1631_mxfp4_preflight.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1644_auto_eval_trust_remote_code.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1652_preflight_prequantized.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1675_trainer_init_attrs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1692_stream_layers_kernel_flags.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1697_rope_scaling_refused_where_unapplied.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1702_arena_pack_gate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1702_pinned_arena_packing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1718_benchmark_evidence.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1721_adapters_check.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1725_human_input_shape.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1731_fp8_needs_transformers_5_17.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1734_tool_args_credit.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1736_unsloth_tip_only_when_it_loads.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1740_quant_boundaries.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue1744_deploy_measure_boundaries.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue179_sigstore_attest.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue185_sigstore_adapters.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue185_sigstore_interactive_policy.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue204_langfuse_pull.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue23_mlx_display_bridge.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue23_mlx_harness_bridge.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue23_mlx_val_loss_producer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue264_cloud.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue265_llasa_csm_live_codec.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue265_spark_oute_contract.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue265_xcodec2_audio_contract.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue296_network_transport.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue300_online_dpo_kwargs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue300_online_dpo_train.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue302_vision_pad_token.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue304_cross_tokenizer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue305_mixed_rank_arithmetic.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue308_callback_subclass.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue316_refusal_apostrophe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue316_suites.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue320_lazy_callback_import.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue322_mcp2_compat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue323_trl_kwarg_drift.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue327_logits_estimate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue330_mix_recipe_train_loadable.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue332_vllm_prompt.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue334_fa3_detection.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue336_deepspeed_lora.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue338_awq_gptq_deprecated.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue339_load_dtype.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue341_seed_and_fullft.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue342_grpo_nan.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue348_calibrated_logits_wiring.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue349_measured_fit.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue350_fsdp_qlora.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue352_fsdp_peft_checkpoint.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue353_mlx_seed_warning.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue353_seed_every_task.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue359_deepspeed_guard_coverage.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue360_sglang_prompt_finish_reason.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue361_nf4_throughput.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue367_live_eval_quantization.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue367_ship_numerics.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue369_canonical_named_parameters.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue372_no_reexec_hint.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue373_fsdp_sharding_probe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue374_stream_disk_preflight.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue377_lisa_train_embeddings.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue379_determinism.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue379_determinism_main.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue379_determinism_measure.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue379_fixture_window_cpu_harness.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue379_graddiff_guards.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue379_mechanism.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue379_mechanism_arms.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue379_mechanism_verdict.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue379_variant2_gate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue382_windows_ci_guard_is_shared.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue385_stream_dtype.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue389_torchao_error.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue390_expandable_segments_reason.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue392_mlx_target_keys.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue394_mlx_runtime_isolation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue401_orphaned_run_reconcile.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue402_restart_capacity.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue404_baseline_scorer_stamp.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue405_gate_discrimination.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue423_mlx_device_detection.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue424_windows_liveness.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue427_qwen35_text_modality.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue433_meta_adapter_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue441_coerce_token_ids.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue443_interleave_wiring.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue459_interleave_streaming_hub.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue477_qwen38_catalog.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue487_changelog_fragments.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue491_frozen_base_load_dtype.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue502_qwen35_transformers5.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue505_launching_window_blocks_restart.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue524_launching_reconcile.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue531_stream_base_provenance.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue532_supervised_token_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue533_offline_hf_materialization.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue534_apple_nvme.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue546_transient_finite_metric.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue549_bon_resume.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue550_bon_offline.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue555_bon_stream_resume.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue563_mps_bf16_training.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue565_grpo_reward_metadata.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue567_grpo_mps_bf16.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue571_qwen4_exp.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue573_qwen4_expert_lora.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue580_autodistill_capture.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue580_autodistill_contract.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue580_autodistill_fingerprints.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue580_autodistill_mlx_worker.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue580_autodistill_publisher.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue599_telemetry_dns_ssrf.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue600_abbreviated_ipv4_ssrf.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue602_qwen4_ple_streaming.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue616_net_guard_is_shared.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue621_recipe_snapshot.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue623_stream_pin_allocation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue627_unknown_config_keys.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue633_ansi_in_highlighted_output.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue634_mlx_resume.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue636_torch_floor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue642_sweep_dry_run.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue649_batch_probe_peak_gate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue654_batch_probe_uncovered_branches.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue674_postfit_evidence.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue674_quest_continuation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue674_quest_integration.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue676_non_dict_messages.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue677_recipe_repo_id_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue681_uld_id_compat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue682_uld_loss_label_mask.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue683_mlx_response_masking.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue684_mlx_grad_accumulation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue685_mlx_grad_checkpoint.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue686_mlx_optimizer_schedule.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue687_ui_auth.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue688_ui_drain.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue689_hub_streaming.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue690_embedding_trainer_attrs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue691_sft_packing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue692_minillm_offline_zero_ratio.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue695_validate_agrees_with_loader.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue700_embedding_lora_zero.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue702_streaming_over_val_leak.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue716_harness_step_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue719_stable_distill_divergence.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue720_distill_grad_accum.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue721_ppo_config_forwarding.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue722_chunked_distill.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue723_sequence_gspo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue724_loraplus_optimizer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue724_loraplus_wiring_coverage.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue725_lorafa_optimizer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue725_lorafa_wiring_coverage.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue731_ui_docs_bind.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue745_online_dpo_loraplus.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue745_ppo_loraplus_scheduler.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue748_config_fields_reach_a_consumer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue752_cli_commands_called_as_functions.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue755_backend_support_registry.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue758_evidence_schema_parity.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue761_mask_history.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue761_staged_three_fields.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue762_adapters_audit.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue764_run_status_reconciliation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue771_validator_fast_path.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue775_path_containment_ratchet.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue781_inference_bos.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue785_engine_bos.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue785_training_bos.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue791_preprocess_cache_eos.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue793_rope_scaling.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue794_peft_variants_reach_trainers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue795_quantization_unhonoured_tasks.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue796_gradient_checkpointing_tiers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue797_kbit_checkpointing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue798_moe_flags_per_task.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue799_autopilot_unwired_gates.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue800_sft_nvfp4_fp8_attention.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue801_kernel_auto_compose.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue802_callback_kwargs_in_trainers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue803_lora_patterns_all_trainers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue804_chat_template_trainers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue805_optimizer_settings.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue806_kernel_flags_task_scoped.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue808_staged_config_fields.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue810_data_lint_completion_view.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue811_data_validate_exit_codes.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue812_eval_against_results.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue813_gate_exit_codes.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue814_reward_stress.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue815_canary_runtime.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue816_auto_quant_refusal.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue817_recipe_provider.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue818_edit_diff_validation.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue819_plugin_discovery.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue820_windows_symlink_open_nofollow.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue821_toxicity_truthfulness.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue823_stale_feature_descriptions.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue825_bitnet_training_gate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue826_torchao_class_names.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue830_profile_gpu.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue833_gpu_marker.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue835_fp8_gate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue836_bench_collector.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue836_bench_train_cli.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue836_bench_train_contract.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue837_fast_lora_mlp.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue838_fast_lora_qkv.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue839_fast_lora_single_projection.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue842_checkpoint_visible_nf4.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue843_draft_breakeven.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue844_notebook_pin_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue865_langfuse_pull_bounds.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue876_preprocess_cache_bos.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue878_mcp_data_validate_format.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue880_edit_diff_models_without_probes.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue885_langfuse_error_ansi.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue887_distill_broken_teacher_warning.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue889_mcp_data_doctor_format.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue890_sglang_engine_bos.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue891_mii_engine_bos.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue896_no_duplicate_terminal_sanitizer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue899_loss_summary.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue901_failed_page_lock_recovery.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue901_pinned_arenas.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue91_aider_eval.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue926_sharder_source_handles.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue937_reward_stress_json_schema.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue939_ui_body_cap.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue942_audit_learning_rate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue944_sweep_nonfinite.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue953_mcp_choices.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue968_bnb_nf4_path_divergence.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue971_async_disk_source.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue971_read_ahead_config.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue971_safetensors_reader.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue974_direct_range_reads.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue975_backward_tail_embed_prefetch.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue979_documented_cli_flags_exist.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue99_apple_monitor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_issue_triage_labels.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_jinja_analyzer.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_judge_key_scoping.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_kto.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_l2l_probe_harness.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_lambda_submit_interrupt.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_loader.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_loader_media_paths_parity.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_local_hf_snapshot_path.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_local_request_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_log_level.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_loss_watchdog.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_mcp_capacity_all_runs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_mcp_digest_no_follow.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_mcp_execute.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_mcp_plan_inputs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_mcp_post_spawn_failure.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_mcp_snapshot_run_directory.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_merge.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_migrate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_mii_serve.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_mlx_backend.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_mlx_dispatch.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_mlx_max_grad_norm.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_modal_stub_outputs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_moe.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_multi_adapter.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_multi_gpu.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_multipack_config.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_multipack_ffd_placement.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_multipack_invariants.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_multipack_sampler.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_neat_packing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_neftune_rslora.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_no_committed_conflict_markers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_no_foreign_license_headers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_onnx_tensorrt_export.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_orpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_outbound_endpoint_ip_literals.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_packing.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_part_a_wave1.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_part_a_wave2.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_part_f_hardening.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_peft_methods.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_peft_patches.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_performance.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_pissa_init.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_plotext_compat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ppo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_preference_dispatcher.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_preference_multi.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_preference_multi_runtime.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_pretrain.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_profile.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_profiling.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_progress.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_push.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_qat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_quality_filter.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_quant_check.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_quant_menu.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_quickstart.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_qwen35_streaming.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_rank_pattern.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_readme_translation_sync.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_recipe_count_is_synced.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_recipe_sizes.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_recipes.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_recipes_v031.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_refusal_multilingual.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_registry.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_relora.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_replay.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_requires_python_bound.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_resume.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_resume_trainable_dtype.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_review_fixes_v07133.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_rewind_command.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_rewind_hf.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_rewind_log.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_rewind_mlx.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_rewind_wiring.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_rlvr.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_run_cost.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_runs.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_runs_clean_keep_weights.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_safe_regex.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_semantic_split.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_serve.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_serve_local_request_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_serve_non_loopback_notice.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_server_generate.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_sglang_serve.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_sglang_trust_contract.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_simpo.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_smoke_train.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_speculative_decoding.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_stream_multi_gpu_guard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_sweep.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_symlink_skips_are_capability_based.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_sync_recipe_count.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_synth_data_pro.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_telemetry_ssrf.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_templates_yaml.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_tensorboard.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_terminal_c1_controls.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_terminal_output_hygiene.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_tool_calling.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_trace_to_pref.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_tracker.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_train_diagnose_gate_terminal_output.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_train_extra_declares_requests.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_train_gpus_exit_code.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_trainer_coverage_v035.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_trainer_init.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_training_intelligence.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_training_speed.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_trl_preference_config_contract.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_trl_version_compat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_trust_remote_code.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_tui.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_typer_defaults_do_not_leak.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ui.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ui_chat.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ui_config_builder.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ui_live_monitor.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ui_metrics.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ui_rendering_escapes.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ui_security_headers.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_ui_training_log_panel.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_unsloth.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0401_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0401_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0401_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0402_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0402_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0403_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0403_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0403_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0404_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0404_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0405_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0406_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0410_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0410_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0410_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0420.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0430_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0430_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0430_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0430_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0440_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0440_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0440_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0440_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0440_review_followups.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0450.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0460_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0460_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0470_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0470_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0480_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0480_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0490.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0500_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0500_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0500_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0500_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0500_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0510.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0520.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0530.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v05310.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v05311.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0531_109.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0531_139.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0531_142.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0531_82.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0532.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0533.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0534.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0535.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0536.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0537.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0538.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0539.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0540.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0550.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0550_followups.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0560.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0570_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0570_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0570_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0570_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0580.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0590.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0600_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0600_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0600_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0600_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0600_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0600_part_f.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0610_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0610_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0610_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0610_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0610_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0620_followups.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0620_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0620_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0620_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0620_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0620_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0630_followups.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0630_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0630_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0630_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0630_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0630_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0631_206.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0640_followups.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0640_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0640_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0640_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0640_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0640_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0640_part_f.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0650_followups.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0650_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0650_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0650_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0650_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0650_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0660_cli.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0660_followups.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0660_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0660_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0660_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0660_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0660_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0670_followups.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0670_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0670_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0670_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0670_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0670_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0670_part_f.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0680_followups.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0680_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0680_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0680_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0680_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0680_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0690_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0690_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0690_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0690_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0690_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0700_part_a.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0700_part_b.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0700_part_c.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0700_part_d.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0700_part_e.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0700_part_f.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07110.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07111.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07112.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07113.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07114.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07115.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07116.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07117.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07118.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07119.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0712.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07120.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07121.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07122.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07123.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07124.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07125.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07126.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07127.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07128.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07129.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0713.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07130.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07131.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07132.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07133.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07134.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07135.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07136.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07137.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07138.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07139.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0714.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07140.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07141.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07141_telemetry_prompt.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0715.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0716.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0717.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0718.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0719.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07200.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07201.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07202.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07203.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07204.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07300.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v07302.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_v0760_release_review.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_val_loss_end_to_end.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_validator.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_version_sync.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_vision.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_vllm_serve.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_warmup.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_why.py +0 -0
- {soup_cli-0.76.0 → soup_cli-0.76.1}/tests/test_windows_encoding.py +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# #571 — exact pins for the dedicated dependency-floor CI job.
|
|
2
|
+
# Qwen3.8-Flash-Next text loading establishes Transformers 5.16.1 as Soup's
|
|
3
|
+
# declared training floor. trl 0.29 is the first release that does not import the
|
|
4
|
+
# Transformers private availability helper whose v5 return type broke trl 0.28.
|
|
5
|
+
# Torch 2.6.0 deliberately exercises Qwen4-Exp's legacy int64-only scatter path.
|
|
6
|
+
# Plotext 6.0.0 is pinned here so one CI cell exercises the real Figure API rather
|
|
7
|
+
# than relying only on the fake 5.x/6.x contract doubles in the unit suite.
|
|
8
|
+
torch==2.6.0
|
|
9
|
+
torchaudio==2.6.0
|
|
10
|
+
transformers==5.16.1
|
|
11
|
+
trl==0.29.0
|
|
12
|
+
peft==0.20.0
|
|
13
|
+
plotext==6.0.0
|
|
14
|
+
# #1802 — the declared floors of the CLI's own framework, so one CI cell starts the
|
|
15
|
+
# CLI on them: `typer>=0.9.0` stayed declared while no command could run below
|
|
16
|
+
# 0.12.4, and nothing noticed because every cell resolved the newest Typer. These two
|
|
17
|
+
# pins must equal the floors in pyproject.toml's [project] dependencies
|
|
18
|
+
# (tests/test_cli_dependency_floors.py refuses a pin that differs), and the job runs
|
|
19
|
+
# that file to build the command tree and render every help page under them.
|
|
20
|
+
# Side effect, intended: huggingface-hub requires typer>=0.20.0 from 1.14.0 and
|
|
21
|
+
# click>=8.4.0 from 1.17.0, so under these pins the cell resolves huggingface-hub
|
|
22
|
+
# 1.13.0 (and the newest datasets that accepts it, 5.0.1 on 2026-10-13) — the low
|
|
23
|
+
# corner of the declared ranges, where every other cell runs the high one.
|
|
24
|
+
typer==0.15.4
|
|
25
|
+
click==8.0.0
|
|
@@ -454,6 +454,10 @@ jobs:
|
|
|
454
454
|
# #502/#503/#522/#571/#651: install the exact Torch 2.6.0 / Transformers 5.16.1 /
|
|
455
455
|
# trl 0.29 / PEFT 0.20 support stack and Plotext 6.0.0 so pip cannot silently
|
|
456
456
|
# upgrade the cell, then assert every pinned compatibility boundary.
|
|
457
|
+
# #1802: the same file pins Typer and Click to the floors pyproject.toml declares,
|
|
458
|
+
# and the last step starts the CLI on them. It is the one cell that does: every
|
|
459
|
+
# other cell resolves the newest Typer, which is how a floor no command could run
|
|
460
|
+
# on stayed declared. The job keeps its name; branch protection requires it.
|
|
457
461
|
transformers-floor:
|
|
458
462
|
needs: plan
|
|
459
463
|
if: needs.plan.outputs.full == 'true'
|
|
@@ -488,7 +492,10 @@ jobs:
|
|
|
488
492
|
)
|
|
489
493
|
expected = dict(pairs)
|
|
490
494
|
assert len(expected) == len(pairs), "duplicate package pin in floor constraints"
|
|
491
|
-
for name in (
|
|
495
|
+
for name in (
|
|
496
|
+
"torch", "torchaudio", "transformers", "trl", "peft", "plotext",
|
|
497
|
+
"typer", "click", # #1802: the CLI's own declared floors
|
|
498
|
+
):
|
|
492
499
|
assert name in expected, f"floor constraints missing exact {name} pin"
|
|
493
500
|
want = expected[name]
|
|
494
501
|
got = md.version(name)
|
|
@@ -528,6 +535,9 @@ jobs:
|
|
|
528
535
|
tests/test_bugfixes.py::TestDiffModelLoading
|
|
529
536
|
tests/test_issue636_torch_floor.py
|
|
530
537
|
tests/test_issue265_xcodec2_audio_contract.py
|
|
538
|
+
tests/test_cli_dependency_floors.py
|
|
539
|
+
tests/test_click_argument_help.py
|
|
540
|
+
tests/test_cli_startup_is_light.py
|
|
531
541
|
|
|
532
542
|
test:
|
|
533
543
|
needs: plan
|
|
@@ -12,6 +12,42 @@ reproducing 70+ versions of notes.
|
|
|
12
12
|
|
|
13
13
|
## [Unreleased]
|
|
14
14
|
|
|
15
|
+
## [0.76.1] - 2026-10-14
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- **The README and the performance docs now state the 8B NF4 figure with its SM clock and give the post-#331 row, and no longer say the re-measurement is pending (#1207, in #1699).** Llama-3.1-8B-Instruct NF4 on an RTX 3050 Laptop 4 GB reads **119.6 tok/s at 952 MHz in a 3.32 GB peak** before the #331 repair and **208.6 tok/s at 1935–1957 MHz in a 2.40 GB peak** after it, the second row measured by @umran666 (#1103). The two are not directly comparable: 59% against 68% of the same-session GEMM ceiling is about 14% slower per unit clock, so the raw 1.74x gain is the clock, not a speedup, and large-layer streaming changed the memory pattern between the rows, so even the fraction is not like-for-like. Changed: the headline, the GIF alt text and caption and the preprint bullet (Citing Soup) in `README.md`, and the table row, the headline and the large-layer paragraph in `docs/performance-and-quantization.md`. The four README translations (`README.tr.md`, `README.ar.md`, `README.ja.md`, `README.zh.md`) carry the same sentences, with every number, link and code span kept identical, and are re-stamped; their prose is a machine-assisted draft for the translation maintainers to polish. The preprint (DOI 10.5281/zenodo.21771064) is not edited in place; #1207 tracks its amendment as a new version.
|
|
20
|
+
|
|
21
|
+
- **The "What's New" block of `README.tr.md`, `README.ar.md`, `README.ja.md` and `README.zh.md`
|
|
22
|
+
now describes v0.76.0 (#1825).** All four still described v0.75.0. The new text follows the
|
|
23
|
+
block in `README.md` bullet by bullet, with every inline code span, command, flag, config key,
|
|
24
|
+
URL, link target, number and benchmark file name kept identical; the prose is a machine-assisted
|
|
25
|
+
draft for the translation maintainers to polish. This change moves no `synced-from` stamp,
|
|
26
|
+
because the section is exempt from them; the stamps of the four files were re-taken by #1699 in
|
|
27
|
+
the same release.
|
|
28
|
+
|
|
29
|
+
- soup.yaml and every other YAML file Soup reads go through one loader that applies the same nesting and expansion limits (100 levels of nesting; one node per source byte plus 10,000 for anchors, aliases and merge keys, with merge keys chained at most 100 levels), and each reader keeps its own size cap: 1 MiB for the training-config readers and for readers that had no cap before, 256 KiB for recipes, `export --quant-config` files, RA-DIT configs and sweep files, 5 MiB for agent specs, 16 MiB for can manifests, 64 KiB for README frontmatter, 4 MiB for the config read by `soup ship`. A soup.yaml that is over a limit, cannot be read or is not valid YAML is refused with one line naming the file and the problem; the other readers report through their own handlers. The audit log now finds credential options from the command tree and also masks long options by name, so the values of `--slack-url` and `--discord-url` are masked and `--min-tokens`, a length threshold, is no longer masked (#1827).
|
|
30
|
+
|
|
31
|
+
- **The Typer floor is `typer>=0.15.4`, and one CI cell now starts the CLI on the declared Typer
|
|
32
|
+
and Click floors (#1858).** `typer>=0.9.0` was declared while no command could run below Typer
|
|
33
|
+
0.12.4: the command tree did not build (`RuntimeError: Type not yet supported: int | None`), so
|
|
34
|
+
`soup --help` and `soup version` failed with everything else. Typer 0.12.4 - 0.15.3 start the
|
|
35
|
+
CLI only next to Click 8.1 or older and do not ask for it, so a resolver paired them with a
|
|
36
|
+
Click on which every help page raised. 0.15.4 is the lowest Typer that works with any Click it
|
|
37
|
+
can be installed with; `click>=8.0.0` was measured again and holds. A fresh install is
|
|
38
|
+
unchanged, since a resolver already picks the newest Typer. An environment that holds an older
|
|
39
|
+
Typer now has it upgraded, or the conflict named, at install time, where before the install
|
|
40
|
+
succeeded and the first command failed; `soup doctor` reports such a Typer as outdated. The
|
|
41
|
+
`transformers-floor` CI job installs exactly the two declared floors, builds the command tree,
|
|
42
|
+
renders every help page and runs `soup version` under them, and a test fails when a declared
|
|
43
|
+
floor and that job's pin differ (#1802).
|
|
44
|
+
|
|
45
|
+
### Fixed
|
|
46
|
+
|
|
47
|
+
- **`task: dpo`, `ipo`, `bco` and `preference` train on the bundled DPO examples again.** Both files (`examples/data/dpo_sample.jsonl`, `examples/data/chat_preferences.jsonl`) and any dataset written the same way, a string `prompt` beside `chosen` / `rejected` message lists that repeat the user turn, failed inside trl after the model had loaded, with an error that changed with `PYTHONHASHSEED` (`'list' object has no attribute 'endswith'`, or a `TypeError`). The `dpo` and `kto` converters now hand the trainer every preference row in one layout: all strings, or all message lists with the prompt turns in `prompt` only. `reward_model` no longer trains on a text with the question in it twice, and `orpo` and `simpo` prepare the same tokens as before. A row that cannot be written that way (one answer a string and the other a message list, a malformed message, no prompt to be found) is dropped at load with a reason that names the field, and a dataset that mixes text rows with conversational ones loads as conversations, with a note. A string `prompt` beside message-list answers is not read when the two answers share leading turns: those turns are the prompt, as `orpo` and `simpo` already read such a row, so a question written only in that string has to be in the conversations as well (#1849 by @dryn85-max in #1866).
|
|
48
|
+
|
|
49
|
+
- A single-string `data.train` that names a Hub dataset with a dot in its name (`teknium/OpenHermes-2.5`, `org/name.v1`) is now loaded from the Hub instead of failing with `Data file not found`: the loader read the dot as a file extension. A single string now takes the same route as the same name inside a `data.train` list: a supported file extension (`.jsonl`, `.json`, `.csv`, `.parquet`, `.txt`) means a local file, a `://` string a remote URI, anything else a Hub id. A path with an unsupported suffix that does not exist (a typo such as `data/train.jsnol`) therefore goes to the Hub lookup too, instead of `Data file not found`, while an existing file with an unsupported suffix (`data.tsv`) still gets `Unsupported file format` (#1889).
|
|
50
|
+
|
|
15
51
|
## [0.76.0] - 2026-10-12
|
|
16
52
|
|
|
17
53
|
### Added
|
|
@@ -1369,7 +1405,7 @@ control characters in rejected values are escaped (#953 by @shubhambhar007 in #9
|
|
|
1369
1405
|
`soup data pii` and `soup data score` (#1329 by @taljeon in #1360).
|
|
1370
1406
|
- Email snippets now follow the bounded local-part match, so leading punctuation
|
|
1371
1407
|
and punctuation-adjacent addresses may produce different snippet spans; row-level
|
|
1372
|
-
detection remains unchanged.
|
|
1408
|
+
detection remains unchanged (#1329 by @taljeon in #1360).
|
|
1373
1409
|
|
|
1374
1410
|
- **Refuse incompatible pre-tokenized data transformations.** Soup data preprocessing does not apply non-text modality transforms (vision/audio/audio_out), `data.add_new_tokens`, `data.new_special_tokens`, or `data.prompt_strategy` to cached ids, so those combinations are refused at config load (#1273 by @Samearth17 in #1363)
|
|
1375
1411
|
|
|
@@ -1491,7 +1527,8 @@ control characters in rejected values are escaped (#953 by @shubhambhar007 in #9
|
|
|
1491
1527
|
not given, so these rules apply without the flag too, and to `soup bench`,
|
|
1492
1528
|
which loads through `soup infer`. On a CPU-only host the model now loads in
|
|
1493
1529
|
`float32` pinned to the CPU instead of `"auto"`/`float16`, which doubles its
|
|
1494
|
-
RAM use (a 7B model needs about 28 GB instead of 14 GB)
|
|
1530
|
+
RAM use (a 7B model needs about 28 GB instead of 14 GB) (#1443 by @drakeo338 in
|
|
1531
|
+
#1460).
|
|
1495
1532
|
|
|
1496
1533
|
- **`soup expect` refuses suite keys and argument names an expectation does not take, instead of running it on its defaults (#1428 by @Srinivasan8888 in #1461).**
|
|
1497
1534
|
`parse_suite_spec` read only `name` and `args` and dropped every other key, and the dispatcher read arguments with `args.get(key, default)`, so the `min_tokens` / `max_tokens` example in `docs/compliance.md` (written beside `name` instead of under `args:`) and a misspelled argument such as `max_token` both ran `expect_token_length_between` on its defaults of 1 and 1,048,576 tokens and passed a 5000-token row with exit 0. A key beside `name` or an argument the expectation does not take is now refused when the suite loads (exit 3, before the data file is opened), with the key named and either "belongs under `args:`" or the nearest valid name; `min_tokens` / `max_tokens` / `threshold` are validated at parse time too. The `docs/compliance.md` example moves to the `args:` form. A suite that carried one of these keys now exits 3 on its next run, which is the point.
|
|
@@ -2028,7 +2065,7 @@ control characters in rejected values are escaped (#953 by @shubhambhar007 in #9
|
|
|
2028
2065
|
|
|
2029
2066
|
### Security
|
|
2030
2067
|
|
|
2031
|
-
- Hardening of outbound endpoint validation
|
|
2068
|
+
- Hardening of outbound endpoint validation — [GHSA-9f49-hqpf-c849](https://github.com/MakazhanAlpamys/Soup/security/advisories/GHSA-9f49-hqpf-c849). The advisory has the details and upgrade guidance.
|
|
2032
2069
|
|
|
2033
2070
|
## [0.75.1] - 2026-09-21
|
|
2034
2071
|
|
|
@@ -6684,7 +6721,8 @@ what a fine-tune forgets and leaks.
|
|
|
6684
6721
|
`SECURITY.md` (~220 KB). `SECURITY.md` is now a concise security policy; the
|
|
6685
6722
|
detailed hardening notes remain in git history and the GitHub Releases notes.
|
|
6686
6723
|
|
|
6687
|
-
[Unreleased]: https://github.com/MakazhanAlpamys/Soup/compare/v0.76.
|
|
6724
|
+
[Unreleased]: https://github.com/MakazhanAlpamys/Soup/compare/v0.76.1...HEAD
|
|
6725
|
+
[0.76.1]: https://github.com/MakazhanAlpamys/Soup/compare/v0.76.0...v0.76.1
|
|
6688
6726
|
[0.76.0]: https://github.com/MakazhanAlpamys/Soup/compare/v0.75.2...v0.76.0
|
|
6689
6727
|
[0.75.2]: https://github.com/MakazhanAlpamys/Soup/compare/v0.75.1...v0.75.2
|
|
6690
6728
|
[0.75.1]: https://github.com/MakazhanAlpamys/Soup/compare/v0.75.0...v0.75.1
|
|
@@ -122,6 +122,7 @@ src/soup_cli/
|
|
|
122
122
|
monitoring/ - Callbacks and live dashboard
|
|
123
123
|
experiment/ - SQLite experiment tracking
|
|
124
124
|
eval/ - Eval platform (custom tasks, LLM judge, human eval, leaderboard)
|
|
125
|
+
bench/ - Benchmark instruments behind `soup bench train` (collector, train_report, train_run) (#836)
|
|
125
126
|
migrate/ - Config migration (LLaMA-Factory, Axolotl, Unsloth)
|
|
126
127
|
recipes/ - Ready-made configs for popular models (170 recipes)
|
|
127
128
|
autopilot/ - Zero-config decision engine (v0.25.0)
|
|
@@ -289,51 +290,51 @@ Accepted runs are recorded in [`benchmarks/gpu-test-runs.md`](benchmarks/gpu-tes
|
|
|
289
290
|
| test_inference_advanced.py | Inference Excellence: prefix caching, spec-decoding auto-pairing, LoRA hot-swap, structured output, dashboard + /metrics, OpenTelemetry tracing (v0.30.0) |
|
|
290
291
|
| test_recipes_v031.py | Model & Recipe Breadth: 34 new recipes (vision/audio/reasoning/edge/domain/multimodal); catalog-wide invariants; CI workflow validation (v0.31.0) |
|
|
291
292
|
| test_auto_tuning.py | Training Stability & Auto-Tuning: LR range finder, grad-accum monitor, auto mixed-precision, auto warmup, spike recovery, convergence detector, autopilot wiring (v0.32.0) |
|
|
292
|
-
| test_part_f_hardening.py | Live Wire
|
|
293
|
-
| test_part_a_wave1.py | Live Wire
|
|
294
|
-
| test_part_a_wave2.py | Live Wire
|
|
295
|
-
| test_part_e.py | Live Wire
|
|
296
|
-
| test_part_d.py | Historical
|
|
297
|
-
| test_part_c.py | Live Wire
|
|
298
|
-
| test_part_b.py | Live Wire
|
|
299
|
-
| test_log_level.py | Smart logging tiers `--log-level quiet/normal/verbose/debug` (v0.34.0
|
|
300
|
-
| test_run_cost.py | Per-run cost: GPU-rate lookup + estimate + format + tracker integration (v0.34.0
|
|
301
|
-
| test_why.py | `soup why` heuristic explainer: NaN / plateau / divergence / grad-norm / LR bounds (v0.34.0
|
|
302
|
-
| test_crash_reporter.py | `.crash` bundle: classify, redact secrets, write under cwd, oversize truncation (v0.34.0
|
|
303
|
-
| test_replay.py | `soup runs replay`: summarise + downsample + CLI rendering (v0.34.0
|
|
304
|
-
| test_profiling.py | Auto-profiling: ProfilerSchedule + path containment + torch-less degradation (v0.34.0
|
|
305
|
-
| test_tui.py | `soup tui`: CLI bounds + missing-textual error + row builders (v0.34.0
|
|
306
|
-
| test_trainer_coverage_v035.py | Multi-trainer v0.28.0 wiring smoke matrix: every trainer × every speed/memory feature + benchmark_kernel_combos + schema-gate lift (v0.35.0
|
|
293
|
+
| test_part_f_hardening.py | Live Wire hardening: RLVR OS-level sandbox isolation + prune_checkpoints TOCTOU (v0.33.0) |
|
|
294
|
+
| test_part_a_wave1.py | Live Wire: live eval-gate scoring + registry attach (v0.33.0) |
|
|
295
|
+
| test_part_a_wave2.py | Live Wire: soup can run / publish + DeployTarget schema (v0.33.0) |
|
|
296
|
+
| test_part_e.py | Live Wire: --find-lr live loop + spike recovery hint + auto mixed-precision push + grad-accum advisory (v0.33.0) |
|
|
297
|
+
| test_part_d.py | Historical Live Wire primitives: structured-output LogitsProcessor + HF push integration smoke (v0.33.0) |
|
|
298
|
+
| test_part_c.py | Live Wire: multi-trainer v0.28.0 features + selective ckpt hooks + CrossDocCollator (v0.33.0) |
|
|
299
|
+
| test_part_b.py | Live Wire: auto-reexec under accelerate launch + DeepSpeed-MII live serve (v0.33.0) |
|
|
300
|
+
| test_log_level.py | Smart logging tiers `--log-level quiet/normal/verbose/debug` (v0.34.0) |
|
|
301
|
+
| test_run_cost.py | Per-run cost: GPU-rate lookup + estimate + format + tracker integration (v0.34.0) |
|
|
302
|
+
| test_why.py | `soup why` heuristic explainer: NaN / plateau / divergence / grad-norm / LR bounds (v0.34.0) |
|
|
303
|
+
| test_crash_reporter.py | `.crash` bundle: classify, redact secrets, write under cwd, oversize truncation (v0.34.0) |
|
|
304
|
+
| test_replay.py | `soup runs replay`: summarise + downsample + CLI rendering (v0.34.0) |
|
|
305
|
+
| test_profiling.py | Auto-profiling: ProfilerSchedule + path containment + torch-less degradation (v0.34.0) |
|
|
306
|
+
| test_tui.py | `soup tui`: CLI bounds + missing-textual error + row builders (v0.34.0) |
|
|
307
|
+
| test_trainer_coverage_v035.py | Multi-trainer v0.28.0 wiring smoke matrix: every trainer × every speed/memory feature + benchmark_kernel_combos + schema-gate lift (v0.35.0 — #60, #61, #45) |
|
|
307
308
|
| test_v0470_part_a.py | Synthetic Data Forge: ForgePlan / ProvenanceRecord / ForgeRow frozen dataclasses + VALID_TASKS allowlist + chunk_document + score_uncertainty + discover_documents (cwd-contained, symlink-rejecting, extension allowlist) + build_forge_plan validators (task / target_rows / teacher / NaN+Inf threshold) + synthesise_forge_rows (judge-exception swallow at DEBUG) + write_forge_dataset + write_provenance (atomic, TOCTOU-safe) + CLI smoke (v0.47.0) |
|
|
308
309
|
| test_v0470_part_b.py | Data Quality Moat: BENCHMARKS MappingProxyType + ScoreReport frozen + ngram_set / ngram_overlap_ratio / decontaminate_rows (containment ratio) + detect_pii (ReDoS-hardened regexes + 50 KB pre-cap) + detect_language (6-language stopword heuristic) + score_toxicity (keyword baseline) + score_educational_value + compute_scorecard + load_jsonl_rows / write_jsonl_rows (cwd-contained, symlink-rejecting, atomic) + CLI smoke per subcommand (v0.47.0) |
|
|
309
310
|
| test_v0480_part_a.py | Curriculum-Aware Trainer (BETA): DynamicCurriculumPolicy frozen + bounds; compute_bucket_weights softmax + water-fill (floor-strict invariant); validate_distributed_curriculum DDP gate; render_curve + parse_history_jsonl with 100k-row DoS cap; SoupConfig cross-validators (requires-curriculum / mlx-rejected / non-SFT-rejected / floor ≤ 1/buckets); `soup runs curriculum-curve` CLI (TOCTOU symlink reject + 50 MB cap + corrupt-JSONL exit 2) (v0.48.0) |
|
|
310
311
|
| test_v0490.py | v0.49.0 Long Context & Architecture: YaRN math kernels (yarn_find_correction_dim / yarn_find_correction_range / yarn_linear_ramp_mask / yarn_get_mscale — bool/NaN/Inf rejection, auto-disambiguated low==high); YaRN schema fields (yarn_factor / yarn_attn_factor / yarn_beta_fast / yarn_beta_slow) + cross-validator rejecting yarn fields without rope_scaling_type=yarn; Dynamic NTK harden + verify; LongLoRA schema gate (Llama-family + sft + transformers + !ring_attn); `is_llama_model` word-boundary regex (mirrors v0.39.0 `is_gemma4_model` / v0.44.0 `is_llama4_model` policy); Llama 3.1 NTK-aware (`scale_inv_freq_llama3` smooth-transition / bool-rejected on every param / zero-`old_context_len` rejected; `detect_llama3_rope_in_config` with `rope_type` alias + explicit `is None` check); public-boundary input validation on `get_rope_scaling_config` (target_length / original_length / yarn_factor — security review fix) (v0.49.0) |
|
|
311
312
|
| test_v0480_part_b.py | Data Mixing Optimizer (BETA): parse_budget (digits + s/m/h suffix [60s, 24h]) + validate_datasets (containment + symlink + dedup + 32-cap) + MixCandidate (simplex + finite + bool-rejected) + BudgetTracker (injectable clock) + run_mix_optimizer (isolated proxy failures + KeyboardInterrupt propagation + NaN skip + partial budget trip) + render_mix_recipe_yaml (YAML injection defence) + write_mix_recipe / load_mix_recipe (atomic + TOCTOU + 256 KB cap) + `soup data mix --optimize / --apply` CLI (v0.48.0) |
|
|
312
313
|
|
|
313
|
-
| test_v0500_part_a.py | v0.50.0
|
|
314
|
-
| test_v0500_part_b.py | v0.50.0
|
|
315
|
-
| test_v0500_part_c.py | v0.50.0
|
|
316
|
-
| test_v0500_part_d.py | v0.50.0
|
|
317
|
-
| test_v0500_part_e.py | v0.50.0
|
|
314
|
+
| test_v0500_part_a.py | v0.50.0 — GRPO objective variants (gspo / dapo / dr_grpo / bnpo / two_sided / rft / standard); closed allowlist + frozen `GRPOVariantSpec` + `MappingProxyType` immutability; `validate_grpo_variant` (bool / null-byte / oversize / unknown rejected); `validate_grpo_delta` (bool / NaN / Inf / out-of-range rejected); `apply_variant_loss` deferred-live stub; TrainingConfig integration (Literal accept + two_sided requires delta cross-validator + NaN/Inf field_validator) (v0.50.0) |
|
|
315
|
+
| test_v0500_part_b.py | v0.50.0 — Long-context GRPO + vLLM sleep; `validate_long_context_grpo_compat` (task / backend / ring-attention exclusivity + null-byte + bool guards); `validate_vllm_sleep_mode_compat` (transformers / unsloth allowlist + null-byte); `apply_vllm_sleep_mode` deferred stub with v0.50.1 marker; SoupConfig integration (vllm_sleep_mode requires task='grpo' — code-review HIGH fix) (v0.50.0) |
|
|
316
|
+
| test_v0500_part_c.py | v0.50.0 — Multi-turn agent rollout backend allowlist (art / ruler / nemo_gym / openenv); frozen `RolloutBackendSpec` + `MappingProxyType` immutability; `validate_rollout_backend` (bool rejected); `required_rollout_package` per-entry mapping; `launch_rollout` deferred stub; SoupConfig task-gate + mlx rejection (v0.50.0) |
|
|
317
|
+
| test_v0500_part_d.py | v0.50.0 — 7 stability/efficiency knobs (`ref_model_ema_alpha` / `replay_buffer_size` / `async_grpo_prefetch` / `tis_threshold` / `mask_truncated_completions` / `defer_rerolling` / `skip_zero_advantage` / `off_policy_mask_threshold`); explicit bool-rejection field_validator across all numeric fields (tdd-guide HIGH fix); `mask_truncated_completions` requires `tis_threshold` cross-validator; SoupConfig task-gate naming every offending field; `grpo_fp16` task-gate (code-review HIGH fix) (v0.50.0) |
|
|
318
|
+
| test_v0500_part_e.py | v0.50.0 — `task='prm'` (Process Reward Model) + `vision_grpo` flag; `validate_prm_compat` (data.format / modality / mlx gates); `validate_vision_grpo_compat` (task ∈ {grpo, ppo} / modality='vision' / non-mlx); `build_prm_trainer` deferred stub; SoupConfig integration with all rejection paths exercised (v0.50.0) |
|
|
318
319
|
| test_v0520.py | v0.52.0 Modality II — TTS / classifier / distill / BitNet / EBFT-GDPO / MoE quant / reasoning_effort: TTS family allowlist + per-family emotion allowlists (Orpheus + Oute) + validate_tts_compat; classifier / reranker / cross_encoder tasks + num_labels (with field_validator bool guard) + label_names dedup + classifier-only field gates; distill divergence (kl alias canonicalised, Literal excludes alias) + teacher_model + distill_temperature bounds; BitNet 1.58 quant + bitnet/tq1_0 export-format stubs + Falcon-E recipe + is_bitnet_model org-prefix detect; EBFT (structured/strided) + GDPO (standard/length_normalized/margin) variant allowlists + task gates; MoE expert quant (nf4/int8_rowwise) + train_router_only requiring moe_lora=true; reasoning_effort + train_on_eot with SFT-family task gate; 6 new recipes (5 TTS + Falcon-E BitNet); review-fix coverage (num_labels bool guard, Oute emotion allowlist, lazy-import in classifier validator, task gates, oversize / NaN / Inf matrices). Test count: 272 (v0.52.0) |
|
|
319
320
|
| test_v0531_82.py | v0.53.1 #82 autopilot pre-quantized detection: `detect_prequantized_format` + `decide_quantization(prequantized=...)` + `detect_prequantized_format_from_path` with cwd-containment + config.json symlink rejection + name/config aliases + word-boundary regex (v0.53.1) |
|
|
320
321
|
| test_v0531_142.py | v0.53.1 #142 merge_4bit + export_torchao live wiring: BNB-4bit single-stage merge + TorchAO PTQ with per-scheme kwarg allowlist + CLI `--save-format` + `--quant-config` + `load_quant_config` (yaml.safe_load + 256 KB cap + extension allowlist) + path TOCTOU (v0.53.1) |
|
|
321
322
|
| test_v0531_139.py | v0.53.1 #139 export_advanced_gguf live: 3-stage llama.cpp pipeline (convert → imatrix → quantize) + UD-prefix strip + subprocess argv shape + `_prepare_calibration_text` JSONL alias fallback + null-byte strip + 50 MB cap + POSIX O_NOFOLLOW + `_safe_stderr` Rich escape (v0.53.1) |
|
|
322
323
|
| test_v0531_109.py | v0.53.1 #109 deploy autopilot --measure: `compute_cache_key` + `sha_of_file` + `measure_candidate` OK/MINOR/MAJOR bands + `pick_best` soft-fallback (max-by-delta) + cache round-trip with symlink rejection on load AND save + CLI integration + `_MAX_CANDIDATES=32` cap + `render_measure_table` markup escape regression (v0.53.1) |
|
|
323
|
-
| test_v0530.py | v0.53.0 Quant Menu II — UD GGUFs + KV cache + NVFP4 + LF parity + save formats:
|
|
324
|
-
| test_v0570_part_a.py | v0.57.0
|
|
325
|
-
| test_v0570_part_b.py | v0.57.0
|
|
326
|
-
| test_v0570_part_c.py | v0.57.0
|
|
324
|
+
| test_v0530.py | v0.53.0 Quant Menu II — UD GGUFs + KV cache + NVFP4 + LF parity + save formats: GGUF (UD ladder 14 entries + IQ 12 + Apple/ARM 10 frozensets + non-overlap invariant + `validate_*` case-insensitive + rejection matrix + `is_advanced_gguf_format` union + `_LOWER_INDEX` O(1) lookup + MappingProxyType immutability + `validate_calibration_data_path` shape rejection + 4096-boundary + `export_advanced_gguf` v0.53.1 deferred stub); KV cache (`KV_CACHE_TYPES` frozenset + `validate_kv_cache_type` case + bool/null/oversize/non-string rejection + `requires_hopper` delegates to spec + `get_kv_cache_spec` frozen + schema fp8-on-mlx rejected with specific message + q8_0-on-mlx allowed); advanced precision (`fp8_attention` requires `quantization_aware='fp8'` BEFORE mlx-gate ordering + bool guards on every string param + schema rejects-without-fp8-qat; `nvfp4` mlx + vision rejection + bool guards; `unsloth_bnb_4bit` backend='unsloth' + quantization='4bit' rejection matrix; `apply_*` deferred); LF parity (`bnb_4bit_use_double_quant` rejects none/8bit/gptq parametrize; `llm_int8` rejects default-none + 4bit; `quantize_ref_model` happy on dpo/grpo/kto + rejects sft/pretrain; `quantize_reward_model` happy on ppo/reward_model + rejects dpo; explicit `TypeError("v0.53.0 flag must be bool")` from `_validate_v053_bool_fields`; explicit-null surfaces as `valid boolean` ValidationError); save formats (`MERGE_SAVE_FORMATS` lowercase normalisation + rejection matrix; `TORCHAO_PTQ_SCHEMES` CASE-SENSITIVE — `int4weightonly` rejected; `validate_quant_config_path` 4096-boundary; `MergeSaveSpec` + `TorchAOPTQSpec` frozen + MappingProxyType immutability; `merge_4bit` + `export_torchao` deferred); Cross-cutting (full 5-field YAML round-trip + cardinality invariant + tautological-assert replaced with allowlist + idempotent re-validate + `get_gguf_spec` unknown raises + bool guards on backend/modality/quantization across every advanced-precision validator). Test count: 154 (v0.53.0) |
|
|
325
|
+
| test_v0570_part_a.py | v0.57.0 `soup adapters diff` — `effective_rank` SVD entropy (identity / concentrated / empty / 1D / zero / bool-eps / non-finite eps); `compute_layer_diffs` (identical-zero / known-norm-5 / shape-mismatch-skipped / intersection-only / non-mapping / oversize cap); `render_report_json` + `render_report_markdown` (roundtrip / non-report TypeError / only-lists section); `LayerDiff` frozen via FrozenInstanceError; end-to-end `compute_adapter_diff` (safetensors fixture + outside-cwd reject + bool top_k + 1/201 boundary + missing safetensors + .bin rejection + POSIX symlink at weights file); CLI (table/json/markdown smoke + unknown --format + --output requires non-table + outside-cwd + atomic write); no-top-level-torch source-grep guard. Test count: 36 (v0.57.0) |
|
|
326
|
+
| test_v0570_part_b.py | v0.57.0 `soup adapters merge` — 4 strategies in pure numpy: `merge_linear` (average / weighted / intersection / shape-mismatch / single-rejected / 17-too-many / bool weight / negative / NaN / inf rejection / zero-sum / length-mismatch); `merge_ties` (density top-half / majority-sign election / **tied-sign-defaults-positive** review fix / density bounds / density=1.0 inclusive / bool-density); `merge_dare` (deterministic-by-seed / different-seeds-diverge / bool-seed / negative-seed / density=1 equals linear); `merge_svd` (no-rank equals linear / rank reduces / non-2d passthrough / rank clamp / invalid-rank); `merge_adapters` e2e linear + unknown-strategy + output-outside-cwd + **POSIX symlink-at-output-safetensors rejection**; `SUPPORTED_STRATEGIES` frozenset + `STRATEGY_ORDER` tuple invariants; `predict_merged_verdict` stub + non-report + canary_suite type; `MergeReport` FrozenInstanceError; CLI help / linear / unknown-strategy / invalid-weights / single-adapter rejection; no-top-level-torch source-grep. Test count: 43 (v0.57.0) |
|
|
327
|
+
| test_v0570_part_c.py | v0.57.0 `soup adapters blame` — `parse_budget` (60/60s/5m/2h / below-floor / above-cap / invalid-format / empty / bool / null-byte / non-string); `plan_blame` (happy / infeasible-budget / shard offsets / uneven split / empty dataset / outside-cwd-adapter / outside-cwd-dataset / invalid-layer / shard bounds / **bool=True AND False shards** / **bool budget_seconds**); `run_blame` stub raises NotImplementedError v0.57.1 + non-plan TypeError; `BlamePlan` + `BlameShardWork` FrozenInstanceError; CLI help + plan-only smoke + invalid-budget + live runner advisory exit-0. Test count: 33 (v0.57.0) |
|
|
327
328
|
| test_v0580.py | v0.58.0 `soup loop` CLI-first data flywheel — `LoopState` frozen + 3 closed allowlist + bool/null/oversize/non-string reject; `with_status` / `bumped` (unknown counter + bool delta rejected); state file I/O atomic + cwd containment + POSIX symlink rejection + 1 MiB cap + forward-compat unknown-field-dropping; `init_state` refuses overwrite without `--force`; `CanaryPolicy` (cross-field, NaN/Inf, frozen); deterministic SHA-256 routing (stable-only / 0% / 100% / determinism / 25% split approximate / empty key / NUL key / non-policy); `rollback` (clears canary / route-after-rollback all-stable / reason / non-policy); `BucketStats` (record + verdict OK/MAJOR/UNKNOWN + bounds + invalid bucket + snapshot MappingProxyType); `parse_budget_string` (5 happy + empty/garbage/NUL/negative/overflow); `check_budget` (within/budget-blocked/daily-cap-blocked/None=unlimited + negative/NaN/bool guards); `reset_daily_counter_if_new_day` (same-day/new-day/None-prior/negative); `IterationRecord` frozen + verdict allowlist + path-separator id; iteration write/read roundtrip + outside-cwd + missing + sorted listing + non-record + invalid manifest; `new_iteration_id` unique × 20; `run_once` (defaults + budget-skip + custom callbacks + invalid types); `WatchConfig` (defaults + bad poll_interval/max_iterations/callable); `watch` finite-runs + on_iteration flips status to stop; `maybe_rollback` (OK no-op / MAJOR clears / UNKNOWN no-op / non-policy / non-str); CLI smoke (loop --help / init / refuse overwrite / --force / invalid budget / status without init / status / pause+resume cycle / pause-stopped / resume-running / watch --max-iterations / --foreground/--detach mutex / canary / canary invalid traffic / canary same-as-stable / replay list-empty / replay show / replay unknown); source-grep (cli.py registers loop / `__init__.py` == 0.58.0 / no top-level torch in 5 loop modules / typer.Typer). Review-fix coverage: 1 CRITICAL + 3 HIGH + 3 MEDIUM + 1 LOW. Test count: 160 (188 pass + 1 POSIX-skipped). (v0.58.0) |
|
|
328
|
-
| test_v0570_part_d.py | v0.57.0
|
|
329
|
+
| test_v0570_part_d.py | v0.57.0 `soup adapters branch/checkout/branches` — `create_branch` happy + with-dataset + invalid-name + null-byte name + bool name + config-outside-cwd + missing-config + empty-base-model + null-byte base + **bool base_model rejected** + oversize 1MiB config + atomic write; `list_branches` empty + sorted; `load_branch` roundtrip + missing + invalid-name + **POSIX symlink rejection**; `delete_branch` true-when-present + false-missing + **POSIX symlink rejection** + traversal rejection; `write_checkout` writes target + drift detection + outside-cwd reject + non-branch + missing source; `Branch` FrozenInstanceError; SOUP_BRANCHES_DIR env override (valid-honoured + null-byte falls-back via mocked os.environ.get + CRLF falls-back); CLI smoke create / list / checkout / invalid-name / missing-config / missing-branch / empty-list. Test count: 37 (v0.57.0, 4 POSIX-skipped on Windows) |
|
|
329
330
|
| test_issue349_measured_fit.py | v0.73.1 #349 — measured stream VRAM fit: `training.stream_vram_probe` (bool, default false, sft-only) decides layer-streaming VRAM pre-flight by MEASURING a real forward+backward at the configured shape instead of using the fitted formula; justified on RTX 3050 where the formula under-predicts 0.934x at seq 5120 / 0.787x at seq 6144. Config validation + schema bounds (task gate sft, rejects stream_layers=false). Plus: `training.batch_size` field_validator now rejects 0 and negative values (was accepting `-4` before). Test count: 33 (v0.73.1) |
|
|
330
331
|
| test_issue372_no_reexec_hint.py | #372 — `--no-reexec` hint is derived from the same argv as auto-reexec (`build_train_reexec_argv` + `hint_argv_from_reexec`); tokenised printed command is a superset of user flags parametrised over `--fsdp` / `--deepspeed` / `--config` / `--trust-remote-code`; control with no extra flags still prints a valid minimal command; CLI smoke does not skip. |
|
|
331
332
|
| test_issue392_mlx_target_keys.py | v0.73.1 #392 — the MLX `adapter_config.json` serialised `target_modules` UNRESOLVED, so a default MLX adapter loaded as a silent no-op. `_apply_lora` resolved `auto` into a LOCAL variable and trained the resolved modules; the writer serialised the raw config value, so the file carried `{"keys": ["auto"]}`, `linear_to_lora_layers` matched no module and `load_weights(strict=False)` dropped all 96 LoRA tensors WITHOUT A WORD — generation with the adapter bit-identical to the base. `auto` is the schema DEFAULT, so this was every MLX run that did not name its modules by hand, and `adapter_config.json` exists specifically to promise the output dir loads with `mlx_lm.load(..., adapter_path=...)`. Reported by @armanbot-jpg with the control that isolates it: hand-editing `keys` makes the very same `adapters.safetensors` produce the tuned behaviour, i.e. the weights were fine and the config was not. **Third time in this project a healthy loss curve shipped a dead artifact** (v0.72.0's `.inner.` keys, #362's full-fine-tune adapter, this) — the loss curve structurally cannot see it, only the artifact can. Repaired as ONE shared `resolve_mlx_target_keys()` rather than teaching the writer to resolve too, since two copies of "which modules did we train?" is how they drifted. 10 red before, 10 green after; two are controls (the resolved value must never contain `auto` whatever the input, and rank/scale/dropout must still come from the config, so a repair that hardcoded the block would fail rather than pass). (v0.73.1) |
|
|
332
333
|
| test_issue441_coerce_token_ids.py | #441 — `coerce_token_ids` is the public shared helper (`data_doctor` must import that name, not `_coerce_token_ids`, and must not define its own copy); duck-typed mapping (has `get`, not a `collections.abc.Mapping`) returns `[1, 2, 3]` rather than raising `input_ids[0]='input_ids'`; the same object carrying `assistant_masks` takes the mask path (labels keep only the masked token — fails if only the coerce gate is widened); missing `input_ids` still raises the existing error; both call sites share `_is_mapping_like` (`isinstance(out, Mapping)` lives in exactly one place). |
|
|
333
334
|
| test_v07302.py | v0.73.2 `soup ship` leg-2 suite enhancements + noise floor: `--noise-floor N` (N in [2,10], metric-mode-only) re-runs base N times, per-axis floor = max-min spread, gates each at max(threshold, floor) — `VramFit.noise_floor_block` frozen + `measure_base_spreads` (base-only, N forward passes) + `compute_noise_floors` aggregation; evidence JSON schema extended with optional `noise_floor` block (runs + floors dict); 8th bundled suite `mini_over_refusal` (inverse safety gate, benign-not-refused) + DEFAULT_GENERAL_SUITE count 8; scorer fixes: `extract_mcq_letter` now understands `\boxed{C}` single-letter format, `tool_call_name_match` tolerates missing outer `{"function": ...}` envelope (carries BOTH name + arguments), `score_bundled_suite` raises TypeError for non-callable generator (was silently returning 0.0); baseline scale warning for the three affected suites (mini_mmlu / mini_common_sense / mini_tool_call); MCP `ship_evidence` tool honours noise_floor in evidence schema. (v0.73.2) |
|
|
334
|
-
| test_v0560.py | v0.56.0 `soup diagnose` post-training failure-mode report card —
|
|
335
|
-
| test_v0540.py | v0.54.0 `soup advise` pre-flight decision —
|
|
336
|
-
| test_v0510.py | v0.51.0 Model Catalog Expansion + Alternative Model Hubs:
|
|
335
|
+
| test_v0560.py | v0.56.0 `soup diagnose` post-training failure-mode report card — 6 probes (forgetting Δ-accuracy + tolerance band; refusal advbench/xstest delta + `_MAX_REFUSAL_SCAN=8192` cap; format JSON/regex/tool_call with ReDoS probe + `_VALID_KINDS` frozenset; mode_collapse pairwise n-gram Jaccard over K completions; memorization training-prefix echo via `split_prefix`; contamination v0.47 ngram-overlap reuse + combined-complexity cap N×M>1e9); `FailureReport` + `FailureScore` frozen dataclasses with OK/MINOR/MAJOR taxonomy (≥0.85/≥0.60 thresholds) + `compose_report` / `build_report` SDK + atomic `write_report` (realpath containment + symlink reject) + `render_badge_svg` HTML-escaped 6-cell SVG + CLI smoke (--evidence/--output/--badge/--attach-to-registry); `diagnose_report` artifact kind + `soup train --diagnose-gate` MAJOR-rejection helper. Review-fix coverage: atomic+TOCTOU-safe badge write, typer.Exit (not sys.exit), 16 MiB evidence size cap, `extract_row_text` centralisation, `tokenize` delegates to `_eval_text`, extras null-byte sanitisation, source-grep regression guards. Test count: 123 (v0.56.0) |
|
|
336
|
+
| test_v0540.py | v0.54.0 `soup advise` pre-flight decision — Verdict engine (TASK_CATEGORIES + CHOICES allowlists; frozen Verdict / DatasetProfile / ROIEstimate; `classify_task` keyword + tool_calls + reasoning-trace signals + goal-steers; `compute_dataset_profile` shape + diversity + chosen/rejected + reasoning detection; `build_verdict` 5-branch rubric with `_MIN_ROWS_FOR_GRPO=500`; `load_advise_dataset` cwd-containment + symlink reject + BOM strip + malformed-JSON reject); Probe runner (`synth_probe_baselines` + `synth_probe_lora_delta` heuristic stubs with forward-compat `model`/`device`/`lr`/`timeout_seconds` kwargs; `format_verdict_rubric` + `next_command_for` handoff); Cross-project learning (`record_verdict` + `load_history` + `_append_with_lock` cross-process fcntl/msvcrt locking; `~/.soup/advise_history.jsonl` + sidecar `.lock` on Windows; `history_path` env override containment; per-line 64 KB cap on history reads); CLI smoke (run / explain / compare subcommands + `_rewrite_advise_argv` scoped to argv[1]); review-fix coverage (atomic scratch write + symlink reject on read; concurrent 8-thread record stress; 49↔50 / 499↔500 / 4096↔4097 boundary). Test count: 136 (v0.54.0) |
|
|
337
|
+
| test_v0510.py | v0.51.0 Model Catalog Expansion + Alternative Model Hubs: hubs.py (`SUPPORTED_HUBS` + `validate_hub_name` + `validate_hub_endpoint` SSRF parity / CRLF rejection / IPv6 mapped private rejected / IPv6 loopback ok / control chars; `resolve_endpoint` env-var override; `default_endpoint` + `endpoint_env_var` + `required_hub_package` + `is_hf` with bool guards; MappingProxyType immutability); TrainingConfig `hub` field (default + Literal accept + None reject + case-insensitive normalisation + YAML round-trip) + SoupConfig `_validate_hub_supported` (mlx + non-hf rejected; mlx + hf accepted; modelers + transformers accepted); MULTIPACK_ARCHITECTURES extension (20 new arches parametrize + legacy preserved + exact count=38 + frozenset immutability); 26 new recipes (parametrize over every name × {get_recipe / RecipeMeta / SoupConfig load / yaml.safe_load / model id no null/whitespace/empty parts / max_length bounds / GRPO required fields}); baichuan-sft uses `hub: modelscope`; total recipe count >= 105 (v0.51.0) |
|
|
337
338
|
|
|
338
339
|
(Note: the test-file table above is a representative subset, not exhaustive — every `tests/test_*.py` file maps to a feature area or release.)
|
|
339
340
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: soup-cli
|
|
3
|
-
Version: 0.76.
|
|
3
|
+
Version: 0.76.1
|
|
4
4
|
Summary: Fine-tune and post-train LLMs in one command. No SSH, no config hell.
|
|
5
5
|
Project-URL: Homepage, https://github.com/MakazhanAlpamys/Soup
|
|
6
6
|
Project-URL: Repository, https://github.com/MakazhanAlpamys/Soup
|
|
@@ -25,7 +25,7 @@ Requires-Dist: plotext>=5.2.0
|
|
|
25
25
|
Requires-Dist: pydantic>=2.0.0
|
|
26
26
|
Requires-Dist: pyyaml>=6.0
|
|
27
27
|
Requires-Dist: rich>=13.0.0
|
|
28
|
-
Requires-Dist: typer<0.21.0,>=0.
|
|
28
|
+
Requires-Dist: typer<0.21.0,>=0.15.4
|
|
29
29
|
Provides-Extra: aider
|
|
30
30
|
Requires-Dist: aider-chat<0.87,>=0.86.2; extra == 'aider'
|
|
31
31
|
Provides-Extra: all
|
|
@@ -223,11 +223,14 @@ soup train
|
|
|
223
223
|
|
|
224
224
|
**Fine-tune an 8B model on a 4 GB laptop GPU.** Layer streaming keeps the frozen base out of
|
|
225
225
|
VRAM and feeds it to the GPU one decoder layer at a time. Measured on an RTX 3050 Laptop 4 GB:
|
|
226
|
-
Llama-3.1-8B-Instruct + NF4 at **119.6 tok/s, 3.32 GB peak** — bit-exact
|
|
227
|
-
resident run, and reproduced independently on an H100 at 113.00 tok/s in the same
|
|
228
|
-
(Both figures were measured on v0.72.2, before the v0.73.0 correctness repair that cost
|
|
229
|
-
−4.8% at 32B
|
|
230
|
-
|
|
226
|
+
Llama-3.1-8B-Instruct + NF4 at **119.6 tok/s at 952 MHz, 3.32 GB peak** (pre-repair) — bit-exact
|
|
227
|
+
against a normal resident run, and reproduced independently on an H100 at 113.00 tok/s in the same
|
|
228
|
+
3.32 GB. (Both figures were measured on v0.72.2, before the v0.73.0 correctness repair that cost
|
|
229
|
+
−4.8% at 32B. The post-repair run, on another RTX 3050 Laptop 4 GB (@umran666, #1103), reads
|
|
230
|
+
**208.6 tok/s at 1935–1957 MHz in a 2.40 GB peak**. That is 59% of its same-session GEMM ceiling
|
|
231
|
+
against 68%: about 14% slower per unit clock, so the raw 1.74x gain is the clock, not a speedup.
|
|
232
|
+
Large-layer streaming also changed the memory pattern between the two rows, so even the fraction
|
|
233
|
+
is not like-for-like — [the record](benchmarks/gate-v0.72.2-nf4.md).) Opt-in (`stream_layers: true`)
|
|
231
234
|
and still BETA —
|
|
232
235
|
[how it works](docs/performance-and-quantization.md#layer-streaming-beta-v0720-nf4-v0722-disk--wider-archs-v0723-preference-losses-v0724) ·
|
|
233
236
|
[all measurements](benchmarks/) · [paper](https://doi.org/10.5281/zenodo.21771064) ·
|
|
@@ -235,8 +238,8 @@ and still BETA —
|
|
|
235
238
|
4 GB, then asserts a streamed model is bit-identical to a normal one)
|
|
236
239
|
|
|
237
240
|
<p align="center">
|
|
238
|
-
<a href="https://youtu.be/T1LCErE943E"><img src="docs/assets/layer-streaming.gif" alt="soup train pre-flight for Llama-3.1-8B on a 4 GB card: a 3.60 GB base store pinned in RAM across 32 layers and two 113 MB VRAM buffers, then a measured peak of 3.32 GB at 119.6 tok/s, stopping short of the 4 GB line (measured on v0.72.2
|
|
239
|
-
<sub>Llama-3.1-8B-Instruct + NF4, LoRA, batch 1, seq 512 on an RTX 3050 Laptop 4 GB — <b>3.32 GB peak, 119.6 tok/s</b> (
|
|
241
|
+
<a href="https://youtu.be/T1LCErE943E"><img src="docs/assets/layer-streaming.gif" alt="soup train pre-flight for Llama-3.1-8B on a 4 GB card: a 3.60 GB base store pinned in RAM across 32 layers and two 113 MB VRAM buffers, then a measured peak of 3.32 GB at 119.6 tok/s, stopping short of the 4 GB line (pre-repair row, measured on v0.72.2 at 952 MHz; the post-#331 row is in the caption below)"></a><br>
|
|
242
|
+
<sub>Llama-3.1-8B-Instruct + NF4, LoRA, batch 1, seq 512 on an RTX 3050 Laptop 4 GB — <b>3.32 GB peak, 119.6 tok/s</b> at 952 MHz (pre-repair, v0.72.2; post-#331: 208.6 tok/s at 1935 MHz in 2.40 GB, not directly comparable, @umran666, #1103). <a href="https://youtu.be/T1LCErE943E">Full video (90s)</a></sub>
|
|
240
243
|
</p>
|
|
241
244
|
|
|
242
245
|
## Why Soup?
|
|
@@ -251,53 +254,36 @@ infrastructure instead of improving models. Soup fixes that.
|
|
|
251
254
|
|
|
252
255
|
## What's New
|
|
253
256
|
|
|
254
|
-
**v0.76.
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
- **
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
- **
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
faster on the RAM tier, which `stream_source: auto` picks. Opt-in (`stream_layers: true`) and
|
|
285
|
-
still BETA; records: [direct I/O](benchmarks/gate-974-disk-tier-direct-io.md),
|
|
286
|
-
[striping](benchmarks/gate-two-drive-striping.md).
|
|
287
|
-
- **New commands and options.** `soup adapters check` scans a LoRA adapter for silent failure;
|
|
288
|
-
`soup bench train` trains a fixed number of steps and exits 1 when the model was not training
|
|
289
|
-
(it covers `task: sft` on the transformers backend; `soup bench` is now a group, and
|
|
290
|
-
`soup bench infer` is the old inference benchmark);
|
|
291
|
-
`soup data clean` sanitizes and repairs a dataset without touching the input file;
|
|
292
|
-
`soup recipes verify` checks on the meta device, with no weights downloaded, that every shipped
|
|
293
|
-
recipe can attach a LoRA adapter; `soup rewind` names the dataset rows behind a loss spike.
|
|
294
|
-
`soup infer` gains opt-in `--batch-size` and an experimental `--cuda-graphs` (PyTorch 2.14 or
|
|
295
|
-
newer; on one RTX 5070 Laptop, unpinned, Qwen2.5-1.5B in FP16, the slowest run with it decoded
|
|
296
|
-
2.9x faster than the fastest without). `soup ab` runs a two-sided, variance-robust test, and
|
|
297
|
-
`soup adapters sign --backend sigstore` and `soup attest emit --sign sigstore` sign with
|
|
298
|
-
Sigstore keyless OIDC (`pip install "soup-cli[sigstore]"`).
|
|
299
|
-
- **Deprecated:** `soup export --format awq` and `--format gptq` will be removed in v0.77; both
|
|
300
|
-
upstream projects are archived and neither extra installs next to `[train]`.
|
|
257
|
+
**v0.76.1 — a patch: the bundled DPO examples train again, and every YAML file Soup reads has
|
|
258
|
+
the same limits.** Everything in v0.76.0 is unchanged. That release refuses settings Soup
|
|
259
|
+
accepted and never applied, so a config that loaded before can stop loading: coming from
|
|
260
|
+
0.75.x, run `soup doctor --config soup.yaml` first. Its feature list is in the
|
|
261
|
+
[v0.76.0 release notes](https://github.com/MakazhanAlpamys/Soup/releases/tag/v0.76.0). The
|
|
262
|
+
settings that only warn at load are refused from v0.77, which also removes
|
|
263
|
+
`soup export --format awq` and `--format gptq`.
|
|
264
|
+
|
|
265
|
+
- **The bundled DPO examples train again.** `task: dpo`, `ipo`, `bco` and `preference` failed
|
|
266
|
+
inside trl, after the model had loaded, on `examples/data/dpo_sample.jsonl`,
|
|
267
|
+
`examples/data/chat_preferences.jsonl` and any dataset written the same way (a string
|
|
268
|
+
`prompt` beside `chosen` / `rejected` message lists), with an error that changed with
|
|
269
|
+
`PYTHONHASHSEED`. Every preference row now reaches the trainer in one layout, and a row that
|
|
270
|
+
cannot be written that way is dropped at load with a reason that names the field.
|
|
271
|
+
- **One YAML loader, with limits, for every file Soup reads.** `soup.yaml` and the other YAML
|
|
272
|
+
readers share a nesting limit (100 levels) and an expansion limit, and each keeps its own
|
|
273
|
+
size cap (1 MiB for a `soup.yaml`). A file over a limit, unreadable or not valid YAML is
|
|
274
|
+
refused with one line naming the file and the problem. The audit log masks credential
|
|
275
|
+
options by name.
|
|
276
|
+
- **The Typer floor is `typer>=0.15.4`.** `typer>=0.9.0` was declared while no command could
|
|
277
|
+
start below Typer 0.12.4, and 0.12.4 - 0.15.3 started only next to Click 8.1 or older. An
|
|
278
|
+
environment with an older Typer now has it upgraded, or the conflict named, at install time;
|
|
279
|
+
`soup doctor` reports it. A fresh install is unchanged, and one CI cell now starts the CLI on
|
|
280
|
+
the declared Typer and Click floors.
|
|
281
|
+
- **A Hub dataset id with a dot loads from the Hub.** `data.train: teknium/OpenHermes-2.5`
|
|
282
|
+
failed with `Data file not found`: the loader read the dot as a file extension.
|
|
283
|
+
- **Docs.** The README and the performance docs state the 8B NF4 figure with its SM clock
|
|
284
|
+
(119.6 tok/s at 952 MHz) beside the post-#331 row (208.6 tok/s at 1935-1957 MHz,
|
|
285
|
+
[#1207](https://github.com/MakazhanAlpamys/Soup/issues/1207) tracks the preprint
|
|
286
|
+
amendment), and the What's New of the four translations describes v0.76.0.
|
|
301
287
|
|
|
302
288
|
> Python **3.10–3.12** only. On 3.13+, pip used to resolve untested PyTorch wheels that
|
|
303
289
|
> crash in the native extension before Soup runs at all.
|
|
@@ -616,8 +602,12 @@ published**, which is also the shortest way to describe what the paper is for:
|
|
|
616
602
|
the replication survives in a weaker form — the constraint is common to both machines and is
|
|
617
603
|
not the GPU's compute.
|
|
618
604
|
- **Replication on hardware nothing like the original** (added in v2): 119.6 tok/s on the RTX
|
|
619
|
-
3050 against a median 113.00 on an H100, at the same 3.32 GB peak. Both pre-date
|
|
620
|
-
repair
|
|
605
|
+
3050 (at 952 MHz) against a median 113.00 on an H100, at the same 3.32 GB peak. Both pre-date
|
|
606
|
+
the #331 repair and are the figures the paper reports. The post-#331 row (@umran666, #1103) is
|
|
607
|
+
208.6 tok/s at 1935–1957 MHz in a 2.40 GB peak, 59% against 68% of the same-session GEMM
|
|
608
|
+
ceiling: the raw 1.74x gain is the clock, not a speedup, and the memory pattern changed between
|
|
609
|
+
the rows, so even the fraction is not like-for-like
|
|
610
|
+
([the record](benchmarks/gate-v0.72.2-nf4.md)).
|
|
621
611
|
- **A silent wrong-gradient defect, found and repaired.** On NF4 above ~165 MiB per layer the
|
|
622
612
|
forward stayed bit-exact and the loss curve looked healthy while the gradients were wrong. The
|
|
623
613
|
cause is named in the upstream library and reported there; the repair is gated against controls
|