aere-quantum/conformance/REGULI.json

350 lines
8.9 KiB
JSON

{
"v": 1,
"kind": "aere-conformance-rules",
"levels": [
"integrity",
"authenticity",
"anchoring",
"finality"
],
"verifiers": {
"aip23-envelope": {
"artifacts": [
"envelope"
],
"rules": [
{
"id": "envelope.form",
"source": "form",
"level": "integrity",
"sites": 1,
"says": "the envelope has a statement (object) and a statementHash (0x + 64 hex)"
},
{
"id": "envelope.integrity",
"source": "integrity",
"level": "integrity",
"sites": 1,
"says": "sha256 of the canonical statement text is the statementHash"
},
{
"id": "envelope.signature",
"source": "signature",
"level": "authenticity",
"sites": 1,
"says": "the ML-DSA signature the envelope carries verifies over the canonical statement text"
},
{
"id": "envelope.finality",
"source": "finality",
"level": "anchoring",
"sites": 6,
"says": "the statementHash is recorded in the notary under a state root that a verified post-quantum anchor certificate covers (level by site: see finalitySites)"
}
],
"finalitySites": [
{
"site": "most recent anchor did not verify",
"level": "finality",
"reachableWithAnHonestEndpoint": false
},
{
"site": "the header the endpoint served for block",
"level": "anchoring",
"reachableWithAnHonestEndpoint": false
},
{
"site": "has no account at",
"level": "anchoring",
"reachableWithAnHonestEndpoint": false
},
{
"site": "is not the AereNotary contract",
"level": "anchoring",
"reachableWithAnHonestEndpoint": false
},
{
"site": "the Merkle proof for block",
"level": "anchoring",
"reachableWithAnHonestEndpoint": false
},
{
"site": "not notarized:",
"level": "anchoring",
"reachableWithAnHonestEndpoint": true
}
]
},
"payment-risk": {
"artifacts": [
"payment-risk"
],
"rules": [
{
"id": "risk.form",
"source": "forma",
"level": "integrity",
"sites": 4,
"says": "payer and payee are addresses; chain, asset, a positive integer amount and the time are given"
},
{
"id": "risk.asset",
"source": "activ",
"level": "integrity",
"sites": 1,
"says": "the asset on that chain is allowed by the declared policy"
},
{
"id": "risk.counterparty",
"source": "contrapartida",
"level": "integrity",
"sites": 1,
"says": "the payee is not the payer and is not a refused counterparty of the policy"
},
{
"id": "risk.rate",
"source": "curs",
"level": "integrity",
"sites": 1,
"says": "the USD rate is declared (value, source, time) when the policy requires it"
},
{
"id": "risk.limit",
"source": "limita",
"level": "integrity",
"sites": 1,
"says": "the amount in USD is within the per-payment limit of the policy"
},
{
"id": "risk.window",
"source": "fereastra",
"level": "integrity",
"sites": 1,
"says": "the amount and the count stay within the sliding window of the policy"
}
]
},
"payment-receipt": {
"artifacts": [
"payment-receipt"
],
"rules": [
{
"id": "receipt.binding",
"source": "legatura",
"level": "integrity",
"sites": 2,
"says": "the settlement envelope commits to this instruction and says the same thing"
},
{
"id": "receipt.amount",
"source": "suma",
"level": "integrity",
"sites": 1,
"says": "the USD amount is the amount at the declared rate, exactly"
},
{
"id": "receipt.policy",
"source": "politica",
"level": "integrity",
"sites": 1,
"says": "the policy shown hashes to the policy the risk verdict names"
},
{
"id": "receipt.risk",
"source": "risc",
"level": "integrity",
"sites": 3,
"says": "the risk verdict reproduces from the inputs and the policy, and it allowed this payment"
},
{
"id": "receipt.chain",
"source": "lant",
"level": "integrity",
"sites": 1,
"says": "the transaction supplied is this payment: payer, payee, value, block, mined"
}
]
},
"market-timeline": {
"artifacts": [
"market-timeline"
],
"rules": [
{
"id": "market.form",
"source": "forma",
"level": "integrity",
"sites": 1,
"says": "the timeline is well formed: events with name, arguments, sender, integer time and block; the job and the constants with their integer fields"
},
{
"id": "market.complete",
"source": "intreg",
"level": "integrity",
"sites": 1,
"says": "the timeline carries every event the job state implies: posted; claimed when a provider is set; submitted and disputed when their times are set"
},
{
"id": "market.posting",
"source": "postare",
"level": "integrity",
"sites": 1,
"says": "the JobPosted event matches the job (requester, spec, deadline, reward)"
},
{
"id": "market.deadline",
"source": "termen",
"level": "integrity",
"sites": 3,
"says": "claim and submission are within the deadline; an expiry refund only after it"
},
{
"id": "market.window",
"source": "fereastra",
"level": "integrity",
"sites": 2,
"says": "a dispute is raised inside the challenge window; a third party finalizes only after it"
},
{
"id": "market.arbiter",
"source": "arbitru",
"level": "integrity",
"sites": 3,
"says": "a dispute is resolved by the arbiter, or timed out only after the arbitration timeout"
},
{
"id": "market.payout",
"source": "plata",
"level": "integrity",
"sites": 4,
"says": "the terminal payout matches the final state (who, how much, which bond)"
},
{
"id": "market.result",
"source": "rezultat",
"level": "integrity",
"sites": 1,
"says": "the result bytes hash to the commitment on chain"
},
{
"id": "market.replay",
"source": "replay",
"level": "integrity",
"sites": 3,
"says": "the public task recomputed agrees with who was paid or slashed"
},
{
"id": "market.proof",
"source": "dovada",
"level": "integrity",
"sites": 2,
"says": "the execution envelope names this job and existed before the window closed"
}
]
},
"dataset": {
"artifacts": [
"dataset-record",
"dataset-answer",
"dataset-consistency",
"dataset-sample"
],
"rules": [
{
"id": "dataset.form",
"source": "forma",
"level": "integrity",
"sites": 1,
"says": "a row carries its field commitments and its disclosed fields"
},
{
"id": "dataset.commitment",
"source": "angajament",
"level": "integrity",
"sites": 4,
"says": "the record, answer or proof names the commitment it is checked against"
},
{
"id": "dataset.field",
"source": "camp",
"level": "integrity",
"sites": 2,
"says": "a disclosed value opens its salted field commitment"
},
{
"id": "dataset.inclusion",
"source": "includere",
"level": "integrity",
"sites": 1,
"says": "the record is in the log of that version (RFC 9162 inclusion)"
},
{
"id": "dataset.index",
"source": "index",
"level": "integrity",
"sites": 2,
"says": "the row is at its stated position of the sorted index"
},
{
"id": "dataset.range",
"source": "interval",
"level": "integrity",
"sites": 2,
"says": "every row returned is inside the queried range"
},
{
"id": "dataset.order",
"source": "ordine",
"level": "integrity",
"sites": 1,
"says": "consecutive rows are in index order"
},
{
"id": "dataset.completeness",
"source": "completitudine",
"level": "integrity",
"sites": 5,
"says": "the rows are the whole contiguous run; the neighbours on both sides are outside the range"
},
{
"id": "dataset.consistency",
"source": "consistenta",
"level": "integrity",
"sites": 3,
"says": "the older log is a prefix of the newer (RFC 9162 consistency) and the versions are linked"
},
{
"id": "dataset.sample",
"source": "esantion",
"level": "integrity",
"sites": 1,
"says": "every sampled position is served and verifies"
}
]
}
},
"notEnrolled": [
{
"verifier": "ai-trust",
"refusalSites": 20,
"why": "its refusals already carry a level and a code; enrolling it is a vector per code, not done here"
},
{
"verifier": "agents (ledger)",
"refusalSites": 17,
"why": "its refusals are free text; a rule id per refusal comes first"
},
{
"verifier": "identity",
"refusalSites": 15,
"why": "its checks are labelled rows, not rule ids"
},
{
"verifier": "verify-layer (log and tree)",
"refusalSites": 36,
"why": "its refusals are free text; a rule id per refusal comes first"
}
]
}