From a7d6256be88d81deaa511a78fe0a6c32eb4e953c Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 18 Aug 2026 10:31:28 -0700 Subject: [PATCH] fix(agents): link known progress card references (#125887) --- src/agents/tools/progress-card-tool.test.ts | 2 +- src/agents/tools/progress-card-tool.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/agents/tools/progress-card-tool.test.ts b/src/agents/tools/progress-card-tool.test.ts index 4b94d2bbecd3..6f73f8593b65 100644 --- a/src/agents/tools/progress-card-tool.test.ts +++ b/src/agents/tools/progress-card-tool.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it, vi } from "vitest"; import { createProgressCardTool } from "./progress-card-tool.js"; const DESCRIPTION = - 'Maintain this session\'s progress card: the single durable status surface shown next to the session in OpenClaw\'s UIs, for someone who is not reading the transcript. Keep it current on any task that takes more than a moment — it is how the user watches you work without scrolling. Each call replaces the whole card. Pick the representation that fits the work, using either or both parts: `markdown` — a compact note; tables for comparisons or metrics, bars for one long operation, a bold one-liner for simple state; other raw HTML is stripped. And `plan` — an ordered step checklist (pending | in_progress | completed, at most one in_progress) for genuinely sequential work. The checklist is optional: omit it whenever a table, bar, or sentence says it better, and never repeat the same facts in both parts. Call with both parts empty to clear. Update on meaningful change — a step done, a blocker, results in — not every message. Max 8 KB markdown, 50 steps.'; + 'Maintain this session\'s progress card: the single durable status surface shown next to the session in OpenClaw\'s UIs, for someone who is not reading the transcript. Keep it current on any task that takes more than a moment — it is how the user watches you work without scrolling. Each call replaces the whole card. Pick the representation that fits the work, using either or both parts: `markdown` — a compact note; tables for comparisons or metrics, bars for one long operation, a bold one-liner for simple state; other raw HTML is stripped. Known URL? Link it. Don’t leave PRs or issues as bare IDs. And `plan` — an ordered step checklist (pending | in_progress | completed, at most one in_progress) for genuinely sequential work. The checklist is optional: omit it whenever a table, bar, or sentence says it better, and never repeat the same facts in both parts. Call with both parts empty to clear. Update on meaningful change — a step done, a blocker, results in — not every message. Max 8 KB markdown, 50 steps.'; describe("progress_card tool", () => { it("replaces the card and returns compact progress receipts", async () => { diff --git a/src/agents/tools/progress-card-tool.ts b/src/agents/tools/progress-card-tool.ts index c07f3690943e..33be3104dca0 100644 --- a/src/agents/tools/progress-card-tool.ts +++ b/src/agents/tools/progress-card-tool.ts @@ -32,7 +32,7 @@ export function createProgressCardTool(options: ProgressCardToolOptions = {}): A name: "progress_card", label: "Progress Card", description: - 'Maintain this session\'s progress card: the single durable status surface shown next to the session in OpenClaw\'s UIs, for someone who is not reading the transcript. Keep it current on any task that takes more than a moment — it is how the user watches you work without scrolling. Each call replaces the whole card. Pick the representation that fits the work, using either or both parts: `markdown` — a compact note; tables for comparisons or metrics, bars for one long operation, a bold one-liner for simple state; other raw HTML is stripped. And `plan` — an ordered step checklist (pending | in_progress | completed, at most one in_progress) for genuinely sequential work. The checklist is optional: omit it whenever a table, bar, or sentence says it better, and never repeat the same facts in both parts. Call with both parts empty to clear. Update on meaningful change — a step done, a blocker, results in — not every message. Max 8 KB markdown, 50 steps.', + 'Maintain this session\'s progress card: the single durable status surface shown next to the session in OpenClaw\'s UIs, for someone who is not reading the transcript. Keep it current on any task that takes more than a moment — it is how the user watches you work without scrolling. Each call replaces the whole card. Pick the representation that fits the work, using either or both parts: `markdown` — a compact note; tables for comparisons or metrics, bars for one long operation, a bold one-liner for simple state; other raw HTML is stripped. Known URL? Link it. Don’t leave PRs or issues as bare IDs. And `plan` — an ordered step checklist (pending | in_progress | completed, at most one in_progress) for genuinely sequential work. The checklist is optional: omit it whenever a table, bar, or sentence says it better, and never repeat the same facts in both parts. Call with both parts empty to clear. Update on meaningful change — a step done, a blocker, results in — not every message. Max 8 KB markdown, 50 steps.', parameters: ProgressCardToolSchema, execute: async (_toolCallId, rawArgs) => { const sessionKey = options.agentSessionKey?.trim();