{
  "baseline_commit": "bc49ae874d040a56e9edfe00a1e9a2d4f51a7736",
  "baseline_script_sha256": "37568989272184b326ea50f923ca8848c333a26371d0eb7d54f70bb86e91489d",
  "baseline_tree": "ef787df8e640ecbcf77a9faf54283ba2ca673297",
  "canonical_zip_required": true,
  "classification": "core",
  "exact_worker_fixture": "tests/exact-worker.sh",
  "expected_installer_sha256": "3e27f793d3f4ba4845b2cb4020f3b62fa5b0d418b5260acf0f054d24f89aa3a4",
  "fixed_script_sha256": "23dac71d4c6774aa63cb1412bdef0787d14e8cb8396dced5507daaac9e423e23",
  "functional_stage": "vm100_selector_mixed_protocol_generalization_postcheck_retry",
  "mandatory_fixture_count": 4,
  "path_ownership_manifest": "reference/path-ownership.tsv",
  "production_deployment_performed": false,
  "retry_of": "STEP_050M07P28B1_R01_VM100_SELECTOR",
  "retry_reason": "R01 core apply reached 13 selector rules but verifier used nft text formatting too literally; R02 makes postcheck quote-tolerant and adds a render regression fixture.",
  "revision": "R02",
  "runtime_impact": true,
  "schema": "router-step-release-v1",
  "source_of_truth": "machine_git",
  "step_class": "B",
  "step_id": "STEP_050M07P28B1_R02_VM100_SELECTOR",
  "target_environment_matrix": "reference/target-environment.tsv",
  "target_package_path": "payload/vm100-selector-mixed.tar.gz",
  "target_package_sha256": "6daa62eeff2257f766d83c2e64b4c9a3a84ba8edabec8e515059d5cb253a79f1",
  "touched_machines": [
    "VM100"
  ],
  "vm130_contract_commit": "fadde79bcc5756d478b8814f94ad16ad48fd25d2",
  "worker_entry": "scripts/worker.sh",
  "workflow_contract_version": 2
}
