From f016139e2f4c13a3129c76ce58aee5b2daeca1a0 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 5 Feb 2026 05:10:21 +0000
Subject: [PATCH 1/2] Initial plan


From d06302a18b73df021836a6cdbda21c50cfb52407 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 5 Feb 2026 05:21:16 +0000
Subject: [PATCH 2/2] Remove pirate theme from workflow messages
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Replace pirate-themed messages with professional, clear messages:
- Run status messages: "Avast!", "settin' sail", "Yo ho ho!" → "has started", "completed successfully"
- Footer messages: "Ahoy!", "treasure", pirate flag → "Generated by"
- Installation messages: "Arr!", "plunder", "ship" → "To install this workflow"
- Staged messages: "Ahoy Matey!", "Shiver me timbers!" → "Preview:", "The following operations"
- Close discussion messages: "Avast!", "treasure map", "Fair winds" → Clear professional text
- Failure messages: "Blimey!", "walked the plank" → "failed. Please review the logs"

Updated all test expectations to match new message formats.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
---
 .../js/add_reaction_and_edit_comment.test.cjs | 12 +++----
 actions/setup/js/messages.test.cjs            | 28 +++++++--------
 .../setup/js/messages_close_discussion.cjs    |  8 ++---
 actions/setup/js/messages_footer.cjs          | 18 +++++-----
 actions/setup/js/messages_run_status.cjs      | 12 +++----
 actions/setup/js/messages_staged.cjs          |  8 ++---
 .../setup/js/notify_comment_error.test.cjs    | 35 +++++++------------
 .../js/update_pr_description_helpers.test.cjs |  4 +--
 8 files changed, 57 insertions(+), 68 deletions(-)

diff --git a/actions/setup/js/add_reaction_and_edit_comment.test.cjs b/actions/setup/js/add_reaction_and_edit_comment.test.cjs
index 650bd1e48a3..fcb990314fb 100644
--- a/actions/setup/js/add_reaction_and_edit_comment.test.cjs
+++ b/actions/setup/js/add_reaction_and_edit_comment.test.cjs
@@ -73,7 +73,7 @@ const mockCore = {
             mockGithub.request.mockResolvedValueOnce({ data: { id: 789 } }).mockResolvedValueOnce({ data: { id: 999, html_url: "https://github.com/testowner/testrepo/pull/456#issuecomment-999" } }),
             await eval(`(async () => { ${reactionScript}; await main(); })()`),
             expect(mockGithub.request).toHaveBeenCalledWith("POST /repos/testowner/testrepo/issues/456/reactions", expect.objectContaining({ content: "heart" })),
-            expect(mockGithub.request).toHaveBeenCalledWith("POST /repos/testowner/testrepo/issues/456/comments", expect.objectContaining({ body: expect.stringContaining("be settin' sail on this pull request") })),
+            expect(mockGithub.request).toHaveBeenCalledWith("POST /repos/testowner/testrepo/issues/456/comments", expect.objectContaining({ body: expect.stringContaining("has started processing this pull request") })),
             expect(mockCore.setOutput).toHaveBeenCalledWith("reaction-id", "789"),
             expect(mockCore.setOutput).toHaveBeenCalledWith("comment-id", "999"),
             expect(mockCore.setOutput).toHaveBeenCalledWith("comment-url", "https://github.com/testowner/testrepo/pull/456#issuecomment-999"));
@@ -147,7 +147,7 @@ const mockCore = {
             mockGithub.request.mockResolvedValueOnce({ data: { id: 456 } }).mockResolvedValueOnce({ data: { id: 789, html_url: "https://github.com/testowner/testrepo/issues/123#issuecomment-789" } }),
             await eval(`(async () => { ${reactionScript}; await main(); })()`),
             expect(mockGithub.request).toHaveBeenCalledWith("POST /repos/testowner/testrepo/issues/123/reactions", expect.objectContaining({ content: "eyes" })),
-            expect(mockGithub.request).toHaveBeenCalledWith("POST /repos/testowner/testrepo/issues/123/comments", expect.objectContaining({ body: expect.stringContaining("be settin' sail on this issue") })),
+            expect(mockGithub.request).toHaveBeenCalledWith("POST /repos/testowner/testrepo/issues/123/comments", expect.objectContaining({ body: expect.stringContaining("has started processing this issue") })),
             expect(mockCore.setOutput).toHaveBeenCalledWith("reaction-id", "456"),
             expect(mockCore.setOutput).toHaveBeenCalledWith("comment-id", "789"),
             expect(mockCore.setOutput).toHaveBeenCalledWith("comment-url", "https://github.com/testowner/testrepo/issues/123#issuecomment-789"));
