{
  "schemaVersion": 1,
  "experiment": "hdf5-process-exit",
  "evidenceType": "measured-api-behavior",
  "generatedAt": "2026-10-17T17:37:07.391907+00:00",
  "repetitions": 3,
  "casesPerRepetition": 4,
  "sourceSha256": "9c6ff26069040ec3e0167536bee3a77f4aa52b081108b70ca23e39379ab64f03",
  "requirementsSha256": "1562cd45452194a553bb9af837d31e54fb70bb0f83af365693aaa6c672957e1a",
  "environment": {
    "python": "3.12.3",
    "kernel": "6.8.0-146-generic",
    "machine": "x86_64",
    "h5py": "3.15.0",
    "hdf5": "1.14.6",
    "numpy": "2.3.3",
    "filesystem": "ext2/ext3",
    "driver": "sec2",
    "libver": "latest",
    "multiprocessing": "spawn",
    "HDF5_USE_FILE_LOCKING": null
  },
  "method": "Four fresh files per repetition. A spawned writer flushes two integer payloads and optionally a publication count, then closes normally or calls os._exit(73). After join, the parent reads the v3 superblock flag byte and attempts fresh ordinary and SWMR read-only opens. No writer is active during either read.",
  "limits": "One host and selected post-flush boundaries only. No power loss, reboot, kernel crash, torn write, fsync trace, concurrent writer, in-flight I/O interruption or recovery-tool execution. OS and device caches remain available. Synthetic inputs are not sensor measurements; repeats do not estimate failure probabilities. The header parser supports only this harness's no-user-block version-3 files.",
  "license": "CC0-1.0 for original harness and observations; upstream licenses unchanged.",
  "observations": [
    {
      "repetition": 1,
      "case": "clean-published",
      "writerExitCode": 0,
      "statusFlags": 0,
      "ordinaryRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 1,
        "selectedPrefix": [
          [
            10,
            100
          ]
        ]
      },
      "swmrRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 1,
        "selectedPrefix": [
          [
            10,
            100
          ]
        ]
      }
    },
    {
      "repetition": 1,
      "case": "exit-unpublished",
      "writerExitCode": 73,
      "statusFlags": 5,
      "ordinaryRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is already open for write (may use <h5clear file> to clear file consistency flags))"
      },
      "swmrRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 0,
        "selectedPrefix": []
      }
    },
    {
      "repetition": 1,
      "case": "exit-published",
      "writerExitCode": 73,
      "statusFlags": 5,
      "ordinaryRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is already open for write (may use <h5clear file> to clear file consistency flags))"
      },
      "swmrRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 1,
        "selectedPrefix": [
          [
            10,
            100
          ]
        ]
      }
    },
    {
      "repetition": 1,
      "case": "exit-non-swmr",
      "writerExitCode": 73,
      "statusFlags": 1,
      "ordinaryRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is already open for write (may use <h5clear file> to clear file consistency flags))"
      },
      "swmrRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is not already open for SWMR writing)"
      }
    },
    {
      "repetition": 2,
      "case": "clean-published",
      "writerExitCode": 0,
      "statusFlags": 0,
      "ordinaryRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 1,
        "selectedPrefix": [
          [
            10,
            100
          ]
        ]
      },
      "swmrRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 1,
        "selectedPrefix": [
          [
            10,
            100
          ]
        ]
      }
    },
    {
      "repetition": 2,
      "case": "exit-unpublished",
      "writerExitCode": 73,
      "statusFlags": 5,
      "ordinaryRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is already open for write (may use <h5clear file> to clear file consistency flags))"
      },
      "swmrRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 0,
        "selectedPrefix": []
      }
    },
    {
      "repetition": 2,
      "case": "exit-published",
      "writerExitCode": 73,
      "statusFlags": 5,
      "ordinaryRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is already open for write (may use <h5clear file> to clear file consistency flags))"
      },
      "swmrRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 1,
        "selectedPrefix": [
          [
            10,
            100
          ]
        ]
      }
    },
    {
      "repetition": 2,
      "case": "exit-non-swmr",
      "writerExitCode": 73,
      "statusFlags": 1,
      "ordinaryRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is already open for write (may use <h5clear file> to clear file consistency flags))"
      },
      "swmrRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is not already open for SWMR writing)"
      }
    },
    {
      "repetition": 3,
      "case": "clean-published",
      "writerExitCode": 0,
      "statusFlags": 0,
      "ordinaryRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 1,
        "selectedPrefix": [
          [
            10,
            100
          ]
        ]
      },
      "swmrRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 1,
        "selectedPrefix": [
          [
            10,
            100
          ]
        ]
      }
    },
    {
      "repetition": 3,
      "case": "exit-unpublished",
      "writerExitCode": 73,
      "statusFlags": 5,
      "ordinaryRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is already open for write (may use <h5clear file> to clear file consistency flags))"
      },
      "swmrRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 0,
        "selectedPrefix": []
      }
    },
    {
      "repetition": 3,
      "case": "exit-published",
      "writerExitCode": 73,
      "statusFlags": 5,
      "ordinaryRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is already open for write (may use <h5clear file> to clear file consistency flags))"
      },
      "swmrRead": {
        "opened": true,
        "x": [
          10
        ],
        "y": [
          100
        ],
        "watermark": 1,
        "selectedPrefix": [
          [
            10,
            100
          ]
        ]
      }
    },
    {
      "repetition": 3,
      "case": "exit-non-swmr",
      "writerExitCode": 73,
      "statusFlags": 1,
      "ordinaryRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is already open for write (may use <h5clear file> to clear file consistency flags))"
      },
      "swmrRead": {
        "opened": false,
        "errorType": "OSError",
        "error": "Unable to synchronously open file (file is not already open for SWMR writing)"
      }
    }
  ]
}
