{
  "tool_id": "art-410-clause-coverage-scorer",
  "tool_version": "1.0.0",
  "display_name": "Clause Coverage Scorer",
  "mcp_name": "score_clause_coverage",
  "mandate_type": "compliance_mandate",
  "wave": 69,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-410-clause-coverage-scorer.html",
  "description": "Scores an agreement's clause coverage against a named clause taxonomy -- the oneSaaS 52-clause canonical set, the Common Paper Language Library, the GDPR Article 28 processor set, or a custom list. Reads a caller-declared present/modified/extra/missing status per clause and returns a coverage percentage, modification rate, and a maturity tier (minimal/partial/substantial/full). Extra clauses are tracked but excluded from the coverage denominator. This node reads the caller's own clause inventory -- it never vendors, assembles, or redistributes any third-party template body. Not legal advice and not a determination that any agreement is compliant. Zero network, zero PII.",
  "input_schema_ref": "chaingraph/art-410-clause-coverage-scorer.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:43e9115f892a58de62567becc360a463707b7aa621dc6743cee3bda398be3d4d",
      "valid_from": "2026-07-19"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-07-19"
    }
  ],
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "IEhY03j7SLPVg2Qaskb6+x0iVH1snWsnDmKjvMcIAtISyRduDdMbnVCAdKB3WbraIg0iQi+XNlBFGXy1CKauOyDF5fBvUo3n4ROOtdyvjeR2KFnDF0+7Uq/8LjFTKlx9Fnbl2uSVxgDdJ/KgBc61rQ7EGV7rlLiJgt4LjmZ91UQRAtnR0wbx1of0lxcfCaJI9v/b8qqfxveSckYrOtnknCy3ZM93CuUEUK4I7G/tdmxJ75yM1HqBVolh9CfPQCSHL17qevk8fcOtNX3iMsRwl86OkWbwpg77wLbhb4W7LLsD/Bij2EgdV1CmRVlnY4q1zdJzJooc6mfijLepPHd47Q==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:43e9115f892a58de62567becc360a463707b7aa621dc6743cee3bda398be3d4d",
      "output": {
        "coverage_pct": 100,
        "declared_count": 4,
        "disclosure": "This is a compliance reading over the text the caller supplied, not legal advice and not a determination that any agreement is compliant.",
        "extra_clause_ids": [],
        "extra_count": 0,
        "maturity_tier": "full",
        "missing_clause_ids": [],
        "missing_count": 0,
        "modification_pct": 0,
        "modified_clause_ids": [],
        "modified_count": 0,
        "not_legal_advice": true,
        "present_count": 4,
        "taxonomy": "onesaas_52",
        "taxonomy_label": "oneSaaS 52-clause canonical set"
      }
    }
  }
}
