{
  "schema_version": "v1",
  "_meta": {
    "page": "upstream",
    "description": "Collector-derived contract for the multipage upstream status view.",
    "generated_at": "2026-06-30T18:05:29Z",
    "starter_artifact": false,
    "status": "partial"
  },
  "summary_metrics": [
    {
      "id": "tracked_upstream_lanes",
      "label": "Tracked upstream lanes",
      "value": 12,
      "unit": "count",
      "state": "available",
      "state_reason": null,
      "source_url": "https://github.com/projectbluefin/lab/blob/main/docs/data/variant-publishers.json",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Count concrete upstream rows assembled from publisher mappings and known workflow placeholders."
    },
    {
      "id": "lanes_with_release_data",
      "label": "Lanes with published release data",
      "value": 5,
      "unit": "count",
      "state": "available",
      "state_reason": null,
      "source_url": "https://github.com/projectbluefin/lab/blob/main/docs/data/factory-stats.json",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Count upstream rows whose published_at is present in docs/data/factory-stats.json."
    },
    {
      "id": "lanes_without_release_data",
      "label": "Lanes awaiting collectors",
      "value": 7,
      "unit": "count",
      "state": "available",
      "state_reason": null,
      "source_url": "https://github.com/projectbluefin/lab/blob/main/docs/data/page-contracts.md",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Count upstream rows still marked unavailable after deriving from repo-owned inputs."
    }
  ],
  "groups": [
    {
      "id": "gnome-os",
      "label": "GNOME OS",
      "description": "GNOME OS upstream images used for lab expansion and comparison.",
      "source_url": "https://github.com/projectbluefin/lab/blob/main/argo/workflow-templates/provision-gnomeos-vm.yaml",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Known upstream scope from the GNOME OS provisioning workflow tracked in git."
    },
    {
      "id": "fedora-bootc",
      "label": "Fedora bootc",
      "description": "Fedora bootc upstream streams with digest pollers tracked in git.",
      "source_url": "https://github.com/projectbluefin/lab/blob/main/manifests/image-poll-fedora-bootc-latest.yaml",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Known upstream scope from Fedora bootc image poller manifests tracked in git."
    },
    {
      "id": "projectbluefin",
      "label": "Project Bluefin variants",
      "description": "Bluefin family images published by projectbluefin.",
      "source_url": "https://github.com/projectbluefin/lab/blob/main/docs/data/variant-publishers.json",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Derived from variant publisher mapping already published in docs/data."
    },
    {
      "id": "ublue",
      "label": "uBlue derivatives",
      "description": "Derivative desktop images published by ublue-os.",
      "source_url": "https://github.com/projectbluefin/lab/blob/main/docs/data/variant-publishers.json",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Derived from variant publisher mapping already published in docs/data."
    }
  ],
  "rows": [
    {
      "id": "bluefin-testing",
      "group": "projectbluefin",
      "variant": "bluefin",
      "display_name": "bluefin testing",
      "publisher_repo": "projectbluefin/bluefin",
      "org": "projectbluefin",
      "branch": "testing",
      "published_at": null,
      "freshness_age_days": null,
      "open_prs": null,
      "state": "unavailable",
      "state_reason": "No published release timestamp is present in docs/data/factory-stats.json for this lane.",
      "source_url": "https://github.com/projectbluefin/bluefin/releases",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Join docs/data/variant-publishers.json branches with docs/data/factory-stats.json factory.images.bluefin.testing_seen_at/testing_age_days."
    },
    {
      "id": "bluefin-stable",
      "group": "projectbluefin",
      "variant": "bluefin",
      "display_name": "bluefin stable",
      "publisher_repo": "projectbluefin/bluefin",
      "org": "projectbluefin",
      "branch": "stable",
      "published_at": "2026-06-24T12:10:15Z",
      "freshness_age_days": 6,
      "open_prs": null,
      "state": "available",
      "state_reason": null,
      "source_url": "https://github.com/projectbluefin/bluefin/releases/tag/stable-20260624",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Join docs/data/variant-publishers.json branches with docs/data/factory-stats.json factory.images.bluefin.stable_seen_at/stable_age_days."
    },
    {
      "id": "bluefin-lts-testing",
      "group": "projectbluefin",
      "variant": "bluefin-lts",
      "display_name": "bluefin-lts testing",
      "publisher_repo": "projectbluefin/bluefin-lts",
      "org": "projectbluefin",
      "branch": "testing",
      "published_at": null,
      "freshness_age_days": null,
      "open_prs": null,
      "state": "unavailable",
      "state_reason": "No published release timestamp is present in docs/data/factory-stats.json for this lane.",
      "source_url": "https://github.com/projectbluefin/bluefin-lts/releases",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Join docs/data/variant-publishers.json branches with docs/data/factory-stats.json factory.images.bluefin-lts.testing_seen_at/testing_age_days."
    },
    {
      "id": "bluefin-lts-stable",
      "group": "projectbluefin",
      "variant": "bluefin-lts",
      "display_name": "bluefin-lts stable",
      "publisher_repo": "projectbluefin/bluefin-lts",
      "org": "projectbluefin",
      "branch": "stable",
      "published_at": "2026-06-30T16:30:27Z",
      "freshness_age_days": 0,
      "open_prs": null,
      "state": "available",
      "state_reason": null,
      "source_url": "https://github.com/projectbluefin/bluefin-lts/releases/tag/stable-20260630",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Join docs/data/variant-publishers.json branches with docs/data/factory-stats.json factory.images.bluefin-lts.stable_seen_at/stable_age_days."
    },
    {
      "id": "aurora-testing",
      "group": "ublue",
      "variant": "aurora",
      "display_name": "aurora testing",
      "publisher_repo": "ublue-os/aurora",
      "org": "ublue-os",
      "branch": "testing",
      "published_at": null,
      "freshness_age_days": null,
      "open_prs": null,
      "state": "unavailable",
      "state_reason": "No published release timestamp is present in docs/data/factory-stats.json for this lane.",
      "source_url": "https://github.com/ublue-os/aurora/releases",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Join docs/data/variant-publishers.json branches with docs/data/factory-stats.json factory.images.aurora.testing_seen_at/testing_age_days."
    },
    {
      "id": "aurora-stable",
      "group": "ublue",
      "variant": "aurora",
      "display_name": "aurora stable",
      "publisher_repo": "ublue-os/aurora",
      "org": "ublue-os",
      "branch": "stable",
      "published_at": "2026-06-30T02:22:49Z",
      "freshness_age_days": 0,
      "open_prs": null,
      "state": "available",
      "state_reason": null,
      "source_url": "https://github.com/ublue-os/aurora/releases/tag/stable-20260630.1",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Join docs/data/variant-publishers.json branches with docs/data/factory-stats.json factory.images.aurora.stable_seen_at/stable_age_days."
    },
    {
      "id": "bazzite-testing",
      "group": "ublue",
      "variant": "bazzite",
      "display_name": "bazzite testing",
      "publisher_repo": "ublue-os/bazzite",
      "org": "ublue-os",
      "branch": "testing",
      "published_at": "2026-06-29T16:39:08Z",
      "freshness_age_days": 1,
      "open_prs": null,
      "state": "available",
      "state_reason": null,
      "source_url": "https://github.com/ublue-os/bazzite/releases/tag/testing-44.20260629.1",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Join docs/data/variant-publishers.json branches with docs/data/factory-stats.json factory.images.bazzite.testing_seen_at/testing_age_days."
    },
    {
      "id": "bazzite-stable",
      "group": "ublue",
      "variant": "bazzite",
      "display_name": "bazzite stable",
      "publisher_repo": "ublue-os/bazzite",
      "org": "ublue-os",
      "branch": "stable",
      "published_at": "2026-06-29T07:07:26Z",
      "freshness_age_days": 1,
      "open_prs": null,
      "state": "available",
      "state_reason": null,
      "source_url": "https://github.com/ublue-os/bazzite/releases/tag/44.20260629",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Join docs/data/variant-publishers.json branches with docs/data/factory-stats.json factory.images.bazzite.stable_seen_at/stable_age_days."
    },
    {
      "id": "dakota-testing",
      "group": "projectbluefin",
      "variant": "dakota",
      "display_name": "dakota testing",
      "publisher_repo": "projectbluefin/dakota",
      "org": "projectbluefin",
      "branch": "testing",
      "published_at": null,
      "freshness_age_days": null,
      "open_prs": null,
      "state": "unavailable",
      "state_reason": "No published release timestamp is present in docs/data/factory-stats.json for this lane.",
      "source_url": "https://github.com/projectbluefin/dakota/releases",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Join docs/data/variant-publishers.json branches with docs/data/factory-stats.json factory.images.dakota.testing_seen_at/testing_age_days."
    },
    {
      "id": "gnomeos-nightly",
      "group": "gnome-os",
      "variant": "gnomeos",
      "display_name": "GNOME OS nightly",
      "publisher_repo": null,
      "org": null,
      "branch": "nightly",
      "published_at": null,
      "freshness_age_days": null,
      "open_prs": null,
      "state": "unavailable",
      "state_reason": "Known GNOME OS workflow exists, but no repo-owned artifact publishes a nightly release timestamp yet.",
      "source_url": "https://github.com/projectbluefin/lab/blob/main/argo/workflow-templates/provision-gnomeos-vm.yaml",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Scope placeholder derived from the existing GNOME OS provisioning workflow tracked in git."
    },
    {
      "id": "fedora-bootc-stable",
      "group": "fedora-bootc",
      "variant": "fedora-bootc",
      "display_name": "Fedora bootc stable",
      "publisher_repo": "fedora/fedora-bootc",
      "org": "fedora",
      "branch": "stable",
      "published_at": null,
      "freshness_age_days": null,
      "open_prs": null,
      "state": "unavailable",
      "state_reason": "Known Fedora bootc poller exists, but no repo-owned artifact publishes a stable release timestamp yet.",
      "source_url": "https://github.com/projectbluefin/lab/blob/main/manifests/image-poll-fedora-bootc-latest.yaml",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Map the git-tracked latest poller manifest to the stable Fedora bootc lane until repo data publishes release timestamps."
    },
    {
      "id": "fedora-bootc-testing",
      "group": "fedora-bootc",
      "variant": "fedora-bootc",
      "display_name": "Fedora bootc testing",
      "publisher_repo": "fedora/fedora-bootc",
      "org": "fedora",
      "branch": "testing",
      "published_at": null,
      "freshness_age_days": null,
      "open_prs": null,
      "state": "unavailable",
      "state_reason": "Known Fedora bootc poller exists, but no repo-owned artifact publishes a testing release timestamp yet.",
      "source_url": "https://github.com/projectbluefin/lab/blob/main/manifests/image-poll-fedora-bootc-rawhide.yaml",
      "collected_at": "2026-06-30T18:05:29Z",
      "derivation": "Map the git-tracked rawhide poller manifest to the testing Fedora bootc lane until repo data publishes release timestamps."
    }
  ]
}
