{
  "schema": "tvv320-release-gates-v1",
  "release_ready": false,
  "authored_lessons": 36,
  "new_heavy_calculations_authorized_in_this_pass": false,
  "gates": [
    {
      "id": "u-curve",
      "lessons": [
        25
      ],
      "status": "not_verified",
      "criterion": "max(|rU|,|rP|)≤10^-3 at every accepted point; both sides of an interior minimum; local If refinement and angular check ≤1%",
      "evidence": "examples/editorial-review/u-search-receipt.json",
      "next_action": "Find and verify a feasible starting point; continue in If on both sides, refine near Q=0. Do not connect unsuccessful evaluations as a curve."
    },
    {
      "id": "ripple-convergence",
      "lessons": [
        26,
        27,
        28,
        29
      ],
      "status": "failed",
      "criterion": "Mean force/torque and ripple measures ≤2% with predeclared absolute scales; three spatial meshes for the studied variants",
      "evidence": "examples/checked-studies/manifest.json",
      "next_action": "Refine angle and variant mesh. Static four-state force acceptance does not certify eccentric full-cycle ripples."
    },
    {
      "id": "trajectory-field-validation",
      "lessons": [
        33
      ],
      "status": "not_computed",
      "criterion": "At frozen off-grid trajectory currents: each flux error ≤1%, denominator max(|FEMM|,1 Wb turn); angular means 24→48 also ≤1%",
      "evidence": "examples/checked-dynamics/manifest.json",
      "next_action": "Use trajectory-check-requests.json from the saved-data audit. Rebuild full 252-side model independently; preserve all FEM/ANS and hashes."
    },
    {
      "id": "source-audit",
      "lessons": [
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        28,
        29,
        30,
        31,
        32,
        33,
        34,
        35,
        36
      ],
      "status": "partial",
      "criterion": "Every borrowed formula has an inspected source page; own derivations identified; metadata and duplicate/rights status resolved for used sources",
      "evidence": "formula-source-audit.json",
      "next_action": "Finish visual PDF checks of the newly accessible 2015/2016 sources and remaining bibliography. No unread method may be attributed to them."
    },
    {
      "id": "clean-full-reproduction",
      "lessons": [
        36
      ],
      "status": "not_completed",
      "criterion": "Every required numerical stage independently replayed from a clean kit and passes its frozen tolerances",
      "evidence": "calculation-status.json",
      "next_action": "After the above gates, perform a fresh complete replay and reviewer sign-off; unchanged hashes alone do not prove numerical correctness."
    }
  ],
  "input_scope": "Documented conditional educational model; factory accuracy is not claimed. B(H) continuation hypotheses and absent end leakage remain explicit limitations."
}
