From 10124dc5c11a70936871c47d9f7d50c325d201ac Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 31 Mar 2026 02:46:23 +0000
Subject: [PATCH 1/3] Add release alias map to releases.json and update schema

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/39508cab-8d76-4fb0-9b6c-9f15240d569b

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
---
 .github/workflows/daily-doc-updater.lock.yml | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml
index 52ced31e194..4b5396d980f 100644
--- a/.github/workflows/daily-doc-updater.lock.yml
+++ b/.github/workflows/daily-doc-updater.lock.yml
@@ -332,10 +332,10 @@ jobs:
       - name: Restore cache-memory file share data
         uses: actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
         with:
-          key: memory-approved-0072b676-${{ env.GH_AW_WORKFLOW_ID_SANITIZED }}-${{ github.run_id }}
+          key: memory-approved-6f25a3c0-${{ env.GH_AW_WORKFLOW_ID_SANITIZED }}-${{ github.run_id }}
           path: /tmp/gh-aw/cache-memory
           restore-keys: |
-            memory-approved-0072b676-${{ env.GH_AW_WORKFLOW_ID_SANITIZED }}-
+            memory-approved-6f25a3c0-${{ env.GH_AW_WORKFLOW_ID_SANITIZED }}-
       - name: Setup cache-memory git repository
         env:
           GH_AW_CACHE_DIR: /tmp/gh-aw/cache-memory
@@ -390,6 +390,7 @@ jobs:
         id: parse-guard-vars
         env:
           GH_AW_BLOCKED_USERS_VAR: ${{ vars.GH_AW_GITHUB_BLOCKED_USERS || '' }}
+          GH_AW_TRUSTED_USERS_VAR: ${{ vars.GH_AW_GITHUB_TRUSTED_USERS || '' }}
           GH_AW_APPROVAL_LABELS_EXTRA: cookie
           GH_AW_APPROVAL_LABELS_VAR: ${{ vars.GH_AW_GITHUB_APPROVAL_LABELS || '' }}
         run: bash ${RUNNER_TEMP}/gh-aw/actions/parse_guard_list.sh
@@ -625,7 +626,8 @@ jobs:
                     "approval-labels": ${{ steps.parse-guard-vars.outputs.approval_labels }},
                     "blocked-users": ${{ steps.parse-guard-vars.outputs.blocked_users }},
                     "min-integrity": "approved",
-                    "repos": "all"
+                    "repos": "all",
+                    "trusted-users": ${{ steps.parse-guard-vars.outputs.trusted_users }}
                   }
                 }
               },
@@ -1476,6 +1478,6 @@ jobs:
         if: steps.check_cache_default.outputs.has_content == 'true'
         uses: actions/cache/save@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
         with:
-          key: memory-approved-0072b676-${{ env.GH_AW_WORKFLOW_ID_SANITIZED }}-${{ github.run_id }}
+          key: memory-approved-6f25a3c0-${{ env.GH_AW_WORKFLOW_ID_SANITIZED }}-${{ github.run_id }}
           path: /tmp/gh-aw/cache-memory
 

From a16b7ebfd08e0080a391c94ac706731ce26b7655 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 31 Mar 2026 02:46:40 +0000
Subject: [PATCH 2/3] Add release alias map to releases.json and update schema

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/39508cab-8d76-4fb0-9b6c-9f15240d569b

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
---
 .github/aw/releases.json        |  6 +++++-
 .github/aw/releases.schema.json | 10 ++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/.github/aw/releases.json b/.github/aw/releases.json
index b9a4f1194fa..b7e6bdee713 100644
--- a/.github/aw/releases.json
+++ b/.github/aw/releases.json
@@ -2,5 +2,9 @@
   "$schema": "./releases.schema.json",
   "blockedVersions": [],
   "minimumVersion": "v0.64.4",
-  "minRecommendedVersion": "v0.64.4"
+  "minRecommendedVersion": "v0.64.4",
+  "aliases": {
+    "latest": "latest",
+    "stable": "v0.64.5"
+  }
 }
diff --git a/.github/aw/releases.schema.json b/.github/aw/releases.schema.json
index c1ebba7027d..0ea8b5e8ffb 100644
--- a/.github/aw/releases.schema.json
+++ b/.github/aw/releases.schema.json
@@ -31,6 +31,16 @@
       "description": "The minimum recommended compile-agentic version in vMAJOR.MINOR.PATCH format. Workflows compiled with a version below this will emit a warning (but not fail) at activation, nudging users to upgrade. Use an empty string to disable this check.",
       "pattern": "^(v[0-9]+\\.[0-9]+\\.[0-9]+)?$",
       "default": ""
+    },
+    "aliases": {
+      "type": "object",
+      "description": "A map of release alias names to version strings. The special value 'latest' resolves to the most recent release. Other values must be a version string in vMAJOR.MINOR.PATCH format.",
+      "additionalProperties": {
+        "type": "string",
+        "pattern": "^(latest|v[0-9]+\\.[0-9]+\\.[0-9]+)$",
+        "description": "A version string in vMAJOR.MINOR.PATCH format or the special value 'latest'"
+      },
+      "default": {}
     }
   }
 }

From ad7887042367ea78e125584a5ce43973b3c513a3 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 31 Mar 2026 02:58:28 +0000
Subject: [PATCH 3/3] Update ci.yml validator to support aliases in
 releases.json

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/d78f9e5d-0cd7-451a-88cb-76529627d9ed

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
---
 .github/workflows/ci.yml | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 4b74051e541..f6741e13b2c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -869,13 +869,30 @@ jobs:
             const errors = [];
 
             // Check additionalProperties (only allow known keys)
-            const allowedKeys = new Set(['$schema', 'blockedVersions', 'minimumVersion', 'minRecommendedVersion']);
+            const allowedKeys = new Set(['$schema', 'blockedVersions', 'minimumVersion', 'minRecommendedVersion', 'aliases']);
             for (const key of Object.keys(config)) {
               if (!allowedKeys.has(key)) {
                 errors.push(`Unknown property: '${key}'`);
               }
             }
 
+            // Validate aliases
+            if ('aliases' in config) {
+              const aliases = config.aliases;
+              if (typeof aliases !== 'object' || aliases === null || Array.isArray(aliases)) {
+                errors.push("'aliases' must be an object");
+              } else {
+                const aliasValuePattern = /^(latest|v[0-9]+\.[0-9]+\.[0-9]+)$/;
+                for (const [alias, value] of Object.entries(aliases)) {
+                  if (typeof value !== 'string') {
+                    errors.push(`'aliases.${alias}' must be a string`);
+                  } else if (!aliasValuePattern.test(value)) {
+                    errors.push(`'aliases.${alias}' ('${value}') must be 'latest' or a version in vMAJOR.MINOR.PATCH format (e.g. 'v1.2.3')`);
+                  }
+                }
+              }
+            }
+
             // Validate blockedVersions
             if ('blockedVersions' in config) {
               const bv = config.blockedVersions;
