Ctrl K
ComunidadGuías…

docs/runtime-matrix.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "generated_at": "2026-10-07T17:29:44.652650+00:00",
  "heads": [
    "11dbc7e55914c8898353afe51776501a8fb5c579",
    "2d961a5763b551c2af6c28c64aa8e271573e4be2",
    "72898709c83ad1ca243e7f3ceb7f0d086b61ef6f",
    "b17d9de4a75ab6bb895725d5be35898adbf2d5eb",
    "b54733427f9c9ed44628073356a957a43bc4e8bb",
    "d175e030a47f6caa0d454bc88ff14f8dc7cc7fab",
    "d4d352189363d3958231fc5225bb0e869334971b",
    "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
    "e4297c75564bc2e27d40e152ec10280593eaf931",
    "ee7975a8d0946f33f3677119ae657dc89962babe",
    "f06f1b262c4deaca1a2d538e86bd9843ed434f2f"
  ],
  "inventory_counts": {
    "app": 93,
    "recipe": 20
  },
  "inventory_sha256": "63b5ca53885b401a22ee4e5b3d1b6548376f64813723506860bab4aaf3402f22",
  "limits": [
    "Final snapshot as requested; each target retains its own evidence identity.",
    "Read only ordinary exact app-<id>.json and recipe-<id>.json files; no private diagnostics, credentials or browser state.",
    "Each pass applies only to its recorded head, binary SHA256, image identities, host and probes. Later source fixes are not live passes.",
    "Missing or unrecorded stages are not-run. Historical source heads are retained even for untouched not-run records.",
    "Generic Setup/Check and archive sentinels do not prove browser acceptance, application workload, database-content recovery, migration, VPN fail-closed or external provider enrollment.",
    "Payload seed/restored stages provide only the App-specific probe named in the evidence. Absent payload stages are not-run, never inferred.",
    "Image IDs and cleanup are reproduced as recorded; this generator does not inspect Docker or independently establish expected service completeness.",
    "The matrix uses latest per-target records. Immutable archives preserve earlier iterations where available; two d175 failure records survive only in the redacted run log after they were overwritten before archival."
  ],
  "outcome_counts": {
    "awaiting-external-credentials": 8,
    "failed": 3,
    "manual": 5,
    "pass": 97
  },
  "schema_version": 1,
  "snapshot_read_errors": [],
  "status": "final",
  "targets": [
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-17b23555",
      "finished": "2026-10-07T08:34:02.703512394Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:cfacf9b19b21268807a6e6c6289f7a27dfc5adfc2539aa35a15ed38cfba236ab",
          "platform": "linux/amd64",
          "service": "actual-budget"
        }
      ],
      "name": "app-actual-budget",
      "observed_target_apps": [
        "actual-budget"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-actual-budget.json",
      "source_sha256": "9fa85f5db1f8e03cac53e3caf6745d042f3b04d459d2c7edf7df1ba73e7f12df",
      "stages": [
        {
          "apps": {
            "actual-budget": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "actual-budget": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "actual-budget": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "actual-budget": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "actual-budget": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "actual-budget": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "actual-budget": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "actual-budget": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "actual-budget": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "actual-budget": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "actual-budget": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "actual-budget": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.867795141Z",
      "target": {
        "apps": [
          "actual-budget"
        ],
        "id": "actual-budget",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-01e6d4b2",
      "finished": "2026-10-07T09:49:47.53138197Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:a3d077a550b96aea74f4c66577d154a0b9ee1622b9ecd5c536195da54c0eadc4",
          "platform": "linux/amd64",
          "service": "adguard-home"
        }
      ],
      "name": "app-adguard-home",
      "observed_target_apps": [
        "adguard-home"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-adguard-home.json",
      "source_sha256": "6f48f1caba3c2558a236f1456afb3c046139c883caed0109ce05d82b1ac4f29d",
      "stages": [
        {
          "apps": {
            "adguard-home": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "adguard-home": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "adguard-home": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "adguard-home": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "adguard-home": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "adguard-home": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "adguard-home": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "adguard-home": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "adguard-home": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "adguard-home": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "adguard-home": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "adguard-home": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:49:31.7697974Z",
      "target": {
        "apps": [
          "adguard-home"
        ],
        "id": "adguard-home",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-223088d8",
      "finished": "2026-10-07T12:52:57.202601322Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 2
      },
      "images": [
        {
          "id": "sha256:257eecbae05ceedd514feb0a71ffc29681f451f618595db11428361e5fb20d96",
          "platform": "linux/amd64",
          "service": "archive-team-warrior-init"
        },
        {
          "id": "sha256:257eecbae05ceedd514feb0a71ffc29681f451f618595db11428361e5fb20d96",
          "platform": "linux/amd64",
          "service": "archive-team-warrior"
        }
      ],
      "name": "app-archive-team-warrior",
      "observed_target_apps": [
        "archive-team-warrior"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-archive-team-warrior.json",
      "source_sha256": "bab3e9e0fb218db584658e747c805ab3133b4d78de9979041f1da978d095767f",
      "stages": [
        {
          "apps": {
            "archive-team-warrior": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "archive-team-warrior": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "archive-team-warrior": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "archive-team-warrior": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "archive-team-warrior": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "archive-team-warrior": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "archive-team-warrior": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "archive-team-warrior": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "archive-team-warrior": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "archive-team-warrior": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "archive-team-warrior": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "archive-team-warrior": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:44:15.337533275Z",
      "target": {
        "apps": [
          "archive-team-warrior"
        ],
        "id": "archive-team-warrior",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-ba886ab7",
      "finished": "2026-10-07T09:49:27.404457151Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:4e6669ce208ad72e6f02089dbb2069bee43884f1399f153d46f8583ebf5ea05e",
          "platform": "linux/amd64",
          "service": "aria2"
        }
      ],
      "name": "app-aria2",
      "observed_target_apps": [
        "aria2"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-aria2.json",
      "source_sha256": "b8c68196116d4f9ac98b7eb39e02e0eb18cbca65d3495f5a7f9c3f0b07b156c0",
      "stages": [
        {
          "apps": {
            "aria2": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "aria2": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "aria2": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "aria2": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "aria2": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "aria2": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "aria2": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "aria2": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "aria2": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "aria2": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "aria2": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "aria2": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:48:35.636392144Z",
      "target": {
        "apps": [
          "aria2"
        ],
        "id": "aria2",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-2e37589f",
      "finished": "2026-10-07T09:49:31.769606277Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:69688a328f8fafafdce9a23915c19c84bc75a7d883b5dd182b3a6d3d4c11701d",
          "platform": "linux/amd64",
          "service": "audiobookshelf"
        }
      ],
      "name": "app-audiobookshelf",
      "observed_target_apps": [
        "audiobookshelf"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-audiobookshelf.json",
      "source_sha256": "7dbd8fd288053c25fa693003df0edc0549f83001d4ac332a5aaa178eca3a7524",
      "stages": [
        {
          "apps": {
            "audiobookshelf": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "audiobookshelf": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "audiobookshelf": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "audiobookshelf": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "audiobookshelf": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "audiobookshelf": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "audiobookshelf": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "audiobookshelf": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "audiobookshelf": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "audiobookshelf": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "audiobookshelf": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "audiobookshelf": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:49:08.645376085Z",
      "target": {
        "apps": [
          "audiobookshelf"
        ],
        "id": "audiobookshelf",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-a6cc3a59",
      "finished": "2026-10-07T12:32:55.668534183Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:07511d91138c91c47b3873abe850d932d32958fb79b6f6a4c5b15b36ca37545f",
          "platform": "linux/amd64",
          "service": "authelia"
        }
      ],
      "name": "app-authelia",
      "observed_target_apps": [
        "authelia"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion; Authelia canonical-origin administrator login and session identity through owned verified TLS during source and restored Setup/Check; no MFA/browser claim",
      "source_file": "app-authelia.json",
      "source_sha256": "b0f7a9e689a0ffd6722319cb3451c8e93c1baeee3f89bf3bb3d023143a90cbf3",
      "stages": [
        {
          "apps": {
            "authelia": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "authelia": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "authelia": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "authelia": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "authelia": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "authelia": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "authelia": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "authelia": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "authelia": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "authelia": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "authelia": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "authelia": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:30:08.143854137Z",
      "target": {
        "apps": [
          "authelia"
        ],
        "id": "authelia",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-6c55f706",
      "finished": "2026-10-07T10:15:16.663936548Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 3
      },
      "images": [
        {
          "id": "sha256:d4d6843a3c120bb1b809048ce8429e0e617f68a3991aaa0779d6f5bd802b34d9",
          "platform": "linux/amd64",
          "service": "authentik"
        },
        {
          "id": "sha256:d4d6843a3c120bb1b809048ce8429e0e617f68a3991aaa0779d6f5bd802b34d9",
          "platform": "linux/amd64",
          "service": "worker"
        },
        {
          "id": "sha256:81bd698b4594e751a3269e4dcd3e03a4a0ec0daf7b72e7aa1abd43cce9887542",
          "platform": "linux/amd64",
          "service": "postgresql"
        }
      ],
      "name": "app-authentik",
      "observed_target_apps": [
        "authentik"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-authentik.json",
      "source_sha256": "645864c57cdc029c235c544976821bf9445668ff64ce035a0c7fb4ab66a23eb6",
      "stages": [
        {
          "apps": {
            "authentik": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "authentik": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "authentik": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "authentik": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "authentik": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "authentik": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "authentik": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "authentik": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "authentik": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "authentik": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "authentik": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "authentik": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:44:05.16172027Z",
      "target": {
        "apps": [
          "authentik"
        ],
        "id": "authentik",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-f86b87ca",
      "finished": "2026-10-07T09:50:06.559030305Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:b2c739fed2a223406d66ca04255a7748384e68163dbcca4b86b882cee04612a1",
          "platform": "linux/amd64",
          "service": "bazarr"
        }
      ],
      "name": "app-bazarr",
      "observed_target_apps": [
        "bazarr"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-bazarr.json",
      "source_sha256": "18ec0bcd62aad6f2b2b3550bd8775e0f5dc12b3c58b88c7ee1ae317cf5ccde70",
      "stages": [
        {
          "apps": {
            "bazarr": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "bazarr": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "bazarr": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "bazarr": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "bazarr": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "bazarr": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "bazarr": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "bazarr": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "bazarr": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "bazarr": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "bazarr": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "bazarr": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:48:10.616350165Z",
      "target": {
        "apps": [
          "bazarr"
        ],
        "id": "bazarr",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-760fefc5",
      "finished": "2026-10-07T09:48:24.608487913Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:f14c004ff4a414ba156427046926e5e2db1d1bd769b069509c2bcd3e5bee4f7a",
          "platform": "linux/amd64",
          "service": "beszel"
        }
      ],
      "name": "app-beszel",
      "observed_target_apps": [
        "beszel"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-beszel.json",
      "source_sha256": "fe059059d6feed889a333f7eedd568636988e2bbc984fa31363c1b4637ae65b2",
      "stages": [
        {
          "apps": {
            "beszel": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "beszel": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "beszel": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "beszel": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "beszel": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "beszel": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "beszel": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "beszel": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "beszel": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "beszel": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "beszel": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "beszel": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:47:46.096683506Z",
      "target": {
        "apps": [
          "beszel"
        ],
        "id": "beszel",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "9c52cfe6dad38f9832a3613ff911f33f505cc0367afb539dbabf3d8498203012",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-4292c8e7",
      "finished": "2026-10-07T17:18:27.574690637Z",
      "head": "72898709c83ad1ca243e7f3ceb7f0d086b61ef6f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 2
      },
      "images": [
        {
          "id": "sha256:675c1edfab2ab727303aa5014df941f710ee858b472500d75faeb1a775bde4a4",
          "platform": "linux/amd64",
          "service": "bookstack"
        },
        {
          "id": "sha256:deb9a3a5e1952c4bddf4b1afe48fd6040295a6d7c41379ce68c0d067512ca912",
          "platform": "linux/amd64",
          "service": "db"
        }
      ],
      "name": "app-bookstack",
      "observed_target_apps": [
        "bookstack"
      ],
      "outcome": "failed",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-bookstack.json",
      "source_sha256": "3297ffc53c4a631786c8b89a824724807031a5f3014a92e6409b041b7dfc3185",
      "stages": [
        {
          "apps": {
            "bookstack": "fail"
          },
          "failures": [
            {
              "app": "bookstack",
              "error": "timed out after 3m0s: HTTP 502",
              "hint": "bookstack did not answer on /login; read its logs with: self-host logs bookstack",
              "kind": "step.fail",
              "step": "ready"
            },
            {
              "app": "bookstack",
              "error": "BookStack startup status: app_key_present=true pool_identity_includes_root=true launcher_root_mode=true php_process_present=false php_upstream_listening=false database_tcp_listening=true database_authenticated=true launcher_source_matches=true launcher_source_executable=true launcher_compiled_matches=true launcher_compiled_executable=true php_service_wanted=true php_service_up=false php_config_valid=false php_config_error=config_open php_failure_path=main_config process_uid_zero=true failure_path_readable=true failure_path_writable=true failure_path_owner_current=true",
              "hint": "Check owned image initialization, PHP-FPM readiness and database health before retrying; a database TCP listener does not prove authenticated database access. Ask the host administrator to review PHP-FPM confinement compatibility: its configuration appears readable but PHP-FPM cannot open it.",
              "kind": "step.fail",
              "step": "startup-status"
            }
          ],
          "name": "install",
          "outcome": "fail",
          "reason": "redacted CLI failure details retained"
        },
        {
          "apps": {
            "bookstack": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "bookstack": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "bookstack": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "bookstack": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "bookstack": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "bookstack": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "bookstack": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "bookstack": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "bookstack": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "bookstack": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "bookstack": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T17:15:19.147296517Z",
      "target": {
        "apps": [
          "bookstack"
        ],
        "id": "bookstack",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-a844f622",
      "finished": "2026-10-07T09:48:24.752472473Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:99459932e068b41700c6218fcc3925ac201f4779bc626631918800a3089d1080",
          "platform": "linux/amd64",
          "service": "borgmatic"
        }
      ],
      "name": "app-borgmatic",
      "observed_target_apps": [
        "borgmatic"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-borgmatic.json",
      "source_sha256": "a9d2ce57977629ebd44462e6daeaa311599b8aea824e6420de73580655fb3081",
      "stages": [
        {
          "apps": {
            "borgmatic": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "borgmatic": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "borgmatic": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "borgmatic": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "borgmatic": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "borgmatic": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "borgmatic": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "borgmatic": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "borgmatic": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "borgmatic": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "borgmatic": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "borgmatic": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:44:22.941676712Z",
      "target": {
        "apps": [
          "borgmatic"
        ],
        "id": "borgmatic",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-49e5fcee",
      "finished": "2026-10-07T09:15:02.190042857Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:2d8b1708bf8008935c0e2a9b6564f7f080cf9a73af3b27718f286230449b7101",
          "platform": "linux/amd64",
          "service": "caddy"
        }
      ],
      "name": "app-caddy",
      "observed_target_apps": [
        "caddy"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-caddy.json",
      "source_sha256": "085b2d014003b81e2d45fee0e5769379bebe001dc56cdda887d5c6f58c6dae41",
      "stages": [
        {
          "apps": {
            "caddy": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "caddy": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "caddy": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "caddy": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "caddy": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "caddy": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "caddy": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "caddy": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "caddy": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "caddy": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "caddy": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "caddy": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:14:52.500550378Z",
      "target": {
        "apps": [
          "caddy"
        ],
        "id": "caddy",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "awaiting-external-credentials",
      "cleanup": "not-run",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": false,
        "platforms": [],
        "service_count": 0
      },
      "images": [],
      "name": "app-cloudflare-tunnel",
      "observed_target_apps": [
        "cloudflare-tunnel"
      ],
      "outcome": "awaiting-external-credentials",
      "platform": "",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-cloudflare-tunnel.json",
      "source_sha256": "f7057ab8ad78dd5c3d5d703760476e5b18a05d26c117e6f454a7df22d726365c",
      "stages": [
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "install",
          "outcome": "not-run"
        },
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "cloudflare-tunnel": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T09:44:05.161528483Z",
      "target": {
        "apps": [
          "cloudflare-tunnel"
        ],
        "id": "cloudflare-tunnel",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-3c088ba8",
      "finished": "2026-10-07T09:49:08.645101388Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:cbeea4f558d65ab557aecfd383ddf5ac6a2f03cacc5a163a85303fae99cfea3c",
          "platform": "linux/amd64",
          "service": "dashdot"
        }
      ],
      "name": "app-dashdot",
      "observed_target_apps": [
        "dashdot"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-dashdot.json",
      "source_sha256": "205745259deeffa78eb65ff49a6439eee1800150dedff822d42a6ea8291c4b5e",
      "stages": [
        {
          "apps": {
            "dashdot": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "dashdot": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "dashdot": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "dashdot": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "dashdot": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "dashdot": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "dashdot": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "dashdot": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "dashdot": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "dashdot": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "dashdot": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "dashdot": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:40:46.036076815Z",
      "target": {
        "apps": [
          "dashdot"
        ],
        "id": "dashdot",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-330d7ec9",
      "finished": "2026-10-07T09:48:44.24917673Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:9afc6b4a46f5ab0734732022a07a196279c821eb91db1c7154aeac641a518a9d",
          "platform": "linux/amd64",
          "service": "deluge"
        }
      ],
      "name": "app-deluge",
      "observed_target_apps": [
        "deluge"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-deluge.json",
      "source_sha256": "e1cdbcbcbc60d3e69c5270adb1e34bc678c5f9a0fb71cedc63c866ab64765f44",
      "stages": [
        {
          "apps": {
            "deluge": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "deluge": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "deluge": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "deluge": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "deluge": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "deluge": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "deluge": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "deluge": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "deluge": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "deluge": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "deluge": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "deluge": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:37:59.039497007Z",
      "target": {
        "apps": [
          "deluge"
        ],
        "id": "deluge",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-17d4ec43",
      "finished": "2026-10-07T09:48:10.616110072Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": false,
        "platforms": [],
        "service_count": 0
      },
      "images": [],
      "name": "app-dockge",
      "observed_target_apps": [
        "dockge"
      ],
      "outcome": "manual",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-dockge.json",
      "source_sha256": "7eef6e68c6afa1ad4903bff418180bd9bd86ef8ab6b6723bf711f8d200402409",
      "stages": [
        {
          "apps": {
            "dockge": "manual"
          },
          "failures": [
            {
              "app": "dockge",
              "error": "this App has no headless way to create its first administrator",
              "hint": "Open http://127.0.0.1:44001, create the administrator admin with the password shown by `self-host credentials`; open Dockge and create the first administrator account, then run: self-host setup dockge",
              "kind": "step.fail",
              "step": "admin"
            }
          ],
          "name": "install",
          "outcome": "manual",
          "reason": "first administrator requires web UI"
        },
        {
          "apps": {
            "dockge": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "dockge": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "dockge": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "dockge": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "dockge": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "dockge": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "dockge": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "dockge": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "dockge": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "dockge": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "dockge": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T09:27:50.247786278Z",
      "target": {
        "apps": [
          "dockge"
        ],
        "id": "dockge",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-a795108c",
      "finished": "2026-10-07T12:32:00.112195662Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 3
      },
      "images": [
        {
          "id": "sha256:0f146d72f36fa6ff9b12147b72719ca80df208342ecd1b757dd43f93b8a332e9",
          "platform": "linux/amd64",
          "service": "docmost"
        },
        {
          "id": "sha256:29754c7520f4b9654cf8ff98e19ac73b88e255c3a53f6236ebe9d52249bb6df3",
          "platform": "linux/amd64",
          "service": "db"
        },
        {
          "id": "sha256:992eb34c6118138585e0d651b256e0085d1b6aaecf39dc16df5ba50cfbe1609e",
          "platform": "linux/amd64",
          "service": "redis"
        }
      ],
      "name": "app-docmost",
      "observed_target_apps": [
        "docmost"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-docmost.json",
      "source_sha256": "f81cb23ece1e74b2eab7fe6783320be0ba9da123c586a86027f6083ada96fe15",
      "stages": [
        {
          "apps": {
            "docmost": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "docmost": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "docmost": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "docmost": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "docmost": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "docmost": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "docmost": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "docmost": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "docmost": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "docmost": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "docmost": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "docmost": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:28:53.282928028Z",
      "target": {
        "apps": [
          "docmost"
        ],
        "id": "docmost",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-822dbc40",
      "finished": "2026-10-07T09:44:22.941420092Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": false,
        "platforms": [],
        "service_count": 0
      },
      "images": [],
      "name": "app-emby",
      "observed_target_apps": [
        "emby"
      ],
      "outcome": "manual",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-emby.json",
      "source_sha256": "3bd82abf5c6f4695ba4a9c5e5c5522eaca77423c26e8ba8ccfe3ec47ea9ca177",
      "stages": [
        {
          "apps": {
            "emby": "manual"
          },
          "failures": [
            {
              "app": "emby",
              "error": "this App has no headless way to create its first administrator",
              "hint": "Open http://127.0.0.1:44205, create the administrator admin with the password shown by `self-host credentials`; open the first-owner wizard and create the administrator with username admin and the password from `self-host credentials`, then run: self-host setup emby",
              "kind": "step.fail",
              "step": "admin"
            }
          ],
          "name": "install",
          "outcome": "manual",
          "reason": "first administrator requires web UI"
        },
        {
          "apps": {
            "emby": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "emby": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "emby": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "emby": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "emby": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "emby": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "emby": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "emby": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "emby": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "emby": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "emby": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T09:27:38.173055216Z",
      "target": {
        "apps": [
          "emby"
        ],
        "id": "emby",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-ef7714a3",
      "finished": "2026-10-07T10:02:05.693275082Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 2
      },
      "images": [
        {
          "id": "sha256:29754c7520f4b9654cf8ff98e19ac73b88e255c3a53f6236ebe9d52249bb6df3",
          "platform": "linux/amd64",
          "service": "db"
        },
        {
          "id": "sha256:a8901b1675e54014d1ceace3d389e926ef6781d150e6df9c086b774d5d6c60e9",
          "platform": "linux/amd64",
          "service": "firefly-iii"
        }
      ],
      "name": "app-firefly-iii",
      "observed_target_apps": [
        "firefly-iii"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-firefly-iii.json",
      "source_sha256": "8b57c910cc200c10ec56c396dd9b838dc77c8cf07ac0cc916501881771c01688",
      "stages": [
        {
          "apps": {
            "firefly-iii": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "firefly-iii": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "firefly-iii": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "firefly-iii": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "firefly-iii": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "firefly-iii": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "firefly-iii": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "firefly-iii": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "firefly-iii": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "firefly-iii": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "firefly-iii": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "firefly-iii": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:27:12.65679082Z",
      "target": {
        "apps": [
          "firefly-iii"
        ],
        "id": "firefly-iii",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-0560d31b",
      "finished": "2026-10-07T09:27:40.378920953Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:831ef608fc00db376c4b7ccd3883a505e504005a43d578bcf6d22dc955d95e55",
          "platform": "linux/amd64",
          "service": "forgejo"
        }
      ],
      "name": "app-forgejo",
      "observed_target_apps": [
        "forgejo"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-forgejo.json",
      "source_sha256": "c0781f0e287145212dc904d3e62d557179b2c6bfd5c3a5f12929673ed3b583e3",
      "stages": [
        {
          "apps": {
            "forgejo": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "forgejo": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "forgejo": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:21:22.443592957Z",
      "target": {
        "apps": [
          "forgejo"
        ],
        "id": "forgejo",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-1250d0ff",
      "finished": "2026-10-07T09:27:38.172867324Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:df2d167c82b1276ad93461b5b0c030aa33e695af21a3ec42a60743e28e003a47",
          "platform": "linux/amd64",
          "service": "freshrss"
        }
      ],
      "name": "app-freshrss",
      "observed_target_apps": [
        "freshrss"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-freshrss.json",
      "source_sha256": "d603d90d53d7353e5fad2b44b09754fb0c7bc34fe41241f51fa1cf348ab8c00f",
      "stages": [
        {
          "apps": {
            "freshrss": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "freshrss": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "freshrss": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "freshrss": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "freshrss": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "freshrss": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "freshrss": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "freshrss": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "freshrss": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "freshrss": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "freshrss": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "freshrss": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:15:59.716543407Z",
      "target": {
        "apps": [
          "freshrss"
        ],
        "id": "freshrss",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-2bc89521",
      "finished": "2026-10-07T12:47:12.646390754Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:808254590862db209e363fba48a609d954a20ed98cceab51389616a1a3ba7f08",
          "platform": "linux/amd64",
          "service": "frigate"
        }
      ],
      "name": "app-frigate",
      "observed_target_apps": [
        "frigate"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-frigate.json",
      "source_sha256": "18a1cd42ea461d6330ca5e2c6ebde07a63d26832cdeba0cd5cc78d2344a36955",
      "stages": [
        {
          "apps": {
            "frigate": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "frigate": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "frigate": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "frigate": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "frigate": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "frigate": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "frigate": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "frigate": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "frigate": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "frigate": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "frigate": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "frigate": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:41:34.06722682Z",
      "target": {
        "apps": [
          "frigate"
        ],
        "id": "frigate",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-e1ba6cf5",
      "finished": "2026-10-07T08:55:10.568340123Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:c6fe0e8a6f2bbbdc47fd8e9df2d009aeb4cf3d46a265a406ff63dd9a47ea9015",
          "platform": "linux/amd64",
          "service": "gatus"
        }
      ],
      "name": "app-gatus",
      "observed_target_apps": [
        "gatus"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-gatus.json",
      "source_sha256": "4e2dd16dfdf4d46fa2ffdc20176a932c07442d8ed20476cbdbd15f27a9b21e53",
      "stages": [
        {
          "apps": {
            "gatus": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "gatus": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "gatus": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "gatus": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "gatus": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "gatus": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "gatus": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "gatus": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "gatus": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "gatus": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "gatus": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "gatus": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:55:00.333772061Z",
      "target": {
        "apps": [
          "gatus"
        ],
        "id": "gatus",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-320b5440",
      "finished": "2026-10-07T09:14:03.862529204Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:48010f0354bd398a963fd0bf20628964c6ef62a3f4a23bd17924e393ca53c625",
          "platform": "linux/amd64",
          "service": "glances"
        }
      ],
      "name": "app-glances",
      "observed_target_apps": [
        "glances"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-glances.json",
      "source_sha256": "bd8d586a9c0cf6f5862a4ad894849c3c9853555658c16211659fa6f2c1999f06",
      "stages": [
        {
          "apps": {
            "glances": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "glances": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "glances": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "glances": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "glances": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "glances": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "glances": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "glances": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "glances": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "glances": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "glances": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "glances": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:13:44.334909389Z",
      "target": {
        "apps": [
          "glances"
        ],
        "id": "glances",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "awaiting-external-credentials",
      "cleanup": "not-run",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": false,
        "platforms": [],
        "service_count": 0
      },
      "images": [],
      "name": "app-gluetun",
      "observed_target_apps": [
        "gluetun"
      ],
      "outcome": "awaiting-external-credentials",
      "platform": "",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-gluetun.json",
      "source_sha256": "b02d4db1c60c841e1a15620b2b2eecd9a655491460d59f9586e7079bd081ff78",
      "stages": [
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "install",
          "outcome": "not-run"
        },
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "gluetun": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T09:13:44.334690899Z",
      "target": {
        "apps": [
          "gluetun"
        ],
        "id": "gluetun",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-7137993d",
      "finished": "2026-10-07T09:13:44.328691819Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:69f8392b7df9bf94443d70a118171540db144bd1bf13a7bb06075e99564add71",
          "platform": "linux/amd64",
          "service": "gotify"
        }
      ],
      "name": "app-gotify",
      "observed_target_apps": [
        "gotify"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-gotify.json",
      "source_sha256": "f2a363df43b6acc1c1cd04c1190a2b95b169575cb0a7df262f4add74cfd651b9",
      "stages": [
        {
          "apps": {
            "gotify": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "gotify": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "gotify": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "gotify": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "gotify": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "gotify": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "gotify": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "gotify": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "gotify": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "gotify": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "gotify": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "gotify": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:13:10.165549419Z",
      "target": {
        "apps": [
          "gotify"
        ],
        "id": "gotify",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-3aa85dc2",
      "finished": "2026-10-07T12:28:53.282743279Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:747aaf291145d9a84a547f1fa4edf48697371db6ab386b81c95ad3a725c20f17",
          "platform": "linux/amd64",
          "service": "grafana"
        }
      ],
      "name": "app-grafana",
      "observed_target_apps": [
        "grafana"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-grafana.json",
      "source_sha256": "019b2d3e415dd4e9929c3acd33dfd682cbf594663e8df26d271a8512f37eba7b",
      "stages": [
        {
          "apps": {
            "grafana": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "grafana": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "grafana": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "grafana": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "grafana": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "grafana": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "grafana": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "grafana": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "grafana": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "grafana": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "grafana": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "grafana": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:27:03.874205994Z",
      "target": {
        "apps": [
          "grafana"
        ],
        "id": "grafana",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "6d3d92a500bfff1fda316eeeed1b0ac27fe89c108393b33ba5998dae2aa88d68",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-e381f86d",
      "finished": "2026-10-07T14:48:18.311581072Z",
      "head": "ee7975a8d0946f33f3677119ae657dc89962babe",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 2
      },
      "images": [
        {
          "id": "sha256:d880f33f5d9b3f8d68f14f3993def05d8adf5f08e67ae8c1a1964b1eb6369a51",
          "platform": "linux/amd64",
          "service": "haproxy"
        },
        {
          "id": "sha256:f22fb212dc2e08a70135153566666ccd279eb7c12313cb7424ace76264147762",
          "platform": "linux/amd64",
          "service": "ntfy"
        }
      ],
      "name": "app-haproxy",
      "observed_target_apps": [
        "haproxy",
        "ntfy"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; exact application data across isolated restore for ntfy only; other Apps have no workload or database-content assertion; real HAProxy-to-owned-ntfy routing and protected statistics before backup and after isolated restore",
      "source_file": "app-haproxy.json",
      "source_sha256": "64f02893d0049eb3da7bf2760e4b4fb136bbeb26e45e62e0aeef7b22a0cca5c6",
      "stages": [
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "payload-seed",
          "outcome": "pass"
        },
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "payload-restored",
          "outcome": "pass"
        },
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        },
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "backend-routing",
          "outcome": "pass"
        },
        {
          "apps": {
            "haproxy": "pass",
            "ntfy": "pass"
          },
          "name": "restored-backend-routing",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T14:38:59.940505271Z",
      "target": {
        "apps": [
          "haproxy"
        ],
        "id": "haproxy",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-6830ee24",
      "finished": "2026-10-07T12:44:15.337209938Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:b329f56bbea054fba0034499309911b20b4b7aa597ec236931a44c012164cf88",
          "platform": "linux/amd64",
          "service": "headscale"
        }
      ],
      "name": "app-headscale",
      "observed_target_apps": [
        "headscale"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-headscale.json",
      "source_sha256": "358995d4ee249a03cb0815734c814272ef6beb576653cfe33f77b96b8d4596b5",
      "stages": [
        {
          "apps": {
            "headscale": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "headscale": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "headscale": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "headscale": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "headscale": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "headscale": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "headscale": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "headscale": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "headscale": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "headscale": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "headscale": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "headscale": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:35:01.099513302Z",
      "target": {
        "apps": [
          "headscale"
        ],
        "id": "headscale",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "fd7ffb47a78afb5adf0b3469c9f0c2020a0e972940685f6b4ef6f943cd8f39b8",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-7b163927",
      "finished": "2026-10-07T11:42:45.553037948Z",
      "head": "b17d9de4a75ab6bb895725d5be35898adbf2d5eb",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:2ee513d49656093361150d2fd3cfdd5574fe65135a8b10102339872f86f0ed58",
          "platform": "linux/amd64",
          "service": "homarr"
        }
      ],
      "name": "app-homarr",
      "observed_target_apps": [
        "homarr"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-homarr.json",
      "source_sha256": "80c4fdb201545de25a4ecf1f226dd9f224795b6bd79f0a8f0e048c2c2b2994a9",
      "stages": [
        {
          "apps": {
            "homarr": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "homarr": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "homarr": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "homarr": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "homarr": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "homarr": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "homarr": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "homarr": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "homarr": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "homarr": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "homarr": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "homarr": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T11:30:54.1448853Z",
      "target": {
        "apps": [
          "homarr"
        ],
        "id": "homarr",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-6e8f8072",
      "finished": "2026-10-07T09:13:10.165291157Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:5157d3b45f2333749443ae7fb2c655b3ac7954018761c3f01144bd971030968f",
          "platform": "linux/amd64",
          "service": "home-assistant"
        }
      ],
      "name": "app-home-assistant",
      "observed_target_apps": [
        "home-assistant"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-home-assistant.json",
      "source_sha256": "bad0e69df10589b53fc8a10e86851527fa536cf626e49f47721b9df5275dae65",
      "stages": [
        {
          "apps": {
            "home-assistant": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "home-assistant": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "home-assistant": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "home-assistant": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "home-assistant": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "home-assistant": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "home-assistant": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "home-assistant": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "home-assistant": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "home-assistant": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "home-assistant": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "home-assistant": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:12:03.883060587Z",
      "target": {
        "apps": [
          "home-assistant"
        ],
        "id": "home-assistant",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-b8c6e532",
      "finished": "2026-10-07T09:12:43.842475046Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:94609dcbdea8b3cd62e1d0e0c36bc6173756a60dfb2b42bb00370ea6a2b9aafd",
          "platform": "linux/amd64",
          "service": "homebridge"
        }
      ],
      "name": "app-homebridge",
      "observed_target_apps": [
        "homebridge"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-homebridge.json",
      "source_sha256": "75b1974d4c8bd6334be76a63299451b824be2794ad8cce5207a1e2131a52a892",
      "stages": [
        {
          "apps": {
            "homebridge": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "homebridge": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "homebridge": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "homebridge": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "homebridge": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "homebridge": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "homebridge": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "homebridge": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "homebridge": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "homebridge": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "homebridge": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "homebridge": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:11:05.520833598Z",
      "target": {
        "apps": [
          "homebridge"
        ],
        "id": "homebridge",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-63627817",
      "finished": "2026-10-07T09:40:46.035783161Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 4
      },
      "images": [
        {
          "id": "sha256:726dea3590a895d94203fe918b97ae2af8f609f04675590be0070cf64797ba88",
          "platform": "linux/amd64",
          "service": "redis"
        },
        {
          "id": "sha256:178719aeb38df6f0ce8edc1d8320008379fcf04eb3444e76419cc98d9861e331",
          "platform": "linux/amd64",
          "service": "database"
        },
        {
          "id": "sha256:b1a1cc8cac12989dcfe0d61535afcbbae552f76c3cd38ab66e10c66457720800",
          "platform": "linux/amd64",
          "service": "immich"
        },
        {
          "id": "sha256:c53e2e5c4e9467ae83344fa9e67f2a99014a45f98c4d0b3b2f24afa5f46e97e3",
          "platform": "linux/amd64",
          "service": "immich-machine-learning"
        }
      ],
      "name": "app-immich",
      "observed_target_apps": [
        "immich"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-immich.json",
      "source_sha256": "720a1607402911472d9227f35f69d9e855abcb42d980feb3c8f7cec726a59734",
      "stages": [
        {
          "apps": {
            "immich": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "immich": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "immich": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "immich": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "immich": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "immich": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "immich": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "immich": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "immich": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "immich": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "immich": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "immich": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:10:05.718179532Z",
      "target": {
        "apps": [
          "immich"
        ],
        "id": "immich",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-92843a5b",
      "finished": "2026-10-07T09:45:33.115861302Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:fbd967af0187a569b0c18d2db6cb311fdf0df4aeb520102c63f19320aadf964d",
          "platform": "linux/amd64",
          "service": "jellyfin"
        }
      ],
      "name": "app-jellyfin",
      "observed_target_apps": [
        "jellyfin"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-jellyfin.json",
      "source_sha256": "63cc51ec2f8095d4006e94bc457c415199bec0b497c519bb50bcbe1f50b936ce",
      "stages": [
        {
          "apps": {
            "jellyfin": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "jellyfin": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "jellyfin": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "jellyfin": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "jellyfin": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "jellyfin": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "jellyfin": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "jellyfin": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "jellyfin": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "jellyfin": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "jellyfin": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "jellyfin": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:09:55.843728376Z",
      "target": {
        "apps": [
          "jellyfin"
        ],
        "id": "jellyfin",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-04435355",
      "finished": "2026-10-07T10:17:45.917852441Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 2
      },
      "images": [
        {
          "id": "sha256:b2f3e1b85071d17a1da8d2cbcc54707853d19c74ae027071789ea1bb12b3ec89",
          "platform": "linux/amd64",
          "service": "keycloak"
        },
        {
          "id": "sha256:79bd7c99e923138f136f8009d6bffa66e21e9d4fda5c0c561b00fc9c90cfe537",
          "platform": "linux/amd64",
          "service": "db"
        }
      ],
      "name": "app-keycloak",
      "observed_target_apps": [
        "keycloak"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-keycloak.json",
      "source_sha256": "24f03b94a27a1bb3d1bf032d82ab24b78af4398a7141bfc8d6fe8859c348df07",
      "stages": [
        {
          "apps": {
            "keycloak": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "keycloak": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "keycloak": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "keycloak": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "keycloak": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "keycloak": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "keycloak": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "keycloak": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "keycloak": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "keycloak": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "keycloak": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "keycloak": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:06:31.692288407Z",
      "target": {
        "apps": [
          "keycloak"
        ],
        "id": "keycloak",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-bab6b764",
      "finished": "2026-10-07T12:29:36.017318202Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:3033ab0726ec64ff091d7f584f52987390e59eb7d30ca16bd36fcdc34c58ad96",
          "platform": "linux/amd64",
          "service": "kopia"
        }
      ],
      "name": "app-kopia",
      "observed_target_apps": [
        "kopia"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-kopia.json",
      "source_sha256": "8b137f6bf08cfe11d54c844bb3cd1b42c165d09517f5e3ebeaa92804185f7d0b",
      "stages": [
        {
          "apps": {
            "kopia": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "kopia": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "kopia": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "kopia": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "kopia": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "kopia": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "kopia": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "kopia": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "kopia": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "kopia": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "kopia": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "kopia": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:29:23.815692839Z",
      "target": {
        "apps": [
          "kopia"
        ],
        "id": "kopia",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-663801b2",
      "finished": "2026-10-07T09:11:05.520549679Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:7fb9a5572b1719bd8a9b4b2e51752b2265626adde208210bff28f5abb5308437",
          "platform": "linux/amd64",
          "service": "lidarr"
        }
      ],
      "name": "app-lidarr",
      "observed_target_apps": [
        "lidarr"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-lidarr.json",
      "source_sha256": "340e5fe654fded907ad0f75f72b4f1143d9e4843b0de51a1f93e8b0322ef4d15",
      "stages": [
        {
          "apps": {
            "lidarr": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "lidarr": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "lidarr": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "lidarr": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "lidarr": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "lidarr": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "lidarr": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "lidarr": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "lidarr": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "lidarr": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "lidarr": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "lidarr": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:00:55.85815634Z",
      "target": {
        "apps": [
          "lidarr"
        ],
        "id": "lidarr",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "6d3d92a500bfff1fda316eeeed1b0ac27fe89c108393b33ba5998dae2aa88d68",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-7796c079",
      "finished": "2026-10-07T15:02:02.374642253Z",
      "head": "ee7975a8d0946f33f3677119ae657dc89962babe",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 3
      },
      "images": [
        {
          "id": "sha256:cab61b2e1fb52429632b77893abbc2433b14c19948bca1d7b558f10101fda91e",
          "platform": "linux/amd64",
          "service": "linkwarden"
        },
        {
          "id": "sha256:81bd698b4594e751a3269e4dcd3e03a4a0ec0daf7b72e7aa1abd43cce9887542",
          "platform": "linux/amd64",
          "service": "postgres"
        },
        {
          "id": "sha256:35435ac707829f4d914096dd74bf9626ace85669c002be2bcc7fa6b8bbdec43d",
          "platform": "linux/amd64",
          "service": "meilisearch"
        }
      ],
      "name": "app-linkwarden",
      "observed_target_apps": [
        "linkwarden"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-linkwarden.json",
      "source_sha256": "7236af48996fc47f9c21197e41b9739e1b06aadd9ba58ae0826c4f445077e78c",
      "stages": [
        {
          "apps": {
            "linkwarden": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "linkwarden": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "linkwarden": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "linkwarden": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "linkwarden": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "linkwarden": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "linkwarden": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "linkwarden": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "linkwarden": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "linkwarden": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "linkwarden": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "linkwarden": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T14:38:59.940864638Z",
      "target": {
        "apps": [
          "linkwarden"
        ],
        "id": "linkwarden",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-f59c04ce",
      "finished": "2026-10-07T12:29:23.815479017Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:1f4a8a01d1e3fa5928f9918081cccdec144d09f0eb5a83f252dbac73487f9181",
          "platform": "linux/amd64",
          "service": "lldap"
        }
      ],
      "name": "app-lldap",
      "observed_target_apps": [
        "lldap"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-lldap.json",
      "source_sha256": "c74e5fcf71b4b073e54ac17858170a596034cc25a8e4ed5d5e0d2313c6275143",
      "stages": [
        {
          "apps": {
            "lldap": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "lldap": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "lldap": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "lldap": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "lldap": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "lldap": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "lldap": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "lldap": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "lldap": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "lldap": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "lldap": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "lldap": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:27:03.874187314Z",
      "target": {
        "apps": [
          "lldap"
        ],
        "id": "lldap",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "fd7ffb47a78afb5adf0b3469c9f0c2020a0e972940685f6b4ef6f943cd8f39b8",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-d84bcbf0",
      "finished": "2026-10-07T11:44:15.064400099Z",
      "head": "b17d9de4a75ab6bb895725d5be35898adbf2d5eb",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:6ea410afab1b8e0d360d87bd3c3ea27ab1b2af0027badb6f18758c5a6efc3a17",
          "platform": "linux/amd64",
          "service": "loki"
        }
      ],
      "name": "app-loki",
      "observed_target_apps": [
        "loki"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-loki.json",
      "source_sha256": "d1f7d02d153afa061663e10da54ececfabd0aa2e16ad5e1396f0b42159391f8d",
      "stages": [
        {
          "apps": {
            "loki": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "loki": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "loki": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "loki": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "loki": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "loki": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "loki": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "loki": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "loki": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "loki": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "loki": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "loki": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T11:42:12.035404547Z",
      "target": {
        "apps": [
          "loki"
        ],
        "id": "loki",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "fd7ffb47a78afb5adf0b3469c9f0c2020a0e972940685f6b4ef6f943cd8f39b8",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-f017598b",
      "finished": "2026-10-07T12:02:49.613069897Z",
      "head": "b17d9de4a75ab6bb895725d5be35898adbf2d5eb",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 4
      },
      "images": [
        {
          "id": "sha256:c9988d9822cb01b4c63ba9b027fa45ec1e465eaca10208d91966da1e0ad99eb1",
          "platform": "linux/amd64",
          "service": "mayan-edms"
        },
        {
          "id": "sha256:86832d1a469e1d9994122fff86321ded3622a964eac9b60999396e845ff42b20",
          "platform": "linux/amd64",
          "service": "postgresql"
        },
        {
          "id": "sha256:cc97eca371f3fb53aed644b3b5162572b7162a69023e7ca82b99d2f279cba837",
          "platform": "linux/amd64",
          "service": "rabbitmq"
        },
        {
          "id": "sha256:7ceda270a3137de18c0b3aff75fa0002faa1c2a87e2b25e86978a1c3f20b3b78",
          "platform": "linux/amd64",
          "service": "redis"
        }
      ],
      "name": "app-mayan-edms",
      "observed_target_apps": [
        "mayan-edms"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-mayan-edms.json",
      "source_sha256": "c705e12900ee2f638a55202826593aaa760c9c9c3845d97a36c701749de72dd1",
      "stages": [
        {
          "apps": {
            "mayan-edms": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "mayan-edms": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "mayan-edms": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "mayan-edms": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "mayan-edms": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "mayan-edms": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "mayan-edms": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "mayan-edms": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "mayan-edms": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "mayan-edms": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "mayan-edms": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "mayan-edms": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T11:52:37.142846488Z",
      "target": {
        "apps": [
          "mayan-edms"
        ],
        "id": "mayan-edms",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "awaiting-external-credentials",
      "cleanup": "not-run",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": false,
        "platforms": [],
        "service_count": 0
      },
      "images": [],
      "name": "app-minio",
      "observed_target_apps": [
        "minio"
      ],
      "outcome": "awaiting-external-credentials",
      "platform": "",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-minio.json",
      "source_sha256": "dd11a5690277c57f5138589da7c8861f1faec5fa76e712ec35d2b9aa30a2e5b2",
      "stages": [
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "install",
          "outcome": "not-run"
        },
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "minio": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T08:55:19.59822772Z",
      "target": {
        "apps": [
          "minio"
        ],
        "id": "minio",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "fd7ffb47a78afb5adf0b3469c9f0c2020a0e972940685f6b4ef6f943cd8f39b8",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-176afd89",
      "finished": "2026-10-07T11:59:58.414514229Z",
      "head": "b17d9de4a75ab6bb895725d5be35898adbf2d5eb",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:082c198a14c9f2c36bb714830e1e3bf5ec785c36f384c6b982cb24c5a88da555",
          "platform": "linux/amd64",
          "service": "navidrome"
        }
      ],
      "name": "app-navidrome",
      "observed_target_apps": [
        "navidrome"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-navidrome.json",
      "source_sha256": "9c0e0a7c10725f3955536f3dbef319bea59db84187fe13608017c6641c568f0b",
      "stages": [
        {
          "apps": {
            "navidrome": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "navidrome": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "navidrome": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "navidrome": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "navidrome": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "navidrome": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "navidrome": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "navidrome": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "navidrome": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "navidrome": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "navidrome": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "navidrome": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T11:49:09.798979999Z",
      "target": {
        "apps": [
          "navidrome"
        ],
        "id": "navidrome",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-a5fdb8f0",
      "finished": "2026-10-07T13:17:03.636531609Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 2
      },
      "images": [
        {
          "id": "sha256:d01da33f8decbc6b6c37e44383b5d400fa0e7c49bc318ed074f44519847d62ee",
          "platform": "linux/amd64",
          "service": "netbird"
        },
        {
          "id": "sha256:b80d5dbc3c1309db133bbaf5ede0229a43a58cda586d1c55eec61981d69967ab",
          "platform": "linux/amd64",
          "service": "server"
        }
      ],
      "name": "app-netbird",
      "observed_target_apps": [
        "netbird"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion; real NetBird owner and protected management API through owned verified loopback HTTPS before backup and after isolated restore; no peer/VPN/browser claim",
      "source_file": "app-netbird.json",
      "source_sha256": "fa2ce29542cd18830c2119285a6a172145e53af5e1fd9845c2aa2a84e0fc4f90",
      "stages": [
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "netbird": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "netbird": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        },
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "management-tls",
          "outcome": "pass"
        },
        {
          "apps": {
            "netbird": "pass"
          },
          "name": "restored-management-tls",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:53:01.589514487Z",
      "target": {
        "apps": [
          "netbird"
        ],
        "id": "netbird",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "6d3d92a500bfff1fda316eeeed1b0ac27fe89c108393b33ba5998dae2aa88d68",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-4b6378f4",
      "finished": "2026-10-07T14:56:10.012283501Z",
      "head": "ee7975a8d0946f33f3677119ae657dc89962babe",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:cf6fd23dc412ad44a9cc31c3427824e633a4e295f0ff5ab54e87ac789c3d43e1",
          "platform": "linux/amd64",
          "service": "netdata"
        }
      ],
      "name": "app-netdata",
      "observed_target_apps": [
        "netdata"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-netdata.json",
      "source_sha256": "bd8c2b41d19a23a389ce846ca9321c3d1142f5a954b74ae07ddc641139461cbd",
      "stages": [
        {
          "apps": {
            "netdata": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "netdata": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "netdata": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "netdata": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "netdata": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "netdata": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "netdata": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "netdata": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "netdata": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "netdata": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "netdata": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "netdata": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T14:38:59.941166444Z",
      "target": {
        "apps": [
          "netdata"
        ],
        "id": "netdata",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-eab548d5",
      "finished": "2026-10-07T09:00:25.914514316Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 4
      },
      "images": [
        {
          "id": "sha256:deb9a3a5e1952c4bddf4b1afe48fd6040295a6d7c41379ce68c0d067512ca912",
          "platform": "linux/amd64",
          "service": "db"
        },
        {
          "id": "sha256:15f5a4aad4c3ba34b9874ddbc7f755b469dbd7b8a9e88c12690c52ef6c72465c",
          "platform": "linux/amd64",
          "service": "redis"
        },
        {
          "id": "sha256:42aa95fc13ded13dfe60355a3b6ffb83b8d99e360b96b18dd56506d5f12d3467",
          "platform": "linux/amd64",
          "service": "cron"
        },
        {
          "id": "sha256:42aa95fc13ded13dfe60355a3b6ffb83b8d99e360b96b18dd56506d5f12d3467",
          "platform": "linux/amd64",
          "service": "nextcloud"
        }
      ],
      "name": "app-nextcloud",
      "observed_target_apps": [
        "nextcloud"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-nextcloud.json",
      "source_sha256": "ccd6f58f59599f9035c2ee4c52bc7d571cf5e7205aaec11834d815161f278bb7",
      "stages": [
        {
          "apps": {
            "nextcloud": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "nextcloud": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "nextcloud": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "nextcloud": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "nextcloud": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "nextcloud": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "nextcloud": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "nextcloud": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "nextcloud": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "nextcloud": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "nextcloud": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "nextcloud": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:33:03.180587338Z",
      "target": {
        "apps": [
          "nextcloud"
        ],
        "id": "nextcloud",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-5346d49b",
      "finished": "2026-10-07T12:56:43.26781212Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:5c80aaf5e26c1f45a6ce9f58ad00edceabb717d68236ff5b06d6f4d1f1271742",
          "platform": "linux/amd64",
          "service": "nginx-proxy-manager"
        }
      ],
      "name": "app-nginx-proxy-manager",
      "observed_target_apps": [
        "nginx-proxy-manager"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-nginx-proxy-manager.json",
      "source_sha256": "fcc529015ac1850cdf8c91cc87a483053f4bfde53b8eb06e4eb04855e927558d",
      "stages": [
        {
          "apps": {
            "nginx-proxy-manager": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "nginx-proxy-manager": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "nginx-proxy-manager": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "nginx-proxy-manager": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "nginx-proxy-manager": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "nginx-proxy-manager": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "nginx-proxy-manager": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "nginx-proxy-manager": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "nginx-proxy-manager": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "nginx-proxy-manager": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "nginx-proxy-manager": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "nginx-proxy-manager": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:47:12.646917358Z",
      "target": {
        "apps": [
          "nginx-proxy-manager"
        ],
        "id": "nginx-proxy-manager",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-f5110edb",
      "finished": "2026-10-07T08:38:12.085607549Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:9c9df61df63d0a8a4aabfef98fda647ede418d7c758fab1abada07a32121fe32",
          "platform": "linux/amd64",
          "service": "node-red"
        }
      ],
      "name": "app-node-red",
      "observed_target_apps": [
        "node-red"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-node-red.json",
      "source_sha256": "5dd5e4ec21e980affb86235d741d4ef215fd9222655635107729820bc589801c",
      "stages": [
        {
          "apps": {
            "node-red": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "node-red": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "node-red": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "node-red": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "node-red": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "node-red": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "node-red": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "node-red": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "node-red": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "node-red": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "node-red": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "node-red": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.89377595Z",
      "target": {
        "apps": [
          "node-red"
        ],
        "id": "node-red",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-2ba4dd30",
      "finished": "2026-10-07T08:34:45.858776362Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:f22fb212dc2e08a70135153566666ccd279eb7c12313cb7424ace76264147762",
          "platform": "linux/amd64",
          "service": "ntfy"
        }
      ],
      "name": "app-ntfy",
      "observed_target_apps": [
        "ntfy"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; exact application data across isolated restore for ntfy only; other Apps have no workload or database-content assertion",
      "source_file": "app-ntfy.json",
      "source_sha256": "64d19c8a48a3375305bbf7914c41a08a8d54e73d94a8992b96d304a28cb73425",
      "stages": [
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "payload-seed",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "payload-restored",
          "outcome": "pass"
        },
        {
          "apps": {
            "ntfy": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.885784593Z",
      "target": {
        "apps": [
          "ntfy"
        ],
        "id": "ntfy",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-f2a73e3f",
      "finished": "2026-10-07T08:36:54.839558699Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:1ba0db04c88f6b4d7fa4882af2e17f67c12c109d9f4bb5f572541a24ce814817",
          "platform": "linux/amd64",
          "service": "nzbget"
        }
      ],
      "name": "app-nzbget",
      "observed_target_apps": [
        "nzbget"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-nzbget.json",
      "source_sha256": "071424109caeb0b766e428c0bc0e334c26cdf2ec94298c4dd11ff474d8903741",
      "stages": [
        {
          "apps": {
            "nzbget": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "nzbget": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "nzbget": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "nzbget": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "nzbget": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "nzbget": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "nzbget": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "nzbget": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "nzbget": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "nzbget": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "nzbget": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "nzbget": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.87637684Z",
      "target": {
        "apps": [
          "nzbget"
        ],
        "id": "nzbget",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-50200cc4",
      "finished": "2026-10-07T09:27:50.24751817Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:4d056959f70534c6906184776d53ab39135dce95912d666e9dd60ca2d0c4dac1",
          "platform": "linux/amd64",
          "service": "ollama"
        }
      ],
      "name": "app-ollama",
      "observed_target_apps": [
        "ollama"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-ollama.json",
      "source_sha256": "295cb9940bd6714a71ec9b264eb3946a18821809937b43377d998673bd1bf0af",
      "stages": [
        {
          "apps": {
            "ollama": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "ollama": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "ollama": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "ollama": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "ollama": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "ollama": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "ollama": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "ollama": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "ollama": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "ollama": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "ollama": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "ollama": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.869331471Z",
      "target": {
        "apps": [
          "ollama"
        ],
        "id": "ollama",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-0d2a1bd9",
      "finished": "2026-10-07T08:46:25.621903025Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:8719e348fa22da550b1b4911ce4e3baf9b994614270cc0a99f2db4c2e690b286",
          "platform": "linux/amd64",
          "service": "open-webui"
        }
      ],
      "name": "app-open-webui",
      "observed_target_apps": [
        "open-webui"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-open-webui.json",
      "source_sha256": "212db6f332ad1703133db277b065ff6f7d53baa94bc93507db5e19dfd69df356",
      "stages": [
        {
          "apps": {
            "open-webui": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "open-webui": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "open-webui": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "open-webui": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "open-webui": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "open-webui": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "open-webui": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "open-webui": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "open-webui": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "open-webui": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "open-webui": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "open-webui": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.8692819Z",
      "target": {
        "apps": [
          "open-webui"
        ],
        "id": "open-webui",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-d28b1bb2",
      "finished": "2026-10-07T13:21:44.724522372Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 2
      },
      "images": [
        {
          "id": "sha256:57c185c0f9968fba4c36f293d18802c79f896d0cbed9810f6e7a10ee9ec97b20",
          "platform": "linux/amd64",
          "service": "server"
        },
        {
          "id": "sha256:5a93040e5abdf181145d7c242964eca7999ffd700e0447b242ef212f3ee44d55",
          "platform": "linux/amd64",
          "service": "pangolin"
        }
      ],
      "name": "app-pangolin",
      "observed_target_apps": [
        "pangolin"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-pangolin.json",
      "source_sha256": "634c03abf30a6e65a31d50c2c28739f4ad08a57fa195344ab7f445798f96a2bf",
      "stages": [
        {
          "apps": {
            "pangolin": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "pangolin": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "pangolin": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "pangolin": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "pangolin": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "pangolin": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "pangolin": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "pangolin": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "pangolin": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "pangolin": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "pangolin": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "pangolin": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T13:05:31.912773969Z",
      "target": {
        "apps": [
          "pangolin"
        ],
        "id": "pangolin",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-3d220123",
      "finished": "2026-10-07T09:27:12.656466374Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 3
      },
      "images": [
        {
          "id": "sha256:40ab224f823ae96d9d05adfbb31d7068cbf96708be5d8b2691621b703a02de3d",
          "platform": "linux/amd64",
          "service": "broker"
        },
        {
          "id": "sha256:29754c7520f4b9654cf8ff98e19ac73b88e255c3a53f6236ebe9d52249bb6df3",
          "platform": "linux/amd64",
          "service": "db"
        },
        {
          "id": "sha256:448f5f79b979cce73b43f094b0e14552b6e82a4b06ae510681e0839754d56215",
          "platform": "linux/amd64",
          "service": "paperless-ngx"
        }
      ],
      "name": "app-paperless-ngx",
      "observed_target_apps": [
        "paperless-ngx"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-paperless-ngx.json",
      "source_sha256": "22e4dbd81fd2b1fd28de62e363f848557041b0ec85444c4f0a8e5456d5387b9a",
      "stages": [
        {
          "apps": {
            "paperless-ngx": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "paperless-ngx": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "paperless-ngx": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "paperless-ngx": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "paperless-ngx": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "paperless-ngx": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "paperless-ngx": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "paperless-ngx": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "paperless-ngx": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "paperless-ngx": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "paperless-ngx": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "paperless-ngx": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.868980409Z",
      "target": {
        "apps": [
          "paperless-ngx"
        ],
        "id": "paperless-ngx",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "40acccc931a9995c84cd8816bed922673cdac6a57d78e75f36f4ad2a0a7b1c7a",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-df772c47",
      "finished": "2026-10-07T17:28:06.137832559Z",
      "head": "b54733427f9c9ed44628073356a957a43bc4e8bb",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 3
      },
      "images": [
        {
          "id": "sha256:a7d4b166b6702ca0752e51f734638f95ba383b7446f9028082b0ea7c34b6facb",
          "platform": "linux/amd64",
          "service": "passbolt"
        },
        {
          "id": "sha256:41096ae9913468679bb5e05bbc19f44edcaf0eae45d67fcde224ffdeda9d3a1f",
          "platform": "linux/amd64",
          "service": "db"
        },
        {
          "id": "sha256:c83674e1999044d33d751661371b873539f47e5b5c5ca3320c7e0377acca6238",
          "platform": "linux/amd64",
          "service": "passbolt-prerequisites"
        }
      ],
      "name": "app-passbolt",
      "observed_target_apps": [
        "passbolt"
      ],
      "outcome": "failed",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion; fixture helper linux/amd64 sha256:fabe112a90ac77e9f36a60b2da5c3a4cad4864ace0aba7d64e9b0338fc132e9f; owned verified canonical HTTPS and private no-auth STARTTLS delivery are prerequisites only; browser-extension owner OpenPGP enrollment and key recovery remain manual",
      "source_file": "app-passbolt.json",
      "source_sha256": "f43e16dc62986386cb1b1b0e9287568b0f72af95d539c11140850f5990bcdb10",
      "stages": [
        {
          "apps": {
            "passbolt": "fail"
          },
          "failures": [
            {
              "app": "passbolt",
              "error": "timed out after 3m0s: HTTP 500",
              "hint": "passbolt did not answer on /auth/verify.json; read its logs with: self-host logs passbolt",
              "kind": "step.fail",
              "step": "ready"
            },
            {
              "app": "passbolt",
              "error": "Passbolt verification returned HTTP 500; cause remains unclassified. If server-key and database checks pass, ask the host administrator to verify PHP-FPM access to Passbolt bootstrap and configuration files.",
              "hint": "inspect only allowlisted startup/configuration and key-file accessibility booleans in the owned Project; no raw logs or key payloads",
              "kind": "step.fail",
              "step": "startup-diagnostic"
            },
            {
              "app": "passbolt",
              "error": "owned Passbolt public-key metadata: exists=true, www-data-readable=true, directory-owner=www-data, directory-group=www-data, directory-mode=0700",
              "hint": "read-only fixed public-key path metadata; an unobserved probe proves no missing file or readability failure",
              "kind": "step.fail",
              "step": "startup-metadata"
            },
            {
              "app": "passbolt",
              "error": "owned Passbolt application metadata: private-key-exists=true, private-key-readable=true, keyring-readable=true, keyring-writable=true, gnupg-extension=true, pdo-mysql-extension=true, canonical-input-valid=true, ssl-force-input=true, datasource=connected, schema=present",
              "hint": "read-only key accessibility and owned-env PDO/schema metadata; does not prove key import or effective Cake/FPM configuration",
              "kind": "step.fail",
              "step": "startup-application-metadata"
            },
            {
              "app": "passbolt",
              "error": "owned Passbolt effective metadata: bootstrap=initialized, configured-public-path-matches=true, configured-public-readable=true, original-url-present=true, canonical-match=true, url-enforced=false, fingerprint-present=false, fingerprint-valid=false, authentication=session",
              "hint": "normal CLI application bootstrap/configuration booleans only; does not establish FPM configuration or key import",
              "kind": "step.fail",
              "step": "startup-effective-metadata"
            }
          ],
          "name": "install",
          "outcome": "fail",
          "reason": "redacted CLI failure details retained"
        },
        {
          "apps": {
            "passbolt": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "passbolt": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "passbolt": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "passbolt": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "passbolt": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "passbolt": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "passbolt": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "passbolt": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "passbolt": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "passbolt": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "passbolt": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        },
        {
          "apps": {
            "passbolt": "not-run",
            "passbolt-prerequisites": "not-run"
          },
          "name": "local-prerequisites",
          "outcome": "not-run"
        },
        {
          "apps": {
            "passbolt": "not-run",
            "passbolt-prerequisites": "not-run"
          },
          "name": "restored-local-prerequisites",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T17:25:00.017385043Z",
      "target": {
        "apps": [
          "passbolt"
        ],
        "id": "passbolt",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "5dfdde2c3e31ea22410c1d0a8e90ef7ba2c39afb159cd84e1e233c8fe094f4c3",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-4c57a66c",
      "finished": "2026-10-07T13:38:26.344078557Z",
      "head": "d4d352189363d3958231fc5225bb0e869334971b",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 4
      },
      "images": [
        {
          "id": "sha256:3eb66c712003216ac81802cef79dbfb7dcfb3e80aaf24ccab8be708649f68b5d",
          "platform": "linux/amd64",
          "service": "patchmon"
        },
        {
          "id": "sha256:79bd7c99e923138f136f8009d6bffa66e21e9d4fda5c0c561b00fc9c90cfe537",
          "platform": "linux/amd64",
          "service": "database"
        },
        {
          "id": "sha256:f84b0c4678011602b9b98c227a4dcd5468bf8b088b02fdd4165cb7758bad8058",
          "platform": "linux/amd64",
          "service": "redis"
        },
        {
          "id": "sha256:b80c272f9e68727650f09960e88546990ea5590aec5bcbebd04547e728633044",
          "platform": "linux/amd64",
          "service": "guacd"
        }
      ],
      "name": "app-patchmon",
      "observed_target_apps": [
        "patchmon"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-patchmon.json",
      "source_sha256": "bf7b51f837ea273063161f736be4583eabcadb43309c6dccee65366fdb560be9",
      "stages": [
        {
          "apps": {
            "patchmon": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "patchmon": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "patchmon": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "patchmon": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "patchmon": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "patchmon": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "patchmon": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "patchmon": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "patchmon": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "patchmon": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "patchmon": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "patchmon": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T13:37:02.863821716Z",
      "target": {
        "apps": [
          "patchmon"
        ],
        "id": "patchmon",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "fd7ffb47a78afb5adf0b3469c9f0c2020a0e972940685f6b4ef6f943cd8f39b8",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-eeb86d98",
      "finished": "2026-10-07T11:43:34.693814249Z",
      "head": "b17d9de4a75ab6bb895725d5be35898adbf2d5eb",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:da9b7f23e8b2d0d3240b6105e54e56b9626e4263e30ab871bbe831fa73428679",
          "platform": "linux/amd64",
          "service": "peanut"
        }
      ],
      "name": "app-peanut",
      "observed_target_apps": [
        "peanut"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-peanut.json",
      "source_sha256": "85b76be3cdd1c93aeea556bdc883934fc2e47a91a29f1aca1ea7d924d5127cda",
      "stages": [
        {
          "apps": {
            "peanut": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "peanut": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "peanut": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "peanut": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "peanut": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "peanut": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "peanut": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "peanut": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "peanut": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "peanut": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "peanut": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "peanut": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T11:42:45.55332991Z",
      "target": {
        "apps": [
          "peanut"
        ],
        "id": "peanut",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-22c08040",
      "finished": "2026-10-07T08:34:42.655842359Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:cbaec6ae439c14053f225d7a264a1e05fbca7328e1e2a5d76293e7beaf99246c",
          "platform": "linux/amd64",
          "service": "photoprism"
        }
      ],
      "name": "app-photoprism",
      "observed_target_apps": [
        "photoprism"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-photoprism.json",
      "source_sha256": "d52703c07465e00095a8bfda8da7c22bd779b720ee6fc197cd0608eb349b4869",
      "stages": [
        {
          "apps": {
            "photoprism": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "photoprism": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "photoprism": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "photoprism": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "photoprism": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "photoprism": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "photoprism": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "photoprism": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "photoprism": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "photoprism": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "photoprism": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "photoprism": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.868678317Z",
      "target": {
        "apps": [
          "photoprism"
        ],
        "id": "photoprism",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "c7fc7b3533de5b5d55bae223476909f7ed3b50a646b52a6cb57993b3a698059e",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-ecc0717c",
      "finished": "2026-10-07T15:41:20.802890922Z",
      "head": "d175e030a47f6caa0d454bc88ff14f8dc7cc7fab",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:15d302c0f85902d6378e159b906b3ffc7b5ef2af079e1d296d1dcf3f5f217e29",
          "platform": "linux/amd64",
          "service": "pihole"
        }
      ],
      "name": "app-pihole",
      "observed_target_apps": [
        "pihole"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-pihole.json",
      "source_sha256": "cbe9be675850d92b89a63577a00eb3a2750ec6e1564003b10ce3e8b5d8a34855",
      "stages": [
        {
          "apps": {
            "pihole": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "pihole": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "pihole": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "pihole": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "pihole": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "pihole": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "pihole": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "pihole": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "pihole": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "pihole": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "pihole": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "pihole": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T15:20:01.177954012Z",
      "target": {
        "apps": [
          "pihole"
        ],
        "id": "pihole",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "awaiting-external-credentials",
      "cleanup": "not-run",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": false,
        "platforms": [],
        "service_count": 0
      },
      "images": [],
      "name": "app-plex",
      "observed_target_apps": [
        "plex"
      ],
      "outcome": "awaiting-external-credentials",
      "platform": "",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-plex.json",
      "source_sha256": "7e9fabfd6e199e6940925494df70177cc886a715e5ed85f1a3443fc3069da4c9",
      "stages": [
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "install",
          "outcome": "not-run"
        },
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "plex": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T08:30:37.868553756Z",
      "target": {
        "apps": [
          "plex"
        ],
        "id": "plex",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-8fd88949",
      "finished": "2026-10-07T08:33:40.949538689Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:dda734886443b826a8f0dfa0d7bd672fbf3ffc80e8f2807bfec53d4226e8cfb0",
          "platform": "linux/amd64",
          "service": "portainer"
        }
      ],
      "name": "app-portainer",
      "observed_target_apps": [
        "portainer"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-portainer.json",
      "source_sha256": "05d52714696e61a1f9a726e082f703364fb6abcba91a1e97888c54e831072d0e",
      "stages": [
        {
          "apps": {
            "portainer": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "portainer": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "portainer": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "portainer": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "portainer": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "portainer": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "portainer": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "portainer": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "portainer": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "portainer": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "portainer": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "portainer": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.868478271Z",
      "target": {
        "apps": [
          "portainer"
        ],
        "id": "portainer",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-ef73209b",
      "finished": "2026-10-07T08:36:19.578978995Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:29754c7520f4b9654cf8ff98e19ac73b88e255c3a53f6236ebe9d52249bb6df3",
          "platform": "linux/amd64",
          "service": "postgresql"
        }
      ],
      "name": "app-postgresql",
      "observed_target_apps": [
        "postgresql"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; exact application data across isolated restore for postgresql only; other Apps have no workload or database-content assertion",
      "source_file": "app-postgresql.json",
      "source_sha256": "57b8ece0089d46faf4c51f1419842a9e232a96c34475472f2768b06b38bf8776",
      "stages": [
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "payload-seed",
          "outcome": "pass"
        },
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "payload-restored",
          "outcome": "pass"
        },
        {
          "apps": {
            "postgresql": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.868410339Z",
      "target": {
        "apps": [
          "postgresql"
        ],
        "id": "postgresql",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "fd7ffb47a78afb5adf0b3469c9f0c2020a0e972940685f6b4ef6f943cd8f39b8",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-1c86445b",
      "finished": "2026-10-07T11:25:23.853370866Z",
      "head": "b17d9de4a75ab6bb895725d5be35898adbf2d5eb",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:66416213a3b43651d3521acc3987277b4f97ad0ae29acc581f910ef9bd3959bd",
          "platform": "linux/amd64",
          "service": "prometheus"
        }
      ],
      "name": "app-prometheus",
      "observed_target_apps": [
        "prometheus"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-prometheus.json",
      "source_sha256": "848ad2b2335870abc3ddf7fea9735ffe150f765203063a94c6a92dfbc5a06aaf",
      "stages": [
        {
          "apps": {
            "prometheus": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "prometheus": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "prometheus": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "prometheus": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "prometheus": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "prometheus": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "prometheus": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "prometheus": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "prometheus": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "prometheus": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "prometheus": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "prometheus": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T11:23:50.893377512Z",
      "target": {
        "apps": [
          "prometheus"
        ],
        "id": "prometheus",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-f38ad735",
      "finished": "2026-10-07T08:34:14.223240386Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:899607d03e6bb4d702464157700a5e9ba714eee49cf14334016fc56b0c38130f",
          "platform": "linux/amd64",
          "service": "prowlarr"
        }
      ],
      "name": "app-prowlarr",
      "observed_target_apps": [
        "prowlarr"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-prowlarr.json",
      "source_sha256": "f6577a4aa15dcc10f0941efcac7e4846e75baf1e071eefd92e98a903069e0290",
      "stages": [
        {
          "apps": {
            "prowlarr": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "prowlarr": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "prowlarr": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "prowlarr": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "prowlarr": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "prowlarr": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "prowlarr": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "prowlarr": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "prowlarr": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "prowlarr": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "prowlarr": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "prowlarr": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.868244521Z",
      "target": {
        "apps": [
          "prowlarr"
        ],
        "id": "prowlarr",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-9034772b",
      "finished": "2026-10-07T13:18:02.589742821Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:f1997322e699e5af789d8f522cca90d78ebe87dd3a972b8affda6382faeab2b8",
          "platform": "linux/amd64",
          "service": "qbittorrent"
        }
      ],
      "name": "app-qbittorrent",
      "observed_target_apps": [
        "qbittorrent"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-qbittorrent.json",
      "source_sha256": "92e4ae7bbdbadaf6ae24f27d116eabde1cd6fd0aab9f7aa6e3ba56dedf5d112d",
      "stages": [
        {
          "apps": {
            "qbittorrent": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "qbittorrent": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "qbittorrent": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "qbittorrent": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "qbittorrent": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "qbittorrent": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "qbittorrent": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "qbittorrent": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "qbittorrent": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "qbittorrent": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "qbittorrent": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "qbittorrent": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T13:06:14.006629614Z",
      "target": {
        "apps": [
          "qbittorrent"
        ],
        "id": "qbittorrent",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-b29c4c65",
      "finished": "2026-10-07T08:35:54.991202265Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:34a3a98b3b5d869daa2dd652143155044cb229bda273dae1b6966abcd2e039e8",
          "platform": "linux/amd64",
          "service": "radarr"
        }
      ],
      "name": "app-radarr",
      "observed_target_apps": [
        "radarr"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-radarr.json",
      "source_sha256": "40ca3f489d59e08c600cd6aff518e2a056775b0308e16d4481c041608448b832",
      "stages": [
        {
          "apps": {
            "radarr": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "radarr": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "radarr": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "radarr": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "radarr": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "radarr": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "radarr": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "radarr": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "radarr": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "radarr": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "radarr": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "radarr": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:30:37.869430492Z",
      "target": {
        "apps": [
          "radarr"
        ],
        "id": "radarr",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-40212251",
      "finished": "2026-10-07T13:05:31.912487668Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 2
      },
      "images": [
        {
          "id": "sha256:677bef3d96cfa807a8e076b411b8bb6e12db8744eebedeba24bc015c9822c01b",
          "platform": "linux/amd64",
          "service": "renovate"
        },
        {
          "id": "sha256:831ef608fc00db376c4b7ccd3883a505e504005a43d578bcf6d22dc955d95e55",
          "platform": "linux/amd64",
          "service": "forgejo"
        }
      ],
      "name": "app-renovate",
      "observed_target_apps": [
        "renovate",
        "forgejo"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion; Renovate prepared and inert (--version only), no dependency jobs, scheduler or pull-request claim; actual dedicated owned Forgejo PAT identity and exact persisted token ID before backup and after restore",
      "source_file": "app-renovate.json",
      "source_sha256": "e5b8174e2dd1672634ce2c2e853c92564d33549e3f43857929c4ce47e3382975",
      "stages": [
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "renovate": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "renovate": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "forge-token-identity",
          "outcome": "pass"
        },
        {
          "apps": {
            "forgejo": "pass",
            "renovate": "pass"
          },
          "name": "restored-forge-token-identity",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:56:43.268043796Z",
      "target": {
        "apps": [
          "renovate"
        ],
        "id": "renovate",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-e7be5160",
      "finished": "2026-10-07T09:48:35.636167394Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:abdfb98c81b7e48c9b91f0870383f1b2bcdc3137d196dbfb8abe0b1ae713942f",
          "platform": "linux/amd64",
          "service": "restic"
        }
      ],
      "name": "app-restic",
      "observed_target_apps": [
        "restic"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-restic.json",
      "source_sha256": "949d83806e4889e62f8f8a478c7e2e0281a3e54567017893d899b8212331a84c",
      "stages": [
        {
          "apps": {
            "restic": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "restic": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "restic": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "restic": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "restic": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "restic": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "restic": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "restic": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "restic": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "restic": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "restic": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "restic": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:48:24.752778027Z",
      "target": {
        "apps": [
          "restic"
        ],
        "id": "restic",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-c5ca1e11",
      "finished": "2026-10-07T09:14:39.414319798Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:07792c85fd59f0ce2d987aab4f972cee2040b52404ee65e5509ee9212324ce5a",
          "platform": "linux/amd64",
          "service": "sabnzbd"
        }
      ],
      "name": "app-sabnzbd",
      "observed_target_apps": [
        "sabnzbd"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-sabnzbd.json",
      "source_sha256": "a75e3eaad649ee719dd6b12c5f0834fb295b010f0f461e12746b9644d6a7ee99",
      "stages": [
        {
          "apps": {
            "sabnzbd": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "sabnzbd": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "sabnzbd": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "sabnzbd": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "sabnzbd": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "sabnzbd": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "sabnzbd": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "sabnzbd": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "sabnzbd": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "sabnzbd": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "sabnzbd": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "sabnzbd": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T09:14:03.862799455Z",
      "target": {
        "apps": [
          "sabnzbd"
        ],
        "id": "sabnzbd",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-bde6c4b1",
      "finished": "2026-10-07T08:53:29.320856454Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:f36c27b79fd325d3c5f3dc23ef17a201a2ee03fa61b46f0786736641bf4dcf0f",
          "platform": "linux/amd64",
          "service": "scrypted"
        }
      ],
      "name": "app-scrypted",
      "observed_target_apps": [
        "scrypted"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-scrypted.json",
      "source_sha256": "d52329020b465fbaef4d0eb576d0b1924e005eef4fca9488d35964107947a338",
      "stages": [
        {
          "apps": {
            "scrypted": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "scrypted": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "scrypted": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "scrypted": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "scrypted": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "scrypted": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "scrypted": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "scrypted": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "scrypted": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "scrypted": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "scrypted": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "scrypted": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:52:41.845280792Z",
      "target": {
        "apps": [
          "scrypted"
        ],
        "id": "scrypted",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "6d3d92a500bfff1fda316eeeed1b0ac27fe89c108393b33ba5998dae2aa88d68",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-a1e26c4f",
      "finished": "2026-10-07T14:57:57.198201498Z",
      "head": "ee7975a8d0946f33f3677119ae657dc89962babe",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 3
      },
      "images": [
        {
          "id": "sha256:41096ae9913468679bb5e05bbc19f44edcaf0eae45d67fcde224ffdeda9d3a1f",
          "platform": "linux/amd64",
          "service": "db"
        },
        {
          "id": "sha256:0f70e98a63db10e169cff3f0720e3d4b7afd67ab7aec931b9a91113bff510d41",
          "platform": "linux/amd64",
          "service": "redis"
        },
        {
          "id": "sha256:d3b8f07584d05a6cc1443bb86b48f916b452bbd49b0d6fea9f127fcf354bb490",
          "platform": "linux/amd64",
          "service": "seafile"
        }
      ],
      "name": "app-seafile",
      "observed_target_apps": [
        "seafile"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-seafile.json",
      "source_sha256": "796976b2159023092406695ff33184d0743ec72005772361364194817df1a04f",
      "stages": [
        {
          "apps": {
            "seafile": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "seafile": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "seafile": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "seafile": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "seafile": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "seafile": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "seafile": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "seafile": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "seafile": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "seafile": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "seafile": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "seafile": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T14:38:59.940606705Z",
      "target": {
        "apps": [
          "seafile"
        ],
        "id": "seafile",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-e4ca40d4",
      "finished": "2026-10-07T13:06:14.00632012Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:c1673c6c7835e21540cacbf517abb7c4a80d2893b3484bec1b1a11212ac247fb",
          "platform": "linux/amd64",
          "service": "seerr"
        }
      ],
      "name": "app-seerr",
      "observed_target_apps": [
        "seerr"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-seerr.json",
      "source_sha256": "9e292a39dbb90cd71a9ea0400da5252f561e1aa95b7feb5743aab0b3f70fd4c9",
      "stages": [
        {
          "apps": {
            "seerr": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "seerr": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "seerr": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "seerr": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "seerr": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "seerr": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "seerr": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "seerr": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "seerr": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "seerr": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "seerr": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "seerr": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T13:04:41.856326423Z",
      "target": {
        "apps": [
          "seerr"
        ],
        "id": "seerr",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-e62577ed",
      "finished": "2026-10-07T08:52:41.845081195Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:feb8c64211e4a10d9efb8c831d96b1687e674b3d86080a2ec9d150cdfc941293",
          "platform": "linux/amd64",
          "service": "slskd"
        }
      ],
      "name": "app-slskd",
      "observed_target_apps": [
        "slskd"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-slskd.json",
      "source_sha256": "9c3f8bf9cc070fcb10a31d463a7a97c0338056e62105621d49bf9a7eb2f9c5e5",
      "stages": [
        {
          "apps": {
            "slskd": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "slskd": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "slskd": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "slskd": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "slskd": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "slskd": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "slskd": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "slskd": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "slskd": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "slskd": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "slskd": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "slskd": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:41:11.921833219Z",
      "target": {
        "apps": [
          "slskd"
        ],
        "id": "slskd",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-6542307d",
      "finished": "2026-10-07T08:53:24.94320514Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:1a11b87590c6a6ddc63a5a72e6e5a0b545c063b5d5e99af54e458a426f1b7bb8",
          "platform": "linux/amd64",
          "service": "sonarr"
        }
      ],
      "name": "app-sonarr",
      "observed_target_apps": [
        "sonarr"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-sonarr.json",
      "source_sha256": "9c966eeec109374f51c6e9fd32815cb48cce5dcc3188ddd64a1935a062628528",
      "stages": [
        {
          "apps": {
            "sonarr": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "sonarr": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "sonarr": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "sonarr": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "sonarr": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "sonarr": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "sonarr": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "sonarr": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "sonarr": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "sonarr": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "sonarr": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "sonarr": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:46:25.636522516Z",
      "target": {
        "apps": [
          "sonarr"
        ],
        "id": "sonarr",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "9c52cfe6dad38f9832a3613ff911f33f505cc0367afb539dbabf3d8498203012",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-97dfc1f7",
      "finished": "2026-10-07T17:21:33.013837873Z",
      "head": "72898709c83ad1ca243e7f3ceb7f0d086b61ef6f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:dccd57c84f9c4d46b43017952aeaa0e928e4626f15c5e7d0023a77b72f121df0",
          "platform": "linux/amd64",
          "service": "speedtest-tracker"
        }
      ],
      "name": "app-speedtest-tracker",
      "observed_target_apps": [
        "speedtest-tracker"
      ],
      "outcome": "failed",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-speedtest-tracker.json",
      "source_sha256": "e5cf259d8e1d137fc83a4d5b650a366d8423c0f4a883a2f6011525cfb708cfe5",
      "stages": [
        {
          "apps": {
            "speedtest-tracker": "fail"
          },
          "failures": [
            {
              "app": "speedtest-tracker",
              "error": "timed out after 3m0s: HTTP 502; app_key_present=true app_key_file_readable=true pool_identity_includes_root=true php_upstream_listening=false launcher_source_matches=true launcher_source_executable=true launcher_compiled_matches=true launcher_compiled_executable=true php_service_wanted=true php_service_up=false php_config_valid=false php_config_error=config_open php_failure_path=main_config process_uid_zero=true failure_path_readable=true failure_path_writable=true failure_path_owner_current=true; ask the host administrator to review PHP-FPM confinement compatibility: its configuration appears readable but PHP-FPM cannot open it",
              "hint": "A persistent HTTP 502 means nginx did not obtain a response from its pinned PHP-FPM upstream; verify owned application initialization and PHP-FPM readiness before changing the healthcheck route.",
              "kind": "step.fail",
              "step": "ready"
            }
          ],
          "name": "install",
          "outcome": "fail",
          "reason": "redacted CLI failure details retained"
        },
        {
          "apps": {
            "speedtest-tracker": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "speedtest-tracker": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "speedtest-tracker": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "speedtest-tracker": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "speedtest-tracker": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "speedtest-tracker": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "speedtest-tracker": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "speedtest-tracker": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "speedtest-tracker": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "speedtest-tracker": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "speedtest-tracker": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T17:15:19.147395793Z",
      "target": {
        "apps": [
          "speedtest-tracker"
        ],
        "id": "speedtest-tracker",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "fd7ffb47a78afb5adf0b3469c9f0c2020a0e972940685f6b4ef6f943cd8f39b8",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-463eba64",
      "finished": "2026-10-07T11:59:10.374253242Z",
      "head": "b17d9de4a75ab6bb895725d5be35898adbf2d5eb",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:8594300806dba2e587f4e2ad7f2a2c6e6328976907dd9de2bc37965a3d8d8d20",
          "platform": "linux/amd64",
          "service": "stalwart-mail"
        }
      ],
      "name": "app-stalwart-mail",
      "observed_target_apps": [
        "stalwart-mail"
      ],
      "outcome": "manual",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-stalwart-mail.json",
      "source_sha256": "93cf803409d1e73c457f46494ac661b1f5dec008e6c1c0b4311c02bb8650453a",
      "stages": [
        {
          "apps": {
            "stalwart-mail": "manual"
          },
          "failures": [
            {
              "app": "stalwart-mail",
              "error": "Stalwart has no headless way to verify its administrator login",
              "hint": "Open http://127.0.0.1:41141 and complete the first-run wizard for mail.e2e.selfhost.test; set the administrator admin@e2e.selfhost.test with the password from `self-host credentials`. Mail delivery needs separate SMTP ports, DNS, TLS and anti-abuse approval.",
              "kind": "step.fail",
              "step": "admin"
            }
          ],
          "name": "install",
          "outcome": "manual",
          "reason": "first administrator requires web UI"
        },
        {
          "apps": {
            "stalwart-mail": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "stalwart-mail": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "stalwart-mail": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "stalwart-mail": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "stalwart-mail": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "stalwart-mail": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "stalwart-mail": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "stalwart-mail": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "stalwart-mail": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "stalwart-mail": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "stalwart-mail": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T11:55:50.341882174Z",
      "target": {
        "apps": [
          "stalwart-mail"
        ],
        "id": "stalwart-mail",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "926e1c165d148ebdbe03885248d15caebf6b6be476e2c0c3ce0c8853bef97fbd",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-47004ba9",
      "finished": "2026-10-07T12:30:08.143593247Z",
      "head": "f06f1b262c4deaca1a2d538e86bd9843ed434f2f",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:c3a466dd9901ab1b24526225f16bd1dfa9c86c51cd15a7b5dcb509c28fbf9c5e",
          "platform": "linux/amd64",
          "service": "stirling-pdf"
        }
      ],
      "name": "app-stirling-pdf",
      "observed_target_apps": [
        "stirling-pdf"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-stirling-pdf.json",
      "source_sha256": "e0dd63ca8f4a26f3f42c27f6c2613fbc477a22413de363f14edefa6edb9ddf78",
      "stages": [
        {
          "apps": {
            "stirling-pdf": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "stirling-pdf": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "stirling-pdf": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "stirling-pdf": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "stirling-pdf": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "stirling-pdf": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "stirling-pdf": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "stirling-pdf": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "stirling-pdf": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "stirling-pdf": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "stirling-pdf": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "stirling-pdf": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:27:03.874240594Z",
      "target": {
        "apps": [
          "stirling-pdf"
        ],
        "id": "stirling-pdf",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-298c2d48",
      "finished": "2026-10-07T08:41:11.921050874Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:d2e46cb6ec1efe23b392e1e8f77ab54c12a2390df64fd0ee4d7328f7b510cb23",
          "platform": "linux/amd64",
          "service": "syncthing"
        }
      ],
      "name": "app-syncthing",
      "observed_target_apps": [
        "syncthing"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-syncthing.json",
      "source_sha256": "901150de86aca028bf44331d326e4976d32f99f1ee3de17feecda35e70a87169",
      "stages": [
        {
          "apps": {
            "syncthing": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "syncthing": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "syncthing": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "syncthing": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "syncthing": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "syncthing": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "syncthing": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "syncthing": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "syncthing": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "syncthing": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "syncthing": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "syncthing": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:36:45.792839907Z",
      "target": {
        "apps": [
          "syncthing"
        ],
        "id": "syncthing",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "awaiting-external-credentials",
      "cleanup": "not-run",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": false,
        "platforms": [],
        "service_count": 0
      },
      "images": [],
      "name": "app-tailscale",
      "observed_target_apps": [
        "tailscale"
      ],
      "outcome": "awaiting-external-credentials",
      "platform": "",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-tailscale.json",
      "source_sha256": "639fcba2f32869950613a836966ed6835c3823d1ab0b66c15f5298ef54ab4835",
      "stages": [
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "install",
          "outcome": "not-run"
        },
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "tailscale": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T08:41:11.921331641Z",
      "target": {
        "apps": [
          "tailscale"
        ],
        "id": "tailscale",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "de1dfe7b546d5da19478ff959da258230003d34ec7f1220c331f0e057861650d",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-29f79268",
      "finished": "2026-10-07T12:17:52.698805418Z",
      "head": "e4297c75564bc2e27d40e152ec10280593eaf931",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:844e1c4fc2b37449104b89dadb8a6879142d934c36d78c7382f5d59e4768e10d",
          "platform": "linux/amd64",
          "service": "tdarr"
        }
      ],
      "name": "app-tdarr",
      "observed_target_apps": [
        "tdarr"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-tdarr.json",
      "source_sha256": "1b38a0cab965bf352e2348a9eeaf137457cd4116ff79e4e3bc67325927279e73",
      "stages": [
        {
          "apps": {
            "tdarr": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "tdarr": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "tdarr": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "tdarr": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "tdarr": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "tdarr": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "tdarr": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "tdarr": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "tdarr": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "tdarr": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "tdarr": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "tdarr": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T12:16:48.333729678Z",
      "target": {
        "apps": [
          "tdarr"
        ],
        "id": "tdarr",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "fd7ffb47a78afb5adf0b3469c9f0c2020a0e972940685f6b4ef6f943cd8f39b8",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-eea132dd",
      "finished": "2026-10-07T12:03:08.186532276Z",
      "head": "b17d9de4a75ab6bb895725d5be35898adbf2d5eb",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:3cbdabc2b181b45f36107c74824398d25cba6533dced69d59a9e0c3b30234301",
          "platform": "linux/amd64",
          "service": "technitium-dns"
        }
      ],
      "name": "app-technitium-dns",
      "observed_target_apps": [
        "technitium-dns"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-technitium-dns.json",
      "source_sha256": "e5f54a4dc020bedc14a2dc41f0dfc86baf4e2cf18cc3b8ecafcec1a5894ff80a",
      "stages": [
        {
          "apps": {
            "technitium-dns": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "technitium-dns": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "technitium-dns": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "technitium-dns": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "technitium-dns": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "technitium-dns": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "technitium-dns": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "technitium-dns": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "technitium-dns": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "technitium-dns": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "technitium-dns": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "technitium-dns": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T11:59:10.383492069Z",
      "target": {
        "apps": [
          "technitium-dns"
        ],
        "id": "technitium-dns",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "20e3a9745340b39959cc23dea9efe3153101ad756bee014cfd73a2e1500b81e8",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-448a2c47",
      "finished": "2026-10-07T15:54:42.998626427Z",
      "head": "2d961a5763b551c2af6c28c64aa8e271573e4be2",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 3
      },
      "images": [
        {
          "id": "sha256:ee26f73f7d687975f938c2d4be31e767438bf8574368ae759b4aea920778802d",
          "platform": "linux/amd64",
          "service": "tracearr"
        },
        {
          "id": "sha256:a4618863a155f0e305224cad44dc50196e3136f9bfb0b13127da82955a093f0c",
          "platform": "linux/amd64",
          "service": "timescale"
        },
        {
          "id": "sha256:15f5a4aad4c3ba34b9874ddbc7f755b469dbd7b8a9e88c12690c52ef6c72465c",
          "platform": "linux/amd64",
          "service": "redis"
        }
      ],
      "name": "app-tracearr",
      "observed_target_apps": [
        "tracearr"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-tracearr.json",
      "source_sha256": "17050658b3114bf8876c251c3bcb50da8d3f007312714a594de316286244fa23",
      "stages": [
        {
          "apps": {
            "tracearr": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "tracearr": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "tracearr": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "tracearr": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "tracearr": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "tracearr": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "tracearr": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "tracearr": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "tracearr": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "tracearr": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "tracearr": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "tracearr": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T15:49:39.813155737Z",
      "target": {
        "apps": [
          "tracearr"
        ],
        "id": "tracearr",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "fd7ffb47a78afb5adf0b3469c9f0c2020a0e972940685f6b4ef6f943cd8f39b8",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-f629a0f1",
      "finished": "2026-10-07T11:25:28.753329836Z",
      "head": "b17d9de4a75ab6bb895725d5be35898adbf2d5eb",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:b77b108f8e9b258a30f8bbd95d88d484881b3fe1013eb08c33fce0183eab69c7",
          "platform": "linux/amd64",
          "service": "traefik"
        }
      ],
      "name": "app-traefik",
      "observed_target_apps": [
        "traefik"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-traefik.json",
      "source_sha256": "d66ff637536fea96c852639cb1623102773b27ee2625a6dc66c92c7254ac32a7",
      "stages": [
        {
          "apps": {
            "traefik": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "traefik": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "traefik": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "traefik": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "traefik": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "traefik": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "traefik": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "traefik": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "traefik": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "traefik": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "traefik": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "traefik": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T11:24:31.952585676Z",
      "target": {
        "apps": [
          "traefik"
        ],
        "id": "traefik",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-85cb602d",
      "finished": "2026-10-07T08:37:49.644030629Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:d09f1618717cdcb5763ef00a6fddb4e699e17f87de8d8c27058b87a39a44aa63",
          "platform": "linux/amd64",
          "service": "transmission"
        }
      ],
      "name": "app-transmission",
      "observed_target_apps": [
        "transmission"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-transmission.json",
      "source_sha256": "c3f05fde4c3521618c6210e0da57cf4286e97d30cc926d9788c5f899afd75d6d",
      "stages": [
        {
          "apps": {
            "transmission": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "transmission": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "transmission": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "transmission": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "transmission": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "transmission": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "transmission": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "transmission": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "transmission": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "transmission": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "transmission": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "transmission": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:37:04.549622951Z",
      "target": {
        "apps": [
          "transmission"
        ],
        "id": "transmission",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-a93a8046",
      "finished": "2026-10-07T10:11:00.930891016Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 2
      },
      "images": [
        {
          "id": "sha256:9f376b984d0badac396b5366cc15a3561119bb4b256df14c2b7b984e9ea9c5be",
          "platform": "linux/amd64",
          "service": "umami"
        },
        {
          "id": "sha256:319d040b5d68e3e5b98a238f0b5d375b4b4d9c5b3a6a9afb0308a8bcf0de72a5",
          "platform": "linux/amd64",
          "service": "db"
        }
      ],
      "name": "app-umami",
      "observed_target_apps": [
        "umami"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-umami.json",
      "source_sha256": "b4ee9aea4bea73150a69d5344d63bc15430bcf906389d1352112624a5b2087b0",
      "stages": [
        {
          "apps": {
            "umami": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "umami": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "umami": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "umami": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "umami": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "umami": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "umami": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "umami": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "umami": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "umami": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "umami": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "umami": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:37:00.842590018Z",
      "target": {
        "apps": [
          "umami"
        ],
        "id": "umami",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-23fac9fd",
      "finished": "2026-10-07T08:37:34.607694029Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:eb8e727fd324dd758ec05e61b2267693cbff3d2715c9b0a13055eca619837905",
          "platform": "linux/amd64",
          "service": "unbound"
        }
      ],
      "name": "app-unbound",
      "observed_target_apps": [
        "unbound"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-unbound.json",
      "source_sha256": "c2e51f360ed40558d2b3f94b2398544e05cc645b8732b11c8a011f312ab447e5",
      "stages": [
        {
          "apps": {
            "unbound": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "unbound": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "unbound": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "unbound": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "unbound": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "unbound": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "unbound": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "unbound": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "unbound": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "unbound": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "unbound": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "unbound": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T08:36:54.839838116Z",
      "target": {
        "apps": [
          "unbound"
        ],
        "id": "unbound",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-90ff164e",
      "finished": "2026-10-07T08:37:04.549348833Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": false,
        "platforms": [],
        "service_count": 0
      },
      "images": [],
      "name": "app-uptime-kuma",
      "observed_target_apps": [
        "uptime-kuma"
      ],
      "outcome": "manual",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-uptime-kuma.json",
      "source_sha256": "43fa1fafb6bdfea86b63546a83e7b02a492d9a8725843487d5cf8daf5b6011ab",
      "stages": [
        {
          "apps": {
            "uptime-kuma": "manual"
          },
          "failures": [
            {
              "app": "uptime-kuma",
              "error": "this App has no headless way to create its first administrator",
              "hint": "Open http://127.0.0.1:46303, create the administrator admin with the password shown by `self-host credentials`; Uptime Kuma creates its first administrator in the web UI and has no HTTP setup API; open the App, create the administrator, then rerun setup., then run: self-host setup uptime-kuma",
              "kind": "step.fail",
              "step": "admin"
            }
          ],
          "name": "install",
          "outcome": "manual",
          "reason": "first administrator requires web UI"
        },
        {
          "apps": {
            "uptime-kuma": "not-run"
          },
          "name": "setup-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "uptime-kuma": "not-run"
          },
          "name": "idempotency",
          "outcome": "not-run"
        },
        {
          "apps": {
            "uptime-kuma": "not-run"
          },
          "name": "restart",
          "outcome": "not-run"
        },
        {
          "apps": {
            "uptime-kuma": "not-run"
          },
          "name": "recovery",
          "outcome": "not-run"
        },
        {
          "apps": {
            "uptime-kuma": "not-run"
          },
          "name": "update",
          "outcome": "not-run"
        },
        {
          "apps": {
            "uptime-kuma": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "uptime-kuma": "not-run"
          },
          "name": "backup",
          "outcome": "not-run"
        },
        {
          "apps": {
            "uptime-kuma": "not-run"
          },
          "name": "isolated-restore",
          "outcome": "not-run"
        },
        {
          "apps": {
            "uptime-kuma": "not-run"
          },
          "name": "restored-check",
          "outcome": "not-run"
        },
        {
          "apps": {
            "uptime-kuma": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "uptime-kuma": "not-run"
          },
          "name": "sentinel",
          "outcome": "not-run"
        }
      ],
      "started": "2026-10-07T08:36:51.645428228Z",
      "target": {
        "apps": [
          "uptime-kuma"
        ],
        "id": "uptime-kuma",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "fd7ffb47a78afb5adf0b3469c9f0c2020a0e972940685f6b4ef6f943cd8f39b8",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-3a21468b",
      "finished": "2026-10-07T11:42:24.652017233Z",
      "head": "b17d9de4a75ab6bb895725d5be35898adbf2d5eb",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:726dea3590a895d94203fe918b97ae2af8f609f04675590be0070cf64797ba88",
          "platform": "linux/amd64",
          "service": "valkey"
        }
      ],
      "name": "app-valkey",
      "observed_target_apps": [
        "valkey"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-valkey.json",
      "source_sha256": "8b827f05819b60b44f1efe65c19e244ec36450ab30dbd588aaa6874449be7459",
      "stages": [
        {
          "apps": {
            "valkey": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "valkey": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "valkey": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "valkey": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "valkey": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "valkey": "pass"
          },
          "name": "update",
          "outcome": "pass"
        },
        {
          "apps": {
            "valkey": "not-run"
          },
          "name": "payload-seed",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "valkey": "pass"
          },
          "name": "backup",
          "outcome": "pass"
        },
        {
          "apps": {
            "valkey": "pass"
          },
          "name": "isolated-restore",
          "outcome": "pass"
        },
        {
          "apps": {
            "valkey": "pass"
          },
          "name": "restored-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "valkey": "not-run"
          },
          "name": "payload-restored",
          "outcome": "not-run",
          "recorded": false
        },
        {
          "apps": {
            "valkey": "pass"
          },
          "name": "sentinel",
          "outcome": "pass"
        }
      ],
      "started": "2026-10-07T11:37:47.192395275Z",
      "target": {
        "apps": [
          "valkey"
        ],
        "id": "valkey",
        "kind": "app"
      }
    },
    {
      "binary_sha256": "4d5c0aab60e18d4b2671eef3079b1abdc28f11f5520285301cd89caf03dc1cdc",
      "classification": "runnable",
      "cleanup": "pass",
      "compose_project": "selfhost-e2e-6db04868",
      "finished": "2026-10-07T08:36:51.645257051Z",
      "head": "d724ebd4fb800a9f6cbb970e591c3692bbd817cc",
      "image_proof": {
        "coverage": "as-recorded; expected-service completeness is a harness obligation",
        "immutable_ids_recorded": true,
        "platforms": [
          "linux/amd64"
        ],
        "service_count": 1
      },
      "images": [
        {
          "id": "sha256:b4312ccf9634e3b5e7044a90ca13169c78b2627c648b81092f0523a5d07fd7f6",
          "platform": "linux/amd64",
          "service": "vaultwarden"
        }
      ],
      "name": "app-vaultwarden",
      "observed_target_apps": [
        "vaultwarden"
      ],
      "outcome": "pass",
      "platform": "linux/amd64",
      "probe": "App Setup/Check and filesystem backup sentinel; no workload or database-content assertion",
      "source_file": "app-vaultwarden.json",
      "source_sha256": "7d14cbcc5c3835878a6d812396ad4f4ab436344da808fd49cd1ff4b7c65be253",
      "stages": [
        {
          "apps": {
            "vaultwarden": "pass"
          },
          "name": "install",
          "outcome": "pass"
        },
        {
          "apps": {
            "vaultwarden": "pass"
          },
          "name": "setup-check",
          "outcome": "pass"
        },
        {
          "apps": {
            "vaultwarden": "pass"
          },
          "name": "idempotency",
          "outcome": "pass"
        },
        {
          "apps": {
            "vaultwarden": "pass"
          },
          "name": "restart",
          "outcome": "pass"
        },
        {
          "apps": {
            "vaultwarden": "pass"
          },
          "name": "recovery",
          "outcome": "pass"
        },
        {
          "apps": {
            "vaultwarden": "pass"
          },
          "name": "update",
          "o