{
  "schema_version": "1.2",
  "release_version": "1.25.0",
  "reviewed_date": "2026-08-11",
  "kind": "policy_diff_reproducibility_manifest",
  "claim_status": "LOCAL_INDEPENDENT_REGENERATION_BINDING",
  "algorithm_identifier": "MJ-POLICY-DIFF-1.2",
  "algorithm_module": "tools/policy_diff_core.py",
  "algorithm_description": "Load only the exact accepted v1.24 policy anchor and current policy; regenerate fixed protected dimensions including suspension/decision controls; sort material additions/removals; serialize UTF-8 JSON with indent=2 and trailing newline; compare exact bytes and SHA-256.",
  "input_ordering": "canonical_path_ascending",
  "inputs": [
    {
      "path": "data/stewardship-verification-policy.json",
      "sha256": "d035e07734074a886ddff34197de476e9c874ad0eb0c30d7273b72eafb328054"
    },
    {
      "path": "docs/release/stewardship-verification-policy-v1.24.0.json",
      "sha256": "118a8752990e9636d9e8371209a95662326b5d42ca4f6fcb28f874b228e2ad70"
    }
  ],
  "output": {
    "path": "data/stewardship-verification-policy-diff.json",
    "sha256": "539bf5c16bef5ec1ad48b1d57d05a7d0fadceb49bcd0d4645def81067f55c630"
  },
  "independent_regeneration_required": true,
  "deterministic_ordering_rules": [
    "exact two policy inputs only",
    "inputs by path ascending",
    "protected_dimension_order fixed by MJ-POLICY-DIFF-1.2",
    "material additions/removals lexicographically ascending",
    "UTF-8 indent=2 JSON plus trailing newline"
  ],
  "archive_self_hashing": false,
  "secret_material_included": false,
  "truth_boundary": "This manifest binds deterministic local regeneration from accepted v1.24 policy plus current policy. It is unsigned and is not a trusted timestamp, signature, legal conclusion, or authorization.",
  "manifest_digest_sha256": "436a7adf55916aaa77c0c6d567b629484f82702c1432d0dc7a5e517c60473b40",
  "api_surface": "policy_diff_reproducibility_manifest"
}