@@ -159,7 +159,7 @@ const mockCore = {
               (global.context.payload = { issue: { number: 123 }, comment: { id: 456 }, repository: { html_url: "https://github.com/testowner/testrepo" } }),
               mockGithub.request.mockResolvedValueOnce({ data: { id: 111 } }).mockResolvedValueOnce({ data: { id: 789, html_url: "https://github.com/testowner/testrepo/issues/123#issuecomment-789" } }),
               await eval(`(async () => { ${reactionScript}; await main(); })()`),
-              expect(mockGithub.request).toHaveBeenCalledWith("POST /repos/testowner/testrepo/issues/123/comments", expect.objectContaining({ body: expect.stringContaining("be settin' sail on this issue comment") })),
+              expect(mockGithub.request).toHaveBeenCalledWith("POST /repos/testowner/testrepo/issues/123/comments", expect.objectContaining({ body: expect.stringContaining("has started processing this issue comment") })),
               expect(mockGithub.request).not.toHaveBeenCalledWith("POST /repos/testowner/testrepo/issues/comments/456", expect.anything()),
               expect(mockCore.setOutput).toHaveBeenCalledWith("comment-id", "789"),
               expect(mockCore.setOutput).toHaveBeenCalledWith("comment-url", "https://github.com/testowner/testrepo/issues/123#issuecomment-789"),
@@ -172,7 +172,7 @@ const mockCore = {
               (global.context.payload = { pull_request: { number: 456 }, comment: { id: 789 }, repository: { html_url: "https://github.com/testowner/testrepo" } }),
               mockGithub.request.mockResolvedValueOnce({ data: { id: 222 } }).mockResolvedValueOnce({ data: { id: 999, html_url: "https://github.com/testowner/testrepo/pull/456#discussion_r999" } }),
               await eval(`(async () => { ${reactionScript}; await main(); })()`),
-              expect(mockGithub.request).toHaveBeenCalledWith("POST /repos/testowner/testrepo/issues/456/comments", expect.objectContaining({ body: expect.stringContaining("be settin' sail on this pull request review comment") })),
+              expect(mockGithub.request).toHaveBeenCalledWith("POST /repos/testowner/testrepo/issues/456/comments", expect.objectContaining({ body: expect.stringContaining("has started processing this pull request review comment") })),
               expect(mockGithub.request).not.toHaveBeenCalledWith("POST /repos/testowner/testrepo/pulls/comments/789", expect.anything()),
               expect(mockCore.setOutput).toHaveBeenCalledWith("comment-id", "999"),
               expect(mockCore.setOutput).toHaveBeenCalledWith("comment-url", "https://github.com/testowner/testrepo/pull/456#discussion_r999"),
@@ -190,7 +190,7 @@ const mockCore = {
                 .mockResolvedValueOnce({ addDiscussionComment: { comment: { id: "DC_kwDOABcD1M4AaBbE", url: "https://github.com/testowner/testrepo/discussions/10#discussioncomment-999" } } }),
               await eval(`(async () => { ${reactionScript}; await main(); })()`),
               expect(mockGithub.graphql).toHaveBeenCalledTimes(4),
-              expect(mockGithub.graphql).toHaveBeenCalledWith(expect.stringContaining("addDiscussionComment"), expect.objectContaining({ dId: "D_kwDOABcD1M4AaBbC", body: expect.stringContaining("be settin' sail on this discussion") })),
+              expect(mockGithub.graphql).toHaveBeenCalledWith(expect.stringContaining("addDiscussionComment"), expect.objectContaining({ dId: "D_kwDOABcD1M4AaBbC", body: expect.stringContaining("has started processing this discussion") })),
               expect(mockCore.setOutput).toHaveBeenCalledWith("reaction-id", "MDg6UmVhY3Rpb24xMjM0NTY3ODk="),
               expect(mockCore.setOutput).toHaveBeenCalledWith("comment-id", "DC_kwDOABcD1M4AaBbE"),
               expect(mockCore.setOutput).toHaveBeenCalledWith("comment-url", "https://github.com/testowner/testrepo/discussions/10#discussioncomment-999"));
@@ -207,7 +207,7 @@ const mockCore = {
               await eval(`(async () => { ${reactionScript}; await main(); })()`),
               expect(mockGithub.graphql).toHaveBeenCalledWith(
                 expect.stringContaining("addDiscussionComment"),
-                expect.objectContaining({ dId: "D_kwDOABcD1M4AaBbC", body: expect.stringContaining("be settin' sail on this discussion comment"), replyToId: "DC_kwDOABcD1M4AaBbC" })
+                expect.objectContaining({ dId: "D_kwDOABcD1M4AaBbC", body: expect.stringContaining("has started processing this discussion comment"), replyToId: "DC_kwDOABcD1M4AaBbC" })
               ),
               expect(mockCore.setOutput).toHaveBeenCalledWith("comment-id", "DC_kwDOABcD1M4AaBbE"),
               expect(mockCore.setOutput).toHaveBeenCalledWith("comment-url", "https://github.com/testowner/testrepo/discussions/10#discussioncomment-789"),
diff --git a/actions/setup/js/messages.test.cjs b/actions/setup/js/messages.test.cjs
index 18a063b7c9b..b70ee8c865c 100644
--- a/actions/setup/js/messages.test.cjs
+++ b/actions/setup/js/messages.test.cjs
@@ -163,7 +163,7 @@ describe("messages.cjs", () => {
         runUrl: "https://github.com/test/repo/actions/runs/123",
       });
 
-      expect(result).toBe("> Ahoy! This treasure was crafted by [🏴‍☠️ Test Workflow](https://github.com/test/repo/actions/runs/123)");
+      expect(result).toBe("> Generated by [Test Workflow](https://github.com/test/repo/actions/runs/123)");
     });
 
     it("should append triggering number when provided", async () => {
@@ -175,7 +175,7 @@ describe("messages.cjs", () => {
         triggeringNumber: 42,
       });
 
-      expect(result).toBe("> Ahoy! This treasure was crafted by [🏴‍☠️ Test Workflow](https://github.com/test/repo/actions/runs/123) fer issue #42 🗺️");
+      expect(result).toBe("> Generated by [Test Workflow](https://github.com/test/repo/actions/runs/123) for issue #42");
     });
 
     it("should use custom footer template", async () => {
@@ -232,7 +232,7 @@ describe("messages.cjs", () => {
       });
 
       expect(result).toContain("gh aw add owner/repo/workflow.md@main");
-      expect(result).toContain("Chart yer course");
+      expect(result).toContain("View source at");
     });
 
     it("should use custom install template", async () => {
@@ -259,7 +259,7 @@ describe("messages.cjs", () => {
 
       const result = generateFooterWithMessages("Test Workflow", "https://github.com/test/repo/actions/runs/123", "", "", undefined, undefined, undefined);
 
-      expect(result).toContain("> Ahoy! This treasure was crafted by [🏴‍☠️ Test Workflow]");
+      expect(result).toContain("> Generated by [Test Workflow]");
       expect(result).toContain("https://github.com/test/repo/actions/runs/123");
     });
 
@@ -268,7 +268,7 @@ describe("messages.cjs", () => {
 
       const result = generateFooterWithMessages("Test Workflow", "https://github.com/test/repo/actions/runs/123", "", "", 42, undefined, undefined);
 
-      expect(result).toContain("fer issue #42 🗺️");
+      expect(result).toContain("for issue #42");
     });
 
     it("should include triggering PR number when no issue", async () => {
@@ -276,7 +276,7 @@ describe("messages.cjs", () => {
 
       const result = generateFooterWithMessages("Test Workflow", "https://github.com/test/repo/actions/runs/123", "", "", undefined, 99, undefined);
 
-      expect(result).toContain("fer issue #99 🗺️");
+      expect(result).toContain("for issue #99");
     });
 
     it("should include triggering discussion number", async () => {
@@ -284,7 +284,7 @@ describe("messages.cjs", () => {
 
       const result = generateFooterWithMessages("Test Workflow", "https://github.com/test/repo/actions/runs/123", "", "", undefined, undefined, 7);
 
-      expect(result).toContain("fer issue #discussion #7 🗺️");
+      expect(result).toContain("for issue #discussion #7");
     });
 
     it("should include installation instructions when source is provided", async () => {
@@ -404,7 +404,7 @@ describe("messages.cjs", () => {
 
       const result = getStagedTitle({ operation: "Create Issues" });
 
-      expect(result).toBe("## 🏴‍☠️ Ahoy Matey! Staged Waters: Create Issues Preview");
+      expect(result).toBe("## 🔍 Preview: Create Issues");
     });
 
     it("should use custom staged title template", async () => {
@@ -426,7 +426,7 @@ describe("messages.cjs", () => {
 
       const result = getStagedDescription({ operation: "Create Issues" });
 
-      expect(result).toBe("🗺️ Shiver me timbers! The following booty would be plundered if we set sail (staged mode disabled):");
+      expect(result).toBe("📋 The following operations would be performed if staged mode was disabled:");
     });
 
     it("should use custom staged description template", async () => {
@@ -452,7 +452,7 @@ describe("messages.cjs", () => {
         eventType: "issue",
       });
 
-      expect(result).toBe("⚓ Avast! [Test Workflow](https://github.com/test/repo/actions/runs/123) be settin' sail on this issue! 🏴‍☠️");
+      expect(result).toBe("🚀 [Test Workflow](https://github.com/test/repo/actions/runs/123) has started processing this issue");
     });
 
     it("should use custom run-started template", async () => {
@@ -481,7 +481,7 @@ describe("messages.cjs", () => {
         runUrl: "https://github.com/test/repo/actions/runs/123",
       });
 
-      expect(result).toBe("🎉 Yo ho ho! [Test Workflow](https://github.com/test/repo/actions/runs/123) found the treasure and completed successfully! ⚓💰");
+      expect(result).toBe("✅ [Test Workflow](https://github.com/test/repo/actions/runs/123) completed successfully!");
     });
 
     it("should use custom run-success template", async () => {
@@ -510,7 +510,7 @@ describe("messages.cjs", () => {
         status: "failed",
       });
 
-      expect(result).toBe("💀 Blimey! [Test Workflow](https://github.com/test/repo/actions/runs/123) failed and walked the plank! No treasure today, matey! ☠️");
+      expect(result).toBe("❌ [Test Workflow](https://github.com/test/repo/actions/runs/123) failed. Please review the logs for details.");
     });
 
     it("should use custom run-failure template", async () => {
@@ -538,7 +538,7 @@ describe("messages.cjs", () => {
         status: "was cancelled",
       });
 
-      expect(result).toBe("💀 Blimey! [Test Workflow](https://github.com/test/repo/actions/runs/123) was cancelled and walked the plank! No treasure today, matey! ☠️");
+      expect(result).toBe("❌ [Test Workflow](https://github.com/test/repo/actions/runs/123) was cancelled. Please review the logs for details.");
     });
   });
 
@@ -553,7 +553,7 @@ describe("messages.cjs", () => {
         runUrl: "https://github.com/test/repo/actions/runs/123",
       });
 
-      expect(result).toContain("This discussion be marked as **outdated**");
+      expect(result).toContain("This discussion has been marked as **outdated**");
       expect(result).toContain("[Test Workflow](https://github.com/test/repo/actions/runs/123)");
       expect(result).toContain("[Discussion #10](https://github.com/test/repo/discussions/10)");
     });
diff --git a/actions/setup/js/messages_close_discussion.cjs b/actions/setup/js/messages_close_discussion.cjs
index 96a7e460738..d670fde8689 100644
--- a/actions/setup/js/messages_close_discussion.cjs
+++ b/actions/setup/js/messages_close_discussion.cjs
@@ -29,12 +29,10 @@ function getCloseOlderDiscussionMessage(ctx) {
   // Create context with both camelCase and snake_case keys
   const templateContext = toSnakeCase(ctx);
 
-  // Default close-older-discussion template - pirate themed! 🏴‍☠️
-  const defaultMessage = `⚓ Avast! This discussion be marked as **outdated** by [{workflow_name}]({run_url}).
+  // Default close-older-discussion template
+  const defaultMessage = `This discussion has been marked as **outdated** by [{workflow_name}]({run_url}).
 
-🗺️ A newer treasure map awaits ye at **[Discussion #{new_discussion_number}]({new_discussion_url})**.
-
-Fair winds, matey! 🏴‍☠️`;
+A newer discussion is available at **[Discussion #{new_discussion_number}]({new_discussion_url})**.`;
 
   // Use custom message if configured
   return messages?.closeOlderDiscussion ? renderTemplate(messages.closeOlderDiscussion, templateContext) : renderTemplate(defaultMessage, templateContext);
diff --git a/actions/setup/js/messages_footer.cjs b/actions/setup/js/messages_footer.cjs
index 2f66c0c6c5b..24e3c3a5554 100644
--- a/actions/setup/js/messages_footer.cjs
+++ b/actions/setup/js/messages_footer.cjs
@@ -31,15 +31,15 @@ function getFooterMessage(ctx) {
   // Create context with both camelCase and snake_case keys
   const templateContext = toSnakeCase(ctx);
 
-  // Default footer template - pirate themed! 🏴‍☠️
-  const defaultFooter = "> Ahoy! This treasure was crafted by [🏴‍☠️ {workflow_name}]({run_url})";
+  // Default footer template
+  const defaultFooter = "> Generated by [{workflow_name}]({run_url})";
 
   // Use custom footer if configured
   let footer = messages?.footer ? renderTemplate(messages.footer, templateContext) : renderTemplate(defaultFooter, templateContext);
 
   // Add triggering reference if available
   if (ctx.triggeringNumber) {
-    footer += ` fer issue #{triggering_number} 🗺️`.replace("{triggering_number}", String(ctx.triggeringNumber));
+    footer += ` for issue #{triggering_number}`.replace("{triggering_number}", String(ctx.triggeringNumber));
   }
 
   return footer;
@@ -60,8 +60,8 @@ function getFooterInstallMessage(ctx) {
   // Create context with both camelCase and snake_case keys
   const templateContext = toSnakeCase(ctx);
 
-  // Default installation template - pirate themed! 🏴‍☠️
-  const defaultInstall = "> Arr! To plunder this workflow fer yer own ship, run `gh aw add {workflow_source}`. Chart yer course at [🦜 {workflow_source_url}]({workflow_source_url})!";
+  // Default installation template
+  const defaultInstall = "> To install this workflow, run `gh aw add {workflow_source}`. View source at [{workflow_source_url}]({workflow_source_url}).";
 
   // Use custom installation message if configured
   return messages?.footerInstall ? renderTemplate(messages.footerInstall, templateContext) : renderTemplate(defaultInstall, templateContext);
@@ -85,8 +85,8 @@ function getFooterWorkflowRecompileMessage(ctx) {
   // Create context with both camelCase and snake_case keys
   const templateContext = toSnakeCase(ctx);
 
-  // Default footer template - pirate themed! 🏴‍☠️
-  const defaultFooter = "> Ahoy! This treasure was crafted by [🏴‍☠️ {workflow_name}]({run_url})";
+  // Default footer template
+  const defaultFooter = "> Generated by [{workflow_name}]({run_url})";
 
   // Use custom workflow recompile footer if configured, otherwise use default footer
   return messages?.footerWorkflowRecompile ? renderTemplate(messages.footerWorkflowRecompile, templateContext) : renderTemplate(defaultFooter, templateContext);
@@ -103,8 +103,8 @@ function getFooterWorkflowRecompileCommentMessage(ctx) {
   // Create context with both camelCase and snake_case keys
   const templateContext = toSnakeCase(ctx);
 
-  // Default footer template - pirate themed! 🏴‍☠️
-  const defaultFooter = "> Ahoy! This update was brought to ye by [🏴‍☠️ {workflow_name}]({run_url})";
+  // Default footer template
+  const defaultFooter = "> Updated by [{workflow_name}]({run_url})";
 
   // Use custom workflow recompile comment footer if configured, otherwise use default footer
   return messages?.footerWorkflowRecompileComment ? renderTemplate(messages.footerWorkflowRecompileComment, templateContext) : renderTemplate(defaultFooter, templateContext);
diff --git a/actions/setup/js/messages_run_status.cjs b/actions/setup/js/messages_run_status.cjs
index 57658d0b3fa..eb6f7ee614a 100644
--- a/actions/setup/js/messages_run_status.cjs
+++ b/actions/setup/js/messages_run_status.cjs
@@ -28,8 +28,8 @@ function getRunStartedMessage(ctx) {
   // Create context with both camelCase and snake_case keys
   const templateContext = toSnakeCase(ctx);
 
-  // Default run-started template - pirate themed! 🏴‍☠️
-  const defaultMessage = "⚓ Avast! [{workflow_name}]({run_url}) be settin' sail on this {event_type}! 🏴‍☠️";
+  // Default run-started template
+  const defaultMessage = "🚀 [{workflow_name}]({run_url}) has started processing this {event_type}";
 
   // Use custom message if configured
   return messages?.runStarted ? renderTemplate(messages.runStarted, templateContext) : renderTemplate(defaultMessage, templateContext);
@@ -52,8 +52,8 @@ function getRunSuccessMessage(ctx) {
   // Create context with both camelCase and snake_case keys
   const templateContext = toSnakeCase(ctx);
 
-  // Default run-success template - pirate themed! 🏴‍☠️
-  const defaultMessage = "🎉 Yo ho ho! [{workflow_name}]({run_url}) found the treasure and completed successfully! ⚓💰";
+  // Default run-success template
+  const defaultMessage = "✅ [{workflow_name}]({run_url}) completed successfully!";
 
   // Use custom message if configured
   return messages?.runSuccess ? renderTemplate(messages.runSuccess, templateContext) : renderTemplate(defaultMessage, templateContext);
@@ -77,8 +77,8 @@ function getRunFailureMessage(ctx) {
   // Create context with both camelCase and snake_case keys
   const templateContext = toSnakeCase(ctx);
 
-  // Default run-failure template - pirate themed! 🏴‍☠️
-  const defaultMessage = "💀 Blimey! [{workflow_name}]({run_url}) {status} and walked the plank! No treasure today, matey! ☠️";
+  // Default run-failure template
+  const defaultMessage = "❌ [{workflow_name}]({run_url}) {status}. Please review the logs for details.";
 
   // Use custom message if configured
   return messages?.runFailure ? renderTemplate(messages.runFailure, templateContext) : renderTemplate(defaultMessage, templateContext);
diff --git a/actions/setup/js/messages_staged.cjs b/actions/setup/js/messages_staged.cjs
index 3a23c348841..de684e1041f 100644
--- a/actions/setup/js/messages_staged.cjs
+++ b/actions/setup/js/messages_staged.cjs
@@ -26,8 +26,8 @@ function getStagedTitle(ctx) {
   // Create context with both camelCase and snake_case keys
   const templateContext = toSnakeCase(ctx);
 
-  // Default staged title template - pirate themed! 🏴‍☠️
-  const defaultTitle = "## 🏴‍☠️ Ahoy Matey! Staged Waters: {operation} Preview";
+  // Default staged title template
+  const defaultTitle = "## 🔍 Preview: {operation}";
 
   // Use custom title if configured
   return messages?.stagedTitle ? renderTemplate(messages.stagedTitle, templateContext) : renderTemplate(defaultTitle, templateContext);
@@ -44,8 +44,8 @@ function getStagedDescription(ctx) {
   // Create context with both camelCase and snake_case keys
   const templateContext = toSnakeCase(ctx);
 
-  // Default staged description template - pirate themed! 🏴‍☠️
-  const defaultDescription = "🗺️ Shiver me timbers! The following booty would be plundered if we set sail (staged mode disabled):";
+  // Default staged description template
+  const defaultDescription = "📋 The following operations would be performed if staged mode was disabled:";
 
   // Use custom description if configured
   return messages?.stagedDescription ? renderTemplate(messages.stagedDescription, templateContext) : renderTemplate(defaultDescription, templateContext);
diff --git a/actions/setup/js/notify_comment_error.test.cjs b/actions/setup/js/notify_comment_error.test.cjs
index f4327f60a9c..327e7aafeee 100644
--- a/actions/setup/js/notify_comment_error.test.cjs
+++ b/actions/setup/js/notify_comment_error.test.cjs
@@ -127,7 +127,7 @@ const mockCore = {
             await eval(`(async () => { ${notifyCommentScript}; await main(); })()`),
             expect(mockGithub.request).toHaveBeenCalledWith(
               "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}",
-              expect.objectContaining({ owner: "testowner", repo: "testrepo", comment_id: 123456, body: expect.stringContaining("found the treasure and completed successfully") })
+              expect.objectContaining({ owner: "testowner", repo: "testrepo", comment_id: 123456, body: expect.stringContaining("completed successfully!") })
             ),
             expect(mockCore.info).toHaveBeenCalledWith("Successfully updated comment"));
         }),
@@ -139,7 +139,7 @@ const mockCore = {
               await eval(`(async () => { ${notifyCommentScript}; await main(); })()`),
               expect(mockGithub.request).toHaveBeenCalledWith(
                 "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}",
-                expect.objectContaining({ owner: "testowner", repo: "testrepo", comment_id: 123456, body: expect.stringContaining("walked the plank") })
+                expect.objectContaining({ owner: "testowner", repo: "testrepo", comment_id: 123456, body: expect.stringContaining("failed. Please review the logs") })
               ),
               expect(mockCore.info).toHaveBeenCalledWith("Successfully updated comment"));
           }),
@@ -149,10 +149,7 @@ const mockCore = {
               (process.env.GH_AW_WORKFLOW_NAME = "test-workflow"),
               (process.env.GH_AW_AGENT_CONCLUSION = "cancelled"),
               await eval(`(async () => { ${notifyCommentScript}; await main(); })()`),
-              expect(mockGithub.request).toHaveBeenCalledWith(
-                "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}",
-                expect.objectContaining({ body: expect.stringContaining("was cancelled"), body: expect.stringContaining("walked the plank") })
-              ));
+              expect(mockGithub.request).toHaveBeenCalledWith("PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}", expect.objectContaining({ body: expect.stringContaining("was cancelled. Please review the logs") })));
           }),
           it("should update with timeout message when agent times out", async () => {
             ((process.env.GH_AW_COMMENT_ID = "123456"),
@@ -160,10 +157,7 @@ const mockCore = {
               (process.env.GH_AW_WORKFLOW_NAME = "test-workflow"),
               (process.env.GH_AW_AGENT_CONCLUSION = "timed_out"),
               await eval(`(async () => { ${notifyCommentScript}; await main(); })()`),
-              expect(mockGithub.request).toHaveBeenCalledWith(
-                "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}",
-                expect.objectContaining({ body: expect.stringContaining("timed out"), body: expect.stringContaining("walked the plank") })
-              ));
+              expect(mockGithub.request).toHaveBeenCalledWith("PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}", expect.objectContaining({ body: expect.stringContaining("timed out. Please review the logs") })));
           }),
           it("should update with skipped message when agent is skipped", async () => {
             ((process.env.GH_AW_COMMENT_ID = "123456"),
@@ -171,10 +165,7 @@ const mockCore = {
               (process.env.GH_AW_WORKFLOW_NAME = "test-workflow"),
               (process.env.GH_AW_AGENT_CONCLUSION = "skipped"),
               await eval(`(async () => { ${notifyCommentScript}; await main(); })()`),
-              expect(mockGithub.request).toHaveBeenCalledWith(
-                "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}",
-                expect.objectContaining({ body: expect.stringContaining("was skipped"), body: expect.stringContaining("walked the plank") })
-              ));
+              expect(mockGithub.request).toHaveBeenCalledWith("PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}", expect.objectContaining({ body: expect.stringContaining("was skipped. Please review the logs") })));
           }),
           it("should use custom comment repo when provided", async () => {
             ((process.env.GH_AW_COMMENT_ID = "123456"),
@@ -214,7 +205,7 @@ const mockCore = {
               (process.env.GH_AW_AGENT_CONCLUSION = "success"),
               (process.env.GH_AW_DETECTION_CONCLUSION = "success"),
               await eval(`(async () => { ${notifyCommentScript}; await main(); })()`),
-              expect(mockGithub.request).toHaveBeenCalledWith("PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}", expect.objectContaining({ body: expect.stringContaining("found the treasure and completed successfully") })));
+              expect(mockGithub.request).toHaveBeenCalledWith("PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}", expect.objectContaining({ body: expect.stringContaining("completed successfully!") })));
           }));
       }),
       describe("when updating a discussion comment", () => {
@@ -224,10 +215,7 @@ const mockCore = {
             (process.env.GH_AW_WORKFLOW_NAME = "test-workflow"),
             (process.env.GH_AW_AGENT_CONCLUSION = "success"),
             await eval(`(async () => { ${notifyCommentScript}; await main(); })()`),
-            expect(mockGithub.graphql).toHaveBeenCalledWith(
-              expect.stringContaining("updateDiscussionComment"),
-              expect.objectContaining({ commentId: "DC_kwDOABCDEF4ABCDEF", body: expect.stringContaining("found the treasure and completed successfully") })
-            ),
+            expect(mockGithub.graphql).toHaveBeenCalledWith(expect.stringContaining("updateDiscussionComment"), expect.objectContaining({ commentId: "DC_kwDOABCDEF4ABCDEF", body: expect.stringContaining("completed successfully!") })),
             expect(mockCore.info).toHaveBeenCalledWith("Successfully updated discussion comment"));
         }),
           it("should use GraphQL API for discussion comments on failure", async () => {
@@ -236,7 +224,10 @@ const mockCore = {
               (process.env.GH_AW_WORKFLOW_NAME = "test-workflow"),
               (process.env.GH_AW_AGENT_CONCLUSION = "failure"),
               await eval(`(async () => { ${notifyCommentScript}; await main(); })()`),
-              expect(mockGithub.graphql).toHaveBeenCalledWith(expect.stringContaining("updateDiscussionComment"), expect.objectContaining({ commentId: "DC_kwDOABCDEF4ABCDEF", body: expect.stringContaining("walked the plank") })));
+              expect(mockGithub.graphql).toHaveBeenCalledWith(
+                expect.stringContaining("updateDiscussionComment"),
+                expect.objectContaining({ commentId: "DC_kwDOABCDEF4ABCDEF", body: expect.stringContaining("failed. Please review the logs") })
+              ));
           }));
       }),
       describe("error handling", () => {
@@ -281,7 +272,7 @@ const mockCore = {
               (process.env.GH_AW_SAFE_OUTPUT_JOBS = JSON.stringify({ create_issue: "issue_url" })),
               await eval(`(async () => { ${notifyCommentScript}; await main(); })()`));
             const callArgs = mockGithub.request.mock.calls[0][1];
-            expect(callArgs.body).toMatch(/completed successfully.*⚓💰$/);
+            expect(callArgs.body).toMatch(/completed successfully!$/);
           }),
           it("should handle empty safe output jobs gracefully", async () => {
             ((process.env.GH_AW_COMMENT_ID = "123456"),
@@ -290,7 +281,7 @@ const mockCore = {
               (process.env.GH_AW_AGENT_CONCLUSION = "success"),
               await eval(`(async () => { ${notifyCommentScript}; await main(); })()`));
             const callArgs = mockGithub.request.mock.calls[0][1];
-            expect(callArgs.body).toMatch(/completed successfully.*⚓💰$/);
+            expect(callArgs.body).toMatch(/completed successfully!$/);
           }));
       }));
   }));
diff --git a/actions/setup/js/update_pr_description_helpers.test.cjs b/actions/setup/js/update_pr_description_helpers.test.cjs
index 29ca803094f..6d35008e379 100644
--- a/actions/setup/js/update_pr_description_helpers.test.cjs
+++ b/actions/setup/js/update_pr_description_helpers.test.cjs
@@ -21,10 +21,10 @@ describe("update_pr_description_helpers.cjs", () => {
   describe("buildAIFooter", () => {
     it("should build AI footer with workflow name and run URL using messages system", () => {
       const footer = buildAIFooter("Test Workflow", "https://github.com/owner/repo/actions/runs/123");
-      // Should use the default pirate-themed footer from messages system
+      // Should use the default footer from messages system
       expect(footer).toContain("Test Workflow");
       expect(footer).toContain("https://github.com/owner/repo/actions/runs/123");
-      expect(footer).toContain("Ahoy"); // Pirate theme
+      expect(footer).toContain("Generated by"); // Professional message
     });
 
     it("should handle special characters in workflow name", () => {
