{
  "conformance": {
    "checked": 2,
    "counts": {
      "SKIPPED": 2
    },
    "missing": [
      "orekit_jpype not importable (ModuleNotFoundError: No module named 'orekit_jpype'); pip install 'satnogs-optical-network[od]'",
      "no JVM (JAVA_HOME unset and no 'java' on PATH)",
      "orekit-data not found (set OREKIT_DATA_PATH to the orekit-data zip or directory, or put orekit-data.zip in the working directory)"
    ],
    "note": "Orekit is the conformance authority (ADR 0014). SKIPPED means it did not run here; it does not mean the file conforms. NOT_RUN means nothing was checked at all, which is not a pass either. This deployment does not carry a JVM, by decision (network #11): the gate runs on bench machines that install the optional [od] extra, not on the deployed service.",
    "status": "SKIPPED",
    "structural_problems": []
  },
  "correlation_metrics": {
    "basis": "correlation",
    "correlation_run_id": 776,
    "note": "counts here move when correlation improves; the five primary metrics do not (see docs/decisions/0002-unk-participants.md)",
    "objects": 176,
    "objects_not_in_advisory": 41,
    "tracks_resolved_beyond_advisory": 72,
    "tracks_with_object": 228,
    "tracks_without_object": 82,
    "unk_designations": 65
  },
  "correlation_run_id": 776,
  "correlation_version": 4,
  "date": "2026-09-17",
  "epoch_collisions": {
    "detail": [
      {
        "epoch": "2026-09-17T19:33:15.242436",
        "excluded_measurements": 3,
        "kind": "contradictory",
        "measurements": [
          "389a92c3-f6d2-5137-b6e8-687eb20e4065",
          "8e1bcea4-9810-5427-8367-61a172e4d586",
          "fbdd2e8d-6c1a-5376-875d-fa29fa49731e"
        ],
        "object_norad_id": 65452,
        "positions": [
          "49.023848 60.298445",
          "53.153559 59.707270",
          "53.943292 59.575916"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74429,
          74430,
          74433
        ],
        "station_id": 11,
        "track_id": 74429
      },
      {
        "epoch": "2026-09-17T21:25:32.230105",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "5c563e5d-0bfb-58e9-8ff3-9d2896b74360",
          "5e6a0553-7f85-5f9b-99dd-549ed5856791"
        ],
        "object_norad_id": 47532,
        "positions": [
          "85.323973 53.237410",
          "85.426019 53.923865"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74475,
          74478
        ],
        "station_id": 11,
        "track_id": 74475
      },
      {
        "epoch": "2026-09-17T21:29:50.193321",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "0525e994-dae6-5504-8881-f11e82cd5a02",
          "a6855d32-c8e2-50dd-be83-8cfad6474093"
        ],
        "object_norad_id": 36121,
        "positions": [
          "85.468607 58.078295",
          "87.376119 57.608096"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74480,
          74481
        ],
        "station_id": 11,
        "track_id": 74480
      },
      {
        "epoch": "2026-09-17T21:30:21.726006",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "42550602-660e-5fcf-b69b-1612baa866f3",
          "ddd60586-6119-5dd8-8b14-5aa9a7cdb00e"
        ],
        "object_norad_id": 36121,
        "positions": [
          "76.522530 59.764823",
          "77.458516 59.629977"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74481,
          74482
        ],
        "station_id": 11,
        "track_id": 74481
      },
      {
        "epoch": "2026-09-17T21:30:32.137221",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "0f5b44a7-44aa-5f64-837c-7c32f59d0dfb",
          "351a258d-9087-5236-be8d-1b659f1cbd0d"
        ],
        "object_norad_id": 36121,
        "positions": [
          "73.901525 60.109802",
          "75.216078 59.948547"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74482,
          74483
        ],
        "station_id": 11,
        "track_id": 74482
      },
      {
        "epoch": "2026-09-17T21:32:51.382131",
        "excluded_measurements": 3,
        "kind": "contradictory",
        "measurements": [
          "37f8bb48-0f83-503c-abec-b5753a9c8b93",
          "65b4d344-5286-5db4-9f94-b5e40fc18eb2",
          "883e080a-6843-5386-8a88-a4a963ae8790"
        ],
        "object_norad_id": 18710,
        "positions": [
          "85.914783 54.825809",
          "86.347185 54.780046",
          "87.293170 54.708115"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74484,
          74485,
          74486
        ],
        "station_id": 11,
        "track_id": 74484
      },
      {
        "epoch": "2026-09-17T21:37:57.506807",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "0900c0c7-e1ae-50e4-a2c0-b4689629f409",
          "4e09bba8-6790-533f-8592-0d62a0482c14"
        ],
        "object_norad_id": 25695,
        "positions": [
          "83.421556 54.899156",
          "83.689078 54.188747"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74489,
          74490
        ],
        "station_id": 11,
        "track_id": 74489
      },
      {
        "epoch": "2026-09-17T22:38:32.516492",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "2600255b-d4b1-5d5e-a341-ac99ca63368f",
          "beec065b-ac5d-5098-bc27-7e13363ef2a2"
        ],
        "object_norad_id": 42811,
        "positions": [
          "111.533283 57.492405",
          "112.005583 57.429939"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74518,
          74519
        ],
        "station_id": 11,
        "track_id": 74518
      },
      {
        "epoch": "2026-09-17T23:04:01.628087",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "72116f3d-160a-500a-98f3-3e5cc81d4b83",
          "a8db978d-17b5-5a1c-8f71-7887ca8bd42f"
        ],
        "object_norad_id": 56168,
        "positions": [
          "104.857778 61.957435",
          "106.270415 61.745074"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74551,
          74552
        ],
        "station_id": 11,
        "track_id": 74551
      },
      {
        "epoch": "2026-09-17T23:19:08.369337",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "2552c3c8-859d-502f-b0d2-c9898298a3af",
          "3e364727-5c60-5eb1-8ebc-d2cd22c1f48b"
        ],
        "object_norad_id": 4783,
        "positions": [
          "111.810991 58.035740",
          "99.434524 61.483396"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74569,
          74570
        ],
        "station_id": 11,
        "track_id": 74569
      },
      {
        "epoch": "2026-09-18T00:17:41.716769",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "5271579c-4868-566c-9e57-59df1ed40d2c",
          "bb5af4db-4244-52a9-b15f-621ebdafb367"
        ],
        "object_norad_id": 47695,
        "positions": [
          "113.298663 60.930502",
          "115.028237 59.248112"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74618,
          74619
        ],
        "station_id": 11,
        "track_id": 74618
      },
      {
        "epoch": "2026-09-18T01:13:24.323118",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "893eda26-8163-5488-871e-99b82be3febc",
          "d69ba879-9eda-5cc9-8bbe-821008adc992"
        ],
        "object_norad_id": 40341,
        "positions": [
          "140.785423 59.001862",
          "140.797979 58.646081"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74630,
          74631
        ],
        "station_id": 11,
        "track_id": 74630
      },
      {
        "epoch": "2026-09-18T02:35:33.843485",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "3dc175cc-ccaf-56a7-84c2-40e3c7ae4214",
          "d7c5e168-7030-53db-99e5-621f82c0f3ca"
        ],
        "object_norad_id": 61565,
        "positions": [
          "160.915241 60.932206",
          "162.068065 60.931085"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74663,
          74664
        ],
        "station_id": 11,
        "track_id": 74663
      },
      {
        "epoch": "2026-09-18T02:39:53.615646",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "7cd87a72-2043-5400-a9c4-f39f76e63834",
          "ca19b1df-012d-5edd-8b9a-90aa41b2df16"
        ],
        "object_norad_id": 15482,
        "positions": [
          "150.572104 61.947404",
          "153.154977 61.300392"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74668,
          74669
        ],
        "station_id": 11,
        "track_id": 74668
      },
      {
        "epoch": "2026-09-18T02:54:49.359466",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "8b957a34-a642-5c39-a91e-127511b26a3c",
          "c59ccb13-03b9-510e-8d44-f091b9670a7f"
        ],
        "object_norad_id": 64358,
        "positions": [
          "172.126089 60.720592",
          "172.876162 60.634061"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74689,
          74690
        ],
        "station_id": 11,
        "track_id": 74689
      },
      {
        "epoch": "2026-09-18T02:59:10.529760",
        "excluded_measurements": 2,
        "kind": "contradictory",
        "measurements": [
          "28f85dbc-c387-5240-a140-dac3f86cb3b5",
          "bbff7c33-72fd-5a5e-9351-d58343cb4764"
        ],
        "object_norad_id": 64956,
        "positions": [
          "173.212890 57.033254",
          "174.291738 57.072527"
        ],
        "published_observations": 0,
        "scope": "sibling-tracks",
        "sibling_track_ids": [
          74694,
          74696
        ],
        "station_id": 11,
        "track_id": 74694
      }
    ],
    "detail_omitted": 0,
    "epochs": 16,
    "measurements_excluded": 34,
    "note": "one epoch stated twice costs its own measurements, never the session: a repeated epoch is published once, a contradicted one is published not at all, and every excluded row is still in the parquet archive. Counted over tracks with a correlated object, which are the only tracks a TDM is written for. See docs/decisions/0004-duplicate-epochs.md",
    "tracks": 16,
    "tracks_left_without_observations": 17
  },
  "generated_at": "2026-09-22T22:45:19.622473Z",
  "generation_id": "a34adced24fc8615e474eb8d9a726dc78142a45b29a978b6b0503ad548961ff4",
  "generator": "satnogs_optical_network.products",
  "iod": {
    "11": {
      "identified_lines": 25397,
      "identified_tracks": 190,
      "lines": 27994,
      "skipped": 0,
      "skipped_reasons": [],
      "unk_lines": 2597,
      "unk_tracks": 60,
      "wide_id_tracks": 0
    },
    "7": {
      "identified_lines": 2229,
      "identified_tracks": 38,
      "lines": 2474,
      "skipped": 0,
      "skipped_reasons": [],
      "unk_lines": 245,
      "unk_tracks": 5,
      "wide_id_tracks": 0
    }
  },
  "layout": {
    "generation_dir": "session_date=2026-09-17/generations/a34adced24fc8615e474eb8d9a726dc78142a45b29a978b6b0503ad548961ff4",
    "measurements": "measurements.parquet",
    "note": "Resolve products through this manifest. Retained generations must not be combined with a recursive Parquet wildcard.",
    "session_dir": "session_date=2026-09-17",
    "stations": "stations",
    "tracks": "tracks.parquet"
  },
  "metrics": {
    "measurements": 30533,
    "objects": 140,
    "stations": 2,
    "tracks": 310,
    "unk_tracks": 148
  },
  "metrics_basis": "as-ingested",
  "packaging": {
    "note": "TDM file count is a packaging artifact, not a headline metric: it both overstates the claim to experts and understates the data volume (ADR 0010). tdm_observations is the count actually read back out of the published station-night TDMs and checked against the measurement rows; it is the number to compare a published file against. tdm_tracks is the number of segments across them.",
    "tdm_files": 2,
    "tdm_observations": 27592,
    "tdm_observations_expected": 27592,
    "tdm_observations_verified": true,
    "tdm_tracks": 211
  },
  "per_station": [
    {
      "epoch_collisions": 0,
      "iod": {
        "identified_lines": 2229,
        "identified_tracks": 38,
        "lines": 2474,
        "skipped": 0,
        "skipped_reasons": [],
        "unk_lines": 245,
        "unk_tracks": 5,
        "wide_id_tracks": 0
      },
      "iod_station_code": "7",
      "measurements": 2474,
      "name": "Drachten",
      "objects": 22,
      "station_id": 7,
      "tdm_tracks": 38,
      "tracks": 43,
      "unk_tracks": 21
    },
    {
      "epoch_collisions": 16,
      "iod": {
        "identified_lines": 25397,
        "identified_tracks": 190,
        "lines": 27994,
        "skipped": 0,
        "skipped_reasons": [],
        "unk_lines": 2597,
        "unk_tracks": 60,
        "wide_id_tracks": 0
      },
      "iod_station_code": "11",
      "measurements": 28059,
      "name": "dwingeloo",
      "objects": 122,
      "station_id": 11,
      "tdm_tracks": 190,
      "tracks": 267,
      "unk_tracks": 127
    }
  ],
  "products": [
    {
      "bytes": 9548,
      "conformance": null,
      "kind": "characterisation-station",
      "path": "session_date=2026-09-17/generations/a34adced24fc8615e474eb8d9a726dc78142a45b29a978b6b0503ad548961ff4/stations/station-11.json",
      "scope": "station-night",
      "scope_key": "11-2026-09-17",
      "sha256": "96f751e855e93987c413cf3f25cb828d892269dbbe87dfa52601a8da46176b3e"
    },
    {
      "bytes": 9652,
      "conformance": null,
      "kind": "characterisation-station",
      "path": "session_date=2026-09-17/generations/a34adced24fc8615e474eb8d9a726dc78142a45b29a978b6b0503ad548961ff4/stations/station-7.json",
      "scope": "station-night",
      "scope_key": "7-2026-09-17",
      "sha256": "c7f33130124912468df42a5094dfbb69c20da5add9f2e552b95c4d1c65a73ac5"
    },
    {
      "bytes": 1875598,
      "conformance": null,
      "kind": "iod-station-night",
      "path": "session_date=2026-09-17/generations/a34adced24fc8615e474eb8d9a726dc78142a45b29a978b6b0503ad548961ff4/iod/station-11-2026-09-17.iod",
      "scope": "station-night",
      "scope_key": "11-2026-09-17",
      "sha256": "53859a954fa47edef57097bbbf8a5047827c3f474c0cf2d61aa5f6ec741dcd79"
    },
    {
      "bytes": 165758,
      "conformance": null,
      "kind": "iod-station-night",
      "path": "session_date=2026-09-17/generations/a34adced24fc8615e474eb8d9a726dc78142a45b29a978b6b0503ad548961ff4/iod/station-7-2026-09-17.iod",
      "scope": "station-night",
      "scope_key": "7-2026-09-17",
      "sha256": "63222eab6d9b5d91a1f150c6cc95a795ae72b62c0572d9b13c8716f4c9cf2d88"
    },
    {
      "bytes": 3191603,
      "conformance": null,
      "kind": "parquet-session",
      "path": "session_date=2026-09-17/generations/a34adced24fc8615e474eb8d9a726dc78142a45b29a978b6b0503ad548961ff4/measurements.parquet",
      "scope": "session",
      "scope_key": "2026-09-17",
      "sha256": "ca20ed2134ba44369ab89bcc6b569d0090152748e8cd302acc5f2f8371754d34"
    },
    {
      "bytes": 31530,
      "conformance": null,
      "kind": "parquet-tracks",
      "path": "session_date=2026-09-17/generations/a34adced24fc8615e474eb8d9a726dc78142a45b29a978b6b0503ad548961ff4/tracks.parquet",
      "scope": "session",
      "scope_key": "2026-09-17",
      "sha256": "b99b2bbea1a823ef3ba1a172afa242f0cebceb6d3a9e133bc5b381df07e42dfd"
    },
    {
      "bytes": 3015942,
      "conformance": "SKIPPED: Orekit conformance NOT VERIFIED for station-11-2026-09-17.tdm: orekit_jpype not importable (ModuleNotFoundError: No module named 'orekit_jpype'); pip install 'satnogs-optical-network[od]'; no JVM (JAVA_HOME unset and no 'java' on PATH); orekit-data not found (set OREKIT_DATA_PATH to the orekit-data zip or directory, or put orekit-data.zip in the working directory). Offline structural check: clean.",
      "kind": "tdm-station-night",
      "observations": 25363,
      "path": "session_date=2026-09-17/generations/a34adced24fc8615e474eb8d9a726dc78142a45b29a978b6b0503ad548961ff4/tdm/station-11-2026-09-17.tdm",
      "scope": "station-night",
      "scope_key": "11-2026-09-17",
      "sha256": "6544ae343815a3d1e2637fdd988cf4acb346298fd91a0daf3a4b3b9103baaf2c"
    },
    {
      "bytes": 292879,
      "conformance": "SKIPPED: Orekit conformance NOT VERIFIED for station-7-2026-09-17.tdm: orekit_jpype not importable (ModuleNotFoundError: No module named 'orekit_jpype'); pip install 'satnogs-optical-network[od]'; no JVM (JAVA_HOME unset and no 'java' on PATH); orekit-data not found (set OREKIT_DATA_PATH to the orekit-data zip or directory, or put orekit-data.zip in the working directory). Offline structural check: clean.",
      "kind": "tdm-station-night",
      "observations": 2229,
      "path": "session_date=2026-09-17/generations/a34adced24fc8615e474eb8d9a726dc78142a45b29a978b6b0503ad548961ff4/tdm/station-7-2026-09-17.tdm",
      "scope": "station-night",
      "scope_key": "7-2026-09-17",
      "sha256": "20a8e96a4141a2b7b099bc79edb2fd4bfbf07dd8930b4ed12e3fc0238dd966ea"
    }
  ],
  "quarantined_excluded": 0,
  "station": [
    7,
    11
  ],
  "stations": [
    7,
    11
  ],
  "tdm_excluded_epoch_collisions": 34,
  "tdm_skipped_no_observations": 17,
  "tdm_skipped_unk": 82
}
