{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://jetboatanalytics.com/schemas/benchmark-results.schema.json",
  "title": "Jetboat benchmark results dataset",
  "description": "One document per benchmark post. Every observation keeps its configuration, measurement method, uncertainty and evidence; unknown values are typed nulls that carry a reason. Three observation shapes share the document: kill/ramp rows (record_type failure_test or throughput_stage), tracker-client rows (record_type tracker_client, protocol family tracker-client/1) and counting rows (record_type counting, protocol family counting/1: one row per subject x run x metric, truth beside the tool's API and store readings).",
  "type": "object",
  "required": [
    "schema_version",
    "dataset_version",
    "post",
    "protocols",
    "definitions",
    "qualification_markers",
    "notes",
    "observations"
  ],
  "properties": {
    "schema_version": {
      "type": "string"
    },
    "dataset_version": {
      "type": "string",
      "description": "bumps on any value change"
    },
    "post": {
      "type": "string",
      "description": "slug of the owning post"
    },
    "generated_from": {
      "type": "string",
      "description": "how the dataset was produced (hand-copied from run records; script)"
    },
    "protocols": {
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "required": [
          "version",
          "summary"
        ],
        "properties": {
          "version": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "ceiling_rule": {
            "type": "string",
            "description": "how the highest observed throughput stage is selected"
          },
          "reconciliation": {
            "type": "string"
          },
          "lists": {
            "type": "array",
            "description": "tracker-client/1: the filter lists evaluated, with URL, sha256 and fetch date",
            "items": {
              "type": "object",
              "required": [
                "id",
                "name",
                "url",
                "sha256",
                "fetched"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "sha256": {
                  "type": "string"
                },
                "fetched": {
                  "type": "string",
                  "format": "date"
                },
                "note": {
                  "type": "string"
                }
              }
            }
          },
          "engine": {
            "type": "string",
            "description": "tracker-client/1: filter engine and version"
          },
          "shapes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "tracker-client/1: deployment shape id -> definition"
          },
          "runs": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "counting/1: run id -> the generator arguments and replay speed of that run (A, B, C)"
          },
          "truth": {
            "type": "string",
            "description": "counting/1: how ground truth is derived from the generator timeline"
          },
          "settle_rule": {
            "type": "string",
            "description": "counting/1: the store-stability rule applied before the reads"
          }
        }
      }
    },
    "definitions": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "column and enum definitions, quotable"
    },
    "qualification_markers": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "notes": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "numbered notes defined inside the dataset"
    },
    "observations": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "#/$defs/observation"
          },
          {
            "$ref": "#/$defs/tracker_client_observation"
          },
          {
            "$ref": "#/$defs/counting_observation"
          }
        ]
      }
    },
    "license": {
      "type": "string",
      "description": "licence URL for the dataset and run records (not the vendor kits' upstream images or products)"
    },
    "license_name": {
      "type": "string"
    },
    "attribution": {
      "type": "string",
      "description": "the exact attribution string reusers must carry, including the link to the source page"
    },
    "source_url": {
      "type": "string"
    },
    "placeholder": {
      "type": "boolean",
      "description": "true while the observations are stand-ins (local smoke rows, a scaffold) that must not be published; scripts/build-static.sh refuses to export a non-draft post whose dataset carries it"
    }
  },
  "$defs": {
    "typedNull": {
      "type": "object",
      "required": [
        "null"
      ],
      "properties": {
        "null": {
          "enum": [
            "unknown",
            "not_measured",
            "not_applicable",
            "count_based"
          ]
        },
        "note": {
          "type": "string",
          "description": "why the value is null, in the emitter's words (counting/1 rows)"
        }
      },
      "additionalProperties": false
    },
    "intOrNull": {
      "oneOf": [
        {
          "type": "integer"
        },
        {
          "$ref": "#/$defs/typedNull"
        }
      ]
    },
    "numOrNull": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "$ref": "#/$defs/typedNull"
        }
      ]
    },
    "boolOrNull": {
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/typedNull"
        }
      ]
    },
    "observation": {
      "type": "object",
      "required": [
        "observation_id",
        "run_id",
        "configuration_id",
        "posts",
        "record_path",
        "subject",
        "subject_version",
        "subject_digests",
        "axis",
        "box",
        "generator_colocated",
        "protocol",
        "protocol_version",
        "deviations",
        "acknowledgement_strategy",
        "classification_evidence",
        "tracker_retry",
        "tracker_retry_source",
        "tracker_retry_measured",
        "record_type",
        "stage",
        "offered_rate",
        "offered_unit",
        "duration_s",
        "sent",
        "acknowledged",
        "stored_rows",
        "stored_distinct",
        "reconciliation_method",
        "acknowledged_minus_stored_rows",
        "acknowledged_missing_count",
        "duplicate_count",
        "stored_without_ack_count",
        "hard_failures",
        "p95_ms",
        "trials",
        "observed_outcome",
        "qualifications",
        "note_ids",
        "run_date"
      ],
      "properties": {
        "observation_id": {
          "type": "string"
        },
        "run_id": {
          "type": "string"
        },
        "configuration_id": {
          "type": "string"
        },
        "posts": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "record_path": {
          "type": "string",
          "description": "path inside the evidence bundle"
        },
        "record_url": {
          "type": [
            "string",
            "null"
          ],
          "description": "browsable copy of the run record"
        },
        "record_sha256": {
          "type": [
            "string",
            "null"
          ]
        },
        "subject": {
          "type": "string"
        },
        "subject_version": {
          "type": "string"
        },
        "subject_digests": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "axis": {
          "enum": [
            "pageview",
            "error_envelope",
            "telemetry_row"
          ]
        },
        "box": {
          "type": "string"
        },
        "box_note": {
          "type": [
            "string",
            "null"
          ]
        },
        "generator_colocated": {
          "type": "boolean"
        },
        "protocol": {
          "type": "string"
        },
        "protocol_version": {
          "type": "string"
        },
        "deviations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "acknowledgement_strategy": {
          "enum": [
            "synchronous_write",
            "in_memory_batch",
            "durable_queue",
            "durable_log"
          ]
        },
        "acknowledgement_strategy_note": {
          "type": [
            "string",
            "null"
          ]
        },
        "classification_evidence": {
          "type": "string"
        },
        "tracker_retry": {
          "enum": [
            "none",
            "memory",
            "persisted"
          ]
        },
        "tracker_retry_source": {
          "type": "string"
        },
        "tracker_retry_measured": {
          "type": "boolean"
        },
        "record_type": {
          "enum": [
            "failure_test",
            "throughput_stage"
          ]
        },
        "stage": {
          "type": "string"
        },
        "failure_scope": {
          "type": "object",
          "required": [
            "component",
            "mechanism",
            "accept_path_up"
          ],
          "properties": {
            "component": {
              "type": "string"
            },
            "mechanism": {
              "type": "string"
            },
            "accept_path_up": {
              "type": "boolean"
            },
            "steps": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "t_s",
                  "action"
                ]
              }
            }
          }
        },
        "offered_rate": {
          "type": "number"
        },
        "offered_unit": {
          "enum": [
            "requests_per_s",
            "events_per_s"
          ]
        },
        "duration_s": {
          "type": "number"
        },
        "sent": {
          "type": "integer"
        },
        "acknowledged": {
          "type": "integer"
        },
        "stored_rows": {
          "type": "integer"
        },
        "stored_distinct": {
          "$ref": "#/$defs/intOrNull"
        },
        "reconciliation_method": {
          "enum": [
            "count_comparison",
            "event_id_matching",
            "documented_correction"
          ]
        },
        "acknowledged_minus_stored_rows": {
          "type": "integer",
          "description": "signed: acknowledged − stored_rows"
        },
        "acknowledged_missing_count": {
          "$ref": "#/$defs/intOrNull"
        },
        "duplicate_count": {
          "$ref": "#/$defs/intOrNull"
        },
        "stored_without_ack_count": {
          "$ref": "#/$defs/intOrNull"
        },
        "hard_failures": {
          "type": "integer"
        },
        "p95_ms": {
          "$ref": "#/$defs/numOrNull"
        },
        "p95_scope": {
          "type": [
            "string",
            "null"
          ]
        },
        "trials": {
          "type": "integer"
        },
        "kill_at_s": {
          "type": "number"
        },
        "restart_by_driver_at_s": {
          "$ref": "#/$defs/numOrNull"
        },
        "recovery": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "definition",
              "seconds"
            ],
            "properties": {
              "definition": {
                "enum": [
                  "first_success",
                  "normal_latency",
                  "first_success_store_down",
                  "worker_consuming",
                  "store_answering",
                  "healthy_probe"
                ]
              },
              "seconds": {
                "$ref": "#/$defs/numOrNull"
              },
              "note": {
                "type": "string"
              }
            }
          }
        },
        "restart_policy_text": {
          "type": "string"
        },
        "restart_policy_fired": {
          "$ref": "#/$defs/boolOrNull"
        },
        "restart_policy_observation": {
          "type": [
            "string",
            "null"
          ]
        },
        "achieved_rate": {
          "type": "number"
        },
        "rate_bound": {
          "enum": [
            "exact",
            "lower"
          ]
        },
        "dropped_iterations": {
          "type": "integer"
        },
        "stored_settle_s": {
          "type": "number"
        },
        "settle_rule": {
          "type": "string"
        },
        "observed_outcome": {
          "type": "string",
          "description": "generated by the builder from the fields unless observed_outcome_override is set"
        },
        "observed_outcome_override": {
          "type": [
            "string",
            "null"
          ],
          "description": "hand-written when the mechanism is the finding"
        },
        "qualifications": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "note_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "record_file": {
          "type": "string",
          "description": "file name of the run record under the post's records/ directory"
        },
        "run_date": {
          "type": "string",
          "format": "date"
        },
        "generator_box": {
          "type": [
            "string",
            "null"
          ],
          "description": "machine the load generator ran on when it was not the SUT box"
        },
        "generator_busy_max_pct": {
          "$ref": "#/$defs/numOrNull",
          "description": "max sampled CPU-busy % of the generator box during the stage (whole box)"
        },
        "k6_cpu_max_pct": {
          "$ref": "#/$defs/numOrNull",
          "description": "max sampled k6 process CPU % (100 = one core)"
        },
        "is_ceiling_stage": {
          "type": "boolean",
          "description": "throughput_stage selected by the protocol's ceiling rule as the highest observed throughput"
        },
        "overload_behaviour": {
          "type": [
            "string",
            "null"
          ],
          "description": "what the accept path does under sustained overload, from source or documentation; separate from crash survival"
        },
        "supersedes": {
          "type": [
            "string",
            "null"
          ],
          "description": "observation_id of an earlier measurement of the same configuration and stage under an earlier protocol"
        },
        "superseded_by": {
          "type": [
            "string",
            "null"
          ],
          "description": "observation_id of the later measurement that replaces this one for headline use"
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "record_type": {
                "const": "failure_test"
              }
            }
          },
          "then": {
            "required": [
              "failure_scope",
              "kill_at_s",
              "restart_by_driver_at_s",
              "recovery",
              "restart_policy_text",
              "restart_policy_fired",
              "restart_policy_observation"
            ]
          }
        },
        {
          "if": {
            "properties": {
              "record_type": {
                "const": "throughput_stage"
              }
            }
          },
          "then": {
            "required": [
              "achieved_rate",
              "rate_bound",
              "dropped_iterations",
              "stored_settle_s",
              "settle_rule"
            ]
          }
        }
      ]
    },
    "strOrNull": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "#/$defs/typedNull"
        }
      ]
    },
    "tracker_client_observation": {
      "type": "object",
      "description": "One measured browser script of one tool: bytes, main-thread cost at each CPU throttle, requests, filter-list exposure per deployment shape, and the code-read behaviour columns. Behaviour and blocking fields are required on file_role core rows; other rows carry typed nulls.",
      "required": [
        "observation_id",
        "run_id",
        "configuration_id",
        "posts",
        "record_path",
        "subject",
        "subject_version",
        "subject_digests",
        "axis",
        "protocol",
        "protocol_version",
        "record_type",
        "run_date",
        "fetched_date",
        "source_url",
        "file_name",
        "file_role",
        "bytes_raw",
        "bytes_gzip",
        "bytes_brotli",
        "eval_ms",
        "eval_trials",
        "extra_requests",
        "extra_requests_detail",
        "ingest_request",
        "block_results",
        "event_id",
        "retry",
        "spa_capture",
        "dnt_gpc",
        "storage",
        "cookies",
        "transport",
        "gzip_payload",
        "observed_outcome",
        "qualifications",
        "note_ids"
      ],
      "properties": {
        "observation_id": {
          "type": "string"
        },
        "run_id": {
          "type": "string"
        },
        "configuration_id": {
          "type": "string"
        },
        "posts": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "record_path": {
          "type": "string",
          "description": "path inside the evidence bundle"
        },
        "record_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "record_sha256": {
          "type": [
            "string",
            "null"
          ]
        },
        "record_file": {
          "type": "string",
          "description": "file name of the run record under the post's records/ directory"
        },
        "subject": {
          "type": "string"
        },
        "subject_version": {
          "type": "string",
          "description": "tool/script version the file was fetched at"
        },
        "subject_digests": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "sha256 of the measured file(s)"
        },
        "axis": {
          "enum": [
            "pageview",
            "error_envelope",
            "telemetry_row"
          ]
        },
        "protocol": {
          "const": "tracker-client"
        },
        "protocol_version": {
          "type": "string"
        },
        "record_type": {
          "const": "tracker_client"
        },
        "run_date": {
          "type": "string",
          "format": "date"
        },
        "fetched_date": {
          "type": "string",
          "format": "date",
          "description": "date the script bytes were fetched"
        },
        "source_url": {
          "type": "string",
          "description": "where the measured bytes came from: URL, container image path, or npm package + build"
        },
        "source_note": {
          "type": [
            "string",
            "null"
          ]
        },
        "file_name": {
          "type": "string"
        },
        "file_role": {
          "enum": [
            "core",
            "recorder",
            "full_bundle",
            "variant"
          ],
          "description": "core = the file the vendor's default install snippet loads; recorder = lazily loaded replay chunk; full_bundle = everything eager; variant = an alternative default (v2 script, extended script)"
        },
        "bytes_raw": {
          "type": "integer"
        },
        "bytes_gzip": {
          "type": "integer",
          "description": "gzip -9"
        },
        "bytes_brotli": {
          "type": "integer",
          "description": "brotli -q 11"
        },
        "eval_ms": {
          "type": "object",
          "required": [
            "1",
            "4",
            "6"
          ],
          "properties": {
            "1": {
              "$ref": "#/$defs/numOrNull"
            },
            "4": {
              "$ref": "#/$defs/numOrNull"
            },
            "6": {
              "$ref": "#/$defs/numOrNull"
            }
          },
          "additionalProperties": false,
          "description": "median parse+compile+top-level-evaluate ms with no config, keyed by CDP CPU throttling rate"
        },
        "eval_trials": {
          "type": "integer"
        },
        "extra_requests": {
          "$ref": "#/$defs/intOrNull",
          "description": "requests a configured client makes before its first event, besides the event itself"
        },
        "extra_requests_detail": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ingest_request": {
          "$ref": "#/$defs/strOrNull",
          "description": "method, request type and URL shape of the default ingest call as observed"
        },
        "block_results": {
          "type": "array",
          "description": "filter-engine result per deployment shape x request; blocked_by lists the lists that matched with the exact filter line; default marks the requests a default install makes",
          "items": {
            "type": "object",
            "required": [
              "shape",
              "kind",
              "request",
              "type",
              "url",
              "blocked_by",
              "default"
            ],
            "properties": {
              "shape": {
                "type": "string"
              },
              "kind": {
                "enum": [
                  "script",
                  "ingest"
                ]
              },
              "request": {
                "type": "string"
              },
              "method": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "blocked_by": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "list",
                    "filter"
                  ],
                  "properties": {
                    "list": {
                      "type": "string"
                    },
                    "filter": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                }
              },
              "default": {
                "type": "boolean",
                "description": "true when the request is part of the tool's default install (the file the snippet loads, the event send, and any call the client makes on its own before the first event); false for optional files, alternative names and legacy shapes"
              }
            }
          }
        },
        "event_id": {
          "$ref": "#/$defs/boolOrNull",
          "description": "the client attaches a per-event id it keeps across retries"
        },
        "event_id_evidence": {
          "type": [
            "string",
            "null"
          ]
        },
        "retry": {
          "oneOf": [
            {
              "enum": [
                "none",
                "memory",
                "persisted"
              ]
            },
            {
              "$ref": "#/$defs/typedNull"
            }
          ]
        },
        "retry_evidence": {
          "type": [
            "string",
            "null"
          ]
        },
        "retry_measured": {
          "type": "boolean",
          "description": "true when the retry was observed in the discovery run, not only read from code"
        },
        "spa_capture": {
          "$ref": "#/$defs/boolOrNull",
          "description": "history.pushState/replaceState hooked for automatic route pageviews"
        },
        "dnt_gpc": {
          "oneOf": [
            {
              "enum": [
                "none",
                "opt_in",
                "gpc_always"
              ]
            },
            {
              "$ref": "#/$defs/typedNull"
            }
          ],
          "description": "none = no doNotTrack/globalPrivacyControl code; opt_in = honoured only when the integrator enables it; gpc_always = GPC honoured unconditionally"
        },
        "storage": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "keys written or read by default (localStorage/sessionStorage/cookie names)"
        },
        "cookies": {
          "$ref": "#/$defs/boolOrNull",
          "description": "sets a cookie by default"
        },
        "transport": {
          "type": "array",
          "items": {
            "enum": [
              "fetch_keepalive",
              "fetch",
              "xhr",
              "sendbeacon",
              "image"
            ]
          }
        },
        "gzip_payload": {
          "$ref": "#/$defs/boolOrNull"
        },
        "observed_outcome": {
          "type": "string"
        },
        "observed_outcome_override": {
          "type": [
            "string",
            "null"
          ]
        },
        "qualifications": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "note_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "supersedes": {
          "type": [
            "string",
            "null"
          ]
        },
        "superseded_by": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "counting_observation": {
      "type": "object",
      "description": "One metric of one tool in one run of counting/1: the ground-truth value derived from the generator timeline under the tool's own definition, the value the tool's stats API reported, the value read from its store, and the deltas. Tools without a visitor/pageview model (error and telemetry tools) carry not_applicable rows so profile pages can aggregate them.",
      "required": [
        "observation_id",
        "run_id",
        "configuration_id",
        "posts",
        "record_path",
        "subject",
        "subject_version",
        "axis",
        "box",
        "protocol",
        "protocol_version",
        "record_type",
        "run_date",
        "seed",
        "scale",
        "metric",
        "truth_value",
        "tool_value_api",
        "tool_value_store",
        "delta_pct",
        "delta_pct_api",
        "delta_abs",
        "delta_abs_api",
        "definition",
        "reconciliation_method",
        "notes",
        "deviations",
        "observed_outcome",
        "qualifications",
        "note_ids"
      ],
      "properties": {
        "observation_id": {
          "type": "string",
          "description": "counting/<run_id>/<tool>/<metric>, as emitted by the harness"
        },
        "run_id": {
          "type": "string",
          "description": "A (60 modelled minutes, seed 1, 1x, 5% bots), B (15 min, seed 2, 1x), C (15 min, seed 3, 10x); L marks a local smoke"
        },
        "configuration_id": {
          "type": "string"
        },
        "posts": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "record_path": {
          "$ref": "#/$defs/strOrNull",
          "description": "path of the read record inside the harness output (count-<tool>/<run>/read-<tool>.json); typed null on not_applicable rows"
        },
        "record_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "record_sha256": {
          "type": [
            "string",
            "null"
          ]
        },
        "record_file": {
          "type": "string",
          "description": "file name of the run record under the post's records/ directory (the read record: every query and endpoint with its raw result)"
        },
        "subject": {
          "type": "string"
        },
        "subject_version": {
          "type": "string",
          "description": "tool version and image digest as the driver recorded them; empty on not_applicable rows"
        },
        "subject_digests": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "axis": {
          "enum": [
            "pageview",
            "error_envelope",
            "telemetry_row"
          ]
        },
        "box": {
          "type": "string",
          "description": "e2-standard-2 for every tool except PostHog (e2-standard-4, its kit's pre-registered escape hatch); local-docker marks a laptop smoke"
        },
        "box_note": {
          "type": [
            "string",
            "null"
          ]
        },
        "protocol": {
          "const": "counting"
        },
        "protocol_version": {
          "type": "string"
        },
        "record_type": {
          "const": "counting"
        },
        "run_date": {
          "type": "string",
          "format": "date"
        },
        "seed": {
          "$ref": "#/$defs/intOrNull",
          "description": "generator seed of the run"
        },
        "scale": {
          "$ref": "#/$defs/numOrNull",
          "description": "generator volume multiplier (1 = the fitted production rate, 10 = the 10x run)"
        },
        "minutes": {
          "$ref": "#/$defs/numOrNull",
          "description": "modelled minutes of the run window (the timeline runs past it)"
        },
        "speed": {
          "$ref": "#/$defs/numOrNull",
          "description": "replay speed; the protocol runs at 1 (real time)"
        },
        "site": {
          "type": [
            "string",
            "null"
          ],
          "description": "the per-run site or domain the tool was read under"
        },
        "read_at_utc": {
          "type": [
            "string",
            "null"
          ]
        },
        "metric": {
          "type": "string",
          "description": "one of the definitions keys: visitors_human, pageviews_human, custom_events, identify_events, sessions_30min, bounce_rate_pct, bot_pageviews_stored, external_referrer_pageviews, external_referrer_visits, device_desktop_people, device_tablet_people, device_mobile_people, visits_vendor_headline, unparsed_ua_pageviews, pageviews_path_<class>, requests_sent|acked|dropped|rejected|errors, requests_status_<code>"
        },
        "truth_value": {
          "$ref": "#/$defs/numOrNull"
        },
        "tool_value_api": {
          "$ref": "#/$defs/numOrNull",
          "description": "what the tool's stats API (the dashboard number) reported; typed null with a note when the API has no such number"
        },
        "tool_value_store": {
          "$ref": "#/$defs/numOrNull",
          "description": "what a direct read of the tool's store returned; on requests_* rows the replayer's own accounting"
        },
        "delta_pct": {
          "$ref": "#/$defs/numOrNull",
          "description": "(tool_value_store - truth_value) / truth_value x 100; not_applicable when either side is null or truth is 0"
        },
        "delta_pct_api": {
          "$ref": "#/$defs/numOrNull"
        },
        "delta_abs": {
          "$ref": "#/$defs/numOrNull",
          "description": "tool_value_store - truth_value in the metric's own unit (rows, people, or points for rates)"
        },
        "delta_abs_api": {
          "$ref": "#/$defs/numOrNull"
        },
        "definition": {
          "type": "string",
          "description": "the tool's own definition of the metric, as the reader recorded it (bounce rows are prefixed with the definition id: 1_event, 1_pageview, posthog_bounce, matomo_bounce)"
        },
        "reconciliation_method": {
          "enum": [
            "count_comparison",
            "event_id_matching",
            "documented_correction"
          ]
        },
        "notes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "free-text facts the harness attached to the row (bots_sent, by_status, truth under the other bounce definitions); the numbered, quotable notes are note_ids"
        },
        "deviations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "observed_outcome": {
          "type": "string",
          "description": "generated by the builder from the fields unless observed_outcome_override is set"
        },
        "observed_outcome_override": {
          "type": [
            "string",
            "null"
          ]
        },
        "qualifications": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "note_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "supersedes": {
          "type": [
            "string",
            "null"
          ]
        },
        "superseded_by": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": false
    }
  }
}
