changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": false,
+ "properties": {
+ "checks": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "actual": {
+ "description": "Observed value used by the rule."
+ },
+ "expected": {
+ "description": "Expected value or condition used by the rule."
+ },
+ "pass": {
+ "description": "Whether this individual rule passed.",
+ "type": "boolean"
+ },
+ "rule": {
+ "description": "Policy rule that was evaluated.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "rule",
+ "pass",
+ "actual",
+ "expected"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "decision": {
+ "description": "Overall policy decision. PASS means every supplied rule passed; FAIL means at least one supplied rule failed; UNKNOWN means a reliable decision could not be made.",
+ "enum": [
+ "PASS",
+ "FAIL",
+ "UNKNOWN"
+ ],
+ "type": "string"
+ },
+ "proof_id": {
+ "description": "FreshProof proof identifier returned by observe_url or verify_url.",
+ "pattern": "^fp1_[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "receipt": {
+ "additionalProperties": false,
+ "properties": {
+ "payload": {
+ "additionalProperties": false,
+ "properties": {
+ "content_hash": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "content_length": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "etag": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fetch_duration_ms": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "final_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "last_modified": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "method": {
+ "const": "GET",
+ "type": "string"
+ },
+ "normalized_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "observation_id": {
+ "type": "string"
+ },
+ "observed_at": {
+ "description": "ISO-8601 timestamp of the observation.",
+ "type": "string"
+ },
+ "original_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "status": {
+ "maximum": 599,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "version": {
+ "const": "freshproof-receipt-v1",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "observation_id",
+ "normalized_url",
+ "original_url",
+ "final_url",
+ "observed_at",
+ "method",
+ "status",
+ "content_hash",
+ "content_length",
+ "etag",
+ "last_modified",
+ "fetch_duration_ms"
+ ],
+ "type": "object"
+ },
+ "proof_id": {
+ "description": "FreshProof proof identifier returned by observe_url or verify_url.",
+ "pattern": "^fp1_[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "receipt_hash": {
+ "description": "SHA-256 content address of the canonical Proof Receipt payload.",
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "proof_id",
+ "receipt_hash",
+ "payload"
+ ],
+ "type": "object"
+ },
+ "valid": {
+ "description": "True when the stored receipt passes deterministic integrity verification.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "proof_id",
+ "valid",
+ "decision",
+ "checks",
+ "receipt"
+ ],
+ "type": "object"
+}