{
  "product": {
    "name": "linkding",
    "manufacturer": "Kestrel Bookmarks Oy (demo)",
    "support_period_ends": "2031-12-31",
    "member_states": [
      "FI",
      "DE",
      "FR",
      "NL"
    ],
    "security_contact": "security@example.com"
  },
  "generated_at": "2026-10-13T03:08:45+00:00",
  "production": {
    "components": 28,
    "advisories": 0,
    "affected_components": 0,
    "exploited": 0,
    "kev_catalog": "2026.10.08"
  },
  "plans": [],
  "open_cases": [],
  "autonomy": {
    "dependency-patch": {
      "level": 1,
      "level_name": "Assisted",
      "ceiling": 3,
      "promote_after": 3,
      "next_promotion_in": 3,
      "outcomes": {
        "history:clean": 17,
        "production:breach": 1,
        "production:clean": 1,
        "replay:clean": 10
      },
      "history": [
        "2023-11-04 promoted to L2 after 3 clean outcomes",
        "2025-11-05 promoted to L3 after 3 clean outcomes",
        "2026-10-09 rolled-back (https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/work_items/7): L3 \u2192 L1"
      ],
      "last_breach": {
        "outcome": "rolled-back",
        "at": "2026-10-09T14:22:12.347Z",
        "ref": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/work_items/7"
      }
    },
    "dependency-minor": {
      "level": 3,
      "level_name": "Hands-off",
      "ceiling": 3,
      "promote_after": 5,
      "next_promotion_in": null,
      "outcomes": {
        "history:clean": 12,
        "production:clean": 3,
        "replay:clean": 7
      },
      "history": [
        "2025-06-19 promoted to L2 after 5 clean outcomes",
        "2026-05-12 promoted to L3 after 5 clean outcomes"
      ],
      "last_breach": null
    },
    "dependency-major": {
      "level": 2,
      "level_name": "Supervised",
      "ceiling": 2,
      "promote_after": 5,
      "next_promotion_in": null,
      "outcomes": {
        "history:clean": 5,
        "replay:clean": 3
      },
      "history": [
        "2026-07-31 promoted to L2 after 5 clean outcomes"
      ],
      "last_breach": null
    },
    "code-change": {
      "level": 2,
      "level_name": "Supervised",
      "ceiling": 2,
      "promote_after": 5,
      "next_promotion_in": null,
      "outcomes": {
        "history:clean": 63
      },
      "history": [
        "2024-01-28 promoted to L2 after 5 clean outcomes"
      ],
      "last_breach": null
    }
  },
  "fixed": [
    {
      "iid": 5,
      "title": "soupsieve 2.8.4 \u2192 2.9.0: 2 advisories (routine)",
      "url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/work_items/5",
      "component": "soupsieve",
      "outcome": "clean",
      "urgency": "routine",
      "closed": "2026-10-09T11:25:34.545Z",
      "opened": "2026-10-09T10:39:35.063Z",
      "hours_to_fix": 0.7665227777777778,
      "upgrade": {
        "from": "2.8.4",
        "to": "2.9.0",
        "advisories": 2
      }
    },
    {
      "iid": 4,
      "title": "urllib3 2.7.0 \u2192 2.8.0: 3 advisories (high)",
      "url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/work_items/4",
      "component": "urllib3",
      "outcome": "clean",
      "urgency": "high",
      "closed": "2026-10-09T12:09:39.190Z",
      "opened": "2026-10-09T10:39:34.046Z",
      "hours_to_fix": 1.501428888888889,
      "upgrade": {
        "from": "2.7.0",
        "to": "2.8.0",
        "advisories": 3
      }
    },
    {
      "iid": 3,
      "title": "pyjwt 2.13.0 \u2192 2.15.0: 14 advisories (high)",
      "url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/work_items/3",
      "component": "pyjwt",
      "outcome": "clean",
      "urgency": "high",
      "closed": "2026-10-09T10:57:43.591Z",
      "opened": "2026-10-09T10:39:32.889Z",
      "hours_to_fix": 0.30297277777777776,
      "upgrade": {
        "from": "2.13.0",
        "to": "2.15.0",
        "advisories": 14
      }
    },
    {
      "iid": 2,
      "title": "django 6.0.7 \u2192 6.0.8: 2 advisories (high)",
      "url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/work_items/2",
      "component": "django",
      "outcome": "clean",
      "urgency": "high",
      "closed": "2026-10-09T10:45:47.391Z",
      "opened": "2026-10-09T10:39:31.853Z",
      "hours_to_fix": 0.10431611111111111,
      "upgrade": {
        "from": "6.0.7",
        "to": "6.0.8",
        "advisories": 2
      }
    }
  ],
  "awaiting_release": [],
  "median_fix_hours": 0.7665227777777778,
  "releases": [
    {
      "tag": "lockkeeper-20261009-dd2fd7c8",
      "name": "linkding 1.47.0 with Lockkeeper fixes for #2, #3, #4, #5",
      "date": "2026-10-09T13:55:57.000Z",
      "url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/releases/lockkeeper-20261009-dd2fd7c8",
      "assets": [
        {
          "name": "Case #5",
          "url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/issues/5"
        },
        {
          "name": "Case #4",
          "url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/issues/4"
        },
        {
          "name": "Case #3",
          "url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/issues/3"
        },
        {
          "name": "Case #2",
          "url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/issues/2"
        },
        {
          "name": "VEX (OpenVEX)",
          "url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/jobs/17062178829/artifacts/raw/vex.json"
        },
        {
          "name": "SBOM (CycloneDX)",
          "url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase/-/jobs/17062018576/artifacts/raw/sbom.cdx.json"
        }
      ]
    }
  ],
  "carbon": null,
  "project_url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/14309398/showcase"
}
