{
  "tool_id": "art-658-publish-index-head",
  "note": "Golden fixtures for the index/benchmark-administrator SPEC.md HEAD-1 head-commit publish kernel (INDEX-LINEAGE-BUILD-SPEC.md sec.5). output_payload is buildArtifact()'s canonical result (matches golden_hash / vm-parity-gate, both of which run buildArtifact, never compute() alone): head_hash is filled in only there (independent pure-SHA-256 recompute, sec.5 note). signature_valid/chain_valid are the CALLER's own verification claim (pp.signature_verification / pp.chain_verification), echoed verbatim by compute() itself -- never recomputed by this node (see the kernel HARD FENCE comment for why: the real zkVM guest has no WebCrypto, and the VM<->worker parity harness's crypto.subtle.verify bridge was measured to diverge from the worker during art-649's authoring, the sibling model-risk head node this kernel mirrors). Covers: missing head, missing/malformed verification-claim shape, every structural-shape violation validateHeadShape() checks, and valid shapes (genesis with a true claim, genesis with a caller-asserted false claim -- still a valid receipt, just recording a failed verification -- chained with a chain claim, chained missing the required chain claim, and a rotation-announced head). human_sign_off: PENDING (this row does not sign -- manifest-level signature per spec sec.5).",
  "vectors": [
    {
      "name": "missing-head",
      "policy_parameters": {},
      "output_payload": {
        "stream": null,
        "signer": null,
        "seq": null,
        "prev_head_hash": null,
        "root": null,
        "timestamp": null,
        "rotates_to": null,
        "structural_error": "head is required.",
        "is_genesis": false,
        "head_hash": null,
        "signature_valid": null,
        "signature_verified_by": null,
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [
          "head is required."
        ],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "99c20478e4a4d84ab17165adb666b9593b1c491a7b7fafe4d01d82691f89318a"
    },
    {
      "name": "head-missing-signature-verification",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 0,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "2026-08-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        }
      },
      "output_payload": {
        "stream": null,
        "signer": null,
        "seq": null,
        "prev_head_hash": null,
        "root": null,
        "timestamp": null,
        "rotates_to": null,
        "structural_error": "signature_verification is required (the caller's own verification result).",
        "is_genesis": false,
        "head_hash": null,
        "signature_valid": null,
        "signature_verified_by": null,
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [
          "signature_verification is required (the caller's own verification result)."
        ],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "57a03f2183d6b794677e093693326c64641c6a7771d81a86c06fe9f8f55e1e06"
    },
    {
      "name": "signature-verification-missing-verified-by",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 0,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "2026-08-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "signature_verification": {
          "verified": true
        }
      },
      "output_payload": {
        "stream": null,
        "signer": null,
        "seq": null,
        "prev_head_hash": null,
        "root": null,
        "timestamp": null,
        "rotates_to": null,
        "structural_error": "signature_verification.verified_by is required (free text naming the tool/method used to verify).",
        "is_genesis": false,
        "head_hash": null,
        "signature_valid": null,
        "signature_verified_by": null,
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [
          "signature_verification.verified_by is required (free text naming the tool/method used to verify)."
        ],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "83e552f04f82ef76faae863316dc2cd1e6f54f22e1e47f508cad7d1a35eba15b"
    },
    {
      "name": "signer-not-did-key",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "not-a-did",
          "seq": 0,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "2026-08-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "not-a-did",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "signature_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        }
      },
      "output_payload": {
        "stream": null,
        "signer": null,
        "seq": null,
        "prev_head_hash": null,
        "root": null,
        "timestamp": null,
        "rotates_to": null,
        "structural_error": "head.signer must be a did:key.",
        "is_genesis": false,
        "head_hash": null,
        "signature_valid": null,
        "signature_verified_by": null,
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [
          "head.signer must be a did:key."
        ],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "bf1484425d4f643100bb8db88713af7f6345860f7c5e56cd2b5c0d4c8e3a0369"
    },
    {
      "name": "seq-not-integer",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 1.5,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "2026-08-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "signature_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        }
      },
      "output_payload": {
        "stream": null,
        "signer": null,
        "seq": null,
        "prev_head_hash": null,
        "root": null,
        "timestamp": null,
        "rotates_to": null,
        "structural_error": "head.seq must be a non-negative integer.",
        "is_genesis": false,
        "head_hash": null,
        "signature_valid": null,
        "signature_verified_by": null,
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [
          "head.seq must be a non-negative integer."
        ],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "dc31057e68504597de29739a6bf956ff851eebbe6bd36fce3506d85daf561b86"
    },
    {
      "name": "genesis-prev-head-hash-not-null",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 0,
          "prev_head_hash": "sha256:0000000000000000000000000000000000000000000000000000000000000009",
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "2026-08-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "signature_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        }
      },
      "output_payload": {
        "stream": null,
        "signer": null,
        "seq": null,
        "prev_head_hash": null,
        "root": null,
        "timestamp": null,
        "rotates_to": null,
        "structural_error": "head.seq is 0 (genesis) but head.prev_head_hash is not null.",
        "is_genesis": false,
        "head_hash": null,
        "signature_valid": null,
        "signature_verified_by": null,
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [
          "head.seq is 0 (genesis) but head.prev_head_hash is not null."
        ],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "de00beb3c907857b4d4f7b497b3f0a5b3f0bf0b1f6e75d95d2ffdaefcab5455d"
    },
    {
      "name": "root-bad-format",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 0,
          "prev_head_hash": null,
          "root": "not-a-hash",
          "timestamp": "2026-08-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "signature_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        }
      },
      "output_payload": {
        "stream": null,
        "signer": null,
        "seq": null,
        "prev_head_hash": null,
        "root": null,
        "timestamp": null,
        "rotates_to": null,
        "structural_error": "head.root must be a \"sha256:\"-prefixed digest.",
        "is_genesis": false,
        "head_hash": null,
        "signature_valid": null,
        "signature_verified_by": null,
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [
          "head.root must be a \"sha256:\"-prefixed digest."
        ],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "656d3373b87657a3d11ae34b51fac6bcfa3298926dd88a93563380f140fdcb3f"
    },
    {
      "name": "timestamp-bad-format",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 0,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "not-a-timestamp",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "signature_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        }
      },
      "output_payload": {
        "stream": null,
        "signer": null,
        "seq": null,
        "prev_head_hash": null,
        "root": null,
        "timestamp": null,
        "rotates_to": null,
        "structural_error": "head.timestamp must be an RFC3339 timestamp.",
        "is_genesis": false,
        "head_hash": null,
        "signature_valid": null,
        "signature_verified_by": null,
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [
          "head.timestamp must be an RFC3339 timestamp."
        ],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "2d902cd7ecf88f50de3226fa1e64216ac5c2c923a13e44a7fc268478caa0aaac"
    },
    {
      "name": "proof-missing",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 0,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "2026-08-27T00:00:00Z"
        },
        "signature_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        }
      },
      "output_payload": {
        "stream": null,
        "signer": null,
        "seq": null,
        "prev_head_hash": null,
        "root": null,
        "timestamp": null,
        "rotates_to": null,
        "structural_error": "head.proof is required (the head must already be signed).",
        "is_genesis": false,
        "head_hash": null,
        "signature_valid": null,
        "signature_verified_by": null,
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [
          "head.proof is required (the head must already be signed)."
        ],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "2de1ffbf779983bed622141c1229e80f157ef25cb7fd1adad3cc061d6dcd3e27"
    },
    {
      "name": "seq-positive-prev-head-hash-null",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 1,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000003",
          "timestamp": "2026-09-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "signature_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        }
      },
      "output_payload": {
        "stream": null,
        "signer": null,
        "seq": null,
        "prev_head_hash": null,
        "root": null,
        "timestamp": null,
        "rotates_to": null,
        "structural_error": "head.seq is greater than 0 but head.prev_head_hash is null (only a genesis head may omit prev_head_hash).",
        "is_genesis": false,
        "head_hash": null,
        "signature_valid": null,
        "signature_verified_by": null,
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [
          "head.seq is greater than 0 but head.prev_head_hash is null (only a genesis head may omit prev_head_hash)."
        ],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "3e660d82d1b20889dae72ee04b8d799e0642de66835ee0bdf8b4f3d8ddac9de8"
    },
    {
      "name": "valid-genesis-head-signature-valid",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 0,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "2026-08-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "signature_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        }
      },
      "output_payload": {
        "stream": "index-head:FTSE-BENCH-100",
        "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
        "seq": 0,
        "prev_head_hash": null,
        "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
        "timestamp": "2026-08-27T00:00:00Z",
        "rotates_to": null,
        "structural_error": null,
        "is_genesis": true,
        "head_hash": "sha256:afb3f1388520852fa7854e8eb6ba00b0677af59c4d7110088a0e18a2e1ccbbe4",
        "signature_valid": true,
        "signature_verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27",
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "055ca23389857e331680b0c5161250e065d46392868deb12881e933d686ca3b1"
    },
    {
      "name": "valid-genesis-head-signature-invalid-claim",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 0,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "2026-08-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "signature_verification": {
          "verified": false,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        }
      },
      "output_payload": {
        "stream": "index-head:FTSE-BENCH-100",
        "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
        "seq": 0,
        "prev_head_hash": null,
        "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
        "timestamp": "2026-08-27T00:00:00Z",
        "rotates_to": null,
        "structural_error": null,
        "is_genesis": true,
        "head_hash": "sha256:afb3f1388520852fa7854e8eb6ba00b0677af59c4d7110088a0e18a2e1ccbbe4",
        "signature_valid": false,
        "signature_verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27",
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "ced27d127a10b0ca5af4f7220381e4da2d4b3aef2470ac526b84d5ecd6df2f3b"
    },
    {
      "name": "valid-chained-head-with-prior-and-chain-claim",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 1,
          "prev_head_hash": "sha256:0000000000000000000000000000000000000000000000000000000000000002",
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000003",
          "timestamp": "2026-09-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "signature_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        },
        "prior_head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 0,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "2026-08-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "chain_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyChain, 2026-08-27",
          "errors": []
        }
      },
      "output_payload": {
        "stream": "index-head:FTSE-BENCH-100",
        "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
        "seq": 1,
        "prev_head_hash": "sha256:0000000000000000000000000000000000000000000000000000000000000002",
        "root": "sha256:0000000000000000000000000000000000000000000000000000000000000003",
        "timestamp": "2026-09-27T00:00:00Z",
        "rotates_to": null,
        "structural_error": null,
        "is_genesis": false,
        "head_hash": "sha256:3ef0491278dacb5cccb232c58121793ae58874de0800c59b97c73acb3029636d",
        "signature_valid": true,
        "signature_verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27",
        "chain_valid": true,
        "chain_verified_by": "off-node _head.mjs verifyChain, 2026-08-27",
        "chain_errors": [],
        "errors": [],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "e4cda447a5b917e356bfbdfdd5ee4028c0b0c21f9c7f47518bc3deb78802494c"
    },
    {
      "name": "valid-chained-head-missing-chain-claim",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 1,
          "prev_head_hash": "sha256:0000000000000000000000000000000000000000000000000000000000000002",
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000003",
          "timestamp": "2026-09-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "signature_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        },
        "prior_head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 0,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "2026-08-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        }
      },
      "output_payload": {
        "stream": null,
        "signer": null,
        "seq": null,
        "prev_head_hash": null,
        "root": null,
        "timestamp": null,
        "rotates_to": null,
        "structural_error": "chain_verification is required (the caller's own verification result).",
        "is_genesis": false,
        "head_hash": null,
        "signature_valid": null,
        "signature_verified_by": null,
        "chain_valid": null,
        "chain_verified_by": null,
        "chain_errors": [],
        "errors": [
          "chain_verification is required (the caller's own verification result)."
        ],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "e09ebd704da1dc19c301addcc2ee0dda22ec331410ed2709ceddb757979056f8"
    },
    {
      "name": "valid-rotation-announced-head",
      "policy_parameters": {
        "head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 1,
          "prev_head_hash": "sha256:0000000000000000000000000000000000000000000000000000000000000002",
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000003",
          "timestamp": "2026-09-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          },
          "rotates_to": "did:key:z6MkrotATEDindex000000000000000000000000000000"
        },
        "signature_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27"
        },
        "prior_head": {
          "head_version": "1",
          "stream": "index-head:FTSE-BENCH-100",
          "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
          "seq": 0,
          "prev_head_hash": null,
          "root": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
          "timestamp": "2026-08-27T00:00:00Z",
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "eddsa-jcs-2022",
            "verificationMethod": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
            "proofPurpose": "assertionMethod",
            "created": "2026-08-27T00:00:00Z",
            "proofValue": "z36T1LGhKz8AJJhq6ugKpgxAwh381zQccmoi8tCVqQq6hcWQ8s6sngbDQ7V946QrBaAm5koRv2VggGkofNC579jbF"
          }
        },
        "chain_verification": {
          "verified": true,
          "verified_by": "off-node _head.mjs verifyChain, 2026-08-27",
          "errors": []
        }
      },
      "output_payload": {
        "stream": "index-head:FTSE-BENCH-100",
        "signer": "did:key:z6MkwWLGNQkh4W4EbpPsw9fV7dGDL33ipZnY85Hs72J3Bd3Y",
        "seq": 1,
        "prev_head_hash": "sha256:0000000000000000000000000000000000000000000000000000000000000002",
        "root": "sha256:0000000000000000000000000000000000000000000000000000000000000003",
        "timestamp": "2026-09-27T00:00:00Z",
        "rotates_to": "did:key:z6MkrotATEDindex000000000000000000000000000000",
        "structural_error": null,
        "is_genesis": false,
        "head_hash": "sha256:3359aeba39422c02caf5e8f72838e01996d0ea2094b818709ec2b30058550d8e",
        "signature_valid": true,
        "signature_verified_by": "off-node _head.mjs verifyHeadProof, 2026-08-27",
        "chain_valid": true,
        "chain_verified_by": "off-node _head.mjs verifyChain, 2026-08-27",
        "chain_errors": [],
        "errors": [],
        "not_proven": [
          {
            "item": "Signature / chain verification",
            "detail": "signature_valid and chain_valid are the CALLER's own verification claim (e.g. from running _head.mjs's verifyHeadProof/verifyChain, or chaingraph/standard/head-commit.test.mjs, off-node before calling this node), asserted and digested into this receipt -- exactly like art-562's stage-reference citations. This node does not itself execute Ed25519 verification (the real zkVM guest has no WebCrypto at all; an in-kernel verify() result would not be reproducible across this repo's required execution environments)."
          },
          {
            "item": "Equivocation detection",
            "detail": "A head-file tip proves the signer's claimed index-stream tip at this seq; it does not itself detect the same signer publishing a different, conflicting index level or weight set for the same (stream, seq) elsewhere. That needs the ocg-head-tlog@1 witness backing (a later WU), not this node."
          },
          {
            "item": "Rebalance / correction-cycle enforcement",
            "detail": "This node publishes one head-commit event citing a rebalance-evidence-pack (art-646) or correction (art-647) artifact. It does not itself schedule, trigger, or verify that a rebalance or correction cycle was executed correctly -- those artifacts, and the administrator's own methodology document, are out of scope for this node."
          },
          {
            "item": "Root-artifact authenticity",
            "detail": "root is a caller-supplied execution_hash citing the period's art-646 rebalance-evidence-pack or art-647 correction artifact, asserted and digested into this receipt. This node performs no lookup against a live artifact store and does not itself verify that the cited hash corresponds to a real, still-valid upstream artifact."
          },
          {
            "item": "BMR / SEBI compliance",
            "detail": "This receipt evidences one head-commit publication event for an index-level stream. It has no bearing on whether the underlying rebalance or correction was correctly executed and does not itself satisfy EU Benchmark Regulation 2016/1011 (as amended by Regulation (EU) 2025/914, which narrowed BMR scope to critical/significant benchmarks) or SEBI's benchmark-administrator framework -- those are administrator-level oversight-function obligations this document evidences a piece of, never fulfills. This node makes no determination of whether the citing administrator is itself in BMR/SEBI scope."
          }
        ],
        "fence": "This node never accepts or handles private key material and never itself runs an Ed25519 verify. signature_valid/chain_valid are the CALLER's own verification claim, asserted and digested into this receipt, never independently re-derived. head_hash is the one field this node DOES independently recompute (pure SHA-256 over the caller-supplied head, never trusted as a caller-asserted value).",
        "regulatory_framework": "SPEC.md §HEAD-1 (this estate's own head-commit primitive, PROV-HEAD-1, DONE/merged) applied to an index/benchmark administrator's publication stream (INDEX-LINEAGE-BUILD-SPEC.md §5); not itself a determination of BMR/SEBI scope or an RDARR-style compliance requirement."
      },
      "golden_hash": "bdf1e3759ae54960ded181a0d3b178ca3ae6a6ec300e0513410a86ecc65bc024"
    }
  ]
}
