)]}'
{
  "commit": "a5b148c15088f609f402f3ba914bbe756788f3e4",
  "tree": "afb2c621eba28f8b6d631d7f1cef9a916a37217c",
  "parents": [
    "7005d861497149ece4fc7ceb36dc91b157f1c718"
  ],
  "author": {
    "name": "Piotr P. Karwasz",
    "email": "piotr@github.copernik.eu",
    "time": "Tue Jul 07 12:41:51 2026 +0200"
  },
  "committer": {
    "name": "Piotr P. Karwasz",
    "email": "piotr@github.copernik.eu",
    "time": "Tue Jul 07 12:41:51 2026 +0200"
  },
  "message": "Refactor project-coordinates: security_model_link and AI-friendly sources\n\nRename the \"link\" field to \"security_model_link\" and add a\n\"security_model_source\" field that points at an AI-friendly plain-text\n(raw GitHub) version of the security page. The source is not rendered on\nthe site; it is there for external tooling.\n\n- Add project-coordinates.schema.json (JSON Schema; the six core fields\n  are required) and reference it from the data file via a \"$schema\" key.\n  The page generator now skips \"$\"-prefixed meta keys.\n- Normalize every entry to carry the six core fields (null when absent);\n  default the one missing contact to security@apache.org.\n- Fill security_model_source from raw.githubusercontent.com for\n  GitHub-hosted security pages.\n- Normalize GitHub SECURITY.md entries to the canonical /security/policy\n  human link, with the raw SECURITY.md as the source.\n- Regenerate the affected overview and project pages.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "478a79ca458276da42d9a9d7d6117697d285205d",
      "old_mode": 33188,
      "old_path": "content/projects/_index.md",
      "new_id": "7c6d3fe9cbba3094b692cbc09d97d35b046980fb",
      "new_mode": 33188,
      "new_path": "content/projects/_index.md"
    },
    {
      "type": "modify",
      "old_id": "34e37e0339400fd8ca28b99017fb859a0fcd75fb",
      "old_mode": 33188,
      "old_path": "content/projects/activemq/_index.md",
      "new_id": "5435e574b8e61da30b2c8bfd48de149479777a2a",
      "new_mode": 33188,
      "new_path": "content/projects/activemq/_index.md"
    },
    {
      "type": "modify",
      "old_id": "1119bb4b773b59f155a99b4fe8f2e15c5ecbfd63",
      "old_mode": 33188,
      "old_path": "content/projects/httpd/_index.md",
      "new_id": "ef2431abe819673f6a0fd854814207596c83d89a",
      "new_mode": 33188,
      "new_path": "content/projects/httpd/_index.md"
    },
    {
      "type": "modify",
      "old_id": "416831e3097492f0bd85c4d3a4dd46dfafa7cc5d",
      "old_mode": 33188,
      "old_path": "content/projects/impala/_index.md",
      "new_id": "5acef8cd92050956f3883d14e5b71ef34466b9c8",
      "new_mode": 33188,
      "new_path": "content/projects/impala/_index.md"
    },
    {
      "type": "modify",
      "old_id": "41be3c823c24e034ccdbe25777ec8b7f53651065",
      "old_mode": 33188,
      "old_path": "content/projects/superset/_index.md",
      "new_id": "601502917f2715718bdbfc79eecee79a59d1e031",
      "new_mode": 33188,
      "new_path": "content/projects/superset/_index.md"
    },
    {
      "type": "modify",
      "old_id": "cb71b6421d1502806214c4b0b7acd08cac2ddff9",
      "old_mode": 33261,
      "old_path": "scripts/check-coordinates-with-doap.py",
      "new_id": "2fc206ffd39dfe21b9043870238630d53a7b87bc",
      "new_mode": 33261,
      "new_path": "scripts/check-coordinates-with-doap.py"
    },
    {
      "type": "modify",
      "old_id": "b5e3ea318e9c376acc10b0acb3553415f860754f",
      "old_mode": 33188,
      "old_path": "scripts/project-coordinates.json",
      "new_id": "9374ad6dc2275bf6ccca2f69d1db60ed2e5fccdd",
      "new_mode": 33188,
      "new_path": "scripts/project-coordinates.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f05c1bb287dd01c8b3b6f329c09877002c27f7d9",
      "new_mode": 33188,
      "new_path": "scripts/project-coordinates.schema.json"
    },
    {
      "type": "modify",
      "old_id": "9b0a7deed6095659f2a6f0f6a1125c32abb5ac98",
      "old_mode": 33261,
      "old_path": "scripts/project-page.py",
      "new_id": "4907b62c73dbfdf8961a2964e8e5474d17bb8251",
      "new_mode": 33261,
      "new_path": "scripts/project-page.py"
    }
  ]
}
