{
  "schema_version": 1,
  "audit_started_at_kst": "2026-10-08 11:40:49 KST",
  "audit_completed_at_kst": "2026-10-08 11:42:41 KST",
  "repository_root": "/home/work/Projects/Raina-laya",
  "repository_head": "a9d2150b5baf9a41fdc1107a47755e5ab55d9a26",
  "method": "CodeGraph로 현행 소스를 먼저 확인한 뒤, 실제 파일 내용·설치 라이브러리·구성·CPU 체크포인트 텐서와 수식을 대조했습니다. GPU,학습,특징캐시 생성,제품 테스트는 수행하지 않았습니다.",
  "audited_document": {
    "path": "_docs/20261007_모델_설명/index.html",
    "sha256_at_capture": "ed85f5a1f725f3d0f89a4556223230023ff906ffb5fbbfd5a199a368d9bf4d2c",
    "sha256_at_completion": "ed85f5a1f725f3d0f89a4556223230023ff906ffb5fbbfd5a199a368d9bf4d2c",
    "changed_by_other_owner_during_audit": false,
    "scope": "수정 전 전달 자료의 기술 주장 감사를 수행했습니다. 최종 수정 문서·브라우저 검증은 루트 에이전트가 별도로 수행합니다."
  },
  "original_muq": {
    "installed_distribution_version": "0.1.0",
    "class": "MuQ",
    "hidden_width": 1024,
    "encoder_depth": 12,
    "hidden_state_count": 13,
    "cached_config_path": "model/raina-laya-best-20261001/huggingface/hub/models--OpenMuQ--MuQ-large-msd-iter/snapshots/0562a57814f6f8bbd9fdea0a25921a2fce1a841a/config.json",
    "config_sha256": "237335ee27d8fb951ce778701a12a79e06c51ae636dd786f97e45f51ce532543",
    "wrapper_config_path": "model/raina-laya-best-20261001/huggingface/hub/models--OpenMuQ--MuQ-MuLan-large/snapshots/2e01c796b71dca71b45251384c04cd7b237c9020/config.json",
    "wrapper_config_sha256": "8fefc545ef87ecd9bcde7417dd03464370c48c321f36dcff20266a752079e468",
    "inner_model_name": "OpenMuQ/MuQ-large-msd-iter",
    "container_latent_width_not_used": 512,
    "wrapper_repository": "OpenMuQ/MuQ-MuLan-large",
    "wrapper_revision": "2e01c796b71dca71b45251384c04cd7b237c9020",
    "standalone_weight_equality_verified": false,
    "executed_full_backbone_load": false
  },
  "current_champion_architecture": {
    "run_id": "ens-g016-teacher",
    "generation": 16,
    "member_count": 14,
    "manifest_path": "artifacts/champion-loop/ensembles/gen-016/teacher-members.json",
    "manifest_sha256": "382d308cc77e20281fdb8663db10d0f754fd6d5c4e8fb1effc7b28fb965fd5eb",
    "shared_frozen_muq": true,
    "aggregate_trainable_head_parameter_count": 29903402,
    "input_widths": [
      1024,
      2048
    ],
    "model_widths": [
      256
    ],
    "depths": [
      2,
      3
    ],
    "dropouts": [
      0.3
    ],
    "layer_orders": [
      [
        8,
        9
      ],
      [
        9
      ],
      [
        10
      ],
      [
        10,
        9
      ],
      [
        11
      ],
      [
        12
      ]
    ],
    "all_fail_gate_cost_8": true,
    "all_conditional_cost_1": true,
    "all_non_distilled": true,
    "all_validation_selected_member_checkpoints": true,
    "parameter_count_excludes_frozen_muq": true
  },
  "current_champion_members": [
    {
      "manifest_index": 0,
      "run_id": "champ-g016-r0001-k8_depth3",
      "checkpoint": "artifacts/training-runs/champ-g016-r0001-k8_depth3/epoch-0008.ckpt",
      "checkpoint_sha256": "224df711764ce4b9b1df793af236e6308d6c57cf106c159c6bf31d667c5dbc0f",
      "checkpoint_bytes": 11868941,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/k8_depth3.yaml",
      "config_sha256": "4aa107b066c85a9d19c4d30acd4ef351383a9f7d55e0f3695a3335db925d069b",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260929,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "transformer_depth": 3
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 3,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": null,
        "gate_soft_target_mix": null,
        "epoch": 8,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "9620c1f2ede29339fbe8ffef42a3dafb3381864da8870d682f10c51ddf935c5a"
      },
      "effective_layer_order": [
        10,
        9
      ],
      "embedding_layers_explicit": false,
      "feature_projection_weight_shape": [
        256,
        2048
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 2962691,
      "parameter_formula": {
        "projection": 524544,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 2369280,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 2962691
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          2048
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.third_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.third_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.third_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.third_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.third_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.third_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.third_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.third_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.third_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.third_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.third_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.third_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0001-k8_depth3/selection.json",
      "selection_sha256": "74d684086d7f697d491bae81dc9f5bc594100c311d0868e39b85156e6f9ec2a6",
      "validation_selected_checkpoint": "epoch-0008.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260929,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 3,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 1,
      "run_id": "champ-g016-r0001-k8_do30",
      "checkpoint": "artifacts/training-runs/champ-g016-r0001-k8_do30/epoch-0025.ckpt",
      "checkpoint_sha256": "decfcd6082a00865c779e56fbde0b9eeb011e392ac64c4546b04c5cc8f072a7e",
      "checkpoint_bytes": 8705969,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/k8_do30.yaml",
      "config_sha256": "e85a59686f10955c2a89317fef6ca76f02606443448b69eb758bcb62459b31f3",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260929,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": null,
        "gate_soft_target_mix": null,
        "epoch": 25,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "9620c1f2ede29339fbe8ffef42a3dafb3381864da8870d682f10c51ddf935c5a"
      },
      "effective_layer_order": [
        10,
        9
      ],
      "embedding_layers_explicit": false,
      "feature_projection_weight_shape": [
        256,
        2048
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 2172931,
      "parameter_formula": {
        "projection": 524544,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 2172931
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          2048
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0001-k8_do30/selection.json",
      "selection_sha256": "78855bbb59b7670d8286234ce4fa53bf40d891b6201d5b1d41959e5df7f5937a",
      "validation_selected_checkpoint": "epoch-0025.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260929,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 2,
      "run_id": "champ-g016-r0001-l10_k8",
      "checkpoint": "artifacts/training-runs/champ-g016-r0001-l10_k8/epoch-0010.ckpt",
      "checkpoint_sha256": "07a9fb06569c02fcad985ae1737e96e1a5d3915c75ec960e431a24b9303bf0b8",
      "checkpoint_bytes": 7657457,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/l10_k8.yaml",
      "config_sha256": "d75949ea223caecb96c99aac7652b0155d3b67757e1b2b03da75637b0c37ea45",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260929,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "embedding_layer_dir": "artifacts/sqlite/muq-layers-20261007",
        "embedding_layers": [
          10
        ]
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": [
          10
        ],
        "gate_soft_target_mix": null,
        "epoch": 10,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "ab7481a27ab8650cac6744068e323780925f296bcd0352144f62d16636eb7f01"
      },
      "effective_layer_order": [
        10
      ],
      "embedding_layers_explicit": true,
      "feature_projection_weight_shape": [
        256,
        1024
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 1910787,
      "parameter_formula": {
        "projection": 262400,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 1910787
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          1024
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0001-l10_k8/selection.json",
      "selection_sha256": "fe2a0791edd091e9c7d7351b0d429df4c5c1b09900be811325d9b74f496b8693",
      "validation_selected_checkpoint": "epoch-0010.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "embedding_layers": [
          10
        ],
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260929,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 3,
      "run_id": "champ-g016-r0001-l11_k8",
      "checkpoint": "artifacts/training-runs/champ-g016-r0001-l11_k8/epoch-0029.ckpt",
      "checkpoint_sha256": "194961d4ca42630c41cdf7a8766bddc3e1685f80433b6b28d45c9bd0d63b8045",
      "checkpoint_bytes": 7657457,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/l11_k8.yaml",
      "config_sha256": "fd7f32088b8c6b4f11241f280fca5fc0408b7fb253fd6232bfd128b7f3b1bb39",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260929,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "embedding_layer_dir": "artifacts/sqlite/muq-layers-20261007",
        "embedding_layers": [
          11
        ]
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": [
          11
        ],
        "gate_soft_target_mix": null,
        "epoch": 29,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "e086ab45f3403a363e8308bd67d629ecef2d4887c69a24071b407f4ecec4b1fd"
      },
      "effective_layer_order": [
        11
      ],
      "embedding_layers_explicit": true,
      "feature_projection_weight_shape": [
        256,
        1024
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 1910787,
      "parameter_formula": {
        "projection": 262400,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 1910787
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          1024
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0001-l11_k8/selection.json",
      "selection_sha256": "fe72d75706be977a0620b47f37327e0dc2c2d5fcd948d2bd47262072d83f98b2",
      "validation_selected_checkpoint": "epoch-0029.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "embedding_layers": [
          11
        ],
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260929,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 4,
      "run_id": "champ-g016-r0001-l12_k8",
      "checkpoint": "artifacts/training-runs/champ-g016-r0001-l12_k8/epoch-0020.ckpt",
      "checkpoint_sha256": "1523ed3c77d7ce43c8c3b1834923a81f4db0f5e86b1d656f0642d4e2a9d419ef",
      "checkpoint_bytes": 7657457,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/l12_k8.yaml",
      "config_sha256": "7767367f6c06d06fdaafc2f59f4bf0e5b3825af8863a28b6756329eca29addfb",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260929,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "embedding_layer_dir": "artifacts/sqlite/muq-layers-20261007",
        "embedding_layers": [
          12
        ]
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": [
          12
        ],
        "gate_soft_target_mix": null,
        "epoch": 20,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "a3b88370b19e79a34cf0815e06dd96aa86b142597679cc5e9b4f2a93468c877e"
      },
      "effective_layer_order": [
        12
      ],
      "embedding_layers_explicit": true,
      "feature_projection_weight_shape": [
        256,
        1024
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 1910787,
      "parameter_formula": {
        "projection": 262400,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 1910787
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          1024
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0001-l12_k8/selection.json",
      "selection_sha256": "d81b9bc6faa540b9bc6f17ba0adff9771dcf7a4d9252f0bb7687c7eebd16a9d7",
      "validation_selected_checkpoint": "epoch-0020.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "embedding_layers": [
          12
        ],
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260929,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 5,
      "run_id": "champ-g016-r0001-l89_k8",
      "checkpoint": "artifacts/training-runs/champ-g016-r0001-l89_k8/epoch-0018.ckpt",
      "checkpoint_sha256": "aedc27794efbe79a9cb4e6b53518573c4d708b4529b78363008dd0554de779e9",
      "checkpoint_bytes": 8706033,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/l89_k8.yaml",
      "config_sha256": "3c5c2815b5cf1e643d8fb525992c8f8c564a32afe934e8e84e94f986553076d1",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260929,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "embedding_layer_dir": "artifacts/sqlite/muq-layers-20261007",
        "embedding_layers": [
          8,
          9
        ]
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": [
          8,
          9
        ],
        "gate_soft_target_mix": null,
        "epoch": 18,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "60ceff6472d2f7c643db9001de5daabd0c118456de1f8b0d3600aca83dcad17b"
      },
      "effective_layer_order": [
        8,
        9
      ],
      "embedding_layers_explicit": true,
      "feature_projection_weight_shape": [
        256,
        2048
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 2172931,
      "parameter_formula": {
        "projection": 524544,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 2172931
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          2048
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0001-l89_k8/selection.json",
      "selection_sha256": "1653767d3c362947ef6a9918ff5c4a62ae7761cea55fa6f32defc83371035b55",
      "validation_selected_checkpoint": "epoch-0018.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "embedding_layers": [
          8,
          9
        ],
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260929,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 6,
      "run_id": "champ-g016-r0001-l9_k8",
      "checkpoint": "artifacts/training-runs/champ-g016-r0001-l9_k8/epoch-0019.ckpt",
      "checkpoint_sha256": "f89b70c046212ef7f65ca906bd8c46f1ba4c7a065fea0f72391fe283c8da5e31",
      "checkpoint_bytes": 7657457,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/l9_k8.yaml",
      "config_sha256": "58763350f09e4d42c073dd4c1cd808626eabf21809421c7df309e7513c7ebb34",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260929,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "embedding_layer_dir": "artifacts/sqlite/muq-layers-20261007",
        "embedding_layers": [
          9
        ]
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": [
          9
        ],
        "gate_soft_target_mix": null,
        "epoch": 19,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "ef07dc4eb4b62970651e7e878d4979c332729079f561213ad2eaa173a9fa29a5"
      },
      "effective_layer_order": [
        9
      ],
      "embedding_layers_explicit": true,
      "feature_projection_weight_shape": [
        256,
        1024
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 1910787,
      "parameter_formula": {
        "projection": 262400,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 1910787
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          1024
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0001-l9_k8/selection.json",
      "selection_sha256": "50f20d3d99ed58df8bdd8108a4c2392f53d88a21dad7b3b2e717b9de05154f2a",
      "validation_selected_checkpoint": "epoch-0019.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "embedding_layers": [
          9
        ],
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260929,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 7,
      "run_id": "champ-g016-r0002-k8_depth3",
      "checkpoint": "artifacts/training-runs/champ-g016-r0002-k8_depth3/epoch-0012.ckpt",
      "checkpoint_sha256": "372ffa172ec6dd436cbdb44b60beeca68e1e3b9117ad0b7f2da7ba9727f39e48",
      "checkpoint_bytes": 11868941,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/k8_depth3.yaml",
      "config_sha256": "6fd343972a334cb31d81348266c256e681acc05fe35ee7b9558203b05c60052e",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260930,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "transformer_depth": 3
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 3,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": null,
        "gate_soft_target_mix": null,
        "epoch": 12,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "9620c1f2ede29339fbe8ffef42a3dafb3381864da8870d682f10c51ddf935c5a"
      },
      "effective_layer_order": [
        10,
        9
      ],
      "embedding_layers_explicit": false,
      "feature_projection_weight_shape": [
        256,
        2048
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 2962691,
      "parameter_formula": {
        "projection": 524544,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 2369280,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 2962691
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          2048
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.third_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.third_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.third_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.third_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.third_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.third_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.third_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.third_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.third_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.third_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.third_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.third_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0002-k8_depth3/selection.json",
      "selection_sha256": "1d2c18d7a0897e6d18478f6bea349d768b41c86986776b70aefc3cebee503ce6",
      "validation_selected_checkpoint": "epoch-0012.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260930,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 3,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 8,
      "run_id": "champ-g016-r0002-k8_do30",
      "checkpoint": "artifacts/training-runs/champ-g016-r0002-k8_do30/epoch-0013.ckpt",
      "checkpoint_sha256": "842e0120e73c01b7b6291665e35fd349b2de8bc263f064526a0f47fd7982b5da",
      "checkpoint_bytes": 8705969,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/k8_do30.yaml",
      "config_sha256": "d5a915340e5ec547cf4e79b9f4ab44ef8de9226f06d11460da599a262ebb1824",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260930,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": null,
        "gate_soft_target_mix": null,
        "epoch": 13,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "9620c1f2ede29339fbe8ffef42a3dafb3381864da8870d682f10c51ddf935c5a"
      },
      "effective_layer_order": [
        10,
        9
      ],
      "embedding_layers_explicit": false,
      "feature_projection_weight_shape": [
        256,
        2048
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 2172931,
      "parameter_formula": {
        "projection": 524544,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 2172931
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          2048
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0002-k8_do30/selection.json",
      "selection_sha256": "ac8f85e408ce8c0df3ea4a9683d5db12b39a3bd9a67871840d56df3a9732a77e",
      "validation_selected_checkpoint": "epoch-0013.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260930,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 9,
      "run_id": "champ-g016-r0002-l10_k8",
      "checkpoint": "artifacts/training-runs/champ-g016-r0002-l10_k8/epoch-0022.ckpt",
      "checkpoint_sha256": "283291ee3f50c62a27d3f1d0de3b57850f205082406cae709ed1a3554558e103",
      "checkpoint_bytes": 7657457,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/l10_k8.yaml",
      "config_sha256": "b43805755e39e7037a10fc61b8d5082c82475b7ef5b170703b92cff5b9162f62",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260930,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "embedding_layer_dir": "artifacts/sqlite/muq-layers-20261007",
        "embedding_layers": [
          10
        ]
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": [
          10
        ],
        "gate_soft_target_mix": null,
        "epoch": 22,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "ab7481a27ab8650cac6744068e323780925f296bcd0352144f62d16636eb7f01"
      },
      "effective_layer_order": [
        10
      ],
      "embedding_layers_explicit": true,
      "feature_projection_weight_shape": [
        256,
        1024
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 1910787,
      "parameter_formula": {
        "projection": 262400,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 1910787
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          1024
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0002-l10_k8/selection.json",
      "selection_sha256": "df473d246b68ec7abaefd83da50c70b18ff710d4e9720edd554c6c2a7818724f",
      "validation_selected_checkpoint": "epoch-0022.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "embedding_layers": [
          10
        ],
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260930,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 10,
      "run_id": "champ-g016-r0002-l11_k8",
      "checkpoint": "artifacts/training-runs/champ-g016-r0002-l11_k8/epoch-0026.ckpt",
      "checkpoint_sha256": "ecb4dd3d5ab499b337b429b724a2783cc3260559e3e7b6e97aec62813c71e4dc",
      "checkpoint_bytes": 7657457,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/l11_k8.yaml",
      "config_sha256": "01516e0a2740020c22621c11a9315bfa85f9e6fdcfde39a31ca6c84edeb3ede8",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260930,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "embedding_layer_dir": "artifacts/sqlite/muq-layers-20261007",
        "embedding_layers": [
          11
        ]
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": [
          11
        ],
        "gate_soft_target_mix": null,
        "epoch": 26,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "e086ab45f3403a363e8308bd67d629ecef2d4887c69a24071b407f4ecec4b1fd"
      },
      "effective_layer_order": [
        11
      ],
      "embedding_layers_explicit": true,
      "feature_projection_weight_shape": [
        256,
        1024
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 1910787,
      "parameter_formula": {
        "projection": 262400,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 1910787
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          1024
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0002-l11_k8/selection.json",
      "selection_sha256": "67edf2a54f02b140ff5a9a710afb7021e0f22bbc7aa333d1456c8970549d866b",
      "validation_selected_checkpoint": "epoch-0026.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "embedding_layers": [
          11
        ],
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260930,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 11,
      "run_id": "champ-g016-r0002-l12_k8",
      "checkpoint": "artifacts/training-runs/champ-g016-r0002-l12_k8/epoch-0015.ckpt",
      "checkpoint_sha256": "df9424737e1eff63e32a37b8e83ce8d55cf947a46163aec473e46ee3c7048278",
      "checkpoint_bytes": 7657457,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/l12_k8.yaml",
      "config_sha256": "dd7316c8036e6c41b92950fb979a2609a83698d9df9bb9d113de66d9c418277e",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260930,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "embedding_layer_dir": "artifacts/sqlite/muq-layers-20261007",
        "embedding_layers": [
          12
        ]
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": [
          12
        ],
        "gate_soft_target_mix": null,
        "epoch": 15,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "a3b88370b19e79a34cf0815e06dd96aa86b142597679cc5e9b4f2a93468c877e"
      },
      "effective_layer_order": [
        12
      ],
      "embedding_layers_explicit": true,
      "feature_projection_weight_shape": [
        256,
        1024
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 1910787,
      "parameter_formula": {
        "projection": 262400,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 1910787
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          1024
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0002-l12_k8/selection.json",
      "selection_sha256": "8e976798509b7a4f2804bddac5223ee8442b433cb48c854c52395e15c1269a58",
      "validation_selected_checkpoint": "epoch-0015.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "embedding_layers": [
          12
        ],
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260930,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 12,
      "run_id": "champ-g016-r0002-l89_k8",
      "checkpoint": "artifacts/training-runs/champ-g016-r0002-l89_k8/epoch-0012.ckpt",
      "checkpoint_sha256": "826c684f343eb1768cbbe102600d854e6ef33490ee85999d857717844ca71cfe",
      "checkpoint_bytes": 8706033,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/l89_k8.yaml",
      "config_sha256": "d3600685da5be4077e126cb0c1eb55b2384237a292d8b5fb3b2c80831ff4adab",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260930,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "embedding_layer_dir": "artifacts/sqlite/muq-layers-20261007",
        "embedding_layers": [
          8,
          9
        ]
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": [
          8,
          9
        ],
        "gate_soft_target_mix": null,
        "epoch": 12,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "60ceff6472d2f7c643db9001de5daabd0c118456de1f8b0d3600aca83dcad17b"
      },
      "effective_layer_order": [
        8,
        9
      ],
      "embedding_layers_explicit": true,
      "feature_projection_weight_shape": [
        256,
        2048
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 2172931,
      "parameter_formula": {
        "projection": 524544,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 2172931
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          2048
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0002-l89_k8/selection.json",
      "selection_sha256": "b43d7d1bc29b2786e389591e4755aac5ceed5d552d11cfebbbffc1103e507457",
      "validation_selected_checkpoint": "epoch-0012.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "embedding_layers": [
          8,
          9
        ],
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260930,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    },
    {
      "manifest_index": 13,
      "run_id": "champ-g016-r0002-l9_k8",
      "checkpoint": "artifacts/training-runs/champ-g016-r0002-l9_k8/epoch-0022.ckpt",
      "checkpoint_sha256": "e888340ca5e4e294b59394ed0e4b230e05025df60fbb182a04d2057dc8b85d4a",
      "checkpoint_bytes": 7657457,
      "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/l9_k8.yaml",
      "config_sha256": "2ab03a5c06d9364c8cd294a095730c5f9b7d6912ca52ad5fcdd920601083c327",
      "actual_generated_config": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "selection_priority": "fail_miss",
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "preserve_pareto": true,
        "binary_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_order": [
          "Fail",
          "A",
          "S"
        ],
        "count_source": "final_train_dataset",
        "class_counts": "auto",
        "data_root": "data/20260912_for_training",
        "split": "/home/work/Projects/Raina-laya/artifacts/champion-loop/splits/gen-016.yaml",
        "cache_inventory": "artifacts/sqlite/inventory-20261007-relabel.jsonl",
        "embedding_database": "artifacts/sqlite/raina-laya-20261005-expert-regrade.sqlite3",
        "sampler": "shuffle_without_replacement",
        "rare_weight_gamma": 0.25,
        "class_weights": "auto_from_train_counts",
        "class_weight_grouping": "pass_fail",
        "bias_init": "hierarchical_weighted_prior",
        "supervised_loss": "hierarchical_binary_conditional",
        "choice_distribution": "hierarchical_conditional",
        "prediction": "binary_gate_then_as",
        "center_logits": false,
        "rl_weight": 0.0,
        "micro_batch": 256,
        "grad_accumulation": "auto_expected_one_rarest",
        "max_accumulation": 16,
        "max_epochs": 50,
        "patience": 12,
        "lr": 0.00015,
        "min_lr": 1e-06,
        "warmup_fraction": 0.05,
        "schedule": "cosine",
        "weight_decay": 0.03,
        "grad_clip": 1.0,
        "seed": 20260930,
        "hierarchical_fail_weight": 8.0,
        "transformer_dropout": 0.3,
        "embedding_layer_dir": "artifacts/sqlite/muq-layers-20261007",
        "embedding_layers": [
          9
        ]
      },
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": [
          9
        ],
        "gate_soft_target_mix": null,
        "epoch": 22,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "ef07dc4eb4b62970651e7e878d4979c332729079f561213ad2eaa173a9fa29a5"
      },
      "effective_layer_order": [
        9
      ],
      "embedding_layers_explicit": true,
      "feature_projection_weight_shape": [
        256,
        1024
      ],
      "query_token_shape": [
        3,
        256
      ],
      "feedforward_weight_shape": [
        1024,
        256
      ],
      "parameter_count": 1910787,
      "parameter_formula": {
        "projection": 262400,
        "projection_norm": 512,
        "ratio_embedding": 512,
        "query_tokens": 768,
        "type_embedding": 512,
        "transformers": 1579520,
        "shared_scorer": 66560,
        "class_bias": 3,
        "total": 1910787
      },
      "state_tensor_shapes": {
        "class_bias": [
          3
        ],
        "temporal_head.grade_tokens": [
          3,
          256
        ],
        "temporal_head.feature_projection.weight": [
          256,
          1024
        ],
        "temporal_head.feature_projection.bias": [
          256
        ],
        "temporal_head.projection_norm.weight": [
          256
        ],
        "temporal_head.projection_norm.bias": [
          256
        ],
        "temporal_head.ratio_embedding.weight": [
          256,
          1
        ],
        "temporal_head.ratio_embedding.bias": [
          256
        ],
        "temporal_head.type_embedding.weight": [
          2,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.first_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.first_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.first_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.first_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_weight": [
          768,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.in_proj_bias": [
          768
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.weight": [
          256,
          256
        ],
        "temporal_head.second_transformer_layer.self_attn.out_proj.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.linear1.weight": [
          1024,
          256
        ],
        "temporal_head.second_transformer_layer.linear1.bias": [
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.weight": [
          256,
          1024
        ],
        "temporal_head.second_transformer_layer.linear2.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm1.bias": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.weight": [
          256
        ],
        "temporal_head.second_transformer_layer.norm2.bias": [
          256
        ],
        "temporal_head.scorer.0.weight": [
          256
        ],
        "temporal_head.scorer.0.bias": [
          256
        ],
        "temporal_head.scorer.1.weight": [
          256,
          256
        ],
        "temporal_head.scorer.1.bias": [
          256
        ],
        "temporal_head.scorer.3.weight": [
          1,
          256
        ]
      },
      "all_state_tensors_fp32": true,
      "selection_path": "artifacts/training-runs/champ-g016-r0002-l9_k8/selection.json",
      "selection_sha256": "dc061abf2d9fb8073dda6b34fddef5cf762822f0032ea1b07d97b1939327c592",
      "validation_selected_checkpoint": "epoch-0022.ckpt",
      "member_matches_validation_selection": true,
      "selected_configuration": {
        "binary_fail_multiplier": 1.0,
        "binary_loss_weight": 0.0,
        "binary_margin_weight": 0.0,
        "class_weight_grouping": "pass_fail",
        "detach_conditional_features": false,
        "embedding_layers": [
          9
        ],
        "fail_margin_weight": 0.0,
        "fail_supervised_weight": 1.0,
        "grad_clip": 1.0,
        "hierarchical_conditional_weight": 1.0,
        "hierarchical_fail_weight": 8.0,
        "learning_rate": 0.00015,
        "max_epochs": 50,
        "maximum_fail_to_pass_rate": 0.05,
        "micro_batch": 256,
        "min_lr": 1e-06,
        "minimum_pass_recall": 0.4,
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "patience": 12,
        "preserve_pareto": true,
        "ranking_loss_weight": 0.0,
        "ranking_tail_fraction": 0.05,
        "rare_weight_gamma": 0.25,
        "rl_weight": 0.0,
        "seed": 20260930,
        "selection_priority": "fail_miss",
        "separate_conditional_scorer": false,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "warmup_fraction": 0.05,
        "weight_decay": 0.03
      }
    }
  ],
  "historical_checkpoint_cases": {
    "gen14_student": {
      "path": "artifacts/training-runs/champ-g014-r0005-dst_a05/epoch-0050.ckpt",
      "sha256": "08bbc8246d09ecb336723fb08876163cc1e73138300a2804059f6d1a2cc44547",
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": null,
        "gate_soft_target_mix": 0.5,
        "epoch": 50,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "9620c1f2ede29339fbe8ffef42a3dafb3381864da8870d682f10c51ddf935c5a"
      },
      "projection_shape": [
        256,
        2048
      ],
      "parameter_count": 2172931,
      "effective_layer_order": [
        10,
        9
      ],
      "role": "과거 실행 사례로 보존합니다. 현재 최고 모델을 뜻하지 않습니다."
    },
    "gen14_l11_candidate": {
      "path": "artifacts/training-runs/champ-g014-r0008-l11_k8/epoch-0049.ckpt",
      "sha256": "05534e6a78afd0aa29173829131dbc4db05ed27bae4e0f78ee622881296f5b4b",
      "metadata": {
        "model_family": "raina_laya_hierarchical_v5",
        "model_width": 256,
        "transformer_depth": 2,
        "transformer_dropout": 0.3,
        "use_time_encoding": true,
        "rare_weight_gamma": 0.25,
        "class_weight_grouping": "pass_fail",
        "hierarchical_fail_weight": 8.0,
        "hierarchical_conditional_weight": 1.0,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "train_counts": [
          14045,
          6480,
          597
        ],
        "minimum_pass_recall": 0.4,
        "maximum_fail_to_pass_rate": 0.05,
        "selection_priority": "fail_miss",
        "rl_weight": 0.0,
        "binary_loss_weight": 0.0,
        "ranking_loss_weight": 0.0,
        "fail_margin_weight": 0.0,
        "binary_margin_weight": 0.0,
        "separate_conditional_scorer": false,
        "embedding_layers": [
          11
        ],
        "gate_soft_target_mix": null,
        "epoch": 49,
        "split_digest": "42a8dcff42af79df46cb34fbf239e399081abbd94e282915dc363862c615f155",
        "cache_inventory_digest": "e086ab45f3403a363e8308bd67d629ecef2d4887c69a24071b407f4ecec4b1fd"
      },
      "projection_shape": [
        256,
        1024
      ],
      "parameter_count": 1910787,
      "effective_layer_order": [
        11
      ],
      "role": "과거 실행 사례로 보존합니다. 현재 최고 모델을 뜻하지 않습니다."
    }
  },
  "equal_boundary_discrepancy": {
    "inputs": {
      "margins": [
        0.0,
        0.0
      ],
      "targets": [
        "Fail",
        "A"
      ],
      "band": {
        "lo": 0.0,
        "hi": 0.0
      },
      "conditional": 0.0
    },
    "serving_decisions": [
      "A",
      "A"
    ],
    "serving_error_counts": {
      "fail_to_pass_count": 1,
      "pass_to_fail_count": 0
    },
    "research_count_expressions": {
      "fail_to_pass_count": 1,
      "pass_to_fail_count": 1,
      "rejected_total": 0
    },
    "selector_decided_pass": 2,
    "actual_pass_songs": 1,
    "selector_rejected_total": -2,
    "scope": "현재 소스의 비교식을 CPU에서 검산했습니다. 제품 실행·학습·추론 시험은 수행하지 않았습니다. 현재 최고 모델과 과거 사례의 lo < hi 구간에는 이 동일 경계 문제가 직접 적용되지 않습니다."
  },
  "verified_claims": [
    {
      "claim": "MuQ 층별 폭1024·인코더12층·숨은 상태13개",
      "status": "verified",
      "evidence": "설치된 MuQConfig와 캐시 config.json, MuQModel의 num_hidden_layers 덮어쓰기, 저장소의13개 출력 계약을 대조했습니다."
    },
    {
      "claim": "실제 백본은 MuQMuLan 컨테이너 안의 MuQ이며512차원 투영을 사용하지 않음",
      "status": "verified",
      "evidence": "저장소 _default_loader와 설치된 AudioTransformer의 MuQ.from_pretrained 경로를 대조했습니다. 독립 배포본과 최종 가중치 동등성은 검증하지 않았습니다."
    },
    {
      "claim": "10초 문맥·약2초 평균·0.5초 미만 꼬리 병합·가장 이른 포함 창",
      "status": "verified_with_scope",
      "evidence": "꼬리는 엄격히0.5초 미만이며 전체곡이0.5초 미만이면 단일 구간을 유지합니다. 프레임은 실제 출력 개수에서 중심 시각을 계산합니다."
    },
    {
      "claim": "구간별 연결벡터L2→Linear→LayerNorm→시간·유효비율·종류표현→질문3개+전체곡",
      "status": "verified",
      "evidence": "L2는 각구간의 완전한 연결벡터에 적용됩니다. 질문출력3개가 공유 계산부와3개 편향을 통해 점수가 됩니다."
    },
    {
      "claim": "계층 확률은1−q,q(1−r),qr이며 최대확률선택과 다름",
      "status": "verified",
      "evidence": "현행 hierarchical.py와63개CPU 수식 검산이 일치합니다. 거부 없음 동률은Fail, 조건부 동률은A입니다."
    },
    {
      "claim": "앙상블은 관문 차이와 조건부 로짓을 각각 평균",
      "status": "verified",
      "evidence": "현재 FP32 stack.mean과서빙 같은 계산을 사용하며 확률평균·다수결은 아닙니다."
    },
    {
      "claim": "과거 학생은16교사 평균관문→sigmoid→정답과0.5혼합",
      "status": "verified_historical_scope",
      "evidence": "학습 파일은 현재 세대가 아닌14세대 사례입니다. 선택적 온라인2교사 경로의 확률평균+추가손실과 구분해야 합니다."
    },
    {
      "claim": "실제Fail 비용8·실제Pass 조건부손실·외부클래스가중치 양항적용",
      "status": "verified",
      "evidence": "현재14구성원과과거학생 설정 모두 gate cost8,conditionalcost1,rl0이며54개손실검산과실제classweight재계산이 일치합니다."
    },
    {
      "claim": "MuQ추출FP32·동결eval·판단부BF16자동혼합·매개변수FP32",
      "status": "verified",
      "evidence": "실제14체크포인트 모든상태FP32,추출autocast해제와head BF16코드를 확인했습니다."
    }
  ],
  "actionable_document_findings": [
    {
      "id": "M01",
      "severity": "high",
      "section": "표지·00·01·04·05·06",
      "finding": "14세대 단일 증류 학생을 현재 최고 모델로 반복 표시하고 있습니다. 현재 연구 최고 모델은 16세대 14개 판단부 앙상블입니다.",
      "action": "표지와 현재 결과는 16세대 앙상블로 갱신하고, 14세대 학생·16개 교사·epoch 50·2172931개 매개변수는 명시적인 과거 증류 사례로 구분해 주세요.",
      "source_refs": [
        "artifacts/champion-loop/ensembles/gen-016/teacher-members.json",
        "current_champion_members"
      ]
    },
    {
      "id": "M02",
      "severity": "medium",
      "section": "단계 01",
      "finding": "설명은 모노·리샘플링 이후 10초 창을 자르는 순서입니다. 코드는 원본 표본율에서 문맥 창을 먼저 자른 뒤 각 창을 모노·24kHz로 변환하고 0으로 채웁니다.",
      "action": "원본 시간축 문맥 계획·자르기 → 채널 평균 → 24kHz 리샘플링 → 10초 0 채우기로 바꿔 주세요.",
      "source_refs": [
        "src/raina_laya/features/audio_features/application/build_cache.py:120-132",
        "src/raina_laya/features/audio_features/application/build_cache.py:202-211",
        "src/raina_laya/features/audio_features/infrastructure/audio.py:258-327"
      ]
    },
    {
      "id": "M03",
      "severity": "high",
      "section": "단계 07·거부 구간 근거",
      "finding": "동일 경계 예외를 (0,0)에서 서빙이 Pass라는 문장으로만 설명하고 있습니다. 모든 lo==hi의 경계 동률에서 연구 평가와 서빙의 Pass→Fail 집계가 다르며, 구간 선택은 동일 곡을 양쪽 판정 수에 중복 포함해 음수 거부 수도 계산할 수 있습니다.",
      "action": "일반 판정표의 범위를 lo<hi로 제한하고, 동일 경계 구현 불일치와 음수 집계 검산을 명시해 주세요. 실제 현재·과거 구간은 lo<hi임을 함께 표시해 주세요.",
      "source_refs": [
        "src/raina_laya/features/serving/domain/decision.py:19-29",
        "src/raina_laya/features/serving/infrastructure/package.py:54-63",
        "src/raina_laya/features/grade_model/application/v4_evaluate.py:210-226",
        "src/raina_laya/features/grade_model/application/v4_evaluate.py:261-276"
      ]
    },
    {
      "id": "M04",
      "severity": "medium",
      "section": "단계 02·03·04·시간 흐름",
      "finding": "파형의 채움 제외, 풀링 프레임 마스크, 판단부 배치 마스크와 유효 비율의 의미가 충분히 구분되지 않습니다. 실제 곡 구간 valid_ratio는 짧은 마지막 구간도1.0이며, MuQ 호출에는 attention_mask를 전달하지 않습니다.",
      "action": "valid_ratio는 실제 구간 안의 유효 비율로 정의하며 꼬리 길이/2가 아님을 밝혀 주세요. 무효 프레임 중심은 평균에서 제외되고 배치 채움은 판단부 참조에서 제외되지만, 0 채움이 MuQ의 내부 표현에 전혀 영향을 주지 않는다고 보장하지 않는다는 범위를 적어 주세요.",
      "source_refs": [
        "src/raina_laya/features/audio_features/domain/bins.py:196-205",
        "src/raina_laya/features/audio_features/infrastructure/features.py:263-275",
        "src/raina_laya/features/audio_features/infrastructure/features.py:323-340",
        "src/raina_laya/features/grade_model/domain/model.py:232-242"
      ]
    },
    {
      "id": "M05",
      "severity": "medium",
      "section": "05 학습 설정",
      "finding": "배치256과 누적1회라는 표기에서 작업자별 마이크로배치와 전역 실제 곡 수를 구분하지 않습니다. 단일GPU 경로는 누적을2배로 보정합니다.",
      "action": "작업자별 마이크로배치256, 보통 전역 유효배치512, 2작업자는 누적1·1작업자는 누적2이며 마지막 불완전 묶음은 실제 곡 수로 나눈다고 표시해 주세요.",
      "source_refs": [
        "src/raina_laya/workflows/v4_choice.py:124-130",
        "src/raina_laya/features/grade_model/application/v4_train.py:162-180",
        "src/raina_laya/features/grade_model/application/v4_train.py:226-228"
      ]
    },
    {
      "id": "M06",
      "severity": "low",
      "section": "학습 목표 수식",
      "finding": "현재 mean(a_y×L_song) 수식은 맞지만 평균의 분모와 옵티마이저 적용 순서가 생략돼 있습니다.",
      "action": "평균은 전역 실제 곡 수N으로 나누는 (1/N)Σ a_y L_song이며 가중치 합으로 나누지 않는다고 적어 주세요. 정규화 뒤 전역 기울기 절단, AdamW 갱신 순서와 출력 편향의 감쇠 제외를 설명해 주세요.",
      "source_refs": [
        "src/raina_laya/features/grade_model/application/v4_train.py:71-95",
        "src/raina_laya/features/grade_model/application/v4_train.py:157-187"
      ]
    },
    {
      "id": "M07",
      "severity": "low",
      "section": "서빙 반환값",
      "finding": "현행 v5 응답의 logits 필드는 원시(f,p,c)가 아닌 계층 결합 로그확률입니다. 원시 점수 도식과 API 필드를 혼동할 여지가 있습니다.",
      "action": "API 예시를 추가한다면 logits는 로그P(Fail/A/S), gate_margin은 평균p−f라고 구분해 주세요.",
      "source_refs": [
        "src/raina_laya/features/serving/application/runtime.py:369-388"
      ]
    }
  ],
  "checks": [
    {
      "name": "member_00_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          2048
        ],
        "layers": [
          10,
          9
        ]
      }
    },
    {
      "name": "member_00_parameter_count",
      "passed": true,
      "detail": {
        "count": 2962691,
        "algebra": 2962691
      }
    },
    {
      "name": "member_00_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_00_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_00_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": null,
        "checkpoint_layers": null,
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "224df711764ce4b9b1df793af236e6308d6c57cf106c159c6bf31d667c5dbc0f"
      }
    },
    {
      "name": "member_01_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          2048
        ],
        "layers": [
          10,
          9
        ]
      }
    },
    {
      "name": "member_01_parameter_count",
      "passed": true,
      "detail": {
        "count": 2172931,
        "algebra": 2172931
      }
    },
    {
      "name": "member_01_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_01_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_01_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": null,
        "checkpoint_layers": null,
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "decfcd6082a00865c779e56fbde0b9eeb011e392ac64c4546b04c5cc8f072a7e"
      }
    },
    {
      "name": "member_02_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          1024
        ],
        "layers": [
          10
        ]
      }
    },
    {
      "name": "member_02_parameter_count",
      "passed": true,
      "detail": {
        "count": 1910787,
        "algebra": 1910787
      }
    },
    {
      "name": "member_02_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_02_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_02_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": [
          10
        ],
        "checkpoint_layers": [
          10
        ],
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "07a9fb06569c02fcad985ae1737e96e1a5d3915c75ec960e431a24b9303bf0b8"
      }
    },
    {
      "name": "member_03_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          1024
        ],
        "layers": [
          11
        ]
      }
    },
    {
      "name": "member_03_parameter_count",
      "passed": true,
      "detail": {
        "count": 1910787,
        "algebra": 1910787
      }
    },
    {
      "name": "member_03_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_03_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_03_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": [
          11
        ],
        "checkpoint_layers": [
          11
        ],
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "194961d4ca42630c41cdf7a8766bddc3e1685f80433b6b28d45c9bd0d63b8045"
      }
    },
    {
      "name": "member_04_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          1024
        ],
        "layers": [
          12
        ]
      }
    },
    {
      "name": "member_04_parameter_count",
      "passed": true,
      "detail": {
        "count": 1910787,
        "algebra": 1910787
      }
    },
    {
      "name": "member_04_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_04_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_04_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": [
          12
        ],
        "checkpoint_layers": [
          12
        ],
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "1523ed3c77d7ce43c8c3b1834923a81f4db0f5e86b1d656f0642d4e2a9d419ef"
      }
    },
    {
      "name": "member_05_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          2048
        ],
        "layers": [
          8,
          9
        ]
      }
    },
    {
      "name": "member_05_parameter_count",
      "passed": true,
      "detail": {
        "count": 2172931,
        "algebra": 2172931
      }
    },
    {
      "name": "member_05_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_05_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_05_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": [
          8,
          9
        ],
        "checkpoint_layers": [
          8,
          9
        ],
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "aedc27794efbe79a9cb4e6b53518573c4d708b4529b78363008dd0554de779e9"
      }
    },
    {
      "name": "member_06_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          1024
        ],
        "layers": [
          9
        ]
      }
    },
    {
      "name": "member_06_parameter_count",
      "passed": true,
      "detail": {
        "count": 1910787,
        "algebra": 1910787
      }
    },
    {
      "name": "member_06_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_06_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_06_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": [
          9
        ],
        "checkpoint_layers": [
          9
        ],
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "f89b70c046212ef7f65ca906bd8c46f1ba4c7a065fea0f72391fe283c8da5e31"
      }
    },
    {
      "name": "member_07_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          2048
        ],
        "layers": [
          10,
          9
        ]
      }
    },
    {
      "name": "member_07_parameter_count",
      "passed": true,
      "detail": {
        "count": 2962691,
        "algebra": 2962691
      }
    },
    {
      "name": "member_07_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_07_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_07_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": null,
        "checkpoint_layers": null,
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "372ffa172ec6dd436cbdb44b60beeca68e1e3b9117ad0b7f2da7ba9727f39e48"
      }
    },
    {
      "name": "member_08_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          2048
        ],
        "layers": [
          10,
          9
        ]
      }
    },
    {
      "name": "member_08_parameter_count",
      "passed": true,
      "detail": {
        "count": 2172931,
        "algebra": 2172931
      }
    },
    {
      "name": "member_08_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_08_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_08_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": null,
        "checkpoint_layers": null,
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "842e0120e73c01b7b6291665e35fd349b2de8bc263f064526a0f47fd7982b5da"
      }
    },
    {
      "name": "member_09_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          1024
        ],
        "layers": [
          10
        ]
      }
    },
    {
      "name": "member_09_parameter_count",
      "passed": true,
      "detail": {
        "count": 1910787,
        "algebra": 1910787
      }
    },
    {
      "name": "member_09_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_09_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_09_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": [
          10
        ],
        "checkpoint_layers": [
          10
        ],
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "283291ee3f50c62a27d3f1d0de3b57850f205082406cae709ed1a3554558e103"
      }
    },
    {
      "name": "member_10_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          1024
        ],
        "layers": [
          11
        ]
      }
    },
    {
      "name": "member_10_parameter_count",
      "passed": true,
      "detail": {
        "count": 1910787,
        "algebra": 1910787
      }
    },
    {
      "name": "member_10_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_10_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_10_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": [
          11
        ],
        "checkpoint_layers": [
          11
        ],
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "ecb4dd3d5ab499b337b429b724a2783cc3260559e3e7b6e97aec62813c71e4dc"
      }
    },
    {
      "name": "member_11_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          1024
        ],
        "layers": [
          12
        ]
      }
    },
    {
      "name": "member_11_parameter_count",
      "passed": true,
      "detail": {
        "count": 1910787,
        "algebra": 1910787
      }
    },
    {
      "name": "member_11_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_11_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_11_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": [
          12
        ],
        "checkpoint_layers": [
          12
        ],
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "df9424737e1eff63e32a37b8e83ce8d55cf947a46163aec473e46ee3c7048278"
      }
    },
    {
      "name": "member_12_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          2048
        ],
        "layers": [
          8,
          9
        ]
      }
    },
    {
      "name": "member_12_parameter_count",
      "passed": true,
      "detail": {
        "count": 2172931,
        "algebra": 2172931
      }
    },
    {
      "name": "member_12_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_12_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_12_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": [
          8,
          9
        ],
        "checkpoint_layers": [
          8,
          9
        ],
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "826c684f343eb1768cbbe102600d854e6ef33490ee85999d857717844ca71cfe"
      }
    },
    {
      "name": "member_13_input_dimension",
      "passed": true,
      "detail": {
        "actual": [
          256,
          1024
        ],
        "layers": [
          9
        ]
      }
    },
    {
      "name": "member_13_parameter_count",
      "passed": true,
      "detail": {
        "count": 1910787,
        "algebra": 1910787
      }
    },
    {
      "name": "member_13_native_precision",
      "passed": true,
      "detail": {
        "dtype": "torch.float32"
      }
    },
    {
      "name": "member_13_gate_objective",
      "passed": true,
      "detail": {
        "fail_cost": 8.0,
        "conditional_cost": 1.0,
        "rl_weight": 0.0,
        "soft_target_mix": null
      }
    },
    {
      "name": "member_13_configuration_lineage",
      "passed": true,
      "detail": {
        "config_layers": [
          9
        ],
        "checkpoint_layers": [
          9
        ],
        "comparison": "Both optional layer sequences are normalized to tuple before comparison.",
        "checkpoint_sha256_reverified": "e888340ca5e4e294b59394ed0e4b230e05025df60fbb182a04d2057dc8b85d4a"
      }
    },
    {
      "name": "gen14_student_dimensions",
      "passed": true,
      "detail": [
        256,
        2048
      ]
    },
    {
      "name": "gen14_student_parameter_count",
      "passed": true,
      "detail": 2172931
    },
    {
      "name": "gen14_l11_candidate_dimensions",
      "passed": true,
      "detail": [
        256,
        1024
      ]
    },
    {
      "name": "gen14_l11_candidate_parameter_count",
      "passed": true,
      "detail": 1910787
    },
    {
      "name": "hierarchical_probability_normalization_63_combinations",
      "passed": true,
      "detail": {
        "combinations": 63,
        "maximum_absolute_error": 1.1102230246251565e-16,
        "precision": "float64 CPU algebra"
      }
    },
    {
      "name": "two_gate_CE_equals_margin_BCE_54_cases",
      "passed": true,
      "detail": {
        "combinations": 54,
        "maximum_absolute_error": 1.7763568394002505e-15,
        "precision": "float64 CPU source algebra"
      }
    },
    {
      "name": "class_weight_recomputation",
      "passed": true,
      "detail": {
        "counts": [
          14045,
          6480,
          597
        ],
        "gamma": 0.25,
        "class_weights": [
          0.9410656080200648,
          1.1169610760715263,
          1.1169610760715263
        ],
        "weighted_prevalence_sum": 1.0
      }
    },
    {
      "name": "equal_boundary_discrepancy_confirmed",
      "passed": true,
      "detail": {
        "inputs": {
          "margins": [
            0.0,
            0.0
          ],
          "targets": [
            "Fail",
            "A"
          ],
          "band": {
            "lo": 0.0,
            "hi": 0.0
          },
          "conditional": 0.0
        },
        "serving_decisions": [
          "A",
          "A"
        ],
        "serving_error_counts": {
          "fail_to_pass_count": 1,
          "pass_to_fail_count": 0
        },
        "research_count_expressions": {
          "fail_to_pass_count": 1,
          "pass_to_fail_count": 1,
          "rejected_total": 0
        },
        "selector_decided_pass": 2,
        "actual_pass_songs": 1,
        "selector_rejected_total": -2,
        "scope": "현재 소스의 비교식을 CPU에서 검산했습니다. 제품 실행·학습·추론 시험은 수행하지 않았습니다. 현재 최고 모델과 과거 사례의 lo < hi 구간에는 이 동일 경계 문제가 직접 적용되지 않습니다."
      }
    },
    {
      "name": "audited_source_bytes_unchanged_during_capture",
      "passed": true,
      "detail": []
    }
  ],
  "summary": {
    "check_count": 79,
    "passed": 79,
    "failed": 0,
    "actionable_findings": 7,
    "source_records": 25,
    "current_member_checkpoint_reads": 14,
    "historical_checkpoint_reads": 2
  },
  "source_evidence": [
    {
      "path": "src/raina_laya/features/audio_features/infrastructure/features.py",
      "sha256": "aec9c954ee2d06e43fb968632b7e1e420fb637c30059504197ec0c4daa6c1c17",
      "bytes": 17153,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 26,
          "line_end": 35,
          "text": "BACKBONE: Final = MuQBackbone(\n    repository=\"OpenMuQ/MuQ-MuLan-large\",\n    revision=\"2e01c796b71dca71b45251384c04cd7b237c9020\",\n    inner_path=\"model.mulan.audio.model\",\n    layer_order=(10, 9),\n)\nEXPECTED_HIDDEN_WIDTH: Final = 1024\nHIDDEN_STATE_COUNT: Final = 13\nEXPECTED_BATCH_SIZE: Final = 1\nHIDDEN_STATE_DIMENSIONS: Final = 3"
        },
        {
          "line_start": 263,
          "line_end": 277,
          "text": "def extract_inner_model_frames(\n    model: InnerAudioModel,\n    context: AudioContext,\n    *,\n    window_start: float,\n    expected_width: int = EXPECTED_HIDDEN_WIDTH,\n) -> FrameWindow:\n    \"\"\"Run one context once and retain the selected aligned frames for pooling.\"\"\"\n    with torch.autocast(device_type=context.waveform.device.type, enabled=False):\n        output = model(\n            context.waveform.unsqueeze(0).to(dtype=torch.float32),\n            output_hidden_states=True,\n        )\n    layer_10, layer_9 = _selected_hidden_states(output.hidden_states, expected_width)\n    return _aligned_frames(layer_10, layer_9, context, window_start)"
        },
        {
          "line_start": 323,
          "line_end": 340,
          "text": "def _frame_alignment(\n    frame_count: int,\n    device: torch.device,\n    context: AudioContext,\n    window_start: float,\n) -> tuple[torch.Tensor, torch.Tensor]:\n    \"\"\"Return (global frame timestamps, valid-frame mask) of one model context.\"\"\"\n    if frame_count <= 0:\n        raise HiddenStateContractError(reason=\"selected layers contain no frames\")\n    context_seconds = context.waveform.numel() / context.sample_rate\n    frame_width = context_seconds / frame_count\n    local_centers = (\n        torch.arange(frame_count, dtype=torch.float32, device=device) + 0.5\n    ) * frame_width\n    valid_seconds = context.valid_samples / context.sample_rate\n    valid_frame_mask = local_centers < valid_seconds\n    frame_timestamps = local_centers + window_start\n    return frame_timestamps, valid_frame_mask"
        },
        {
          "line_start": 397,
          "line_end": 438,
          "text": "def _all_hidden_states(\n    hidden_states: Sequence[torch.Tensor],\n    expected_width: int,\n) -> tuple[torch.Tensor, ...]:\n    if len(hidden_states) != HIDDEN_STATE_COUNT:\n        raise HiddenStateContractError(\n            reason=(\n                f\"expected {HIDDEN_STATE_COUNT} hidden states; got {len(hidden_states)}\"\n            ),\n        )\n    if any(state.ndim != HIDDEN_STATE_DIMENSIONS for state in hidden_states):\n        raise HiddenStateContractError(reason=\"hidden states must have shape [1,F,D]\")\n    expected_shape = (EXPECTED_BATCH_SIZE, hidden_states[0].shape[1], expected_width)\n    if any(tuple(state.shape) != expected_shape for state in hidden_states):\n        raise HiddenStateContractError(\n            reason=f\"hidden states must all align as {list(expected_shape)}\",\n        )\n    return tuple(state.to(dtype=torch.float32) for state in hidden_states)\n\n\ndef extract_inner_model_layer_frames(\n    model: InnerAudioModel,\n    context: AudioContext,\n    *,\n    window_start: float,\n    expected_width: int = EXPECTED_HIDDEN_WIDTH,\n) -> LayerFrames:\n    \"\"\"Run one context once and retain every hidden state with its alignment.\"\"\"\n    with torch.autocast(device_type=context.waveform.device.type, enabled=False):\n        output = model(\n            context.waveform.unsqueeze(0).to(dtype=torch.float32),\n            output_hidden_states=True,\n        )\n    layers = _all_hidden_states(output.hidden_states, expected_width)\n    frame_timestamps, valid_frame_mask = _frame_alignment(\n        layers[0].shape[1], layers[0].device, context, window_start\n    )\n    return LayerFrames(\n        layers=layers,\n        frame_timestamps=frame_timestamps,\n        valid_frame_mask=valid_frame_mask,\n    )"
        },
        {
          "line_start": 441,
          "line_end": 479,
          "text": "def pool_layer_frames(\n    frames: LayerFrames,\n    bins: Sequence[GlobalBin],\n) -> torch.Tensor:\n    \"\"\"Masked-mean every hidden state within each bin as FP32 [bins, 13, 1024].\n\n    Each layer is the mean over the same gathered rows as `_pool_layers`, so layer 10\n    and layer 9 equal the two halves of the legacy joint token bit for bit. The row\n    indices are computed once per bin to avoid one host synchronization per layer.\n    \"\"\"\n    frame_count = frames.layers[0].shape[1]\n    if (\n        frames.frame_timestamps.ndim != 1\n        or frames.valid_frame_mask.ndim != 1\n        or frames.frame_timestamps.shape[0] != frame_count\n        or frames.valid_frame_mask.shape[0] != frame_count\n    ):\n        raise HiddenStateContractError(\n            reason=\"timestamps and validity must align with the model frame count\",\n        )\n    if frames.valid_frame_mask.dtype is not torch.bool:\n        raise HiddenStateContractError(reason=\"frame validity mask must be boolean\")\n\n    pooled: list[torch.Tensor] = []\n    for interval in bins:\n        selected = (\n            frames.valid_frame_mask\n            & (frames.frame_timestamps >= interval.start)\n            & (frames.frame_timestamps < interval.end)\n        )\n        rows = selected.nonzero().squeeze(1)\n        if rows.numel() == 0:\n            raise EmptyPoolingBinError(start=interval.start, end=interval.end)\n        pooled.append(\n            torch.stack(\n                [layer[0].index_select(0, rows).mean(dim=0) for layer in frames.layers],\n            ),\n        )\n    return torch.stack(pooled).to(dtype=torch.float32)"
        },
        {
          "line_start": 482,
          "line_end": 535,
          "text": "def _default_loader(\n    repository: str,\n    *,\n    revision: str,\n    local_files_only: bool = False,\n) -> LoadedBackbone:\n    module = import_module(\"muq\")\n    root = module.MuQMuLan.from_pretrained(\n        repository,\n        revision=revision,\n        local_files_only=local_files_only,\n    )\n    inner_model = root.mulan.audio.model\n    if not isinstance(inner_model, torch.nn.Module):\n        raise HiddenStateContractError(\n            reason=\"model.mulan.audio.model must be a torch module\",\n        )\n    return LoadedBackbone(\n        root=root,\n        inner_model=_InnerModelAdapter(model=inner_model),\n    )\n\n\ndef load_real_inner_model(\n    loader: MuQLoader = _default_loader,\n    *,\n    local_files_only: bool = False,\n) -> InnerAudioModel:\n    \"\"\"Load and freeze the pinned inner model on one of four CUDA devices.\"\"\"\n    if not torch.cuda.is_available():\n        raise CudaExtractionRequiredError(reason=\"CUDA is unavailable\")\n    visible_devices = os.environ.get(\"CUDA_VISIBLE_DEVICES\")\n    if visible_devices not in ALLOWED_EXTRACTION_DEVICES:\n        raise CudaExtractionRequiredError(\n            reason=f\"CUDA_VISIBLE_DEVICES is {visible_devices!r}\",\n        )\n\n    loaded = loader(\n        BACKBONE.repository,\n        revision=BACKBONE.revision,\n        local_files_only=local_files_only,\n    )\n    target = (\n        loaded.inner_model.model\n        if isinstance(loaded.inner_model, _InnerModelAdapter)\n        else loaded.root\n    )\n    # Injected legacy test loaders may expose a callable rather than a module.\n    # The real pinned adapter retains only its exact inner audio module.\n    _ = target.eval()\n    _ = target.to(device=\"cuda\", dtype=torch.float32)\n    for parameter in target.parameters():\n        parameter.requires_grad = False\n    return loaded.inner_model"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/audio_features/infrastructure/audio.py",
      "sha256": "ae9e71a10138784f975f965111999a2bc1118699a99ff8d0ce915279f2a0c051",
      "bytes": 11220,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 247,
          "line_end": 255,
          "text": "def _mono_waveform(waveform: torch.Tensor) -> torch.Tensor:\n    if waveform.ndim not in (MONO_DIMENSIONS, CHANNELS_FIRST_DIMENSIONS):\n        raise AudioShapeError(shape=tuple(waveform.shape))\n    if waveform.ndim == CHANNELS_FIRST_DIMENSIONS and waveform.shape[0] == 0:\n        raise AudioShapeError(shape=tuple(waveform.shape))\n    mono = waveform if waveform.ndim == MONO_DIMENSIONS else waveform.mean(dim=0)\n    if mono.numel() == 0:\n        raise AudioShapeError(shape=tuple(waveform.shape))\n    return mono.to(dtype=torch.float32)"
        },
        {
          "line_start": 258,
          "line_end": 327,
          "text": "def prepare_audio_context(\n    waveform: torch.Tensor,\n    source_sample_rate: int,\n    policy: AudioPreprocessPolicy = DEFAULT_POLICY,\n    *,\n    resampler: CudaResamplerContext | None = None,\n) -> AudioContext:\n    \"\"\"Convert decoded channels-first audio to mono, resample, and zero-pad.\"\"\"\n    if source_sample_rate <= 0:\n        raise InvalidSampleRateError(sample_rate=source_sample_rate)\n    validated_policy = _validate_policy(policy)\n    mono = _mono_waveform(waveform)\n    duration_seconds = mono.numel() / source_sample_rate\n    if (\n        not isfinite(duration_seconds)\n        or duration_seconds <= 0\n        or duration_seconds > validated_policy.context_seconds\n    ):\n        raise AudioDurationError(\n            duration_seconds=duration_seconds,\n            maximum_seconds=validated_policy.context_seconds,\n        )\n\n    normalized = (\n        mono\n        if source_sample_rate == validated_policy.sample_rate\n        else resampler.resample(mono, source_sample_rate, validated_policy.sample_rate)\n        if resampler is not None\n        else resample(\n            mono,\n            orig_freq=source_sample_rate,\n            new_freq=validated_policy.sample_rate,\n        )\n    )\n    target_samples = round(\n        validated_policy.context_seconds * validated_policy.sample_rate,\n    )\n    valid_samples = normalized.numel()\n    if valid_samples > target_samples:\n        raise AudioDurationError(\n            duration_seconds=valid_samples / validated_policy.sample_rate,\n            maximum_seconds=validated_policy.context_seconds,\n        )\n    padding_samples = target_samples - valid_samples\n    padded = torch.cat(\n        (\n            normalized,\n            torch.zeros(\n                padding_samples,\n                dtype=normalized.dtype,\n                device=normalized.device,\n            ),\n        ),\n    )\n    valid_sample_mask = torch.cat(\n        (\n            torch.ones(valid_samples, dtype=torch.bool, device=normalized.device),\n            torch.zeros(\n                padding_samples,\n                dtype=torch.bool,\n                device=normalized.device,\n            ),\n        ),\n    )\n    return AudioContext(\n        waveform=padded,\n        valid_sample_mask=valid_sample_mask,\n        sample_rate=validated_policy.sample_rate,\n        valid_samples=valid_samples,\n    )"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/audio_features/domain/bins.py",
      "sha256": "3dab9e4ccf9e2d4d8cbf25c121dd7afba5be77f98f4230fd693df4d60af7e25a",
      "bytes": 8769,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 151,
          "line_end": 209,
          "text": "def _context_windows(\n    duration_seconds: float,\n    policy: TemporalBinPolicy,\n) -> tuple[ContextWindow, ...]:\n    context = policy.context_seconds\n    if duration_seconds <= context:\n        return (ContextWindow(start=0.0, end=context),)\n\n    full_count = int(duration_seconds // context)\n    starts = [float(index) * context for index in range(full_count)]\n    if starts[-1] + context != duration_seconds:\n        starts.append(duration_seconds - context)\n    return tuple(ContextWindow(start=start, end=start + context) for start in starts)\n\n\ndef _global_intervals(\n    duration_seconds: float,\n    policy: TemporalBinPolicy,\n) -> tuple[tuple[float, float], ...]:\n    width = policy.pool_bin_seconds\n    full_count = int(duration_seconds // width)\n    intervals = [\n        (float(index) * width, float(index + 1) * width) for index in range(full_count)\n    ]\n    full_end = float(full_count) * width\n    tail = duration_seconds - full_end\n    if tail > 0:\n        if tail < policy.min_tail_bin_seconds and intervals:\n            previous_start, _ = intervals[-1]\n            intervals[-1] = (previous_start, duration_seconds)\n        else:\n            intervals.append((full_end, duration_seconds))\n    return tuple(intervals)\n\n\ndef plan_temporal_bins(\n    duration_seconds: float,\n    policy: TemporalBinPolicy = DEFAULT_POLICY,\n) -> TemporalPlan:\n    \"\"\"Plan fixed contexts and assign each global bin to its earliest owner.\"\"\"\n    if not isfinite(duration_seconds) or duration_seconds <= 0:\n        raise InvalidDurationError(duration_seconds=duration_seconds)\n    validated_policy = _validated_policy(policy)\n    windows = _context_windows(duration_seconds, validated_policy)\n    bins = tuple(\n        GlobalBin(\n            start=start,\n            end=end,\n            center=(start + end) / 2,\n            valid_ratio=1.0,\n            owner_window_start=next(\n                window.start\n                for window in windows\n                if window.start <= start and end <= window.end\n            ),\n        )\n        for start, end in _global_intervals(duration_seconds, validated_policy)\n    )\n    return TemporalPlan(windows=windows, bins=bins)"
        },
        {
          "line_start": 233,
          "line_end": 293,
          "text": "def _valid_ratio(start: float, end: float, duration_seconds: float) -> float:\n    valid_start = max(start, 0.0)\n    valid_end = min(end, duration_seconds)\n    return max(0.0, valid_end - valid_start) / (end - start)\n\n\ndef merge_empty_frame_bins(\n    bins: Sequence[GlobalBin],\n    frame_counts: Sequence[int],\n    duration_seconds: float,\n) -> tuple[GlobalBin, ...]:\n    \"\"\"Merge zero-frame bins with the previous valid bin, then the next.\"\"\"\n    if not isfinite(duration_seconds) or duration_seconds <= 0:\n        raise InvalidDurationError(duration_seconds=duration_seconds)\n    _validate_frame_bins(bins, frame_counts)\n    valid_indices = [\n        index for index, frame_count in enumerate(frame_counts) if frame_count > 0\n    ]\n    if not valid_indices:\n        raise NoValidFrameBinError\n\n    merged: list[GlobalBin] = []\n    for position, valid_index in enumerate(valid_indices):\n        start = bins[0].start if position == 0 else bins[valid_index].start\n        next_valid = (\n            valid_indices[position + 1]\n            if position + 1 < len(valid_indices)\n            else len(bins)\n        )\n        end = bins[next_valid - 1].end\n        source = bins[valid_index]\n        merged.append(\n            GlobalBin(\n                start=start,\n                end=end,\n                center=(start + end) / 2,\n                valid_ratio=_valid_ratio(start, end, duration_seconds),\n                owner_window_start=source.owner_window_start,\n            ),\n        )\n    return tuple(merged)"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/audio_features/application/build_cache.py",
      "sha256": "30cda64293a26e0892ea46b8edf6886c0ecee537ed4b0f549a72183bce888c00",
      "bytes": 10740,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 103,
          "line_end": 181,
          "text": "def extract_feature_record(\n    item: CacheBuildItem,\n    model: InnerAudioModel,\n    policy: CachePolicy,\n    *,\n    window_batch_size: int = 1,\n    resampler: CudaResamplerContext | None = None,\n) -> TemporalFeatureRecord:\n    \"\"\"Extract one complete temporal feature record without publishing it.\"\"\"\n    if window_batch_size < 1:\n        raise HiddenStateContractError(reason=\"window batch size must be positive\")\n    duration_seconds = item.waveform.shape[-1] / item.sample_rate\n    plan = plan_temporal_bins(duration_seconds)\n    frames_by_window: dict[float, FrameWindow] = {}\n    frame_counts: list[int] = []\n    for offset in range(0, len(plan.windows), window_batch_size):\n        windows = plan.windows[offset : offset + window_batch_size]\n        contexts = tuple(\n            prepare_audio_context(\n                item.waveform[\n                    ...,\n                    round(window.start * item.sample_rate) : min(\n                        round(window.end * item.sample_rate),\n                        item.waveform.shape[-1],\n                    ),\n                ],\n                item.sample_rate,\n                resampler=resampler,\n            )\n            for window in windows\n        )\n        if window_batch_size == 1:\n            frame_batch = (\n                extract_inner_model_frames(\n                    model,\n                    contexts[0],\n                    window_start=windows[0].start,\n                ),\n            )\n        else:\n            frame_batch = extract_inner_model_frame_batch(\n                model,\n                contexts,\n                window_starts=tuple(window.start for window in windows),\n            )\n        for window, frames in zip(windows, frame_batch, strict=True):\n            frames_by_window[window.start] = frames\n            frame_counts.extend(\n                int(\n                    (\n                        frames.valid_frame_mask\n                        & (frames.frame_timestamps >= interval.start)\n                        & (frames.frame_timestamps < interval.end)\n                    )\n                    .sum()\n                    .item(),\n                )\n                for interval in plan.bins_owned_by(window.start)\n            )\n    bins = merge_empty_frame_bins(plan.bins, frame_counts, duration_seconds)\n    features: list[torch.Tensor] = []\n    for window in plan.windows:\n        owned = tuple(\n            interval for interval in bins if interval.owner_window_start == window.start\n        )\n        if owned:\n            features.append(\n                pool_frame_window(frames_by_window[window.start], owned),\n            )\n    return TemporalFeatureRecord(\n        source_identifier=item.source_identifier,\n        source_sha256=item.source_sha256,\n        features=torch.cat(features).to(dtype=torch.float32),\n        bins=bins,\n        padding_mask=torch.tensor(\n            tuple(interval.valid_ratio < 1.0 for interval in bins),\n            dtype=torch.bool,\n        ),\n        policy=policy,"
        },
        {
          "line_start": 185,
          "line_end": 252,
          "text": "def extract_layer_records(\n    item: CacheBuildItem,\n    model: InnerAudioModel,\n    policy: CachePolicy,\n    *,\n    resampler: CudaResamplerContext | None = None,\n) -> tuple[TemporalFeatureRecord, ...]:\n    \"\"\"Run MuQ once per window and return one width-1024 record per hidden state.\n\n    Planning, validity, bin merging and pooling are those of `extract_feature_record`\n    with one window per forward pass; record `i` carries hidden state `i` (0..12).\n    \"\"\"\n    duration_seconds = item.waveform.shape[-1] / item.sample_rate\n    plan = plan_temporal_bins(duration_seconds)\n    frames_by_window: dict[float, LayerFrames] = {}\n    frame_counts: list[int] = []\n    for window in plan.windows:\n        context = prepare_audio_context(\n            item.waveform[\n                ...,\n                round(window.start * item.sample_rate) : min(\n                    round(window.end * item.sample_rate),\n                    item.waveform.shape[-1],\n                ),\n            ],\n            item.sample_rate,\n            resampler=resampler,\n        )\n        frames = extract_inner_model_layer_frames(\n            model, context, window_start=window.start\n        )\n        frames_by_window[window.start] = frames\n        frame_counts.extend(\n            int(\n                (\n                    frames.valid_frame_mask\n                    & (frames.frame_timestamps >= interval.start)\n                    & (frames.frame_timestamps < interval.end)\n                )\n                .sum()\n                .item(),\n            )\n            for interval in plan.bins_owned_by(window.start)\n        )\n    bins = merge_empty_frame_bins(plan.bins, frame_counts, duration_seconds)\n    pooled: list[torch.Tensor] = []\n    for window in plan.windows:\n        owned = tuple(\n            interval for interval in bins if interval.owner_window_start == window.start\n        )\n        if owned:\n            pooled.append(pool_layer_frames(frames_by_window[window.start], owned))\n    stacked = torch.cat(pooled).to(dtype=torch.float32)\n    padding_mask = torch.tensor(\n        tuple(interval.valid_ratio < 1.0 for interval in bins),\n        dtype=torch.bool,\n    )\n    return tuple(\n        TemporalFeatureRecord(\n            source_identifier=item.source_identifier,\n            source_sha256=item.source_sha256,\n            features=stacked[:, layer].contiguous(),\n            bins=bins,\n            padding_mask=padding_mask,\n            policy=replace(policy, layer_order=(layer,)),\n        )\n        for layer in range(HIDDEN_STATE_COUNT)\n    )"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/grade_model/domain/model.py",
      "sha256": "ca8996df129dcffe6ebd3cf1a69d3bd20b18e69c31b633b1127a1ad5c7a777a1",
      "bytes": 9616,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 27,
          "line_end": 53,
          "text": "MODEL_WIDTH: Final = 256\nGRADE_COUNT: Final = 3\nMUSIC_TYPE_INDEX: Final = 0\nGRADE_TYPE_INDEX: Final = 1\nGRADE_ORDER: Final[tuple[str, str, str]] = (\"Fail\", \"A\", \"S\")\nSHALLOW_TRANSFORMER_DEPTH: Final = 1\nDEEP_TRANSFORMER_DEPTH: Final = 2\nTHIRD_TRANSFORMER_DEPTH: Final = 3\n\n\ndef sinusoidal_time_encoding(\n    center_times: torch.Tensor, model_width: int\n) -> torch.Tensor:\n    \"\"\"Encode absolute centers with the original sinusoidal operations.\"\"\"\n    exponents = (\n        torch.arange(\n            0,\n            model_width,\n            2,\n            dtype=center_times.dtype,\n            device=center_times.device,\n        )\n        / model_width\n    )\n    frequencies = torch.exp(-log(10_000.0) * exponents)\n    angles = center_times.unsqueeze(-1) * frequencies\n    return torch.stack((angles.sin(), angles.cos()), dim=-1).flatten(-2)"
        },
        {
          "line_start": 111,
          "line_end": 163,
          "text": "        self.model_width = model_width\n        self.feature_width = feature_width\n        self.transformer_depth = transformer_depth\n        self.use_time_encoding = use_time_encoding\n        self.feature_projection: nn.Linear = nn.Linear(feature_width, model_width)\n        self.projection_norm: nn.LayerNorm = nn.LayerNorm(model_width)\n        self.ratio_embedding: nn.Linear = nn.Linear(1, model_width)\n        self.grade_tokens = nn.Parameter(torch.empty(GRADE_COUNT, model_width))\n        self.type_embedding: nn.Embedding = nn.Embedding(2, model_width)\n        self.first_transformer_layer: nn.TransformerEncoderLayer = (\n            nn.TransformerEncoderLayer(\n                d_model=model_width,\n                nhead=4,\n                dim_feedforward=model_width * 4,\n                dropout=transformer_dropout,\n                activation=\"gelu\",\n                batch_first=True,\n                norm_first=True,\n            )\n        )\n        self.second_transformer_layer: nn.TransformerEncoderLayer | None = (\n            nn.TransformerEncoderLayer(\n                d_model=model_width,\n                nhead=4,\n                dim_feedforward=model_width * 4,\n                dropout=transformer_dropout,\n                activation=\"gelu\",\n                batch_first=True,\n                norm_first=True,\n            )\n            if transformer_depth >= DEEP_TRANSFORMER_DEPTH\n            else None\n        )\n        self.third_transformer_layer: nn.TransformerEncoderLayer | None = (\n            nn.TransformerEncoderLayer(\n                d_model=model_width,\n                nhead=4,\n                dim_feedforward=model_width * 4,\n                dropout=transformer_dropout,\n                activation=\"gelu\",\n                batch_first=True,\n                norm_first=True,\n            )\n            if transformer_depth == THIRD_TRANSFORMER_DEPTH\n            else None\n        )\n        self.scorer: nn.Sequential = nn.Sequential(\n            nn.LayerNorm(model_width),\n            nn.Linear(model_width, model_width),\n            nn.GELU(),\n            nn.Linear(model_width, 1, bias=False),\n        )\n        _ = nn.init.normal_(self.grade_tokens, mean=0.0, std=0.02)"
        },
        {
          "line_start": 191,
          "line_end": 250,
          "text": "    @override\n    def forward(\n        self,\n        features: torch.Tensor,\n        center_times: torch.Tensor,\n        valid_ratios: torch.Tensor,\n        padding_mask: torch.Tensor,\n    ) -> torch.Tensor:\n        \"\"\"Return three raw query scores, interpreted by the model family.\n\n        Optional detachment blocks only direct conditional-loss encoder gradients.\n        Global gradient clipping can still couple the subsequent optimizer updates.\n        \"\"\"\n        self._validate_inputs(\n            features,\n            center_times,\n            valid_ratios,\n            padding_mask,\n            self.feature_width,\n        )\n        batch_size = features.shape[0]\n        normalized: torch.Tensor = functional.normalize(features, p=2.0, dim=-1)\n        music_tokens: torch.Tensor = self.projection_norm(\n            self.feature_projection(normalized),\n        )\n        if self.magnitude_residual is not None:\n            music_tokens = self.magnitude_residual(features, music_tokens, padding_mask)\n        if self.local_temporal_residual is not None:\n            music_tokens = self.local_temporal_residual(music_tokens, padding_mask)\n        if self.use_time_encoding:\n            music_tokens = music_tokens + self._sinusoidal_time_encoding(\n                center_times, self.model_width\n            )\n        music_tokens = (\n            music_tokens\n            + self.ratio_embedding(valid_ratios.unsqueeze(-1))\n            + self.type_embedding.weight[MUSIC_TYPE_INDEX]\n        )\n        grade_tokens = self.grade_tokens.unsqueeze(0).expand(batch_size, -1, -1)\n        grade_tokens = grade_tokens + self.type_embedding.weight[GRADE_TYPE_INDEX]\n        sequence: torch.Tensor = torch.cat((grade_tokens, music_tokens), dim=1)\n        grade_mask = torch.zeros(\n            (batch_size, GRADE_COUNT),\n            dtype=torch.bool,\n            device=padding_mask.device,\n        )\n        key_padding_mask = torch.cat((grade_mask, padding_mask), dim=1)\n        for layer in self.transformer_layers:\n            sequence = layer(\n                sequence,\n                src_key_padding_mask=key_padding_mask,\n            )\n        logits: torch.Tensor = self.scorer(sequence[:, :GRADE_COUNT])\n        if self.conditional_scorer is not None:\n            conditional_features = sequence[:, 2:3]\n            if self.detach_conditional_features:\n                conditional_features = conditional_features.detach()\n            conditional: torch.Tensor = self.conditional_scorer(conditional_features)\n            logits = torch.cat((logits[:, :2], conditional), dim=1)\n        return logits.squeeze(-1)"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/grade_model/domain/v4_model.py",
      "sha256": "42fe06b4023a0b575e8d95cbc1a293d8307ba6ba0ba1029cdc4440586b279d01",
      "bytes": 2788,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 19,
          "line_end": 76,
          "text": "    def __init__(\n        self,\n        biases: tuple[float, float, float],\n        model_width: int = MODEL_WIDTH,\n        *,\n        transformer_dropout: float = 0.1,\n        transformer_depth: int = 2,\n        use_time_encoding: bool = True,\n        separate_conditional_scorer: bool = False,\n        detach_conditional_features: bool = False,\n        local_temporal_residual: bool = False,\n        magnitude_normalizer: MagnitudeNormalizer | None = None,\n        feature_width: int = FEATURE_WIDTH,\n    ) -> None:\n        \"\"\"Initialize the temporal core and three class biases.\"\"\"\n        super().__init__()\n        self.temporal_head = TemporalGradeHead(\n            model_width,\n            transformer_dropout=transformer_dropout,\n            transformer_depth=transformer_depth,\n            use_time_encoding=use_time_encoding,\n            separate_conditional_scorer=separate_conditional_scorer,\n            detach_conditional_features=detach_conditional_features,\n            local_temporal_residual=local_temporal_residual,\n            magnitude_normalizer=magnitude_normalizer,\n            feature_width=feature_width,\n        )\n        self.class_bias = nn.Parameter(torch.tensor(biases, dtype=torch.float32))\n        output = self.temporal_head.scorer[-1]\n        if not isinstance(output, nn.Linear):\n            raise TemporalGradeInputError(\n                detail=\"temporal scorer output must be linear\"\n            )\n        nn.init.normal_(output.weight, mean=0.0, std=0.001)\n        if self.temporal_head.conditional_scorer is not None:\n            self.temporal_head.conditional_scorer.load_state_dict(\n                self.temporal_head.scorer.state_dict()\n            )\n\n    @property\n    def transformer_layers(\n        self,\n    ) -> tuple[nn.TransformerEncoderLayer, ...]:\n        \"\"\"Expose the temporal head's distinct encoder layers.\"\"\"\n        return self.temporal_head.transformer_layers\n\n    def forward(\n        self,\n        features: torch.Tensor,\n        center_times: torch.Tensor,\n        valid_ratios: torch.Tensor,\n        padding_mask: torch.Tensor,\n    ) -> torch.Tensor:\n        \"\"\"Return uncentered logits with the trainable loss-prior bias.\"\"\"\n        return (\n            self.temporal_head(features, center_times, valid_ratios, padding_mask)\n            + self.class_bias\n        )"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/grade_model/domain/hierarchical.py",
      "sha256": "107af6d5ed654e5784d5198915a8fdc0b163bdd7b35e073d5aa5b20dcf7ef536",
      "bytes": 3196,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 22,
          "line_end": 99,
          "text": "def hierarchical_log_probs(logits: torch.Tensor) -> torch.Tensor:\n    \"\"\"Factor final Fail/A/S probabilities from raw [Fail, Pass, S|Pass] scores.\"\"\"\n    gate = functional.log_softmax(logits[:, :2], dim=1)\n    h = logits[:, 2]\n    return torch.stack(\n        (\n            gate[:, 0],\n            gate[:, 1] + functional.logsigmoid(-h),\n            gate[:, 1] + functional.logsigmoid(h),\n        ),\n        dim=1,\n    )\n\n\ndef hierarchical_predictions(logits: torch.Tensor) -> torch.Tensor:\n    \"\"\"Resolve gate ties to Fail and conditional ties to A, never joint argmax.\"\"\"\n    return torch.where(\n        logits[:, 1] > logits[:, 0],\n        1 + (logits[:, 2] > 0).long(),\n        0,\n    )\n\n\ndef hierarchical_gate_margin(logits: torch.Tensor) -> torch.Tensor:\n    \"\"\"Return Pass-minus-Fail gate scores: above zero is Pass, ties stay Fail.\"\"\"\n    return logits[:, 1] - logits[:, 0]\n\n\ndef mix_gate_targets(\n    targets: torch.Tensor, teacher_margins: torch.Tensor, mix: float\n) -> torch.Tensor:\n    \"\"\"Mix the hard Pass indicator with the teacher gate's Pass probability per song.\"\"\"\n    return (1 - mix) * (targets != 0).to(teacher_margins.dtype) + (\n        mix * teacher_margins.sigmoid()\n    )\n\n\ndef hierarchical_loss(\n    logits: torch.Tensor,\n    targets: torch.Tensor,\n    *,\n    fail_weight: float = 1.0,\n    conditional_weight: float = 1.0,\n    gate_target: torch.Tensor | None = None,\n) -> torch.Tensor:\n    \"\"\"Return per-song gate CE plus actual-Pass-masked conditional BCE.\n\n    `gate_target` replaces only the gate's hard Pass indicator with a per-song soft\n    Pass probability; Fail weights and the conditional term still follow `targets`.\n    \"\"\"\n    actual_pass = targets != 0\n    gate = functional.cross_entropy(\n        logits[:, :2],\n        actual_pass.long()\n        if gate_target is None\n        else torch.stack((1 - gate_target, gate_target), dim=1).to(logits.dtype),\n        reduction=\"none\",\n    )\n    gate = torch.where(actual_pass, gate, gate * fail_weight)\n    conditional = functional.binary_cross_entropy_with_logits(\n        logits[:, 2],\n        (targets == S_INDEX).to(logits.dtype),\n        reduction=\"none\",\n    )\n    return gate + conditional_weight * conditional * actual_pass.to(logits.dtype)\n\n\ndef hierarchical_biases(\n    loss_mass: tuple[float, float, float],\n    fail_weight: float = 1.0,\n) -> tuple[float, float, float]:\n    \"\"\"Initialize the gate and conditional priors from final weighted song mass.\"\"\"\n    if any(not math.isfinite(mass) or mass <= 0 for mass in loss_mass):\n        raise GradeLossInputError(\n            detail=\"hierarchical priors require all three classes\"\n        )\n    fail, a, s = loss_mass\n    return math.log(fail * fail_weight), math.log(a + s), math.log(s / a)"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/grade_model/domain/v4_stats.py",
      "sha256": "7405dda53aea48947a943a177168b4f5097f984d550c59d7e78c657d0f112b06",
      "bytes": 3345,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 36,
          "line_end": 92,
          "text": "def final_train_statistics(\n    targets: tuple[int, ...],\n    micro_batch: int = 32,\n    rare_weight_gamma: float = RARE_WEIGHT_GAMMA,\n    class_weight_grouping: ChoiceWeightGrouping = ChoiceWeightGrouping.GRADE,\n) -> ChoiceStatistics:\n    \"\"\"Count final distinct train songs, rejecting missing and partial labels.\"\"\"\n    if (\n        micro_batch <= 0\n        or not targets\n        or any(target not in range(CLASS_COUNT) for target in targets)\n    ):\n        raise GradeLossInputError(\n            detail=\"final training requires exact labels and positive microbatch\"\n        )\n    counts = (targets.count(0), targets.count(1), targets.count(2))\n    if any(count == 0 for count in counts):\n        raise GradeLossInputError(\n            detail=\"every class must occur in the final training dataset\"\n        )\n    total = len(targets)\n    prevalence = (counts[0] / total, counts[1] / total, counts[2] / total)\n    match class_weight_grouping:\n        case ChoiceWeightGrouping.GRADE:\n            rarity_counts = counts\n        case ChoiceWeightGrouping.BINARY:\n            pass_count = counts[1] + counts[2]\n            rarity_counts = (counts[0], pass_count, pass_count)\n        case unreachable:\n            assert_never(unreachable)\n    raw = tuple(count**-rare_weight_gamma for count in rarity_counts)\n    normalization = sum(\n        probability * weight\n        for probability, weight in zip(prevalence, raw, strict=True)\n    )\n    weights = (raw[0] / normalization, raw[1] / normalization, raw[2] / normalization)\n    loss_mass = (\n        prevalence[0] * weights[0],\n        prevalence[1] * weights[1],\n        prevalence[2] * weights[2],\n    )\n    biases = (\n        math.log(loss_mass[0] / (1.0 - loss_mass[0])),\n        math.log(loss_mass[1] / (1.0 - loss_mass[1])),\n        math.log(loss_mass[2] / (1.0 - loss_mass[2])),\n    )\n    accumulation = min(\n        MAX_ACCUMULATION, max(1, math.ceil(1.0 / (micro_batch * min(prevalence))))\n    )\n    return ChoiceStatistics(\n        counts=counts,\n        prevalence=prevalence,\n        weights=weights,\n        loss_mass=loss_mass,\n        biases=biases,\n        accumulation=accumulation,\n    )"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/grade_model/domain/gate_distillation.py",
      "sha256": "78dcba84507c7f28a34c96001880f87a7881a236191e3c6b6722610e242ee75c",
      "bytes": 1645,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 17,
          "line_end": 40,
          "text": "def mean_gate_probability(first: torch.Tensor, second: torch.Tensor) -> torch.Tensor:\n    \"\"\"Average two frozen Bernoulli probabilities in FP32, not their logits.\"\"\"\n    first = first.detach().float()\n    second = second.detach().float()\n    return 0.5 * (\n        (first[:, 1] - first[:, 0]).sigmoid() + (second[:, 1] - second[:, 0]).sigmoid()\n    )\n\n\ndef gate_distillation_loss(\n    logits: torch.Tensor,\n    targets: torch.Tensor,\n    teacher: GateTarget,\n    fail_weight: float,\n) -> torch.Tensor:\n    \"\"\"Return coefficient-weighted soft CE, with cost only on actual Fail rows.\"\"\"\n    probability = teacher.pass_probability.detach().float()\n    soft_targets = torch.stack((1.0 - probability, probability), dim=1)\n    cross_entropy = -(\n        soft_targets * functional.log_softmax(logits[:, :2].float(), dim=1)\n    ).sum(dim=1)\n    return teacher.weight * torch.where(\n        targets == 0, fail_weight * cross_entropy, cross_entropy\n    )"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/grade_model/application/v4_objective.py",
      "sha256": "f78479b1d2217a3b0b752f018b9c23ed0b6a96c00ab972e2b24dfe96f49ac577",
      "bytes": 8988,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 48,
          "line_end": 117,
          "text": "def choice_objective(\n    logits: torch.Tensor,\n    targets: torch.Tensor,\n    config: ChoiceTrainConfig,\n    state: ObjectiveState,\n    *,\n    active: bool,\n) -> torch.Tensor:\n    \"\"\"Dispatch before any legacy loss or pair telemetry is computed.\"\"\"\n    if config.stochastic_views != 1:\n        if state.gate_target is not None:\n            raise GradeLossInputError(detail=\"two views reject gate distillation\")\n        return paired_gate_objective(\n            logits, targets, config, (state.weights, state.telemetry), active=active\n        )\n    gate_target = state.gate_target\n    match config.model_family:\n        case ChoiceModelFamily.LEGACY:\n            if gate_target is not None:\n                raise GradeLossInputError(detail=\"gate distillation requires hierarchy\")\n            return _legacy_objective(logits, targets, config, state, active=active)\n        case ChoiceModelFamily.HIERARCHICAL:\n            soft = state.gate_soft_target\n            per_song = hierarchical_loss(\n                logits,\n                targets,\n                fail_weight=config.hierarchical_fail_weight,\n                conditional_weight=config.hierarchical_conditional_weight,\n                gate_target=soft,\n            )\n            if active:\n                actual_pass = targets != 0\n                detached = logits.detach()\n                gate_gradient = detached[:, :2].softmax(dim=1) - (\n                    torch.nn.functional.one_hot(actual_pass.long(), num_classes=2)\n                    if soft is None\n                    else torch.stack((1 - soft, soft), dim=1)\n                )\n                gate_gradient *= torch.where(\n                    actual_pass,\n                    1.0,\n                    config.hierarchical_fail_weight,\n                )[:, None]\n                conditional_gradient = (\n                    (detached[:, 2].sigmoid() - (targets == S_INDEX).float())\n                    * actual_pass\n                    * config.hierarchical_conditional_weight\n                )\n                gradient = torch.cat(\n                    (gate_gradient, conditional_gradient[:, None]), dim=1\n                )\n                gradient *= state.weights[targets, None]\n                state.telemetry[0] += per_song.detach().sum()\n                state.telemetry[1] += targets.numel()\n                state.telemetry[2] += gradient.norm(dim=1).sum()\n            if config.ranking_loss_weight and active:\n                ranking = tail_ranking_loss(\n                    logits, targets, config.ranking_tail_fraction, binary_gate=True\n                )\n                per_song = per_song + config.ranking_loss_weight * ranking\n            if gate_target is not None and active:\n                distillation = gate_distillation_loss(\n                    logits, targets, gate_target, config.hierarchical_fail_weight\n                )\n                state.telemetry[5] += distillation.detach().sum()\n                state.telemetry[6] += teacher_entropy(\n                    gate_target.pass_probability\n                ).sum()\n                per_song = per_song + distillation\n            return per_song"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/grade_model/application/v4_train.py",
      "sha256": "cd8a02944c48ba5e3a481d30cdaf7e592588c2bf122ae4103107f99176d847b0",
      "bytes": 10969,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 71,
          "line_end": 95,
          "text": "def _optimizer(head: nn.Module, config: ChoiceTrainConfig) -> torch.optim.AdamW:\n    \"\"\"Keep the prior bias outside AdamW weight decay.\"\"\"\n    return torch.optim.AdamW(\n        [\n            {\n                \"params\": [\n                    parameter\n                    for name, parameter in head.named_parameters()\n                    if name not in {\"module.class_bias\", \"class_bias\"}\n                ],\n                \"weight_decay\": config.weight_decay,\n            },\n            {\n                \"params\": [\n                    parameter\n                    for name, parameter in head.named_parameters()\n                    if name in {\"module.class_bias\", \"class_bias\"}\n                ],\n                \"weight_decay\": 0.0,\n            },\n        ],\n        lr=config.learning_rate,\n        betas=(0.9, config.adam_beta2),\n        fused=any(parameter.is_cuda for parameter in head.parameters()),\n    )"
        },
        {
          "line_start": 118,
          "line_end": 159,
          "text": "    with torch.autocast(\n        request.device.type,\n        dtype=torch.bfloat16,\n        enabled=request.device.type == \"cuda\",\n    ):\n        logits = request.head(features, times, ratios, mask)\n    logits = logits.float()\n    gate_target = None\n    if request.gate_teacher is not None and active:\n        with (\n            torch.no_grad(),\n            torch.autocast(\n                request.device.type,\n                dtype=torch.bfloat16,\n                enabled=request.device.type == \"cuda\",\n            ),\n        ):\n            first, second = request.gate_teacher.heads\n            first_logits = first(features, times, ratios, mask)\n            second_logits = second(features, times, ratios, mask)\n        gate_target = GateTarget(\n            mean_gate_probability(first_logits, second_logits),\n            request.gate_teacher.weight,\n        )\n    if request.gate_soft_targets is not None:\n        soft = [request.gate_soft_targets[index] for index in indices]\n        state = replace(\n            state,\n            gate_soft_target=torch.tensor(\n                soft, dtype=logits.dtype, device=logits.device\n            ),\n        )\n    per_song = choice_objective(\n        logits,\n        targets,\n        request.config,\n        replace(state, gate_target=gate_target) if gate_target is not None else state,\n        active=active,\n    )\n    numerator = (state.weights[targets] * per_song).sum()\n    (numerator if active else numerator * 0.0).backward()\n    return len(indices) if active else 0"
        },
        {
          "line_start": 162,
          "line_end": 187,
          "text": "def _update(\n    request: ChoiceTrainRequest,\n    optimizer: torch.optim.AdamW,\n    count: int,\n    step: int,\n    total_steps: int,\n) -> bool:\n    \"\"\"Normalize by global real song count, then clip one global gradient norm.\n\n    Detached conditional features block direct encoder gradients, but conditional\n    gradient magnitudes can still rescale gate gradients through global clipping.\n    \"\"\"\n    observed = torch.tensor(float(count), device=request.device)\n    if request.world_size > 1:\n        dist.all_reduce(observed)\n    denominator = observed.item()\n    for parameter in request.head.parameters():\n        if parameter.grad is not None:\n            parameter.grad.mul_(request.world_size / denominator)\n    rate = _learning_rate(step, total_steps, request.config)\n    for group in optimizer.param_groups:\n        group[\"lr\"] = rate\n    norm = nn.utils.clip_grad_norm_(request.head.parameters(), request.config.grad_clip)\n    optimizer.step()\n    optimizer.zero_grad(set_to_none=True)\n    return bool(norm > request.config.grad_clip)"
        },
        {
          "line_start": 221,
          "line_end": 285,
          "text": "    weights = torch.tensor(\n        request.statistics.weights, device=request.device, dtype=torch.float32\n    )\n    optimizer = _optimizer(request.head, request.config)\n    bank = _training_bank(request)\n    global_microbatch = request.config.micro_batch * request.world_size\n    rounds = math.ceil(len(request.songs) / global_microbatch)\n    steps_per_epoch = math.ceil(rounds / request.statistics.accumulation)\n    config = request.config\n    total_steps = steps_per_epoch * config.max_epochs\n    permutation_generator = torch.Generator().manual_seed(config.seed)\n    noise_generator = torch.Generator(device=request.device).manual_seed(\n        config.seed + request.rank + 1\n    )\n    step = 0\n    for epoch in range(1, config.max_epochs + 1):\n        request.head.train()\n        telemetry = torch.zeros(\n            7\n            if request.gate_teacher is not None or config.stochastic_views != 1\n            else 5,\n            device=request.device,\n        )\n        state = _EpochState(weights, noise_generator, telemetry)\n        permutation = epoch_permutation(\n            len(request.songs), permutation_generator\n        ).tolist()\n        optimizer.zero_grad(set_to_none=True)\n        observed = 0\n        for round_index in range(rounds):\n            begin = round_index * global_microbatch + request.rank * config.micro_batch\n            indices = permutation[\n                begin : min(\n                    begin + config.micro_batch, (round_index + 1) * global_microbatch\n                )\n            ]\n            active = bool(indices)\n            if not active:\n                indices = [permutation[0]]\n            observed += _backward(request, indices, state, active=active, bank=bank)\n            flush = (\n                round_index + 1\n            ) % request.statistics.accumulation == 0 or round_index + 1 == rounds\n            if not flush:\n                continue\n            step += 1\n            telemetry[3] += int(\n                _update(request, optimizer, observed, step, total_steps)\n            )\n            telemetry[4] += 1\n            observed = 0\n        if request.world_size > 1:\n            dist.all_reduce(telemetry)\n        if request.rank == 0:\n            emit_training_telemetry(\n                epoch, config, telemetry, distillation=request.gate_teacher is not None\n            )\n        stop = request.on_epoch(epoch, request.head)\n        if request.world_size > 1:\n            signal = torch.tensor(int(stop), device=request.device)\n            dist.broadcast(signal, src=0)\n            stop = bool(signal.item())\n        if stop:\n            break\n    return step"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/grade_model/application/v4_evaluate.py",
      "sha256": "cc37695f40e7a1d060788978575bc9020ec88e06ecbc03f4bd943ec8672c4e8c",
      "bytes": 13388,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 196,
          "line_end": 285,
          "text": "@dataclass(frozen=True, slots=True)\nclass RejectBand:\n    \"\"\"Asymmetric gate-margin band: Pass iff margin >= hi, Fail iff margin <= lo.\"\"\"\n\n    lo: float\n    hi: float\n\n\ndef reject_band_counts(\n    margins: Sequence[float], targets: Sequence[int], band: RejectBand\n) -> dict[str, float]:\n    \"\"\"Decided-song error counts once songs with lo < margin < hi are rejected.\"\"\"\n    m = np.asarray(margins, dtype=np.float64)\n    is_pass = np.asarray(targets) != 0\n    rejected = (m > band.lo) & (m < band.hi)\n    f2p = int((~is_pass & (m >= band.hi)).sum())\n    fail_count = int((~is_pass & ~rejected).sum())\n    p2f = int((is_pass & (m <= band.lo)).sum())\n    pass_count = int((is_pass & ~rejected).sum())\n    rejected_pass = int((is_pass & rejected).sum())\n    return {\n        \"fail_to_pass_count\": f2p,\n        \"fail_count\": fail_count,\n        \"fail_to_pass_rate\": f2p / fail_count if fail_count else 0.0,\n        \"pass_to_fail_count\": p2f,\n        \"pass_correct_count\": pass_count - p2f,\n        \"pass_count\": pass_count,\n        \"pass_to_fail_rate\": p2f / pass_count if pass_count else 0.0,\n        \"rejected_total\": int(rejected.sum()),\n        \"rejected_pass_count\": rejected_pass,\n        \"rejected_pass_rate\": rejected_pass / max(int(is_pass.sum()), 1),\n    }\n\n\n# Share of actual Pass songs a band may reject (user decisions on 2026-10-07: 30%,\n# then 50%, then 70% at 23:1x KST: \"no Fail->Pass at all comes first\"; see\n# _Autoresearch/20261007/06_거부_구간_계획.md §7 and AGENTS.md 1-1).\nMAX_PASS_LOSS: Final = 0.70\n\n\ndef select_reject_band(\n    margins: Sequence[float],\n    targets: Sequence[int],\n    max_pass_loss: float = MAX_PASS_LOSS,\n    grid: int = 200,\n) -> RejectBand:\n    \"\"\"Choose (lo, hi) on one set's own margins; call it on validation only.\n\n    Feasible bands reject at most `max_pass_loss` of the actual Pass songs and keep\n    the decided Pass->Fail rate at or below the no-reject rate at boundary 0 (so a\n    band never buys Fail->Pass by shifting errors onto Pass->Fail; without this cap\n    hi = +inf is always \"optimal\"). Among feasible bands: fewest decided Fail->Pass,\n    then fewest decided Pass->Fail, then fewest rejected songs. Cut points are the\n    margin quantiles plus 0. Falls back to (0, 0) when nothing is feasible.\n    \"\"\"\n    m = np.asarray(margins, dtype=np.float64)\n    is_pass = np.asarray(targets) != 0\n    if m.ndim != 1 or m.shape != is_pass.shape or m.size == 0:\n        raise EvaluationInputError(detail=\"reject band needs equal-length 1-D inputs\")\n    pm, fm = np.sort(m[is_pass]), np.sort(m[~is_pass])\n    if pm.size == 0 or fm.size == 0:\n        raise EvaluationInputError(detail=\"reject band needs both Fail and Pass songs\")\n    max_p2f_rate = (pm <= 0.0).sum() / pm.size\n    cuts = np.unique(np.concatenate([np.quantile(m, np.linspace(0, 1, grid)), [0.0]]))\n    lo, hi = cuts[:, None], cuts[None, :]\n    pass_le_lo = np.searchsorted(pm, lo, side=\"right\")  # Pass decided Fail\n    pass_ge_hi = pm.size - np.searchsorted(pm, hi, side=\"left\")  # Pass decided Pass\n    fail_ge_hi = fm.size - np.searchsorted(fm, hi, side=\"left\")  # Fail decided Pass\n    fail_le_lo = np.searchsorted(fm, lo, side=\"right\")\n    decided_pass = pass_le_lo + pass_ge_hi\n    rejected = (pm.size - decided_pass) + (fm.size - fail_le_lo - fail_ge_hi)\n    p2f_rate = np.divide(\n        pass_le_lo,\n        decided_pass,\n        out=np.ones(decided_pass.shape),\n        where=decided_pass > 0,\n    )\n    feasible = (\n        (lo <= hi)\n        & (pm.size - decided_pass <= max_pass_loss * pm.size + 1e-9)\n        & (p2f_rate <= max_p2f_rate + 1e-12)\n    )\n    if not feasible.any():\n        return RejectBand(lo=0.0, hi=0.0)\n    big = 1 << 40\n    keys = [\n        np.where(feasible, k, big).ravel() for k in (fail_ge_hi, pass_le_lo, rejected)\n    ]\n    i, j = np.unravel_index(np.lexsort(keys[::-1])[0], feasible.shape)\n    return RejectBand(lo=float(cuts[i]), hi=float(cuts[j]))"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/grade_model/application/choice_scores.py",
      "sha256": "40ded14db23b05ca5a58477c90c3ea031cb79d115fe352907fc10943def6e45b",
      "bytes": 5716,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 137,
          "line_end": 149,
          "text": "def combine_choice_scores(\n    margins: list[torch.Tensor], conditionals: list[torch.Tensor]\n) -> torch.Tensor:\n    \"\"\"Keep the original ordered FP32 stack/mean gate and conditional arithmetic.\"\"\"\n    if (\n        not margins\n        or len(margins) != len(conditionals)\n        or any(value.dtype is not torch.float32 for value in (*margins, *conditionals))\n    ):\n        raise ChoiceScoreInputError(detail=\"ensemble needs ordered FP32 member outputs\")\n    margin = torch.stack(margins).mean(dim=0)\n    conditional = torch.stack(conditionals).mean(dim=0)\n    return torch.stack((-margin / 2, margin / 2, conditional), dim=1)"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/serving/domain/decision.py",
      "sha256": "347bd6930d8f80488d6169ce99575d2fdd83376cda19545471b52a94ff9d21d2",
      "bytes": 996,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 7,
          "line_end": 29,
          "text": "def decide(\n    margin: float,\n    conditional: float,\n    band: RejectBand | None,\n) -> tuple[Decision, Grade | None]:\n    \"\"\"Decide one song from its mean gate margin and mean S-given-Pass logit.\n\n    With a band, `margin >= hi` is Pass, `margin <= lo` is Fail and anything strictly\n    between is rejected, as in the research evaluation. Without a band the boundary is\n    zero and a tie stays Fail. A Pass is S when the conditional logit is above zero and\n    A otherwise.\n    \"\"\"\n    if band is None:\n        passed = margin > 0.0\n    elif margin >= band.hi:\n        passed = True\n    elif margin <= band.lo:\n        passed = False\n    else:\n        return \"reject\", None\n    if not passed:\n        return \"fail\", \"Fail\"\n    return \"pass\", \"S\" if conditional > 0.0 else \"A\""
        }
      ]
    },
    {
      "path": "src/raina_laya/features/serving/infrastructure/package.py",
      "sha256": "ce1f7db6f88a2c48aca69c44945f7630c5468c8b76bfce3ea516d02fd5420172",
      "bytes": 4560,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 44,
          "line_end": 63,
          "text": "def _bound(value: object) -> float:\n    if (\n        isinstance(value, bool)\n        or not isinstance(value, (int, float))\n        or not math.isfinite(value)\n    ):\n        raise BackendLoadError(detail=\"reject_band lo and hi must be finite numbers\")\n    return float(value)\n\n\ndef _band(value: object) -> RejectBand | None:\n    \"\"\"Parse the packaged reject band; an absent band decides at margin zero.\"\"\"\n    if value is None:\n        return None\n    if not isinstance(value, dict):\n        raise BackendLoadError(detail=\"reject_band must be a mapping\")\n    band = RejectBand(lo=_bound(value.get(\"lo\")), hi=_bound(value.get(\"hi\")))\n    if band.lo > band.hi:\n        raise BackendLoadError(detail=\"reject_band needs lo <= hi\")\n    return band"
        }
      ]
    },
    {
      "path": "src/raina_laya/features/serving/application/runtime.py",
      "sha256": "bd9ccb1e017fec59b69242b71c45bd667874977b44b855e6904dbb5863d0decc",
      "bytes": 18326,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 208,
          "line_end": 212,
          "text": "class HierarchicalBackend:\n    \"\"\"Own one v5 MuQ model and its gate members until explicit shutdown.\n\n    One member is a single checkpoint; several members score the mean gate margin.\n    Each member reads its own MuQ layers from one pass over the song."
        },
        {
          "line_start": 233,
          "line_end": 292,
          "text": "    def predict(self, payload: bytes, filename: str) -> Prediction:\n        \"\"\"Decode one complete song and decide it from the mean gate margin.\"\"\"\n        inner_model = self._inner_model\n        members = self._members\n        if inner_model is None or members is None:\n            raise PredictionExecutionError(detail=\"backend is closed\")\n        waveform, sample_rate = _decode_audio(payload)\n        input_sha256 = hashlib.sha256(payload).hexdigest()\n        duration_seconds = waveform.shape[1] / sample_rate\n        item = CacheBuildItem(\n            source_identifier=filename,\n            source_sha256=input_sha256,\n            waveform=waveform.to(device=self._device, dtype=torch.float32),\n            sample_rate=sample_rate,\n        )\n        try:\n            with torch.inference_mode():\n                records = extract_layer_records(item, inner_model, CachePolicy())\n                bins = records[0].bins\n                centers = torch.tensor(\n                    tuple(interval.center for interval in bins),\n                    device=self._device,\n                    dtype=torch.float32,\n                ).unsqueeze(0)\n                valid_ratios = torch.tensor(\n                    tuple(interval.valid_ratio for interval in bins),\n                    device=self._device,\n                    dtype=torch.float32,\n                ).unsqueeze(0)\n                padding_mask = records[0].padding_mask.unsqueeze(0).to(self._device)\n                rows: list[torch.Tensor] = []\n                for member in members:\n                    features = torch.cat(\n                        [records[layer].features for layer in member.layers], dim=-1\n                    )\n                    with torch.autocast(\n                        device_type=self._device.type,\n                        dtype=torch.bfloat16,\n                    ):\n                        logits = member.head(\n                            features.unsqueeze(0).to(\n                                device=self._device,\n                                dtype=torch.float32,\n                            ),\n                            centers,\n                            valid_ratios,\n                            padding_mask,\n                        )\n                    rows.append(logits.detach().to(device=\"cpu\", dtype=torch.float32))\n        except (InvalidDurationError, NoValidFrameBinError) as error:\n            raise PredictionInputError(detail=str(error)) from error\n        except (FeatureExtractionError, TemporalGradeInputError, RuntimeError) as error:\n            raise PredictionExecutionError(detail=str(error)) from error\n        return _hierarchical_prediction(\n            rows,\n            self._band,\n            input_sha256=input_sha256,\n            checkpoint_sha256=self.checkpoint_sha256,\n            duration_seconds=duration_seconds,\n        )"
        },
        {
          "line_start": 354,
          "line_end": 394,
          "text": "def _hierarchical_prediction(\n    rows: Sequence[torch.Tensor],\n    band: RejectBand | None,\n    *,\n    input_sha256: str,\n    checkpoint_sha256: str,\n    duration_seconds: float,\n) -> Prediction:\n    \"\"\"Average member gate margins and conditional logits, then apply the band.\"\"\"\n    if any(\n        row.shape != (1, len(GRADES)) or not torch.isfinite(row).all() for row in rows\n    ):\n        raise PredictionExecutionError(\n            detail=\"head must return one finite gate and conditional logit row\",\n        )\n    # Same arithmetic as the research ensemble: [-m/2, +m/2, c] from the member means.\n    margin = torch.stack([hierarchical_gate_margin(row) for row in rows]).mean(dim=0)\n    conditional = torch.stack([row[:, 2] for row in rows]).mean(dim=0)\n    log_probabilities = hierarchical_log_probs(\n        torch.stack((-margin / 2, margin / 2, conditional), dim=1)\n    )\n    gate_margin = float(margin.item())\n    decision, grade = decide(gate_margin, float(conditional.item()), band)\n    return Prediction(\n        input_sha256=input_sha256,\n        checkpoint_sha256=checkpoint_sha256,\n        grade=grade,\n        passed=None if decision == \"reject\" else decision == \"pass\",\n        logits={\n            grade_name: float(log_probabilities[0, index].item())\n            for index, grade_name in enumerate(GRADES)\n        },\n        grade_probabilities={\n            grade_name: float(log_probabilities[0, index].exp().item())\n            for index, grade_name in enumerate(GRADES)\n        },\n        duration_seconds=duration_seconds,\n        decision=decision,\n        gate_margin=gate_margin,\n        reject_band=band,\n    )"
        }
      ]
    },
    {
      "path": "src/raina_laya/workflows/v4_choice.py",
      "sha256": "4c655ba406d38450bdd50baaac7b09f5a3007e3516f7902873ed25af1423c3db",
      "bytes": 14364,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 124,
          "line_end": 130,
          "text": "def _per_worker_statistics(\n    statistics: ChoiceStatistics, world_size: int\n) -> ChoiceStatistics:\n    \"\"\"Scale accumulation so one update still spans the two-GPU global batch.\"\"\"\n    return replace(\n        statistics, accumulation=statistics.accumulation * GPU_COUNT // world_size\n    )"
        }
      ]
    },
    {
      "path": "src/raina_laya/workflows/v4_choice_soft_targets.py",
      "sha256": "a79bc22702dd542c551da5f7c9810b4790c24d7807db3b40aa5fcf9ec37c4e41",
      "bytes": 4999,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 88,
          "line_end": 131,
          "text": "def prepare_gate_soft_targets(\n    config: ChoiceTrainConfig,\n    path: Path | None,\n    development_ids: tuple[str, ...],\n    hard_targets: tuple[int, ...],\n) -> tuple[float, ...] | None:\n    \"\"\"Return the mixed gate target of every development song, or None when disabled.\n\n    The file must hold exactly one finite margin per development song and nothing\n    else, so no validation, test or reserve song can reach the loss. It must also be\n    the file whose digest the config recorded.\n    \"\"\"\n    mix, digest = config.gate_soft_target_mix, config.gate_soft_targets_sha256\n    if path is None and mix is None and digest is None:\n        return None\n    if path is None or mix is None or digest is None:\n        raise TrainingRunInputError(\n            detail=\"gate soft targets need the config mix and the file together\"\n        )\n    try:\n        raw = path.read_bytes()\n    except OSError as error:\n        raise TrainingRunInputError(\n            detail=f\"cannot read gate soft targets: {error}\"\n        ) from error\n    if hashlib.sha256(raw).hexdigest() != digest:\n        raise TrainingRunInputError(\n            detail=\"gate soft targets differ from the digest in the config\"\n        )\n    margins = _teacher_margins(raw)\n    missing = set(development_ids) - set(margins)\n    extra = set(margins) - set(development_ids)\n    if missing or extra:\n        raise TrainingRunInputError(\n            detail=(\n                \"gate soft targets must cover exactly the development songs: \"\n                f\"{len(missing)} missing, {len(extra)} not development songs\"\n            )\n        )\n    teacher = torch.tensor(\n        [margins[source] for source in development_ids], dtype=torch.float64\n    )\n    mixed = mix_gate_targets(torch.tensor(hard_targets), teacher, mix)\n    return tuple(mixed.tolist())"
        }
      ]
    },
    {
      "path": "src/raina_laya/workflows/v4_choice_ensemble.py",
      "sha256": "419c2a54f4f7b728be7a3862fdd314c957febc520eb770250fc72c180ba6c3f5",
      "bytes": 16092,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 107,
          "line_end": 116,
          "text": "    \"\"\"Digest of the member checkpoint digests, concatenated in manifest order.\"\"\"\n    return hashlib.sha256(\"\".join(member_digests).encode()).hexdigest()\n\n\ndef ensemble_logits(\n    margins: list[torch.Tensor], conditionals: list[torch.Tensor]\n) -> torch.Tensor:\n    \"\"\"Per-song mean gate margin m and conditional logit c as [-m/2, +m/2, c].\"\"\"\n    return combine_choice_scores(margins, conditionals)\n"
        },
        {
          "line_start": 318,
          "line_end": 327,
          "text": "    )\n    metrics = evaluate_choices(\n        logits, targets, role, model_family=ChoiceModelFamily.HIERARCHICAL\n    )\n    mean_margins = hierarchical_gate_margin(logits).tolist()\n    labels = targets.tolist()\n    split = members[0].paths.split\n    report: dict[str, object] = {\n        \"ensemble\": \"mean_gate_margin\",\n        \"manifest_sha256\": hashlib.sha256(manifest.read_bytes()).hexdigest(),"
        }
      ]
    },
    {
      "path": ".venv/lib/python3.13/site-packages/muq/muq/muq.py",
      "sha256": "dbec360f5e3ef622d83f1a73085e67ddde946eb626acad768cc01c1f81374211",
      "bytes": 4138,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 10,
          "line_end": 64,
          "text": "class MuQConfig:\n    label_rate:int = field(default=25)\n    num_codebooks:int = field(default=1)\n    codebook_dim:int = field(default=16)\n    codebook_size:int = field(default=4096)\n    features:List[str] = field(default_factory=lambda:[\"melspec_2048\"])\n    hop_length:int = field(default=240)\n    n_mels:int = field(default=128)\n    conv_dim:int = field(default=512)\n    encoder_dim:int = field(default=1024)\n    encoder_depth:int = field(default=12)\n    mask_hop:float = field(default=0.4)\n    mask_prob:float = field(default=0.6)\n    is_flash:bool = field(default=False)\n    stat:Optional[dict] = field(default_factory=dict)\n    w2v2_config:Optional[dict] = field(default_factory=dict)\n    use_rvq_target:bool = field(default=False)\n    use_vq_target:bool = field(default=False)\n    use_encodec_target:bool = field(default=False)\n    rvq_ckpt_path: Optional[str] = field(default=None)\n    recon_loss_ratio: Optional[float] = field(default=None)\n    resume_checkpoint: Optional[str] = None\n    rvq_n_codebooks:int = field(default=8)\n    rvq_multi_layer_num:int = field(default=1)\n\nclass MuQ(nn.Module, PyTorchModelHubMixin):\n    def __init__(self, config: MuQConfig):\n        super().__init__()\n        if isinstance(config, dict):\n            config = MuQConfig(**config)\n        self.config = config\n        self.model = MuQModel(\n            num_codebooks=config.num_codebooks,\n            codebook_dim=config.codebook_dim,\n            codebook_size=config.codebook_size,\n            features=config.features,\n            hop_length=config.hop_length,\n            n_mels=config.n_mels,\n            conv_dim=config.conv_dim,\n            encoder_dim=config.encoder_dim,\n            encoder_depth=config.encoder_depth,\n            mask_hop=config.mask_hop,\n            mask_prob=config.mask_prob,\n            is_flash=config.is_flash,\n            stat=config.stat,\n            w2v2_config=config.w2v2_config,\n            use_rvq_target=config.use_rvq_target,\n            use_vq_target=config.use_vq_target,\n            use_encodec_target=config.use_encodec_target,\n            rvq_ckpt_path=config.rvq_ckpt_path,\n            recon_loss_ratio=config.recon_loss_ratio,\n            label_rate=config.label_rate,\n            rvq_n_codebooks=config.rvq_n_codebooks,\n            rvq_multi_layer_num=config.rvq_multi_layer_num,\n        )"
        },
        {
          "line_start": 66,
          "line_end": 90,
          "text": "    def forward(self, x, attention_mask:Optional[torch.Tensor]=None, output_hidden_states:bool=True) ->BaseModelOutput:\n        \"\"\"\n        Forward pass through the MuQ model and extract features.\n\n        Args:\n            x (torch.Tensor): Input waveform tensor of shape (batch_size, time).\n            attention_mask (torch.Tensor, optional): Mask to avoid performing attention on padding token indices.\n                Default is None.\n            output_hidden_states (bool, optional): Whether to return all hidden states or only the last one.\n                Default is False.\n\n        Returns:\n            BaseModelOutput: An object containing the last hidden state and optionally all hidden states.\n                - last_hidden_state (torch.Tensor): The last hidden state of the model, i.e. extracted MuQ features, of shape (batch_size, sequence_length, hidden_size).\n                - hidden_states (tuple(torch.Tensor), optional): A tuple containing all hidden states produced by the model,\n                each of shape (batch_size, sequence_length, hidden_size). Only returned if output_hidden_states is True.\n        \"\"\" \n        _, hidden_states = self.model.get_predictions(x, attention_mask=attention_mask, is_features_only=True)\n        last_hidden_state = hidden_states[-1]\n        if not output_hidden_states:\n            return BaseModelOutput(last_hidden_state=last_hidden_state)\n        return BaseModelOutput(\n            last_hidden_state=last_hidden_state,\n            hidden_states=hidden_states\n        )"
        }
      ]
    },
    {
      "path": ".venv/lib/python3.13/site-packages/muq/muq/models/muq_model.py",
      "sha256": "9d0623fd1e2d7d9d212ed4ede1a04fb40a742282777b6a19fd08af6b2cc641db",
      "bytes": 13789,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 114,
          "line_end": 138,
          "text": "        # two residual convolution layers + one projection layer\n        strides_factory = {\n            4: [2, 2],\n            2: [2, 1]\n        }\n        self.conv = Conv2dSubsampling(\n            1, conv_dim, encoder_dim, strides=strides_factory.get(self.n_fold), n_bands=n_mels\n        )\n\n        # Conformer\n        if is_flash:\n            from modules.flash_conformer import (\n                Wav2Vec2ConformerEncoder,\n                Wav2Vec2ConformerConfig,\n            )\n        else:\n            from transformers.models.wav2vec2_conformer.modeling_wav2vec2_conformer import (\n                Wav2Vec2ConformerEncoder,\n                Wav2Vec2ConformerConfig,\n            )\n        config = EasyDict(w2v2_config)\n        config.num_hidden_layers = encoder_depth\n        config.hidden_size = encoder_dim\n\n        self.conformer = Wav2Vec2ConformerEncoder(config)"
        },
        {
          "line_start": 205,
          "line_end": 222,
          "text": "    def encoder(self, x, *, attention_mask=None, is_features_only=False):\n        \"\"\"2-layer conv + w2v-conformer\"\"\"\n        x = self.conv(x)\n        mask_indices = None\n        if attention_mask is None:\n            out = self.conformer(x, output_hidden_states=True)\n        else:\n            attention_mask = attention_mask.bool()\n            skip_n = int(attention_mask.size(-1) / x.size(1))\n            attention_mask = attention_mask[:, ::skip_n]\n            attention_mask = attention_mask[:, :x.size(1)]\n            out = self.conformer(x, attention_mask=attention_mask, output_hidden_states=True)\n        hidden_emb = out[\"hidden_states\"]\n        last_emb = out[\"last_hidden_state\"]\n        logits = self.linear(last_emb)\n        interval = self.codebook_size\n        logits = {\n            key: logits[:, :, i * interval : (i + 1) * interval]"
        }
      ]
    },
    {
      "path": ".venv/lib/python3.13/site-packages/muq/muq_mulan/models/audio.py",
      "sha256": "05231129cffeb5132aded81b9aabc79ee29fc01513f26879ef98b1b0fbb14b9c",
      "bytes": 9662,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 240,
          "line_end": 284,
          "text": "    def _init_pretrained_model(self, model_name):\n        if 'muq' in model_name.lower():\n            from muq import MuQ\n            self.model = MuQ.from_pretrained(model_name, cache_dir=self.hf_hub_cache_dir)\n        else:\n            self.model = AutoModel.from_pretrained(model_name, trust_remote_code=True, cache_dir=self.hf_hub_cache_dir)\n            self.processor = Wav2Vec2FeatureExtractor.from_pretrained(model_name,trust_remote_code=True, cache_dir=self.hf_hub_cache_dir)\n            \n            assert self.processor.sampling_rate == self.sr\n\n    @property\n    def device(self):\n        return next(self.model.parameters()).device\n    \n    @property\n    def dtype(self):\n        return next(self.model.parameters()).dtype\n\n    def _forward_pretrained_model(self, x):\n        if 'muq' in self.model_name.lower():\n            outputs = self.model(x, output_hidden_states=True)\n            return outputs.hidden_states # 13 layer x [batch_size, Time steps, 1024 feature_dim]\n        else:\n            inputs = self.processor(x, sampling_rate=self.sr, return_tensors=\"pt\")\n            input_values = inputs['input_values'].squeeze(0).to(self.device, dtype = self.dtype)\n            outputs = self.model(input_values, output_hidden_states=True) # [25 layer, batch_size, Time steps, 1024 feature_dim]\n            return outputs.hidden_states\n    \n    def forward(\n        self,\n        x,\n        return_all_layers = False,\n        return_mean = True,\n        no_proj = False,\n    ):\n        batch, device = x.shape[0], x.device\n        \n        with torch.no_grad() if self.frozen_pretrained else suppress():\n            outputs = self._forward_pretrained_model(x)\n        layer_hidden_states = outputs[self.use_layer_idx]\n\n        if no_proj:\n            outputs = layer_hidden_states\n        else:\n            outputs = self.proj(layer_hidden_states)"
        }
      ]
    },
    {
      "path": ".venv/lib/python3.13/site-packages/muq/muq_mulan/muq_mulan.py",
      "sha256": "594843bf29efed147f97768c60946d8e247dce183af085fc5dffcd3d03a7164e",
      "bytes": 10469,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 59,
          "line_end": 126,
          "text": "class MuQMuLanConfig:\n    mulan: MuLanConfig\n    audio_model: ModalModelConfig\n    text_model: ModalModelConfig\n    audio_transformer: AudioTransformerConfig\n    text_transformer: TextTransformerConfig\n\nclass MuQMuLan(nn.Module, PyTorchModelHubMixin):\n    def __init__(self, config: MuQMuLanConfig, hf_hub_cache_dir=None):\n        super().__init__()\n        config = self._to_obj(config)\n        self.config = config\n        self.mulan = self.create_MuLan_from_config(config, hf_hub_cache_dir)\n        self.sr = config.mulan.sr\n        self.clip_secs = config.mulan.clip_secs\n    \n    def _to_obj(self, config):\n        if isinstance(config, MuQMuLanConfig):\n            config = EasyDict(\n                mulan = config.mulan,\n                audio_model = config.audio_model,\n                text_model = config.text_model,\n                audio_transformer = config.audio_transformer,\n                text_transformer = config.text_transformer,\n            )\n        else:\n            config = EasyDict(config)\n        return config\n    \n    @classmethod\n    def from_pretrained(cls, *args, cache_dir=None, **kwargs):\n        kwargs['hf_hub_cache_dir'] = cache_dir\n        return super().from_pretrained(*args, cache_dir=cache_dir, **kwargs)\n\n\n    @classmethod\n    def create_MuLan_from_config(cls, config:MuQMuLanConfig, hf_hub_cache_dir=None) -> MuLanModel:\n\n        audio_transformer = AudioSpectrogramTransformerPretrained(\n            model_name = config.audio_model.name, \n            model_dim = config.audio_model.model_dim,\n            use_layer_idx = config.audio_model.use_layer_idx,\n            **config.audio_transformer,\n            frozen_pretrained = False,\n            hf_hub_cache_dir = hf_hub_cache_dir,\n        )\n        text_transformer = TextTransformerPretrained(\n            model_name = config.text_model.name, \n            model_dim = config.text_model.model_dim,\n            **config.text_transformer,\n            frozen_pretrained = False,\n            hf_hub_cache_dir = hf_hub_cache_dir,\n        )\n\n        mulan = MuLanModel(\n            audio_transformer = audio_transformer,\n            text_transformer = text_transformer,\n            **config.mulan\n        )\n\n        return mulan\n    \n    def frozen(self):\n        frozen_params(self)\n\n    @property\n    def device(self):\n        return next(self.parameters()).device"
        }
      ]
    },
    {
      "path": "model/raina-laya-best-20261001/huggingface/hub/models--OpenMuQ--MuQ-large-msd-iter/snapshots/0562a57814f6f8bbd9fdea0a25921a2fce1a841a/config.json",
      "sha256": "237335ee27d8fb951ce778701a12a79e06c51ae636dd786f97e45f51ce532543",
      "bytes": 3133,
      "captured_at_kst": "2026-10-08 11:40:49 KST",
      "excerpts": [
        {
          "line_start": 1,
          "line_end": 35,
          "text": "{\n  \"codebook_dim\": 16,\n  \"codebook_size\": 8192,\n  \"conv_dim\": 512,\n  \"encoder_depth\": 12,\n  \"encoder_dim\": 1024,\n  \"features\": [\n    \"melspec_2048\"\n  ],\n  \"hop_length\": 240,\n  \"is_flash\": false,\n  \"label_rate\": 25,\n  \"mask_hop\": 0.4,\n  \"mask_prob\": 0.6,\n  \"n_mels\": 128,\n  \"num_codebooks\": 1,\n  \"recon_loss_ratio\": null,\n  \"resume_checkpoint\": null,\n  \"rvq_ckpt_path\": null,\n  \"rvq_multi_layer_num\": 1,\n  \"rvq_n_codebooks\": 8,\n  \"stat\": {\n    \"melspec_2048_cnt\": 14282760192,\n    \"melspec_2048_mean\": 6.768444971712967,\n    \"melspec_2048_std\": 18.417922652295623\n  },\n  \"use_encodec_target\": false,\n  \"use_rvq_target\": true,\n  \"use_vq_target\": false,\n  \"w2v2_config\": {\n    \"activation_dropout\": 0.1,\n    \"adapter_kernel_size\": 3,\n    \"adapter_stride\": 2,\n    \"add_adapter\": false,\n    \"apply_spec_augment\": true,"
        }
      ]
    },
    {
      "path": "model/raina-laya-best-20261001/huggingface/hub/models--OpenMuQ--MuQ-MuLan-large/snapshots/2e01c796b71dca71b45251384c04cd7b237c9020/config.json",
      "sha256": "8fefc545ef87ecd9bcde7417dd03464370c48c321f36dcff20266a752079e468",
      "bytes": 847,
      "captured_at_kst": "2026-10-08 11:40:50 KST",
      "excerpts": [
        {
          "line_start": 1,
          "line_end": 38,
          "text": "{\n  \"mulan\": {\n    \"sr\": 24000,\n    \"clip_secs\": 10,\n    \"dim_latent\": 512,\n    \"decoupled_contrastive_learning\": true,\n    \"hierarchical_contrastive_loss\": false,\n    \"hierarchical_contrastive_loss_layers\": null,\n    \"sigmoid_contrastive_loss\": false,\n    \"rank_contrast\": true\n  },\n  \"audio_model\": {\n    \"name\": \"OpenMuQ/MuQ-large-msd-iter\",\n    \"model_dim\": 1024,\n    \"use_layer_idx\": -1\n  },\n  \"text_model\": {\n    \"name\": \"xlm-roberta-base\",\n    \"model_dim\": null,\n    \"use_layer_idx\": -1\n  },\n  \"audio_transformer\": {\n    \"dim\": 768,\n    \"tf_depth\": 0,\n    \"heads\": 8,\n    \"dim_head\": 64,\n    \"attn_dropout\": 0,\n    \"ff_dropout\": 0,\n    \"ff_mult\": 4\n  },\n  \"text_transformer\": {\n    \"dim\": 768,\n    \"tf_depth\": 8,\n    \"max_seq_len\": 1024,\n    \"dim_head\": 64,\n    \"heads\": 8,\n    \"attn_dropout\": 0,\n    \"ff_dropout\": 0,"
        }
      ]
    }
  ],
  "historical_snapshots_preserved": [
    {
      "path": "_docs/20261007_모델_설명/evidence_snapshot.json",
      "sha256": "f7af3962bddf2c223e67b29644f65c7a8eb36ec9ae62a3f17fc3ee2a8ffba7e0",
      "preserved": true
    },
    {
      "path": "_docs/20261007_모델_설명/research_snapshot.json",
      "sha256": "6a53733c9b7d8efb9eaadf270a7b5f8b4a47be1a4c0e61a4895697a15090311e",
      "preserved": true
    },
    {
      "path": "_docs/20261007_모델_설명/verification.json",
      "sha256": "313f2e3259de583809afc2cb7c7e8f9ee2bc5350571cb3f6c802c539662b5a39",
      "preserved": true
    }
  ],
  "limitations": [
    "독립 MuQ 배포본과 MuQMuLan 적재 후 내부 가중치의 전체 동등성은 검증하지 않았습니다.",
    "현재 최고 모델의 평가·예비 점검 수치와 패키지 출처는 별도 연구 기록 감사에서 검증합니다.",
    "문서 근거가 확보됐다는 사실이 동일 경계의 제품 구현 오류가 수정됐다는 뜻은 아닙니다."
  ],
  "architecture": {
    "run_id": "ens-g016-teacher",
    "generation": 16,
    "member_count": 14,
    "manifest_path": "artifacts/champion-loop/ensembles/gen-016/teacher-members.json",
    "manifest_sha256": "382d308cc77e20281fdb8663db10d0f754fd6d5c4e8fb1effc7b28fb965fd5eb",
    "shared_frozen_muq": true,
    "aggregate_trainable_head_parameter_count": 29903402,
    "input_widths": [
      1024,
      2048
    ],
    "model_widths": [
      256
    ],
    "depths": [
      2,
      3
    ],
    "dropouts": [
      0.3
    ],
    "layer_orders": [
      [
        8,
        9
      ],
      [
        9
      ],
      [
        10
      ],
      [
        10,
        9
      ],
      [
        11
      ],
      [
        12
      ]
    ],
    "all_fail_gate_cost_8": true,
    "all_conditional_cost_1": true,
    "all_non_distilled": true,
    "all_validation_selected_member_checkpoints": true,
    "parameter_count_excludes_frozen_muq": true,
    "members": [
      {
        "run_id": "champ-g016-r0001-k8_depth3",
        "epoch": 8,
        "width": 256,
        "depth": 3,
        "layers": [
          10,
          9
        ],
        "layers_explicit": false,
        "input_width": 2048,
        "dropout": 0.3,
        "params": 2962691,
        "parameter_count": 2962691,
        "path": "artifacts/training-runs/champ-g016-r0001-k8_depth3/epoch-0008.ckpt",
        "sha256": "224df711764ce4b9b1df793af236e6308d6c57cf106c159c6bf31d667c5dbc0f",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0001-k8_depth3/epoch-0008.ckpt",
        "checkpoint_sha256": "224df711764ce4b9b1df793af236e6308d6c57cf106c159c6bf31d667c5dbc0f",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/k8_depth3.yaml",
        "config_sha256": "4aa107b066c85a9d19c4d30acd4ef351383a9f7d55e0f3695a3335db925d069b",
        "selection_path": "artifacts/training-runs/champ-g016-r0001-k8_depth3/selection.json",
        "selection_sha256": "74d684086d7f697d491bae81dc9f5bc594100c311d0868e39b85156e6f9ec2a6",
        "validation_selected_checkpoint": "epoch-0008.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0001-k8_do30",
        "epoch": 25,
        "width": 256,
        "depth": 2,
        "layers": [
          10,
          9
        ],
        "layers_explicit": false,
        "input_width": 2048,
        "dropout": 0.3,
        "params": 2172931,
        "parameter_count": 2172931,
        "path": "artifacts/training-runs/champ-g016-r0001-k8_do30/epoch-0025.ckpt",
        "sha256": "decfcd6082a00865c779e56fbde0b9eeb011e392ac64c4546b04c5cc8f072a7e",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0001-k8_do30/epoch-0025.ckpt",
        "checkpoint_sha256": "decfcd6082a00865c779e56fbde0b9eeb011e392ac64c4546b04c5cc8f072a7e",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/k8_do30.yaml",
        "config_sha256": "e85a59686f10955c2a89317fef6ca76f02606443448b69eb758bcb62459b31f3",
        "selection_path": "artifacts/training-runs/champ-g016-r0001-k8_do30/selection.json",
        "selection_sha256": "78855bbb59b7670d8286234ce4fa53bf40d891b6201d5b1d41959e5df7f5937a",
        "validation_selected_checkpoint": "epoch-0025.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0001-l10_k8",
        "epoch": 10,
        "width": 256,
        "depth": 2,
        "layers": [
          10
        ],
        "layers_explicit": true,
        "input_width": 1024,
        "dropout": 0.3,
        "params": 1910787,
        "parameter_count": 1910787,
        "path": "artifacts/training-runs/champ-g016-r0001-l10_k8/epoch-0010.ckpt",
        "sha256": "07a9fb06569c02fcad985ae1737e96e1a5d3915c75ec960e431a24b9303bf0b8",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0001-l10_k8/epoch-0010.ckpt",
        "checkpoint_sha256": "07a9fb06569c02fcad985ae1737e96e1a5d3915c75ec960e431a24b9303bf0b8",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/l10_k8.yaml",
        "config_sha256": "d75949ea223caecb96c99aac7652b0155d3b67757e1b2b03da75637b0c37ea45",
        "selection_path": "artifacts/training-runs/champ-g016-r0001-l10_k8/selection.json",
        "selection_sha256": "fe2a0791edd091e9c7d7351b0d429df4c5c1b09900be811325d9b74f496b8693",
        "validation_selected_checkpoint": "epoch-0010.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0001-l11_k8",
        "epoch": 29,
        "width": 256,
        "depth": 2,
        "layers": [
          11
        ],
        "layers_explicit": true,
        "input_width": 1024,
        "dropout": 0.3,
        "params": 1910787,
        "parameter_count": 1910787,
        "path": "artifacts/training-runs/champ-g016-r0001-l11_k8/epoch-0029.ckpt",
        "sha256": "194961d4ca42630c41cdf7a8766bddc3e1685f80433b6b28d45c9bd0d63b8045",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0001-l11_k8/epoch-0029.ckpt",
        "checkpoint_sha256": "194961d4ca42630c41cdf7a8766bddc3e1685f80433b6b28d45c9bd0d63b8045",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/l11_k8.yaml",
        "config_sha256": "fd7f32088b8c6b4f11241f280fca5fc0408b7fb253fd6232bfd128b7f3b1bb39",
        "selection_path": "artifacts/training-runs/champ-g016-r0001-l11_k8/selection.json",
        "selection_sha256": "fe72d75706be977a0620b47f37327e0dc2c2d5fcd948d2bd47262072d83f98b2",
        "validation_selected_checkpoint": "epoch-0029.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0001-l12_k8",
        "epoch": 20,
        "width": 256,
        "depth": 2,
        "layers": [
          12
        ],
        "layers_explicit": true,
        "input_width": 1024,
        "dropout": 0.3,
        "params": 1910787,
        "parameter_count": 1910787,
        "path": "artifacts/training-runs/champ-g016-r0001-l12_k8/epoch-0020.ckpt",
        "sha256": "1523ed3c77d7ce43c8c3b1834923a81f4db0f5e86b1d656f0642d4e2a9d419ef",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0001-l12_k8/epoch-0020.ckpt",
        "checkpoint_sha256": "1523ed3c77d7ce43c8c3b1834923a81f4db0f5e86b1d656f0642d4e2a9d419ef",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/l12_k8.yaml",
        "config_sha256": "7767367f6c06d06fdaafc2f59f4bf0e5b3825af8863a28b6756329eca29addfb",
        "selection_path": "artifacts/training-runs/champ-g016-r0001-l12_k8/selection.json",
        "selection_sha256": "d81b9bc6faa540b9bc6f17ba0adff9771dcf7a4d9252f0bb7687c7eebd16a9d7",
        "validation_selected_checkpoint": "epoch-0020.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0001-l89_k8",
        "epoch": 18,
        "width": 256,
        "depth": 2,
        "layers": [
          8,
          9
        ],
        "layers_explicit": true,
        "input_width": 2048,
        "dropout": 0.3,
        "params": 2172931,
        "parameter_count": 2172931,
        "path": "artifacts/training-runs/champ-g016-r0001-l89_k8/epoch-0018.ckpt",
        "sha256": "aedc27794efbe79a9cb4e6b53518573c4d708b4529b78363008dd0554de779e9",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0001-l89_k8/epoch-0018.ckpt",
        "checkpoint_sha256": "aedc27794efbe79a9cb4e6b53518573c4d708b4529b78363008dd0554de779e9",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/l89_k8.yaml",
        "config_sha256": "3c5c2815b5cf1e643d8fb525992c8f8c564a32afe934e8e84e94f986553076d1",
        "selection_path": "artifacts/training-runs/champ-g016-r0001-l89_k8/selection.json",
        "selection_sha256": "1653767d3c362947ef6a9918ff5c4a62ae7761cea55fa6f32defc83371035b55",
        "validation_selected_checkpoint": "epoch-0018.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0001-l9_k8",
        "epoch": 19,
        "width": 256,
        "depth": 2,
        "layers": [
          9
        ],
        "layers_explicit": true,
        "input_width": 1024,
        "dropout": 0.3,
        "params": 1910787,
        "parameter_count": 1910787,
        "path": "artifacts/training-runs/champ-g016-r0001-l9_k8/epoch-0019.ckpt",
        "sha256": "f89b70c046212ef7f65ca906bd8c46f1ba4c7a065fea0f72391fe283c8da5e31",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0001-l9_k8/epoch-0019.ckpt",
        "checkpoint_sha256": "f89b70c046212ef7f65ca906bd8c46f1ba4c7a065fea0f72391fe283c8da5e31",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0001/l9_k8.yaml",
        "config_sha256": "58763350f09e4d42c073dd4c1cd808626eabf21809421c7df309e7513c7ebb34",
        "selection_path": "artifacts/training-runs/champ-g016-r0001-l9_k8/selection.json",
        "selection_sha256": "50f20d3d99ed58df8bdd8108a4c2392f53d88a21dad7b3b2e717b9de05154f2a",
        "validation_selected_checkpoint": "epoch-0019.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0002-k8_depth3",
        "epoch": 12,
        "width": 256,
        "depth": 3,
        "layers": [
          10,
          9
        ],
        "layers_explicit": false,
        "input_width": 2048,
        "dropout": 0.3,
        "params": 2962691,
        "parameter_count": 2962691,
        "path": "artifacts/training-runs/champ-g016-r0002-k8_depth3/epoch-0012.ckpt",
        "sha256": "372ffa172ec6dd436cbdb44b60beeca68e1e3b9117ad0b7f2da7ba9727f39e48",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0002-k8_depth3/epoch-0012.ckpt",
        "checkpoint_sha256": "372ffa172ec6dd436cbdb44b60beeca68e1e3b9117ad0b7f2da7ba9727f39e48",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/k8_depth3.yaml",
        "config_sha256": "6fd343972a334cb31d81348266c256e681acc05fe35ee7b9558203b05c60052e",
        "selection_path": "artifacts/training-runs/champ-g016-r0002-k8_depth3/selection.json",
        "selection_sha256": "1d2c18d7a0897e6d18478f6bea349d768b41c86986776b70aefc3cebee503ce6",
        "validation_selected_checkpoint": "epoch-0012.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0002-k8_do30",
        "epoch": 13,
        "width": 256,
        "depth": 2,
        "layers": [
          10,
          9
        ],
        "layers_explicit": false,
        "input_width": 2048,
        "dropout": 0.3,
        "params": 2172931,
        "parameter_count": 2172931,
        "path": "artifacts/training-runs/champ-g016-r0002-k8_do30/epoch-0013.ckpt",
        "sha256": "842e0120e73c01b7b6291665e35fd349b2de8bc263f064526a0f47fd7982b5da",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0002-k8_do30/epoch-0013.ckpt",
        "checkpoint_sha256": "842e0120e73c01b7b6291665e35fd349b2de8bc263f064526a0f47fd7982b5da",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/k8_do30.yaml",
        "config_sha256": "d5a915340e5ec547cf4e79b9f4ab44ef8de9226f06d11460da599a262ebb1824",
        "selection_path": "artifacts/training-runs/champ-g016-r0002-k8_do30/selection.json",
        "selection_sha256": "ac8f85e408ce8c0df3ea4a9683d5db12b39a3bd9a67871840d56df3a9732a77e",
        "validation_selected_checkpoint": "epoch-0013.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0002-l10_k8",
        "epoch": 22,
        "width": 256,
        "depth": 2,
        "layers": [
          10
        ],
        "layers_explicit": true,
        "input_width": 1024,
        "dropout": 0.3,
        "params": 1910787,
        "parameter_count": 1910787,
        "path": "artifacts/training-runs/champ-g016-r0002-l10_k8/epoch-0022.ckpt",
        "sha256": "283291ee3f50c62a27d3f1d0de3b57850f205082406cae709ed1a3554558e103",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0002-l10_k8/epoch-0022.ckpt",
        "checkpoint_sha256": "283291ee3f50c62a27d3f1d0de3b57850f205082406cae709ed1a3554558e103",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/l10_k8.yaml",
        "config_sha256": "b43805755e39e7037a10fc61b8d5082c82475b7ef5b170703b92cff5b9162f62",
        "selection_path": "artifacts/training-runs/champ-g016-r0002-l10_k8/selection.json",
        "selection_sha256": "df473d246b68ec7abaefd83da50c70b18ff710d4e9720edd554c6c2a7818724f",
        "validation_selected_checkpoint": "epoch-0022.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0002-l11_k8",
        "epoch": 26,
        "width": 256,
        "depth": 2,
        "layers": [
          11
        ],
        "layers_explicit": true,
        "input_width": 1024,
        "dropout": 0.3,
        "params": 1910787,
        "parameter_count": 1910787,
        "path": "artifacts/training-runs/champ-g016-r0002-l11_k8/epoch-0026.ckpt",
        "sha256": "ecb4dd3d5ab499b337b429b724a2783cc3260559e3e7b6e97aec62813c71e4dc",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0002-l11_k8/epoch-0026.ckpt",
        "checkpoint_sha256": "ecb4dd3d5ab499b337b429b724a2783cc3260559e3e7b6e97aec62813c71e4dc",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/l11_k8.yaml",
        "config_sha256": "01516e0a2740020c22621c11a9315bfa85f9e6fdcfde39a31ca6c84edeb3ede8",
        "selection_path": "artifacts/training-runs/champ-g016-r0002-l11_k8/selection.json",
        "selection_sha256": "67edf2a54f02b140ff5a9a710afb7021e0f22bbc7aa333d1456c8970549d866b",
        "validation_selected_checkpoint": "epoch-0026.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0002-l12_k8",
        "epoch": 15,
        "width": 256,
        "depth": 2,
        "layers": [
          12
        ],
        "layers_explicit": true,
        "input_width": 1024,
        "dropout": 0.3,
        "params": 1910787,
        "parameter_count": 1910787,
        "path": "artifacts/training-runs/champ-g016-r0002-l12_k8/epoch-0015.ckpt",
        "sha256": "df9424737e1eff63e32a37b8e83ce8d55cf947a46163aec473e46ee3c7048278",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0002-l12_k8/epoch-0015.ckpt",
        "checkpoint_sha256": "df9424737e1eff63e32a37b8e83ce8d55cf947a46163aec473e46ee3c7048278",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/l12_k8.yaml",
        "config_sha256": "dd7316c8036e6c41b92950fb979a2609a83698d9df9bb9d113de66d9c418277e",
        "selection_path": "artifacts/training-runs/champ-g016-r0002-l12_k8/selection.json",
        "selection_sha256": "8e976798509b7a4f2804bddac5223ee8442b433cb48c854c52395e15c1269a58",
        "validation_selected_checkpoint": "epoch-0015.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0002-l89_k8",
        "epoch": 12,
        "width": 256,
        "depth": 2,
        "layers": [
          8,
          9
        ],
        "layers_explicit": true,
        "input_width": 2048,
        "dropout": 0.3,
        "params": 2172931,
        "parameter_count": 2172931,
        "path": "artifacts/training-runs/champ-g016-r0002-l89_k8/epoch-0012.ckpt",
        "sha256": "826c684f343eb1768cbbe102600d854e6ef33490ee85999d857717844ca71cfe",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0002-l89_k8/epoch-0012.ckpt",
        "checkpoint_sha256": "826c684f343eb1768cbbe102600d854e6ef33490ee85999d857717844ca71cfe",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/l89_k8.yaml",
        "config_sha256": "d3600685da5be4077e126cb0c1eb55b2384237a292d8b5fb3b2c80831ff4adab",
        "selection_path": "artifacts/training-runs/champ-g016-r0002-l89_k8/selection.json",
        "selection_sha256": "b43d7d1bc29b2786e389591e4755aac5ceed5d552d11cfebbbffc1103e507457",
        "validation_selected_checkpoint": "epoch-0012.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      },
      {
        "run_id": "champ-g016-r0002-l9_k8",
        "epoch": 22,
        "width": 256,
        "depth": 2,
        "layers": [
          9
        ],
        "layers_explicit": true,
        "input_width": 1024,
        "dropout": 0.3,
        "params": 1910787,
        "parameter_count": 1910787,
        "path": "artifacts/training-runs/champ-g016-r0002-l9_k8/epoch-0022.ckpt",
        "sha256": "e888340ca5e4e294b59394ed0e4b230e05025df60fbb182a04d2057dc8b85d4a",
        "checkpoint_path": "artifacts/training-runs/champ-g016-r0002-l9_k8/epoch-0022.ckpt",
        "checkpoint_sha256": "e888340ca5e4e294b59394ed0e4b230e05025df60fbb182a04d2057dc8b85d4a",
        "config_path": "artifacts/champion-loop/configs/gen-016/round-0002/l9_k8.yaml",
        "config_sha256": "2ab03a5c06d9364c8cd294a095730c5f9b7d6912ca52ad5fcdd920601083c327",
        "selection_path": "artifacts/training-runs/champ-g016-r0002-l9_k8/selection.json",
        "selection_sha256": "dc061abf2d9fb8073dda6b34fddef5cf762822f0032ea1b07d97b1939327c592",
        "validation_selected_checkpoint": "epoch-0022.ckpt",
        "matches_validation_selection": true,
        "gate_fail_cost": 8.0,
        "conditional_cost": 1.0
      }
    ]
  },
  "audit_harness_correction": {
    "initial_artifact": "_docs/20261007_모델_설명/audit_20261008/model_source_audit.initial.json",
    "initial_artifact_sha256": "d8e37b765e546086698e1e01c6e3f0bd13a9f4826618d4a45a6b27fef4314dcf",
    "initial_failed_checks": 10,
    "cause": "YAML list and checkpoint tuple compared as unlike Python types before JSON serialization. Layer values and ordering were identical.",
    "scope": "Audit harness representation issue, not a product or checkpoint mismatch.",
    "correction": "Normalize both optional layer sequences to tuple before comparison, preserving None. Re-read CPU checkpoint metadata and reverify original SHA for every corrected row.",
    "initial_preserved": true
  }
}
