)]}'
{
  "log": [
    {
      "commit": "85fd95a0d288ccc085149dd46b8f3b04490156c9",
      "tree": "9909cb6fad264c4c77c651bf9756e9a9d9c820e6",
      "parents": [
        "6489fea7ea20a48b34f445e6359d8aaad4435700"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Aug 20 03:31:18 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 03:31:18 2026 -0400"
      },
      "message": "Scope project and allocation reads to membership by default (#549)\n\nFixes #533"
    },
    {
      "commit": "6489fea7ea20a48b34f445e6359d8aaad4435700",
      "tree": "977f9483c9bf714f9b6683cb91856c3590c887c5",
      "parents": [
        "3fb670a0d0962685bf772489742377cfd5c5aeac"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Aug 20 03:28:05 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 03:28:05 2026 -0400"
      },
      "message": "Provision registry people the cluster can resolve and log into (#547)\n\nFixes #537"
    },
    {
      "commit": "3fb670a0d0962685bf772489742377cfd5c5aeac",
      "tree": "9c659daddb5eb040b90bbd9d1df4927cd6430171",
      "parents": [
        "0d1c64b46976acd9fcdd14d7da12d1961b2355c4"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Aug 20 03:25:31 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 03:25:31 2026 -0400"
      },
      "message": "Revoke Slurm access when a membership or allocation is deactivated (#545)\n\n* Deprovision Slurm access when a membership or allocation is deactivated\n\n* Remove Slurm access the allocations no longer grant\n\nFixes #540"
    },
    {
      "commit": "0d1c64b46976acd9fcdd14d7da12d1961b2355c4",
      "tree": "309340d23314b9317b722c4d176793db00aab058",
      "parents": [
        "e1c69ae9d759bbb1dc61c903dfacd070539fcffd"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Aug 20 03:23:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 03:23:07 2026 -0400"
      },
      "message": "Create SLURM associations only when the cluster account is ready (#544)\n\n* Reconcile Slurm associations instead of polling for provisioning\n\nFixes #538\n\n* Write only the Slurm associations that differ from the cluster\n\n* Split gres/gpu into type and name when writing Slurm limits"
    },
    {
      "commit": "e1c69ae9d759bbb1dc61c903dfacd070539fcffd",
      "tree": "09c1080f7fbf955f2287ad6c219ba16e17da439f",
      "parents": [
        "f31132c5990055b07d1b561ab9cc4506f05ee05e"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Aug 20 03:07:33 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 03:07:33 2026 -0400"
      },
      "message": "Fix SLURM job listing and usage recording (#542)\n\n* Updated the SLURM job queries in the format slurmrestd accepts\n\n* Record SLURM usage correctly and rename the cluster-user lookup\n\nFixes #535\nFixes #536\n\n* Count SLURM usage from the whole-job TRES total\n\n* Match SLURM GPU usage on the gres/gpu TRES pair"
    },
    {
      "commit": "f31132c5990055b07d1b561ab9cc4506f05ee05e",
      "tree": "75dad410469557ddd8b529362551adfa14bf63f8",
      "parents": [
        "942d480412d4c0f50ef395779f90f5d7a9607630"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Aug 16 10:56:08 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 16 10:56:08 2026 -0400"
      },
      "message": "Bump next from 15.5.18 to 15.5.21 in /web (#557)\n\nBumps [next](https://github.com/vercel/next.js) from 15.5.18 to 15.5.21.\n- [Release notes](https://github.com/vercel/next.js/releases)\n- [Commits](https://github.com/vercel/next.js/compare/v15.5.18...v15.5.21)\n\n---\nupdated-dependencies:\n- dependency-name: next\n  dependency-version: 15.5.21\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "942d480412d4c0f50ef395779f90f5d7a9607630",
      "tree": "6efe7f59f532163434b52a8f3ea10ee0d30718d2",
      "parents": [
        "c06740467b90ea572768ffed9904b2c6bb091c82"
      ],
      "author": {
        "name": "Nipuna Bandara",
        "email": "137793168+NipunaDB@users.noreply.github.com",
        "time": "Wed Aug 12 23:32:03 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 14:02:03 2026 -0400"
      },
      "message": "Rebrand to new logo/colors and fix dropdown, breadcrumb, and dark mode issues (#553)\n\n* Polish allocations and projects pages UX\n\nHide allocation GUIDs/cluster IDs from list and detail views, remove\nduplicate breadcrumbs, and improve the overview detail sections with\nconsistent colon alignment, background, and rounded corners. Add\ndividers and a brand-tinted pill background to the meta row below\neach detail page title, sized to match the status badge height.\n\n* Wrap PI email in parentheses on project overview\n\nPlain trailing email next to the PI name read ambiguously; bracketing\nit makes clear it\u0027s supplementary contact info.\n\n* Replace wordmark with new logo and rebrand to orange\n\nSwap the plain-text \"Custos\" wordmark in the sidebar and sign-in card\nfor the new logo SVG, and repoint the brand color system (--brand,\n--custos-primary, --custos-action) from blue to the logo\u0027s orange.\nFix AccessCard\u0027s brand-tint text pairing to use --brand instead of the\nstale blue --accent-foreground. Also tweak the dark-theme default\nbutton fill from blue to a neutral gray for consistency with light\ntheme, align the sidebar logo vertically with the topbar nav arrows,\nand lighten the sidebar section labels.\n\n* Rework native selects into themed dropdowns, fix breadcrumbs and post-login redirect\n\nReplace native \u003cselect\u003e filters (Users \u0026 Permissions roles/identities,\nAllocations/Projects status) with the shared Select component so they\nshare the app\u0027s theming, open below their trigger, and never render\nnarrower than their widest option (was clipping into the checkmark on\nthe change-request type dropdown). Give trigger/menu matching, fixed\nwidths and friendly labels instead of raw values everywhere they\u0027re used.\n\nBreadcrumbs on allocation/project detail pages now show the resource\u0027s\nname instead of its raw ID, via a small context that lets the detail\npage register a label once its data loads.\n\nAlso: surface Initial SUs in the allocation header meta row, and make\nthe signed-in root route redirect straight to /allocations instead of\nshowing an empty placeholder page.\n\n* Use theme-aware tone tokens for status badges\n\nStatusBadge hardcoded light-theme colors (e.g. custos-green-50), so\nbadges like ACTIVE rendered as a solid light box in dark mode instead\nof blending in. Switch to the existing --tone-ok/-error/-warn/-info\ntokens, which already define a translucent dark-mode variant for each.\n\n* Remove dead Suspense/SignInForm JSX left over from the master merge\n\nThe merge brought in master\u0027s redesigned sign-in page (redirect-only,\nno custom UI) but left the old card markup in place, referencing\ncomponents that no longer exist and breaking the build.\n\n* Remove duplicate roleLabelFor/identityLabelFor in UsersTable\n\nThe merge duplicated both helper functions verbatim, which TypeScript\nflags as a duplicate implementation and fails the build. Keep a single\ncopy of each; behavior is unchanged.\n\n* Use the configured brand logo in the sidebar instead of a duplicate asset\n\nSidebar.tsx hardcoded a new public/custos-logo.svg with a fixed \"Custos\"\nalt text, bypassing the existing brand.logo/brand.name config (already\nwired to NEXT_PUBLIC_PORTAL_LOGO/NEXT_PUBLIC_PORTAL_NAME) and silently\nbreaking white-labeling. The new logo is byte-identical to the one\nalready shipped at public/brand/logo/custos-logo.svg, so point the\nsidebar back at brand.logo and drop the redundant duplicate file.\n\n* Restore config-driven brand logo in Sidebar.tsx\n\nMissed in the previous commit: point the sidebar\u0027s \u003cimg\u003e back at\nbrand.logo/brand.name instead of the hardcoded path removed there."
    },
    {
      "commit": "c06740467b90ea572768ffed9904b2c6bb091c82",
      "tree": "eb6a911da220c52e6e0a78c06fddaf9ce5979034",
      "parents": [
        "96fea804bf21d03e5a75e8cf44cdd9a3854bad8c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Aug 07 13:39:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 13:39:07 2026 -0400"
      },
      "message": "Bump next-auth from 5.0.0-beta.31 to 5.0.0-beta.32 in /web (#556)\n\nBumps [next-auth](https://github.com/nextauthjs/next-auth) from 5.0.0-beta.31 to 5.0.0-beta.32.\n- [Release notes](https://github.com/nextauthjs/next-auth/releases)\n- [Commits](https://github.com/nextauthjs/next-auth/compare/next-auth@5.0.0-beta.31...next-auth@5.0.0-beta.32)\n\n---\nupdated-dependencies:\n- dependency-name: next-auth\n  dependency-version: 5.0.0-beta.32\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "96fea804bf21d03e5a75e8cf44cdd9a3854bad8c",
      "tree": "827493f71946193d308ee547bb4a792bc0f82786",
      "parents": [
        "17f5c81174556cbe10034dbd41f9fff588b9c8e2"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Fri Aug 07 13:38:51 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 13:38:51 2026 -0400"
      },
      "message": "Fix dropdown, breadcrumb, and theme UX issues across the portal (#559)"
    },
    {
      "commit": "17f5c81174556cbe10034dbd41f9fff588b9c8e2",
      "tree": "446246d5c44fc9de8711062f8e8ec97a2a0189a9",
      "parents": [
        "3cf89c227065bf151876532e9aa06918cac89f12"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Wed Jul 22 18:28:20 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 18:28:20 2026 -0400"
      },
      "message": "Portal UI changes and bug fixes (#550)\n\n* Updated the portal landing page, sidebar, and favicon with the Custos logo\n\n* Replace the no-access and sign-in error pages with a banner\n\n* portal branding from config"
    },
    {
      "commit": "3cf89c227065bf151876532e9aa06918cac89f12",
      "tree": "24795469f148a2f3a6600edf02579f25cbee3aab",
      "parents": [
        "aa58c7551ecebe73e5566dc81a707ddd376d9e33"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Tue Jul 21 04:56:24 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 04:56:24 2026 -0400"
      },
      "message": "Persist the resource layer for AMIE-ingested allocations (#546)\n\n* Create resource mappings from AMIE project packets\n\nFixes #539\n\n* Cover AMIE resource mapping creation in the baseline scenario"
    },
    {
      "commit": "aa58c7551ecebe73e5566dc81a707ddd376d9e33",
      "tree": "694138f32c86b2b61287a6613c398f6e4dbceb98",
      "parents": [
        "f0cc42751355a1fe01ff7cd323002f9debad4584"
      ],
      "author": {
        "name": "Jayanth Vennamreddy",
        "email": "53269831+jayvenn21@users.noreply.github.com",
        "time": "Mon Jul 20 20:53:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 20:53:12 2026 -0400"
      },
      "message": "Fix settings e2e menu navigation (#543)"
    },
    {
      "commit": "f0cc42751355a1fe01ff7cd323002f9debad4584",
      "tree": "ca2c95b392e6d0027e431aa997491b62b86f20cc",
      "parents": [
        "ec7069d1c2b4e4d89e15189e0dbdf69522ec5be9"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Sun Jul 19 18:22:41 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 19 18:22:41 2026 -0400"
      },
      "message": "Add usage analytics connector (#531)\n\n* Add analytics connector serving membership-scoped endpoints\n\n* Analytics dashboards implementation\n\n* Show resource usage as a share of total consumed credits\n\n* Show usage by member as a share donut\n\n* Show fractional usage credits and correct usage share percentages\n\n* Show usage by resource and member as allocated-vs-used donuts"
    },
    {
      "commit": "ec7069d1c2b4e4d89e15189e0dbdf69522ec5be9",
      "tree": "3ec22eb57d6f03a5286a48a23b191e352629cf53",
      "parents": [
        "7eaab4ec881e9bdea21d6bcc3ab60a9653afca8d"
      ],
      "author": {
        "name": "Ruihuan Gao",
        "email": "gaoruihuan0704@gmail.com",
        "time": "Mon Jul 20 04:06:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 19 16:06:54 2026 -0400"
      },
      "message": "Add live user management role assignment (#528)\n\n* Add live user management role assignment\n\nAdd core users API schemas and query hooks for users, roles, identities, and privileges\n\nLoad paged user rows with role and identity details in the admin users table\n\nSupport role assignment updates with rollback handling and privilege display\n\nHandle empty proxy responses for 204/205/304 statuses\n\nCover users management and proxy behavior with tests\n\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e\n\n* Restore account menu layout files to master\n\nDrop the stale My Permissions UserPill changes that broke typecheck\nagainst current master after the clean rebase.\n\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e\n\n* Add licenses\n\nCo-authored-by: Ruihuan Gao \u003cgaoruihuan0704@gmail.com\u003e\n\n* Fix RoleAssignMenu reason test after RBAC rebase\n\nSave stays disabled until roles change, so unassign before asserting\nthat the typed reason is forwarded with the role set.\n\nCo-authored-by: Ruihuan Gao \u003cgaoruihuan0704@gmail.com\u003e\n\n* Drop unused single-value pageSizeOptions from UsersTable\n\nPagination has a fixed page size and no onPageSizeChange handler, so a\none-item pageSizeOptions list is dead UI config. Address review feedback.\n\nCo-authored-by: Ruihuan Gao \u003cgaoruihuan0704@gmail.com\u003e\n\n* Hide Role Management when the user lacks roles:manage.\n\nGate the tab and page behind CASL so users without permission never hit a 403 roles API.\n\n---------\n\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e"
    },
    {
      "commit": "7eaab4ec881e9bdea21d6bcc3ab60a9653afca8d",
      "tree": "d87a2f59143cec3ff888593c061edde75071c430",
      "parents": [
        "6bdc9eb3421fd92a2d7299840f668159aa503fb5"
      ],
      "author": {
        "name": "Jayanth Vennamreddy",
        "email": "53269831+jayvenn21@users.noreply.github.com",
        "time": "Thu Jul 16 07:12:57 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 07:12:57 2026 -0400"
      },
      "message": "Wire role management tab to RBAC APIs (#524)\n\n* Wire role management to RBAC APIs\n\n* fix API proxy handling for no-content responses\n\n* Update role permission chip colors\n\n* Address role management review comments\n\n* Address role management review feedback"
    },
    {
      "commit": "6bdc9eb3421fd92a2d7299840f668159aa503fb5",
      "tree": "020ae01fbe294a54c8162955f7a643aa78a65a6a",
      "parents": [
        "7a32a3881caac07dfd747d93f9ab9aa9915ec2c8"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Wed Jul 15 22:19:43 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 22:19:43 2026 -0400"
      },
      "message": "Consolidate core database migration files (#529)"
    },
    {
      "commit": "7a32a3881caac07dfd747d93f9ab9aa9915ec2c8",
      "tree": "4d91bde01bc5b8c112db04d7d1535ba1a7ff77a4",
      "parents": [
        "0dbe68739aeb9468d9345858fc24bf4b740a6c13"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon Jul 13 19:50:21 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 19:50:21 2026 -0400"
      },
      "message": "Return the caller\u0027s roles from /me endpoint (#526)\n\n* Return the caller\u0027s roles from /me endpoint\n\n* Show the roles in the user\u0027s settings page"
    },
    {
      "commit": "0dbe68739aeb9468d9345858fc24bf4b740a6c13",
      "tree": "e306e95dc0084aa5db594b6c4708ee70203117b6",
      "parents": [
        "fc3cae727b31a8dbecc9cb74e569fec9b10490cc"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon Jul 13 15:33:33 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 15:33:33 2026 -0400"
      },
      "message": "Add core and web verify workflows and bind compose services to loopback and parameterize credentials (#525)\n\n* Add core and web verify workflows\n\n* Point to the packeges.json and updated the node version to 22\n\n* Bind compose services to loopback and parameterize credentials"
    },
    {
      "commit": "fc3cae727b31a8dbecc9cb74e569fec9b10490cc",
      "tree": "c4d77407bfdc2951bd00b6890551ac2979f2814a",
      "parents": [
        "49083282e836d81af736118b6eff2484df6866e9"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 13 11:44:35 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 11:44:35 2026 -0400"
      },
      "message": "Bump golang.org/x/crypto in /extensions/SSH-Certificate-Signer (#521)\n\nBumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.51.0 to 0.52.0.\n- [Commits](https://github.com/golang/crypto/compare/v0.51.0...v0.52.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/crypto\n  dependency-version: 0.52.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "49083282e836d81af736118b6eff2484df6866e9",
      "tree": "fdfbc6affd7c14fbfacc86467284896092dca396",
      "parents": [
        "75b365de4d63db567ce0a2122fd599b656bc60c2"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon Jul 13 11:43:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 11:43:56 2026 -0400"
      },
      "message": "consistent user privilege permission components (#523)"
    },
    {
      "commit": "75b365de4d63db567ce0a2122fd599b656bc60c2",
      "tree": "b82a67ddd7fc061a5459228d7b9457950308c85a",
      "parents": [
        "bb9b0ba3d1fd9eb708a905a89385b86385db6f07"
      ],
      "author": {
        "name": "Nipuna Bandara",
        "email": "137793168+NipunaDB@users.noreply.github.com",
        "time": "Mon Jul 13 11:25:55 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 01:55:55 2026 -0400"
      },
      "message": "Add Users \u0026 Permissions admin section with role management (#520)\n\n* Add Users \u0026 Permissions admin section with role management\n\nAdds User Management and Role Management tabs under /admin/users, backed\nby a shared client-side context: browsable/filterable users table with\nroles and external identities, a role-permission matrix mapped to the\nportal\u0027s left-nav sections, and a create/edit role dialog that can assign\nroles to users directly.\n\n* Replace role-assign dropdown with a Manage Roles modal\n\nRoles are now assigned/unassigned from a centered \"Manage roles\" modal\nopened via an \"Edit roles\" button in the user drawer, instead of an\ninline dropdown in the users table. Each role renders as its own card\nshowing only the privileges it actually grants, changes are buffered\nlocally and only applied on Save, and the modal\u0027s backdrop now renders\ncorrectly when nested inside the non-modal side drawer.\n\nAlso moves the users-admin context, types, and permission helpers out\nof the admin/users route into @/shared/users-admin so the account\ndropdown\u0027s new \"My Permissions\" dialog can reuse them, and lifts\nUsersAdminProvider up to the portal layout.\n\n* Add Apache license headers to the users-admin source files\n\nThese files were added without the ASF header used elsewhere in the repo.\n\n* Remove My Permissions item from the account menu\n\nDrops the dropdown entry and its now-unused dialog; permissions are\nalready reviewable from the Users \u0026 Permissions admin drawer.\n\n* Gate the Users \u0026 Permissions nav item behind read:User\n\nEvery other admin nav entry already checks an ability; this one had\nnone, so it rendered for any signed-in user regardless of privileges.\n\n* Scope UsersAdminProvider to the admin/users layout\n\nAddresses review feedback: the mock users-admin state was wrapping the\nwhole portal layout, but only pages under admin/users ever read it."
    },
    {
      "commit": "bb9b0ba3d1fd9eb708a905a89385b86385db6f07",
      "tree": "3af6ea4be458280afc2ac5bdf19de16b74f9c991",
      "parents": [
        "ba7d7d7993edd3e6dc8545715edd079485cdd561"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Sun Jul 12 22:36:41 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 12 22:36:41 2026 -0400"
      },
      "message": "Add portal admin pages, user settings, and a default landing page (#522)\n\n* Add organizations and resources admin pages to the portal\n\n* Clusters, resources, and resource rate management UI components\n\n* Sample data for projects, clusters, and resources\n\n* Regenerate portal SDK for the resource summary endpoint\n\n* Show allocation and usage aggregates on the resources tab\n\n* Restrict the member role change in the allocations and projects\n\n* Add allocation history tab and fix sign-out for CILogon\n\n* Add user profile settings page\n\n* sign-out behind a reverse proxy\n\n* Included the privileges and roles in the user settings page\n\n* Add default public landing page\n\n* A default landing page and aligned the sign-in and sign-out"
    },
    {
      "commit": "ba7d7d7993edd3e6dc8545715edd079485cdd561",
      "tree": "3af72903c193369f233e9e5424462e0fdcab0f36",
      "parents": [
        "7ca01e8bdaf3520c29baeacbab02a64c9d2629a7"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Sun Jul 12 21:35:31 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 12 21:35:31 2026 -0400"
      },
      "message": "Add list endpoints for users and organizations (#516)\n\n* Add list endpoints for users and organizations\n\n* Add resource summary endpoint and return empty lists as JSON arrays\n\n* Add endpoint to update a user\u0027s name"
    },
    {
      "commit": "7ca01e8bdaf3520c29baeacbab02a64c9d2629a7",
      "tree": "72d0a2de992f2900d47b45b93982695dd5eaba38",
      "parents": [
        "cdde4c491a5691d7c58be7c93245f14845b346a6"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Jul 09 11:23:38 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 11:23:38 2026 -0400"
      },
      "message": "Introduce privilege keys for all resources and enforce them on every route (#514)\n\n* Introduce privilege keys for all resources and enforce them on every route\n\n* make middle_name column non-nullable and default to empty string"
    },
    {
      "commit": "cdde4c491a5691d7c58be7c93245f14845b346a6",
      "tree": "cbe127e6bea3bb7023fadbd89ad2c024d79835ad",
      "parents": [
        "ab17e58f3227a5590b83453bb7802bbe5a0c7e07"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Fri Jul 03 21:16:14 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 21:16:14 2026 -0400"
      },
      "message": "Split server handlers into per-resource files (#513)"
    },
    {
      "commit": "ab17e58f3227a5590b83453bb7802bbe5a0c7e07",
      "tree": "170c3696d7c498d4b783755c622db8fa7d0df1c4",
      "parents": [
        "6b795aa049d8b7fe063a8a32ae2b245e9eb28df2"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jul 03 12:22:40 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 12:22:40 2026 -0400"
      },
      "message": "Bump golang.org/x/net in /extensions/SSH-Certificate-Signer (#515)\n\nBumps [golang.org/x/net](https://github.com/golang/net) from 0.50.0 to 0.55.0.\n- [Commits](https://github.com/golang/net/compare/v0.50.0...v0.55.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/net\n  dependency-version: 0.55.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "6b795aa049d8b7fe063a8a32ae2b245e9eb28df2",
      "tree": "3b09f1093aef8a49ea0e7bac47c992341601f149",
      "parents": [
        "5b206f14e1517056569832e793431f30629783fc"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Jul 02 21:34:01 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 21:34:01 2026 -0400"
      },
      "message": "Bootstrap admin user and link upstream-provisioned users on first OID… (#512)\n\n* Bootstrap admin user and link upstream-provisioned users on first OIDC sign-in\n\n* Update tests and baseline data to reflect `PENDING` status for users\n\n* Considered the PENDING status for merging\n\n* Temporarily bypass `email_verified` gate due to COmanage issue\n\n* Expand super_admin role to include all registered privileges\n\n* Updated env examples and remove outdated super_admin privilege seed\n\n* dropped the access_ci db\n\n* Updated the INSTALL.md\n\n* Extend privileges and user statuses in the API and models\n\n* Regenerate portal SDK and remap ability rules for the new privilege keys\n\n* Add instructions for loading sample data and refine AMIE setup docs\n\n* Add Flask dependency for AMIE mock server\n\n* Updated the privilege catalog and changed the architecture and connector guide to align with that"
    },
    {
      "commit": "5b206f14e1517056569832e793431f30629783fc",
      "tree": "3cf8e1c87c4200a1b10a79841d4e6cba2aa1b7a6",
      "parents": [
        "5d725e6df95237532a624a7732cae2d64b0ff9e7"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Jul 02 15:22:13 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 15:22:13 2026 -0400"
      },
      "message": "Move the portal to OIDC-only sign-in and adopt the new caller-profile endpoint (#510)\n\n* Regenerate portal SDK and updated the keycloak realm\n\n* Support OIDC remove the dev-mode byepass\n\n* Rename session cookie to custos.session-token and shorten the lifetime\n\n* Invoke the /me endpoint instead of the privileges endpoint"
    },
    {
      "commit": "5d725e6df95237532a624a7732cae2d64b0ff9e7",
      "tree": "8b1d65d5759cae30e248ad631a7c8da4e637de8c",
      "parents": [
        "59149f9808df1aec1a6ef0f27f2d4bcf093b5647"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Jul 02 14:15:24 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 14:15:24 2026 -0400"
      },
      "message": "Identity response cleanup, a single REST call to get User info, and included Keycloak for development (#509)\n\n* Reshape identity error format and privilege requirement for the compute cluster extractions\n\n* Updated the project_id and user_id to VARCHAR types\n\n* Add endpoint to get the caller\u0027s user profile and effective privileges\n\n* Add bootstrap admin email to `.env.example"
    },
    {
      "commit": "59149f9808df1aec1a6ef0f27f2d4bcf093b5647",
      "tree": "be1b56faba3e0fbe2027faa86500094f96e43dd0",
      "parents": [
        "75d88da62443ae9fae8d4af8c8d777367fb35bb6"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Wed Jul 01 14:56:43 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 14:56:43 2026 -0400"
      },
      "message": "Move connector privilege keys to their packages via a runtime registry (#508)\n\n* Move connector-specific privilege keys to their packages via a runtime registry\n\n* Aligned with \u003cconnector\u003e:\u003cscope\u003e:\u003caction\u003e format for privilege keys\n\n* Included privilege reference documentation"
    },
    {
      "commit": "75d88da62443ae9fae8d4af8c8d777367fb35bb6",
      "tree": "4aaadd36374b7d2c9e8d2ad1c74291cd7ab9230e",
      "parents": [
        "7a178bed99385ae0736dd212447e47ba082fe0ab"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon Jun 29 21:18:52 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 21:18:52 2026 -0400"
      },
      "message": "Add architecture overview and connector writing guide (#506)\n\n* Updated onboarding docs and included .env.example\n\n* Add missing license headers across the web frontend\n\n* Update README with INSTALL.md reference and updated mailing list link\n\n* Document architecture, connector writing instructions, and domain glossary"
    },
    {
      "commit": "7a178bed99385ae0736dd212447e47ba082fe0ab",
      "tree": "8a678715d942f3843b6efc916d3513135c2e2f57",
      "parents": [
        "753e1bd8a3c22eb5be0f1be1e213ae669de6c206"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Jun 25 11:11:18 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 11:11:18 2026 -0400"
      },
      "message": "Remove AMIE protobuf stubs and processing_events.payload column (#507)"
    },
    {
      "commit": "753e1bd8a3c22eb5be0f1be1e213ae669de6c206",
      "tree": "5b6d4e53e0dfcdfda5c84ef65da328337269a914",
      "parents": [
        "5d075a157d751b460e9a67c27dee08eca7eee38b"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Jun 25 04:41:49 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 04:41:49 2026 -0400"
      },
      "message": "Document updates \u0026 License headers (#502)\n\n* Updated onboarding docs and included .env.example\n\n* Add missing license headers to source and documentation files\n\n* Add missing license headers across the web frontend\n\n* Update README with INSTALL.md reference and updated mailing list link\n\n* Remove standalone AMIE-Processor; update references, configuration, and README accordingly"
    },
    {
      "commit": "5d075a157d751b460e9a67c27dee08eca7eee38b",
      "tree": "857864b023e66ea680fb827e5d4b2af14c7bb835",
      "parents": [
        "9a088f1331c29172309e0d8ee262af0a40a8408a"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Wed Jun 24 21:37:37 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 21:37:37 2026 -0400"
      },
      "message": "Move audit-trace store into Service dropping AdminDeps (#501)"
    },
    {
      "commit": "9a088f1331c29172309e0d8ee262af0a40a8408a",
      "tree": "f23a208f8d6c7aeff4fb597e1d166f62d4c90d35",
      "parents": [
        "66900030285dd51c4e17613dd67a72d577a566e0"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Wed Jun 24 15:12:08 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 15:12:08 2026 -0400"
      },
      "message": "Replace header-trust auth with verified OIDC bearer and identity router (#500)\n\n* Add OIDC identity middleware, JWT verifier, and privilege handling utilities\n* Add identity resolver and core.auth configuration\n* Replace auth middleware with identity router and privilege validation\n* Wire identity middleware, migrate connectors to router, and updated open api spec"
    },
    {
      "commit": "66900030285dd51c4e17613dd67a72d577a566e0",
      "tree": "31e1be64f2a128b09aecf38a5c6746f1019ca233",
      "parents": [
        "9ed5340c45792c021e92f86e097771f3c9db1734"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Tue Jun 23 19:10:26 2026 -0400"
      },
      "committer": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Tue Jun 23 19:10:26 2026 -0400"
      },
      "message": "Fix project_memberships migration charset\n"
    },
    {
      "commit": "9ed5340c45792c021e92f86e097771f3c9db1734",
      "tree": "c48e7f6cd832a61c839581ea8582be80cae2f98a",
      "parents": [
        "66f4e38b5045b0849b63801cdb2532cb0df5fa0b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Jun 19 00:36:18 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 00:36:18 2026 -0400"
      },
      "message": "Bump github.com/go-chi/chi/v5 in /extensions/SSH-Certificate-Signer (#499)\n\nBumps [github.com/go-chi/chi/v5](https://github.com/go-chi/chi) from 5.2.2 to 5.2.4.\n- [Release notes](https://github.com/go-chi/chi/releases)\n- [Changelog](https://github.com/go-chi/chi/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/go-chi/chi/compare/v5.2.2...v5.2.4)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/go-chi/chi/v5\n  dependency-version: 5.2.4\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "66f4e38b5045b0849b63801cdb2532cb0df5fa0b",
      "tree": "153645e107aba4b3a089d3255ee4506034b26ea9",
      "parents": [
        "b7d03ffbf76652a15b5aa9a0046c3d907cee4a88"
      ],
      "author": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Fri Jun 19 00:35:46 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 00:35:46 2026 -0400"
      },
      "message": "Temp account creation  (#495)\n\n* Initial change for global config\n\n* Fixing loaders\n\n* Removing un used config loading\n\n* Intial temp account connector impl\n\n* Adding user type to user\n\n* Assigning an allocation for a temp account\n\n* Adding support apis and integrate with core\n\n* Rename TempAccount loader package to tempaccount to drop import alias\n\n* Include license headers\n\n* lign AMIE handlers with pkg/common JSON helpers\n\n---------\n\nCo-authored-by: lahiruj \u003clahirujayathilake@gmail.com\u003e"
    },
    {
      "commit": "b7d03ffbf76652a15b5aa9a0046c3d907cee4a88",
      "tree": "2053e9998f36971d05674551131d496772cc438a",
      "parents": [
        "59e41eea72be96b004c6c94712eb2fbe2609f6db"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jun 18 15:59:45 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 15:59:45 2026 -0400"
      },
      "message": "Bump go.opentelemetry.io/otel/sdk from 1.41.0 to 1.43.0 (#493)\n\nBumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.41.0 to 1.43.0.\n- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)\n- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.41.0...v1.43.0)\n\n---\nupdated-dependencies:\n- dependency-name: go.opentelemetry.io/otel/sdk\n  dependency-version: 1.43.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "59e41eea72be96b004c6c94712eb2fbe2609f6db",
      "tree": "6a6a8c5e5a345e695739308a40a813978ceac159",
      "parents": [
        "6741190846bdd85209b5c0c7cb9afd09fceafabd"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu Jun 18 15:58:43 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 15:58:43 2026 -0400"
      },
      "message": "Add Custos portal, portal-facing endpoints, and enhanced AMIE baseline test scenarios (#496)\n\n* Add REST list endpoints, membership role + PI write on project create, AMIE responses, and connector idempotency fixes\n\n* Enhance the AMIE baseline scenario with request_account_create packets and varied user roles\n\n* Add web portal for allocations, projects, AMIE dashboards, and audit traces\n\n* updated the API documentation\n\n* Move project-level roles to a project_memberships table\n\n* Add Allocation Manager role to project member schema and related UI components"
    },
    {
      "commit": "6741190846bdd85209b5c0c7cb9afd09fceafabd",
      "tree": "7f60b7164bcaf8aeb8804f7bd11f91162b79b0b5",
      "parents": [
        "9b36e677bcbd11f5b1ae60803771eca6d241b7d6"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon Jun 15 09:47:23 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 09:47:23 2026 -0400"
      },
      "message": "Fix global configuration loader and remove redundant AMIE config package (#494)"
    },
    {
      "commit": "9b36e677bcbd11f5b1ae60803771eca6d241b7d6",
      "tree": "69648b269de27128b5646387164415a5ed4ad379",
      "parents": [
        "1b214df062812386514d9a7eeaace7e49d89dd31"
      ],
      "author": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun Jun 14 09:26:01 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 14 09:26:01 2026 -0400"
      },
      "message": "Adding global configuration support (#492)\n\n* Initial change for global config\n\n* Fixing loaders\n\n* Removing un used config loading"
    },
    {
      "commit": "1b214df062812386514d9a7eeaace7e49d89dd31",
      "tree": "5aceac8dfcf69bdfda7536205b4c329d5744d22f",
      "parents": [
        "4759f2ea9a642a959b8dd9113bd608e9a1150be2"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Sat Jun 13 01:05:08 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 01:05:08 2026 -0400"
      },
      "message": "Integrated swag-driven OpenAPI spec generation (#491)"
    },
    {
      "commit": "4759f2ea9a642a959b8dd9113bd608e9a1150be2",
      "tree": "e8502390abe202626c129f7294529acca56b0888",
      "parents": [
        "ec14c2ecae68ea4a6d3fe3e70a38cf0ea1935e34"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Fri Jun 12 18:50:29 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 18:50:29 2026 -0400"
      },
      "message": "Request tracing support across core and connectors (#489)\n\n* add OpenTelemetry tracing package for context propagation\n\n* Propagate request context across event bus so subscribers inherit trace IDs\n\n* Add trace_id, span_id and parent_span_id columns\n\n* Include tracing for AMIE packet handlers\n\n* Include tracing for COmanage subscriber\n\n* Include tracing for SLURM subscribers\n\n* source-column\n\n* Add audit-driven trace store that reads audit_events and amie_audit_log\n\n* expose audit endpoints\n\n* Remove cross-connector tracing test from AMIE pipeline package\n\n* Updated the baseline amie integration tests to reflect the additional tracing events\n\n* Renumber tracing migrations\n\n* Rename TraceEvent fields and COmanage subscriber audit event for clarity\n\n* Add entity_type column to audit_events\n\n* Replace amie_audit_log with amie_audit_extras table\n\n* Route AMIE audit writes through core audit_events\n\n* Drop UNION in audit_trace_store\n\n* Add AMIE endpoints\n\n* Update AMIE baseline integration tests to align with the new audit modeling\n\n* Move AMIE HTTP endpoints into the connector via mux passthrough\n\n* Consolidate AMIE migrations and switch trace/span IDs to hex strings\n\n* Renumber audit migrations for consistency"
    },
    {
      "commit": "ec14c2ecae68ea4a6d3fe3e70a38cf0ea1935e34",
      "tree": "8e985a144e16b27b44ea88a3a22c94d65e9a3ef4",
      "parents": [
        "8b63dba1c67d852c775e7bf3bb86734252c840e2"
      ],
      "author": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Fri Jun 12 00:03:23 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 00:03:23 2026 -0400"
      },
      "message": "[WIP] SLURM usage monitor connector (#485)\n\n* Moved slurm client to higher level module\n\n* Adding slurm monitor and fetching job list api\n\n* Refactoring allocation resource to have a direct link to compute cluster\n\n* smonitor integration tests wip\n\n* Validating job with the custos accounting details\n\n* Fixing migration script naming issues\n\n* Removing compute allocation fk constraint\n\n* Calculating raw SU amount"
    },
    {
      "commit": "8b63dba1c67d852c775e7bf3bb86734252c840e2",
      "tree": "ed38f4b2c4fe1a481460f2044e13999d26d204b9",
      "parents": [
        "034d0122ba21eb0a78413968907835e35f3a67c1"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Sun Jun 07 12:36:57 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 12:36:57 2026 -0400"
      },
      "message": "Add admin privileges and role-template layer (#484)\n\n* Add admin privileges framework with privileges:grant gate\n\n* Add role-template layer on top of admin privileges\n\n* Seed dev users and roles, take out bootstrap super admin from main"
    },
    {
      "commit": "034d0122ba21eb0a78413968907835e35f3a67c1",
      "tree": "dfbec2d73ca015350a7499c0ff105cde46701240",
      "parents": [
        "161a1bd4ccfba7601c3cbb507185936d78b02857"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Wed Jun 03 08:36:46 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 08:36:46 2026 -0400"
      },
      "message": "CILogon COmanage Provisioner Integration (#487)\n\n* Add posix username generation and per-cluster unique local_username\n\n* throw an error when the first and last names are empty when building the cluster username\n\n* POSIX username generation and updated AMIE account provisioning to use POSIX allocator\n\n* COmanage connector implementation\n\n* updated the baseline integration test for PI cluster provisioning and audit"
    },
    {
      "commit": "161a1bd4ccfba7601c3cbb507185936d78b02857",
      "tree": "d9109a7923be50e8a5f2519b63259e77b08577b8",
      "parents": [
        "a73f07e32ed1e3a88e2068f3d100d3ea3b690055"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 25 20:33:38 2026 -0400"
      },
      "committer": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 25 20:33:38 2026 -0400"
      },
      "message": "Adding new users to test slurm cluster\n"
    },
    {
      "commit": "a73f07e32ed1e3a88e2068f3d100d3ea3b690055",
      "tree": "5616bff21ac78fd14f7a6db9926b94929bb6aded",
      "parents": [
        "f8fb89a52e554953f1a89148db442fcf8a256d78"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 25 20:33:12 2026 -0400"
      },
      "committer": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 25 20:33:12 2026 -0400"
      },
      "message": "Adding qos to association\n"
    },
    {
      "commit": "f8fb89a52e554953f1a89148db442fcf8a256d78",
      "tree": "4fe5cf70a129ef28acc17d57d94c246a3ff234f4",
      "parents": [
        "af8fe4a83a673b9fb82bb537e5f6730235baa3b6"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Sun May 24 18:20:22 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 24 18:20:22 2026 -0400"
      },
      "message": "Add AMIE connector integration test suite (#483)"
    },
    {
      "commit": "af8fe4a83a673b9fb82bb537e5f6730235baa3b6",
      "tree": "b844a6ef62d6f1835bbf34e370a05c0994fd53cb",
      "parents": [
        "bee6bdb330b69a264a9d618b28aafdd7b604c36d"
      ],
      "author": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 24 09:48:51 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 24 09:48:51 2026 -0400"
      },
      "message": "Additiona integration tests for slurm connector (#482)\n\n* Added mock service and integration tests to SLURM association mapper\n\n* Creating a slurm specific integration test script\n\n* Validating subscriber tests through audit logs\n\n* Validation of association creation in SLURM side\n\n* Adding integration tests for SubscribeToComputeAllocationMembershipCreation\n\n* Allocation membership override integration tests"
    },
    {
      "commit": "bee6bdb330b69a264a9d618b28aafdd7b604c36d",
      "tree": "e71d5a91618e92927b2fae7de3c51d5821e8be13",
      "parents": [
        "926755a0b87d1adf35dfd68fd35c9364a1da4aff"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 23 16:24:25 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 23 16:25:08 2026 -0400"
      },
      "message": "Validation of association creation in SLURM side\n"
    },
    {
      "commit": "926755a0b87d1adf35dfd68fd35c9364a1da4aff",
      "tree": "abc8bfdbc7782979cf6fd977a5d1c60de70a5490",
      "parents": [
        "dc4dec95cddf2b49f186aa7373060b7649975df9"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 23 15:30:11 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 23 16:25:08 2026 -0400"
      },
      "message": "Validating subscriber tests through audit logs\n"
    },
    {
      "commit": "dc4dec95cddf2b49f186aa7373060b7649975df9",
      "tree": "e87f9301177ec994aad51791eb3e705652a0ac9a",
      "parents": [
        "2543690d1b624c51d537c5a67fb2c9f8cb2c8516"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Fri May 22 23:49:31 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 23 16:25:08 2026 -0400"
      },
      "message": "Creating a slurm specific integration test script\n"
    },
    {
      "commit": "2543690d1b624c51d537c5a67fb2c9f8cb2c8516",
      "tree": "ec76723e45b27f09d582f0c48c565bd46560c100",
      "parents": [
        "37ea3944351472dcf3006bba0e272eae78aa9a18"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Fri May 22 23:41:42 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 23 16:25:08 2026 -0400"
      },
      "message": "Added mock service and integration tests to SLURM association mapper\n"
    },
    {
      "commit": "37ea3944351472dcf3006bba0e272eae78aa9a18",
      "tree": "4dc45f00425e27625c4aeb00ce14d74600cf2bb9",
      "parents": [
        "3c392586c3a3fa49c513d1541963a879f8d5b95c"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Fri May 22 16:50:22 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 16:50:22 2026 -0400"
      },
      "message": "Consolidate core migrations into 4 domain-grouped files (#480)"
    },
    {
      "commit": "3c392586c3a3fa49c513d1541963a879f8d5b95c",
      "tree": "a9da423a7784dec20a4a902cb9547c5965f904b7",
      "parents": [
        "e65d50eaaffc8dfd3781657f90dc5d7274eb363e"
      ],
      "author": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Fri May 22 07:34:47 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 07:34:47 2026 -0400"
      },
      "message": "Setting up a local slurm cluster and running integration tests against it (#477)\n\n* Setting up a local slurm cluster and running tests against it\n\n* Association integration tests\n\n* Integration tests for valid and invalid associations\n\n* Fixing test failures in mock tests\n\n* Integrating missing run commnds"
    },
    {
      "commit": "e65d50eaaffc8dfd3781657f90dc5d7274eb363e",
      "tree": "24df561938dfe2643f19f37a0cdfbc698c0c33b6",
      "parents": [
        "623760c7ecd139afb1ac894fc1213cb5fd7ea661"
      ],
      "author": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu May 21 22:54:42 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 22:54:42 2026 -0400"
      },
      "message": "Integrate ACCESS-AMIE connector with core domain model (#476)\n\n* Add identity, lifecycle status, and user-merge models and changes to core\n\n* Rename ExternalIdentity to UserIdentity and add source email column\n\n* Drop UserDN and UserMerge models and related services from core\n\n* Drop compute_cluster_users.status field\n\n* Drop AMIE handler tests that don\u0027t fit the new core architecture\n\n* Add MigrateConnectorFS for per-connector schema isolation\n\n* Integrate AMIE-Processor with core models and removed duplicated domain models\n\n* Updated mock AMIE server\n\n* Use Keep/DeleteGlobalID for request_person_merge and baseline amie test packets\n\n* Soft delete users on request_user_modify type delete, instead of hard delete\n\n* Wait for connector goroutines to drain on shutdown\n\n* Fix AMIE delete/merge handler semantics\n\n* Included the default cluster seed for dev\n\n* Align AMIE connector with core changes - UserIdentity rename, MergeUsers signature, and connector-local amie_user_dns model"
    },
    {
      "commit": "623760c7ecd139afb1ac894fc1213cb5fd7ea661",
      "tree": "d094337a283963f3576d807bfd2876fdab512c20",
      "parents": [
        "4ea551e4a3be0c3f46ac4e4c4bc35ae2b04d8b33"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu May 21 16:46:42 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Thu May 21 17:09:52 2026 -0400"
      },
      "message": "Drop compute_cluster_users.status field\n"
    },
    {
      "commit": "4ea551e4a3be0c3f46ac4e4c4bc35ae2b04d8b33",
      "tree": "a9f9ed8059ad3dea043a1dde87c694dd3bc31c66",
      "parents": [
        "f0153ce418c72a0e017b869e9ccfce34a742cc1a"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu May 21 16:31:35 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Thu May 21 17:09:52 2026 -0400"
      },
      "message": "Drop UserDN and UserMerge models and related services from core\n"
    },
    {
      "commit": "f0153ce418c72a0e017b869e9ccfce34a742cc1a",
      "tree": "ce010ccebdef3cc495b1fbd1392c791baf805a9a",
      "parents": [
        "03e0d2b4fe626739716473cde256e7a5eca99048"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Thu May 21 15:30:36 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Thu May 21 17:09:52 2026 -0400"
      },
      "message": "Rename ExternalIdentity to UserIdentity and add source email column\n"
    },
    {
      "commit": "03e0d2b4fe626739716473cde256e7a5eca99048",
      "tree": "25491981e7198639ae55dde9eb98d9f9c5575044",
      "parents": [
        "06650da4fd2e9a6b8ad09a1d9514a2aa80b21fb7"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Wed May 20 17:06:26 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Thu May 21 17:09:52 2026 -0400"
      },
      "message": "Add identity, lifecycle status, and user-merge models and changes to core\n"
    },
    {
      "commit": "06650da4fd2e9a6b8ad09a1d9514a2aa80b21fb7",
      "tree": "9a1543efe44d52abb52da2725e91654e0be9cc84",
      "parents": [
        "3d102159ee7bd58767ad639114574e37c7440fb6"
      ],
      "author": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Thu May 21 10:21:26 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 10:21:26 2026 -0400"
      },
      "message": "Updated allocation data models"
    },
    {
      "commit": "3d102159ee7bd58767ad639114574e37c7440fb6",
      "tree": "72ce5d31f629074433b5b51cb94496724b60f524",
      "parents": [
        "13ef537fd8b5a7438fc654f4ddd2084aac944b70"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Wed May 20 00:58:31 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Wed May 20 01:06:32 2026 -0400"
      },
      "message": "Enabling member level allocation restriction\n"
    },
    {
      "commit": "13ef537fd8b5a7438fc654f4ddd2084aac944b70",
      "tree": "ea96b229f936878cd9fd7c6880d2e306b3d16769",
      "parents": [
        "3b0bf6845ed2b1f949eba306180e2c2ae1b6db06"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Tue May 19 21:12:58 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Wed May 20 01:06:32 2026 -0400"
      },
      "message": "Updating account resource limits when the allocation resource mapping is created\n"
    },
    {
      "commit": "3b0bf6845ed2b1f949eba306180e2c2ae1b6db06",
      "tree": "f15603b5048dde5df7d43854e2132cb972f337c1",
      "parents": [
        "6b7e6daa6e18ca5da1233ae5bfc4af34f059eeb2"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Tue May 19 14:36:11 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Wed May 20 01:06:32 2026 -0400"
      },
      "message": "Moving member-specific quota to a seperate data model and implementing slurm subscriber\n"
    },
    {
      "commit": "6b7e6daa6e18ca5da1233ae5bfc4af34f059eeb2",
      "tree": "63d9af4a72d32e47011f025546ef81254fb51d39",
      "parents": [
        "9b7c6e5440bd12b4df12c3a3e4e94f865f08a181"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 18 23:47:59 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Wed May 20 01:06:32 2026 -0400"
      },
      "message": "Adding SLURM association when an allocation membership is created\n"
    },
    {
      "commit": "9b7c6e5440bd12b4df12c3a3e4e94f865f08a181",
      "tree": "f12b73322bf375abb3f22251a3cf7b02cc84cbf6",
      "parents": [
        "983beccd15dba842fa601258e6d85be23039f4f2"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 18 08:56:52 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Wed May 20 01:06:32 2026 -0400"
      },
      "message": "Fixing minor misconfiguration\n"
    },
    {
      "commit": "983beccd15dba842fa601258e6d85be23039f4f2",
      "tree": "610fcedc512f829085ec1a6ceccab20ab5b42b2b",
      "parents": [
        "8cf058ff173623d7707c6a7654b16f4e7eaf2f67"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 18 02:11:10 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Wed May 20 01:06:32 2026 -0400"
      },
      "message": "Creating a slurm account when an compute allocation was created\n"
    },
    {
      "commit": "8cf058ff173623d7707c6a7654b16f4e7eaf2f67",
      "tree": "b8d60c73cd6b8a5e70244ba40e05df88ba209ce8",
      "parents": [
        "bf4d2e1488a1a5dfb27be028781cede6288e1c0f"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 18 00:38:34 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Wed May 20 01:06:32 2026 -0400"
      },
      "message": "Initial framework in integrate connectors to core with pub sub\n"
    },
    {
      "commit": "bf4d2e1488a1a5dfb27be028781cede6288e1c0f",
      "tree": "9f1d0313684563bec5021bf337c43cbdf458c366",
      "parents": [
        "b5ef5142b7422ded45ef2659fbc5aec2aadd7269"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Wed May 20 01:05:17 2026 -0400"
      },
      "committer": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Wed May 20 01:05:17 2026 -0400"
      },
      "message": "Revert last 3 commits\n"
    },
    {
      "commit": "b5ef5142b7422ded45ef2659fbc5aec2aadd7269",
      "tree": "7e76f3a3330c2b142133dd650afe4f89dd41531f",
      "parents": [
        "50f03d8eeae366e018308576415c661dbc0e5dd8"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Tue May 19 17:41:33 2026 -0400"
      },
      "committer": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Tue May 19 17:41:33 2026 -0400"
      },
      "message": "Add default cluster seed fore development and local env scaffolding\n"
    },
    {
      "commit": "50f03d8eeae366e018308576415c661dbc0e5dd8",
      "tree": "29a133472e01f9692313c0b05647337118f45a5a",
      "parents": [
        "231acfeb4c8862b88d7f36e68e5ab3f4ed7740a7"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Tue May 19 02:11:37 2026 -0400"
      },
      "committer": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Tue May 19 17:08:52 2026 -0400"
      },
      "message": "Add Project.Status, ClusterAccount, UserMerge, and identity helpers to core\n"
    },
    {
      "commit": "231acfeb4c8862b88d7f36e68e5ab3f4ed7740a7",
      "tree": "6ac5d4a2aae0c7d42230705f4717421de8f32017",
      "parents": [
        "23c538fb55fd8e94e3574ef234b6d4c667ff1d66"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon May 18 17:08:26 2026 -0400"
      },
      "committer": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Tue May 19 14:34:34 2026 -0400"
      },
      "message": "Add ExternalIdentity and user_dns to core\n"
    },
    {
      "commit": "23c538fb55fd8e94e3574ef234b6d4c667ff1d66",
      "tree": "9f1d0313684563bec5021bf337c43cbdf458c366",
      "parents": [
        "fd7e77b12932358017c693dd5fa335982338347c"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon May 18 14:59:35 2026 -0400"
      },
      "committer": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon May 18 14:59:35 2026 -0400"
      },
      "message": "Restore Prometheus, Grafana, and Vault dev-compose config\n"
    },
    {
      "commit": "fd7e77b12932358017c693dd5fa335982338347c",
      "tree": "4660692a015dd554bd3c0801e860e4f9c58bafbf",
      "parents": [
        "30e9687daaf66f2dcc53581b7678c3eb66358073"
      ],
      "author": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 18 00:44:25 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 00:44:25 2026 -0400"
      },
      "message": "Delete img.png"
    },
    {
      "commit": "30e9687daaf66f2dcc53581b7678c3eb66358073",
      "tree": "3ff89a5fc39cd047733c614d98600594b6ea7855",
      "parents": [
        "d5876e6cca52a6be9a3153efc7785a54d0ecb82e"
      ],
      "author": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 18 00:43:30 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 00:43:30 2026 -0400"
      },
      "message": "Delete Custos_Diagram.png"
    },
    {
      "commit": "d5876e6cca52a6be9a3153efc7785a54d0ecb82e",
      "tree": "274f421d376695564f83a25d0476cf138e8188c5",
      "parents": [
        "0a9c107f36009af707b9d80db1d1e82a76c4e742"
      ],
      "author": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 18 00:43:17 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 00:43:17 2026 -0400"
      },
      "message": "Delete build_output.txt"
    },
    {
      "commit": "0a9c107f36009af707b9d80db1d1e82a76c4e742",
      "tree": "36c2e22cd9355193da86be3b622e02d67ecd92c4",
      "parents": [
        "26cb06dd949ce893a11ab5d1823b592553367b89"
      ],
      "author": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 18 00:42:25 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 00:42:25 2026 -0400"
      },
      "message": "Cleaning stale code"
    },
    {
      "commit": "26cb06dd949ce893a11ab5d1823b592553367b89",
      "tree": "c299c1358d0b06486a1ceadf5fd93a762538c96b",
      "parents": [
        "ceb9d4d9c72ccce421d3e67f541375218ae584c4"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 23:22:14 2026 -0400"
      },
      "committer": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 23:22:14 2026 -0400"
      },
      "message": "Cleanup repo and adding installation instruction\n"
    },
    {
      "commit": "ceb9d4d9c72ccce421d3e67f541375218ae584c4",
      "tree": "b5877f54728277cc6465da355b81218b9b18b6c8",
      "parents": [
        "f6b9e2a9fa578bcbdb712bfe6766551c66c19fd6"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 20:23:28 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 20:31:35 2026 -0400"
      },
      "message": "Added subscription layer for connectors to receive allocation messages\n"
    },
    {
      "commit": "f6b9e2a9fa578bcbdb712bfe6766551c66c19fd6",
      "tree": "0d865a292237239a41c78a86b8ede5db2562ea9c",
      "parents": [
        "9d6333262129e7c01cc67ea451341ab62c5842db"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 16 21:39:26 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 20:31:35 2026 -0400"
      },
      "message": "Implemented the service layer for Compute Allocation Usage\n"
    },
    {
      "commit": "9d6333262129e7c01cc67ea451341ab62c5842db",
      "tree": "b48b7fe70104d817f858d01ff8af7181b92d4fe5",
      "parents": [
        "f392978aeb75f4ffcf328f23f003b89c710194ad"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 16 21:32:55 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 20:31:35 2026 -0400"
      },
      "message": "Implemented the service layer for Compute Allocation Memberships\n"
    },
    {
      "commit": "f392978aeb75f4ffcf328f23f003b89c710194ad",
      "tree": "2b7d7857c7d99950a6a9d159b701b9a5fa09ec91",
      "parents": [
        "9db46dcef4c845cb10f05c33a0122e88dd9236f0"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 16 21:21:59 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 20:31:35 2026 -0400"
      },
      "message": "Implemented the service layer for Allocation Change Requests and related events\n"
    },
    {
      "commit": "9db46dcef4c845cb10f05c33a0122e88dd9236f0",
      "tree": "f69e08ef61c19d2e70c24295d2808dae64aa9d20",
      "parents": [
        "d486a0c422e4b686304ea4b6e06f588bd35f75e2"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 16 20:57:27 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 20:31:35 2026 -0400"
      },
      "message": "Implemented service layer for ComputeAllocationDiff\n"
    },
    {
      "commit": "d486a0c422e4b686304ea4b6e06f588bd35f75e2",
      "tree": "41d9a23963dd9dcea9deb76c650c5062fdfed494",
      "parents": [
        "3f6e4b96fc51ad61fae8cad56ea816542711b5b5"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 16 20:46:00 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 20:31:35 2026 -0400"
      },
      "message": "Implemented Resource Rate APIs\n"
    },
    {
      "commit": "3f6e4b96fc51ad61fae8cad56ea816542711b5b5",
      "tree": "6eb594e785799fef7eb59454063ef8ac8cf735b3",
      "parents": [
        "523b191c770a000284f152baa641c6bef1e36352"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 16 20:38:43 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 20:31:35 2026 -0400"
      },
      "message": "Implemented service layer for compute allocations, allocation resources and mapping\n"
    },
    {
      "commit": "523b191c770a000284f152baa641c6bef1e36352",
      "tree": "bc7b5f76ccdd98e2029a0a025366c2318c0b1966",
      "parents": [
        "43301854ed103a7f02a815d31bade78ce2f48574"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 16 20:25:56 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 20:31:35 2026 -0400"
      },
      "message": "Implement service layer for compute clusters\n"
    },
    {
      "commit": "43301854ed103a7f02a815d31bade78ce2f48574",
      "tree": "8b5ebf382c425ade1a043c3f6a93fc1c3259d171",
      "parents": [
        "764fbd1d88234fc7bd696db60496182b418ab74f"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 16 20:10:11 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 20:31:35 2026 -0400"
      },
      "message": "Framework implement to REST API and DB integration\n"
    },
    {
      "commit": "764fbd1d88234fc7bd696db60496182b418ab74f",
      "tree": "993df7bb780349863ebb7854a0d2855d66028e21",
      "parents": [
        "5132fabcef1caf2d7bb0ed88010b91d4d3f1fcc5"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sat May 16 09:02:37 2026 -0400"
      },
      "committer": {
        "name": "Dimuthu Wannipurage",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Sun May 17 20:25:43 2026 -0400"
      },
      "message": "Allocation data models and documentation\n"
    },
    {
      "commit": "5132fabcef1caf2d7bb0ed88010b91d4d3f1fcc5",
      "tree": "ac2b35cb9f780e59e98d74922f6645382e73fe85",
      "parents": [
        "3ac7c46b487dd7e0a0d0163e75b75f8c87fc81e7"
      ],
      "author": {
        "name": "The Apache Software Foundation",
        "email": "root-asf-gitbox-commits@apache.org",
        "time": "Fri May 15 13:43:52 2026 -0500"
      },
      "committer": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Fri May 15 14:59:42 2026 -0400"
      },
      "message": "Set up default protection ruleset for default and release branches"
    },
    {
      "commit": "3ac7c46b487dd7e0a0d0163e75b75f8c87fc81e7",
      "tree": "b4735f641203dd1e58e4de62e2354b6fc076de6c",
      "parents": [
        "83af9b69b4406071ef5cfa15b7e3f3e9f5f67273"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Fri May 15 14:55:46 2026 -0400"
      },
      "committer": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Fri May 15 14:55:46 2026 -0400"
      },
      "message": "dependency bump up\n"
    },
    {
      "commit": "83af9b69b4406071ef5cfa15b7e3f3e9f5f67273",
      "tree": "441507de6db68276c3dd1f507cb9aa1a6e1b4b5d",
      "parents": [
        "97581d32fcbeb29cf9f14b3cc690bbabe110cc66"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue May 12 02:09:35 2026 +0000"
      },
      "committer": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Fri May 15 14:24:43 2026 -0400"
      },
      "message": "Bump filippo.io/edwards25519 in /connectors/ACCESS/AMIE-Processor\n\nBumps [filippo.io/edwards25519](https://github.com/FiloSottile/edwards25519) from 1.1.0 to 1.1.1.\n- [Commits](https://github.com/FiloSottile/edwards25519/compare/v1.1.0...v1.1.1)\n\n---\nupdated-dependencies:\n- dependency-name: filippo.io/edwards25519\n  dependency-version: 1.1.1\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "97581d32fcbeb29cf9f14b3cc690bbabe110cc66",
      "tree": "34790bae13d66da7931605224e46263ab83066d7",
      "parents": [
        "43a2b1cf6d36e621740f23c0ddd0b06335ad0fc9"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun May 10 13:10:54 2026 +0000"
      },
      "committer": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Fri May 15 14:21:22 2026 -0400"
      },
      "message": "Bump github.com/go-jose/go-jose/v4 in /extensions/SSH-Certificate-Signer\n\nBumps [github.com/go-jose/go-jose/v4](https://github.com/go-jose/go-jose) from 4.1.3 to 4.1.4.\n- [Release notes](https://github.com/go-jose/go-jose/releases)\n- [Commits](https://github.com/go-jose/go-jose/compare/v4.1.3...v4.1.4)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/go-jose/go-jose/v4\n  dependency-version: 4.1.4\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "43a2b1cf6d36e621740f23c0ddd0b06335ad0fc9",
      "tree": "08e8a921d64a5036c5139cb2dff131772fe13117",
      "parents": [
        "8dd33eb16731d7b372c26cdf0acb97ffa0c38ebd"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun May 10 13:10:52 2026 +0000"
      },
      "committer": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Fri May 15 14:20:55 2026 -0400"
      },
      "message": "Bump github.com/Azure/go-ntlmssp in /extensions/SSH-Certificate-Signer\n\nBumps [github.com/Azure/go-ntlmssp](https://github.com/Azure/go-ntlmssp) from 0.1.0 to 0.1.1.\n- [Release notes](https://github.com/Azure/go-ntlmssp/releases)\n- [Commits](https://github.com/Azure/go-ntlmssp/compare/v0.1.0...v0.1.1)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/Azure/go-ntlmssp\n  dependency-version: 0.1.1\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "8dd33eb16731d7b372c26cdf0acb97ffa0c38ebd",
      "tree": "a6d98480673f7f5a6a5f71d70e03c291ef6ff105",
      "parents": [
        "2414ee8800d61b4b5ec8891763c209e364a4d873"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Wed May 13 10:07:23 2026 -0400"
      },
      "committer": {
        "name": "Lahiru Jayathilake",
        "email": "lahirujayathilake@gmail.com",
        "time": "Fri May 15 14:14:36 2026 -0400"
      },
      "message": "Association mapper client impl\n"
    },
    {
      "commit": "2414ee8800d61b4b5ec8891763c209e364a4d873",
      "tree": "0ef9629330c478138e04e10d27527f7c22c6b061",
      "parents": [
        "e9871bf8d334f28050bb6b6ee8b3a618338829a8",
        "d81bb94cdb9431c1335144b412c49fd2cf9df7fd"
      ],
      "author": {
        "name": "Suresh Marru",
        "email": "smarru@apache.org",
        "time": "Tue May 12 08:13:23 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 12 08:13:23 2026 -0400"
      },
      "message": "Merge pull request #463 from apache/access-doc\n\nInitial access cluster documentation"
    },
    {
      "commit": "e9871bf8d334f28050bb6b6ee8b3a618338829a8",
      "tree": "0212c3964a24f0fa01fbe2243251a41e7a2a6776",
      "parents": [
        "18c60fb9356a8a64bb4ce348b0561869e4bf73f6"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon May 11 18:58:57 2026 -0400"
      },
      "committer": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon May 11 18:58:57 2026 -0400"
      },
      "message": "Updated the readme to align with latest structure changes\n"
    },
    {
      "commit": "18c60fb9356a8a64bb4ce348b0561869e4bf73f6",
      "tree": "097688b1372f2c8f028743334fa3b198eb29a6a9",
      "parents": [
        "99b662e6b4631b6a1398d83059291781a5665da6"
      ],
      "author": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon May 11 18:45:30 2026 -0400"
      },
      "committer": {
        "name": "lahiruj",
        "email": "lahirujayathilake@gmail.com",
        "time": "Mon May 11 18:45:30 2026 -0400"
      },
      "message": "Fix AMIE-Processor module path and regenerated proto stubs\n"
    },
    {
      "commit": "d81bb94cdb9431c1335144b412c49fd2cf9df7fd",
      "tree": "8dc9a3170b45b745b486c7bf89108c5bf2c75d3c",
      "parents": [
        "c97688d1981c2bb71912d6340b65ecba9c0aebeb"
      ],
      "author": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 11 16:35:29 2026 -0400"
      },
      "committer": {
        "name": "DImuthuUpe",
        "email": "dimuthu.upeksha2@gmail.com",
        "time": "Mon May 11 16:35:29 2026 -0400"
      },
      "message": "Initial access cluster documentation\n"
    }
  ],
  "next": "99b662e6b4631b6a1398d83059291781a5665da6"
}
