{
  "schema_version": "1.0",
  "bundle_kind": "kaos-compliance.package",
  "package": "kaos-names",
  "version": "0.1.0a5",
  "snapshot_slice": {
    "name": "kaos-names",
    "identity": {
      "pypi_version": "0.1.0a5",
      "pypi_url": "https://pypi.org/project/kaos-names/0.1.0a5/",
      "main_head_sha": "7e63f3fffcbdda0ab49950947a78b5a3f27299e5",
      "latest_tag": "v0.1.0a5",
      "latest_tag_sha": "10c55846a392f9a6f3e5d0a57d6129fc863177d8",
      "tag_at_head": false,
      "commits_past_tag": null,
      "repo_visibility": "public",
      "last_commit_at": "2026-06-22T15:30:34Z"
    },
    "ci": {
      "workflow_conclusion": "success",
      "workflow_run_id": 27964238172,
      "workflow_run_url": "https://github.com/273v/kaos-names/actions/runs/27964238172",
      "head_sha": "7e63f3fffcbdda0ab49950947a78b5a3f27299e5",
      "run_completed_at": "2026-06-22T15:46:27Z",
      "matrix": [
        {
          "name": "test (linux-x64 / Python 3.14t)",
          "conclusion": "success",
          "status": "completed",
          "started_at": "2026-06-22T07:03:35Z",
          "completed_at": "2026-06-22T07:03:46Z",
          "duration_seconds": 11
        },
        {
          "name": "test (windows-x64 / Python 3.13)",
          "conclusion": "success",
          "status": "completed",
          "started_at": "2026-06-22T07:03:35Z",
          "completed_at": "2026-06-22T07:04:03Z",
          "duration_seconds": 28
        },
        {
          "name": "test (macos-arm64 / Python 3.13)",
          "conclusion": "success",
          "status": "completed",
          "started_at": "2026-06-22T07:03:35Z",
          "completed_at": "2026-06-22T07:03:54Z",
          "duration_seconds": 19
        },
        {
          "name": "test (linux-x64 / Python 3.14)",
          "conclusion": "success",
          "status": "completed",
          "started_at": "2026-06-22T07:04:29Z",
          "completed_at": "2026-06-22T07:04:38Z",
          "duration_seconds": 9
        },
        {
          "name": "test (linux-x64 / Python 3.15)",
          "conclusion": "success",
          "status": "completed",
          "started_at": "2026-06-22T07:04:34Z",
          "completed_at": "2026-06-22T07:04:44Z",
          "duration_seconds": 10
        }
      ]
    },
    "security": {
      "workflow_conclusion": "success",
      "workflow_run_id": 27964237553,
      "workflow_run_url": "https://github.com/273v/kaos-names/actions/runs/27964237553",
      "jobs": [
        {
          "name": "gitleaks (incremental)",
          "conclusion": "success",
          "status": "completed",
          "completed_at": "2026-06-22T15:30:51Z"
        },
        {
          "name": "bandit (static security)",
          "conclusion": "success",
          "status": "completed",
          "completed_at": "2026-06-22T15:30:53Z"
        },
        {
          "name": "vulture (dead-code scan)",
          "conclusion": "success",
          "status": "completed",
          "completed_at": "2026-06-22T15:30:56Z"
        }
      ],
      "run_completed_at": "2026-06-22T15:30:58Z"
    },
    "open_prs": {
      "count": 0,
      "titles": []
    },
    "freshness": {
      "days_since_last_commit": 1,
      "days_since_last_release": 29,
      "days_since_last_security_scan": 1
    },
    "supply_chain": {
      "pypi_version": "0.1.0a5",
      "pypi_release_iso": "2026-05-25T18:51:36.866142Z",
      "wheel_platforms": [
        "any"
      ],
      "wheel_sha256s": {
        "kaos_names-0.1.0a5-py3-none-any.whl": "2085c422345d6e2d189ead212c67b2041a92a3ae2b7aea1c65dc1d45f0bedaf6",
        "kaos_names-0.1.0a5.tar.gz": "e085c2f545416376eefa61d4efb194b248c4a2209f70941649072849f32dbade"
      },
      "is_abi3": false,
      "has_musllinux_wheel": false,
      "license_expression": "Apache-2.0",
      "license_files_in_wheel": [
        "LICENSE",
        "NOTICE"
      ],
      "attestations": {
        "pep740_present": true,
        "publisher_kind": "GitHub",
        "publisher_source_repo": "273v/kaos-names",
        "publisher_workflow_ref": "release.yml@pypi",
        "rekor_log_index": 1630661745,
        "verified_count": 2,
        "total_count": 2
      },
      "sbom": {
        "components_count": 10,
        "license_breakdown": {
          "BSD-3-Clause": 1,
          "Apache-2.0": 1,
          "MIT": 6,
          "Apache-2.0 OR BSD-2-Clause": 1,
          "BSD-2-Clause": 1
        },
        "weak_copyleft": [],
        "strong_copyleft": [],
        "unknown_license": [],
        "sbom_artifact_path": "data/sbom/kaos-names-0.1.0a5.cdx.json"
      },
      "errors": []
    },
    "governance": {
      "dco_signoff_rate_90d": 0.926,
      "conventional_commits_rate_90d": 0.852,
      "verified_commit_ratio_90d": 0.667,
      "commits_90d": 27,
      "unique_committers_90d": 2,
      "branch_protection_enabled": true,
      "branch_protection_summary": {
        "source": "branches_api",
        "required_status_checks": {
          "enforcement_level": "everyone",
          "contexts": [
            "bandit (static security)",
            "vulture (dead-code scan)",
            "quality",
            "test",
            "build",
            "gitleaks (incremental)"
          ],
          "checks": [
            {
              "context": "bandit (static security)",
              "app_id": 15368
            },
            {
              "context": "vulture (dead-code scan)",
              "app_id": 15368
            },
            {
              "context": "quality",
              "app_id": 15368
            },
            {
              "context": "test",
              "app_id": 15368
            },
            {
              "context": "build",
              "app_id": 15368
            },
            {
              "context": "gitleaks (incremental)",
              "app_id": 15368
            }
          ]
        },
        "required_pull_request_reviews": null,
        "required_signatures": null
      },
      "codeowners_path": ".github/CODEOWNERS",
      "security_md_present": true,
      "security_md_disclosure_window_days": 90,
      "notice_present": true,
      "license_files_in_sdist": [
        "LICENSE",
        "NOTICE"
      ],
      "releases_90d": 4,
      "median_pr_age_days": null,
      "open_pr_count": 0,
      "open_issue_count": 0,
      "time_to_pypi_seconds_median": 167,
      "errors": []
    },
    "code_metrics": {
      "python": {
        "src_loc": 638,
        "tests_loc": 362,
        "src_files": 5,
        "tests_files": 5,
        "tests_count": 28
      },
      "rust": {
        "src_loc": 0,
        "tests_loc": 0,
        "src_files": 0,
        "tests_files": 0,
        "tests_count": 0
      },
      "errors": []
    },
    "errors": []
  },
  "sbom": {
    "mirror_path": "api/v1/sbom/kaos-names-0.1.0a5.cdx.json",
    "github_release_url": "https://github.com/273v/kaos-names/releases/download/v0.1.0a5/kaos-names-0.1.0a5.cdx.json"
  },
  "attestation": {
    "present": true,
    "publisher_kind": "GitHub",
    "publisher_source_repo": "273v/kaos-names",
    "publisher_workflow_ref": "release.yml@pypi",
    "rekor_log_index": 1630661745,
    "verified_count": 2,
    "total_count": 2,
    "pypi_simple_index_url": "https://pypi.org/simple/kaos-names/"
  }
}
