{
  "tool_id": "art-458-attribute-sampling-plan",
  "tool_version": "1.0.0",
  "display_name": "Attribute Sampling Plan Generator",
  "mcp_name": "plan_attribute_sample",
  "mandate_type": "compliance_control",
  "wave": 74,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-458-attribute-sampling-plan.html",
  "description": "Computes a SOX 404 / ICFR attribute-sampling plan from confidence level, tolerable deviation rate, and expected deviation rate (all policy inputs) using the standard zero-EDR Poisson attribute-sampling formula with an expansion factor for nonzero EDR. Item selection is deterministic interval sampling over the caller-declared population hash -- no randomness, so any auditor can replay the exact same sample from the same declared inputs. If the tolerable deviation rate is at or below the expected deviation rate the plan is statistically indefensible, so the kernel reframes to a full-population census rather than shipping a bad plan. First node in the ICFR control-test evidence chain (feeds art-461 control-test-evidence-composer). NaN-safe. Zero network, zero PII.",
  "input_schema_ref": "chaingraph/art-458-attribute-sampling-plan.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:5bcd64e2925ab483c805160229d7a37241e311140192cd080b09be6d358fec1b",
      "valid_from": "2026-07-10"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-07-24"
    }
  ],
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "GK+iF/j3eHW2aetnccpdudOu9jzybQy4s6++2ObX244FhGNtQQESRqNofhYDUrdLCBs+P/1Age89Lw5I8EJ+KhVoiRMv9sR8GvXJVqw/ToQfXkDmwRVur/mWaLYWGykBHlEtSukssDmJq3EYnn8BnWsPN6kU1XXNLyRebTtzCUkuRv3J5eaETEsiQP5Tw9cSJlcWKukOucMt9w+RqDMP9ydbOkfodiqAR2nkpQ/V/+eDyrDC5NxLEM+FAZKWFs4+D7Xz0xd97Gkg8UXJEAf9kL2k1+Bv5sAGsRo1W9q3kOoaUEFlGtO/V7qveXouvZwkhXwws4HEPdkUzUnevCGYqA==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:5bcd64e2925ab483c805160229d7a37241e311140192cd080b09be6d358fec1b",
      "output": {
        "confidence_level": 95,
        "expansion_factor": 1,
        "expected_deviation_rate": 0,
        "interval": 16,
        "method": "poisson_attribute_sampling",
        "population_hash": "abc123",
        "population_size": 1000,
        "sample_size": 59,
        "selected_indices": [
          0,
          16,
          32,
          48,
          64,
          80,
          96,
          112,
          128,
          144,
          160,
          176,
          192,
          208,
          224,
          240,
          256,
          272,
          288,
          304,
          320,
          336,
          352,
          368,
          384,
          400,
          416,
          432,
          448,
          464,
          480,
          496,
          512,
          528,
          544,
          560,
          576,
          592,
          608,
          624,
          640,
          656,
          672,
          688,
          704,
          720,
          736,
          752,
          768,
          784,
          800,
          816,
          832,
          848,
          864,
          880,
          896,
          912,
          928
        ],
        "start_offset": 0,
        "tolerable_deviation_rate": 5
      }
    }
  }
}
