{
  "schema": "NEXT11_V387_5_6_LOCAL_RENDER_QA_PACKAGE_MANIFEST_V1",
  "packageLabel": "V387_5_6_LOCAL_RENDER_QA",
  "animationVersion": "V387_SMOOTH_FIGURE_FOUR_TRANSITIONS",
  "status": "PASS_LOCAL_5_6_TEMPORAL_RENDER__CHROMIUM_PARITY_PENDING",
  "parentCheckpoint": {
    "file": "NEXT11_V387_SMOOTH_FIGURE_FOUR_TRANSITIONS_FULL_ROOT_LIBRARY_READY.zip",
    "sha256": "5ae294db3e66b4d1acf18520eeb3788fb51cf1b6d7396d266381fef86b28e52d"
  },
  "changeScope": "QA harness, rendered evidence and continuity documents only. No resolved animation, player, model, exercise mapping or runtime motion data changed.",
  "qa": {
    "command": "node tools/nexprod/run_v387_5_6_local_render_gate.mjs",
    "renderer": "actual Nex FBX + actual Three.js CPU skinning + deterministic point rasterization",
    "fps": 24,
    "v387Loops": 2,
    "knownFailControl": "V386",
    "rightGripBoundaryReductionPercent": 89.91,
    "leftGripBoundaryReductionPercent": 90.73,
    "localTemporalMeshGate": "PASS",
    "chromiumWebglParity": "PENDING"
  },
  "files": [
    { "path": "tools/nexprod/render_v387_cpu_skinned_mesh_temporal_qa.mjs", "sha256": "9cf8bdfad5f209283181214ea07ac2d6a1b7c93186073cdd9e8d280274c492c3" },
    { "path": "tools/nexprod/run_v387_5_6_local_render_gate.mjs", "sha256": "b0a4ebb29e90d1bc63779ec8dc87f6826fb1c29c1011cd2d596dad7cd6cad909" },
    { "path": "docs/runbooks/NEXT11_5_6_CPU_SKINNED_MESH_TEMPORAL_QA.md", "sha256": "b40574c020fc51620d2503fb161f45667e9b33a72e9305356780fb8a7d281058" },
    { "path": "START_HERE_V387_5_6_LOCAL_RENDER_QA.md", "sha256": "cbf238e4ff73b641c79c0fa1e60a4d05e681bfa31e445fe22266f89246844761" },
    { "path": "diagnostics/v387/5_6_local_render/V387_5_6_LOCAL_RENDER_GATE.json", "sha256": "8eadc5ac0533ec90df0d1a81273055065d1302aff1cd1db0f24e50c60ac34b4d" },
    { "path": "diagnostics/v387/5_6_local_render/V387_CPU_SKINNED_MESH_TWO_LOOP_QA.mp4", "sha256": "ac2a73da806705ff67cbf9fd784dd39121521d4acc96a33826d3f10b281d086b" },
    { "path": "diagnostics/v387/5_6_local_render/V386_CPU_SKINNED_MESH_ONE_LOOP_CONTROL.mp4", "sha256": "4c4fe2351569dcb15bac3230f72981d7c18573e2b42137c8b7d5c17af549e0d2" },
    { "path": "CURRENT_STATE.json", "sha256": "9272ede11289c70ce969c8d42a348469401246ca8ebe496fea564228df843c42" },
    { "path": "V387_SMOOTH_FIGURE_FOUR_TRANSITIONS_MANIFEST.json", "sha256": "de4d7191496798efb1a72599198776bd38a5fa55c5cec3e3c7d1d5c6736869f2" }
  ],
  "stopBoundary": "Do not promote to final production lock until Chromium/WebGL two-loop parity is completed. Do not change V385 peak transforms or introduce a live/exercise-specific solver."
}
