{
  "tool_id": "art-560-oracle-price-aggregation",
  "kernel_id": "art-560-oracle-price-aggregation",
  "display_name": "Oracle Price Aggregation",
  "tool_version": "1.0.0",
  "mandate_type": "oracle_price_aggregation",
  "purpose": "Computes the aggregate price a decentralized oracle network would publish from a set of individual submissions, and gives that print its own citable execution_hash. Four aggregation mechanisms, each named by how it works rather than by any venue that runs it: median-filtered confidence-weighted mean (flag submissions deviating beyond a threshold from the unweighted median, then take the confidence-weighted mean of the survivors), stake-weighted median on the frequency convention (a submitter with twice the weight appears twice as often in the sorted list, never an average pulled toward the heavier weight), three-vote confidence median (each publisher votes price, price+confidence and price-confidence; the aggregate is the median of all votes and the aggregate confidence is the greater distance to the 25th and 75th percentile), and plain median with an f-of-n fault-tolerance readout. Supports an optional prev_print_hash citing the prior print of the same pair, which turns a series of same-pair prints into a walkable chain; omitting it reproduces the unlinked-print output byte for byte. HARD FENCE: every price, weight, confidence, timestamp and submitter id is supplied and asserted, never fetched (zero-egress); this simulates the aggregation step only, does not model the commit-reveal phase that precedes it, and never claims any real network did or would publish this number. A submitter id may be supplied as a sha256-salted commitment under SPEC.md section 25 to withhold the identifier while keeping the aggregation bound to it. Not a price feed and not a market-data source.",
  "control_description": "Computes the aggregate price a decentralized oracle network would publish from a set of individual submissions, and gives that print its own citable execution_hash. Four aggregation mechanisms, each named by how it works rather than by any venue that runs it: median-filtered confidence-weighted mean (flag submissions deviating beyond a threshold from the unweighted median, then take the confidence-weighted mean of the survivors), stake-weighted median on the frequency convention (a submitter with twice the weight appears twice as often in the sorted list, never an average pulled toward the heavier weight), three-vote confidence median (each publisher votes price, price+confidence and price-confidence; the aggregate is the median of all votes and the aggregate confidence is the greater distance to the 25th and 75th percentile), and plain median with an f-of-n fault-tolerance readout. Supports an optional prev_print_hash citing the prior print of the same pair, which turns a series of same-pair prints into a walkable chain; omitting it reproduces the unlinked-print output byte for byte. HARD FENCE: every price, weight, confidence, timestamp and submitter id is supplied and asserted, never fetched (zero-egress); this simulates the aggregation step only, does not model the commit-reveal phase that precedes it, and never claims any real network did or would publish this number. A submitter id may be supplied as a sha256-salted commitment under SPEC.md section 25 to withhold the identifier while keeping the aggregation bound to it. Not a price feed and not a market-data source.",
  "declared_inputs": [],
  "declared_outputs": [
    "art-561-currency-basket-index"
  ],
  "kernel_digest": "sha256:ba126694afd24428319b321cbc06447608573deb30aaa75f5905a25146b3b91f",
  "trust_label": "independently verified: zkVM execution proof (risc0/groth16-bn254)",
  "data_vintage": "2026-08-08",
  "last_validated": "2026-08-08",
  "conformance_fixtures_vendored": true,
  "compute_proof_ready": "ready",
  "wave": 91,
  "source_url": "https://ainumbers.co/chaingraph/art-560-oracle-price-aggregation.html",
  "generated_at": "2026-08-15T11:12:17.704Z"
}
