{
  "schema_version": "1.0.0",
  "release_id": "synthetic-demo-v1",
  "episode": {
    "id": "episode-synthetic-0001",
    "environment": {
      "name": "Synthetic Navigation Lab",
      "version": "1.0.0",
      "configuration": {
        "map": "calibration-corridor",
        "coordinate_frame": "right-handed-z-up"
      }
    },
    "task": "move toward marker",
    "started_at_ns": 0,
    "ended_at_ns": 150000000,
    "terminal": {
      "reason": "sample_window_complete",
      "success": null
    }
  },
  "timebase": {
    "clock": "synthetic_simulation_monotonic",
    "unit": "nanosecond",
    "monotonic": true,
    "alignment_notes": "All values are synthetic. One record is emitted every 50 milliseconds."
  },
  "records": [
    {
      "timestamp_ns": 0,
      "observation": {
        "uri": "media/000000.rgb.synthetic",
        "media_type": "application/x.synthetic-rgb",
        "sha256": null
      },
      "action": {
        "raw": { "key_w": false, "mouse_dx": 0 },
        "normalized": { "move_forward": 0, "camera_yaw_delta_rad": 0 },
        "observed": true,
        "effective_timestamp_ns": 0
      },
      "state": { "position_m": [0, 0, 0], "yaw_rad": 0 },
      "outcome": { "progress": 0.31, "reward": null, "events": [] },
      "valid": { "observation": true, "action": true, "state": true }
    },
    {
      "timestamp_ns": 50000000,
      "observation": {
        "uri": "media/000001.rgb.synthetic",
        "media_type": "application/x.synthetic-rgb",
        "sha256": null
      },
      "action": {
        "raw": { "key_w": true, "mouse_dx": 3 },
        "normalized": { "move_forward": 1, "camera_yaw_delta_rad": 0.012 },
        "observed": true,
        "effective_timestamp_ns": 50000000
      },
      "state": { "position_m": [0.84, 0, 0], "yaw_rad": 0.012 },
      "outcome": { "progress": 0.36, "reward": null, "events": ["movement_started"] },
      "valid": { "observation": true, "action": true, "state": true }
    },
    {
      "timestamp_ns": 100000000,
      "observation": {
        "uri": "media/000002.rgb.synthetic",
        "media_type": "application/x.synthetic-rgb",
        "sha256": null
      },
      "action": {
        "raw": { "key_w": true, "mouse_dx": 0 },
        "normalized": { "move_forward": 1, "camera_yaw_delta_rad": 0 },
        "observed": true,
        "effective_timestamp_ns": 100000000
      },
      "state": { "position_m": [1.69, 0.01, 0], "yaw_rad": 0.012 },
      "outcome": { "progress": 0.42, "reward": null, "events": [] },
      "valid": { "observation": true, "action": true, "state": true }
    },
    {
      "timestamp_ns": 150000000,
      "observation": {
        "uri": "media/000003.rgb.synthetic",
        "media_type": "application/x.synthetic-rgb",
        "sha256": null
      },
      "action": {
        "raw": { "key_w": false, "mouse_dx": 0 },
        "normalized": { "move_forward": 0, "camera_yaw_delta_rad": 0 },
        "observed": true,
        "effective_timestamp_ns": 150000000
      },
      "state": { "position_m": [1.69, 0.01, 0], "yaw_rad": 0.012 },
      "outcome": { "progress": 0.42, "reward": null, "events": ["sample_window_complete"] },
      "valid": { "observation": true, "action": true, "state": true }
    }
  ],
  "provenance": {
    "collector": "ActionTrajectories synthetic example generator",
    "collection_method": "Hand-authored synthetic values for schema demonstration",
    "source_release": null,
    "transformations": [
      {
        "name": "synthetic-example",
        "version": "1.0.0",
        "parameters": { "contains_real_training_data": false }
      }
    ]
  },
  "rights": {
    "status": "approved",
    "commercial_training": false,
    "redistribution": true,
    "license_or_agreement": "CC0-1.0 for the synthetic metadata values",
    "reviewed_at": "2026-07-24",
    "notes": "No copyrighted media, personal data, customer data, or real gameplay is included."
  },
  "quality": {
    "technical_integrity": {
      "status": "pass",
      "method": "JSON Schema validation",
      "details": "Validated against ActionTrajectories Episode schema 1.0.0."
    },
    "temporal_alignment": {
      "status": "pass",
      "method": "Monotonic timestamp check",
      "details": "Synthetic timestamps increase by 50 milliseconds."
    },
    "semantic_validity": {
      "status": "pass",
      "method": "Manual synthetic-example review",
      "details": "Values are internally consistent and explicitly non-production."
    },
    "release_approved": true
  }
}
