{
  "schemaVersion": 1,
  "capturedAt": "2026-07-15T16:34:25.320Z",
  "evidenceLevel": "reproduced",
  "environment": {
    "node": "v22.23.1",
    "platform": "darwin",
    "arch": "arm64",
    "docker": {
      "clientVersion": "29.6.1",
      "serverVersion": "29.6.1",
      "serverOs": "linux",
      "serverArch": "arm64"
    },
    "images": {
      "collector": {
        "reference": "otel/opentelemetry-collector-contrib@sha256:125bdbeb7590cc1952c5b3430ecf14063568980c2c93d5b38676cc0446ed8108",
        "imageId": "sha256:125bdbeb7590cc1952c5b3430ecf14063568980c2c93d5b38676cc0446ed8108",
        "architecture": "arm64",
        "os": "linux",
        "sizeBytes": 101953079,
        "user": "10001:10001"
      },
      "jaeger": {
        "reference": "jaegertracing/jaeger@sha256:ede4864215be4cd85bd8c3129a2fea6c5713c5653c7282c429dba123014bc68b",
        "imageId": "sha256:ede4864215be4cd85bd8c3129a2fea6c5713c5653c7282c429dba123014bc68b",
        "architecture": "arm64",
        "os": "linux",
        "sizeBytes": 52823229,
        "user": "10001"
      },
      "storageHelper": {
        "reference": "busybox@sha256:39e0df8c4d65953b55c344f017e1ff2e0031a7454b3c24e6b76d402f207e315a",
        "imageId": "sha256:39e0df8c4d65953b55c344f017e1ff2e0031a7454b3c24e6b76d402f207e315a",
        "architecture": "arm64",
        "os": "linux",
        "sizeBytes": 821624,
        "user": null
      }
    }
  },
  "inputIdentity": [
    {
      "path": "compose.yaml",
      "bytes": 1782,
      "sha256": "2beee672fda360bc7937234feb7acba78819c4ee8cdcd20726a1cab17eaca476"
    },
    {
      "path": "config/otel-collector.yaml",
      "bytes": 965,
      "sha256": "b344cf010708db8cb8dae966c6ff1c6062f0ebc5e5a43a4be603c03ee312abef"
    },
    {
      "path": "config/jaeger-badger.yaml",
      "bytes": 1089,
      "sha256": "acfb16f2ad31e387af639d18e2419119d723caf5c403f2203402edb4f0e5d1eb"
    },
    {
      "path": "src/send-batch.mjs",
      "bytes": 2533,
      "sha256": "c21b2ef6a0b6d35f5ff58ec6c11ef0a2c9a705429f125d46bfe9c59a35518500"
    },
    {
      "path": "src/run-experiment.mjs",
      "bytes": 17514,
      "sha256": "0f30fd740c4ee77ef2316eaa267b30bab997bafbf8bfb64e2a2faafe54df5a16"
    }
  ],
  "contract": {
    "traceId": "d5000000000000000000000000000001",
    "queuedApplicationRequests": 3,
    "unavailableApplicationRequests": 1,
    "spansPerRequest": 1,
    "paddingBytesPerRequest": 1024,
    "queueCapacityBatches": 20,
    "queueConsumers": 1,
    "persistentStorage": "file_storage-bbolt",
    "fsync": true,
    "initialMountMode": "rw",
    "faultMountMode": "ro",
    "recoveryMountMode": "rw",
    "applicationAutomaticRetries": 0
  },
  "writableBaseline": {
    "attempts": [
      {
        "batchNumber": 1,
        "traceId": "d5000000000000000000000000000001",
        "spanId": "d500000000000001",
        "paddingBytes": 1024,
        "automaticRetries": 0,
        "elapsedMs": 23.988,
        "response": {
          "status": 200,
          "ok": true,
          "body": "{\"partialSuccess\":{}}"
        },
        "error": null
      },
      {
        "batchNumber": 2,
        "traceId": "d5000000000000000000000000000001",
        "spanId": "d500000000000002",
        "paddingBytes": 1024,
        "automaticRetries": 0,
        "elapsedMs": 18.452,
        "response": {
          "status": 200,
          "ok": true,
          "body": "{\"partialSuccess\":{}}"
        },
        "error": null
      },
      {
        "batchNumber": 3,
        "traceId": "d5000000000000000000000000000001",
        "spanId": "d500000000000003",
        "paddingBytes": 1024,
        "automaticRetries": 0,
        "elapsedMs": 19.399,
        "response": {
          "status": 200,
          "ok": true,
          "body": "{\"partialSuccess\":{}}"
        },
        "error": null
      }
    ],
    "metrics": {
      "acceptedSpans": 3,
      "refusedSpans": 0,
      "sentSpans": 0,
      "failedSpans": 0,
      "queueSizeBatches": 3,
      "queueCapacityBatches": 20,
      "enqueueFailedSpans": 0
    }
  },
  "readOnlyStartup": {
    "collectorReplaced": true,
    "state": {
      "status": "exited",
      "exitCode": 1,
      "oomKilled": false
    },
    "health": {
      "reachable": false,
      "errorName": "TypeError",
      "errorCode": "ECONNREFUSED"
    },
    "unavailableAttempt": {
      "batchNumber": 4,
      "traceId": "d5000000000000000000000000000001",
      "spanId": "d500000000000004",
      "paddingBytes": 1024,
      "automaticRetries": 0,
      "elapsedMs": 13.284,
      "response": null,
      "error": {
        "name": "TypeError",
        "code": "ECONNREFUSED"
      }
    },
    "log": {
      "matchingLineCount": 4,
      "mentionsReadOnlyFilesystem": true,
      "mentionsPermissionDenied": false,
      "mentionsContainerQueuePath": true,
      "leaksDockerVolumeMountpoint": false
    },
    "before": {
      "label": "before-read-only-start",
      "mount": {
        "mountSource": "/dev/vda1",
        "mountPoint": "/data",
        "filesystemType": "ext4",
        "mountOptions": "ro,relatime,discard"
      },
      "file": {
        "bytes": 65536,
        "mode": 600,
        "uid": 10001,
        "gid": 10001,
        "sha256": "016407f7fe9f0099f58ce89128f9206d57397651cd5073c2c343e0a4b3a98bf9"
      }
    },
    "after": {
      "label": "after-read-only-start-failure",
      "mount": {
        "mountSource": "/dev/vda1",
        "mountPoint": "/data",
        "filesystemType": "ext4",
        "mountOptions": "ro,relatime,discard"
      },
      "file": {
        "bytes": 65536,
        "mode": 600,
        "uid": 10001,
        "gid": 10001,
        "sha256": "016407f7fe9f0099f58ce89128f9206d57397651cd5073c2c343e0a4b3a98bf9"
      }
    },
    "databaseBytesUnchanged": true,
    "databaseHashUnchanged": true
  },
  "recovery": {
    "collectorReplaced": true,
    "volumePreserved": true,
    "volume": {
      "name": "otel-readonly-storage_collector_queue",
      "driver": "local",
      "scope": "local",
      "options": null
    },
    "collectorQueueLog": {
      "loadedItems": 3,
      "loadedBytes": 4245,
      "dispatchedItemsAtShutdown": 1
    },
    "metrics": {
      "acceptedSpans": 0,
      "refusedSpans": 0,
      "sentSpans": 3,
      "failedSpans": 0,
      "queueSizeBatches": 0,
      "queueCapacityBatches": 20,
      "enqueueFailedSpans": 0
    },
    "traceBeforeReplay": {
      "traceId": "d5000000000000000000000000000001",
      "spans": [
        {
          "spanId": "d500000000000001",
          "operationName": "readonly batch 01",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-readonly-storage",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 1,
            "app.storage.stable_key": "d5000000000000000000000000000001:d500000000000001",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "d500000000000002",
          "operationName": "readonly batch 02",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-readonly-storage",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 2,
            "app.storage.stable_key": "d5000000000000000000000000000001:d500000000000002",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "d500000000000003",
          "operationName": "readonly batch 03",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-readonly-storage",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 3,
            "app.storage.stable_key": "d5000000000000000000000000000001:d500000000000003",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        }
      ]
    },
    "unavailableSpanIdStillMissing": true
  },
  "replay": {
    "attempt": {
      "batchNumber": 4,
      "traceId": "d5000000000000000000000000000001",
      "spanId": "d500000000000004",
      "paddingBytes": 1024,
      "automaticRetries": 0,
      "elapsedMs": 20.305,
      "response": {
        "status": 200,
        "ok": true,
        "body": "{\"partialSuccess\":{}}"
      },
      "error": null
    },
    "finalCollectorMetrics": {
      "acceptedSpans": 1,
      "refusedSpans": 0,
      "sentSpans": 4,
      "failedSpans": 0,
      "queueSizeBatches": 0,
      "queueCapacityBatches": 20,
      "enqueueFailedSpans": 0
    },
    "finalQueue": {
      "label": "after-recovery-and-replay",
      "mount": {
        "mountSource": "/dev/vda1",
        "mountPoint": "/data",
        "filesystemType": "ext4",
        "mountOptions": "ro,relatime,discard"
      },
      "file": {
        "bytes": 65536,
        "mode": 600,
        "uid": 10001,
        "gid": 10001,
        "sha256": "9998b55d6d646980b605908f2d57c57a6c2069857bcf39be7f8c91a5c10a3154"
      }
    }
  },
  "backend": {
    "jaegerMetrics": {
      "acceptedSpans": 4,
      "refusedSpans": 0,
      "sentSpans": 4,
      "failedSpans": 0,
      "queueSizeBatches": 0,
      "queueCapacityBatches": 0,
      "enqueueFailedSpans": 0
    },
    "expectedSpanIds": [
      "d500000000000001",
      "d500000000000002",
      "d500000000000003",
      "d500000000000004"
    ],
    "finalTrace": {
      "traceId": "d5000000000000000000000000000001",
      "spans": [
        {
          "spanId": "d500000000000001",
          "operationName": "readonly batch 01",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-readonly-storage",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 1,
            "app.storage.stable_key": "d5000000000000000000000000000001:d500000000000001",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "d500000000000002",
          "operationName": "readonly batch 02",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-readonly-storage",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 2,
            "app.storage.stable_key": "d5000000000000000000000000000001:d500000000000002",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "d500000000000003",
          "operationName": "readonly batch 03",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-readonly-storage",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 3,
            "app.storage.stable_key": "d5000000000000000000000000000001:d500000000000003",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "d500000000000004",
          "operationName": "readonly batch 04",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-readonly-storage",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 4,
            "app.storage.stable_key": "d5000000000000000000000000000001:d500000000000004",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        }
      ]
    },
    "finalSpanCount": 4,
    "uniqueFinalSpanCount": 4,
    "duplicateSpanCount": 0,
    "missingSpanIds": []
  },
  "payloadSha256": "77752925c565bcd4a5ed365c0432ee1c6bc9c5eb17ecc16301c6a7a0c4258daf"
}
