{
  "contract": "kaldenframe.clock-interpretation-probe.v1",
  "probe_id": "synthetic_clock_probe_adversarial",
  "reference": {
    "dataset_id": "reference_clock",
    "path": "reference.csv",
    "format": "csv",
    "timestamp_column": "reference_time",
    "entity_columns": ["entity"]
  },
  "candidate": {
    "dataset_id": "candidate_clock",
    "path": "candidate.csv",
    "format": "csv",
    "timestamp_column": "candidate_time",
    "entity_columns": ["entity"],
    "interpretations": [
      {
        "interpretation_id": "fixed_minus_four",
        "mode": "NAIVE_FIXED_OFFSET",
        "offset_minutes": -240
      },
      {
        "interpretation_id": "fixed_minus_five",
        "mode": "NAIVE_FIXED_OFFSET",
        "offset_minutes": -300
      },
      {
        "interpretation_id": "new_york_zone",
        "mode": "NAIVE_IANA_ZONE",
        "zone": "America/New_York"
      },
      {
        "interpretation_id": "explicit_rfc3339",
        "mode": "EXPLICIT_RFC3339"
      }
    ]
  },
  "matching": {
    "direction": "BACKWARD",
    "tolerance_seconds": 0,
    "minimum_coverage_basis_points": 5000,
    "minimum_gap_basis_points": 1000
  },
  "limits": {
    "max_file_bytes": 100000,
    "max_rows_per_dataset": 1000,
    "max_interpretations": 8
  }
}
