diff --git a/agents/myra/src/system-prompt.ts b/agents/myra/src/system-prompt.ts index c142ae07b..43b5296f4 100644 --- a/agents/myra/src/system-prompt.ts +++ b/agents/myra/src/system-prompt.ts @@ -41,4 +41,4 @@ export const ASSISTANT_SYSTEM_PROMPT = "\n" + "When you hand a task to another participant, copy the person's " + 'address from that same "Participants:" block in `to` so they can ' + - "follow the conversation."; + "follow the conversation, and give every mail you send a short subject."; diff --git a/apps/web/src/chat/room-roster.test.ts b/apps/web/src/chat/room-roster.test.ts index c396f90cf..f58b2f0c4 100644 --- a/apps/web/src/chat/room-roster.test.ts +++ b/apps/web/src/chat/room-roster.test.ts @@ -29,7 +29,7 @@ describe("appendRoster / stripRoster", () => { expect(withRoster).toBe( "Please pass this to the scribe.\n\n" + "Participants:\nSawyer \nScribe \n\n" + - "Copy usr_sawyer@room.example in `to` on any mail you send another participant, so they can follow along.", + "Copy usr_sawyer@room.example in `to` on any mail you send another participant, so they can follow along, and give every mail a short subject.", ); expect(stripRoster(withRoster)).toBe(body); }); @@ -41,7 +41,7 @@ describe("appendRoster / stripRoster", () => { { name: "Scribe", address: "run_abc@room.example", kind: "agent" }, ]); expect(withRoster).toContain( - "Copy usr_sawyer@room.example, usr_alex@room.example in `to` on any mail you send another participant, so they can follow along.", + "Copy usr_sawyer@room.example, usr_alex@room.example in `to` on any mail you send another participant, so they can follow along, and give every mail a short subject.", ); }); }); diff --git a/apps/web/src/chat/room-roster.ts b/apps/web/src/chat/room-roster.ts index 04d1cbc69..fbd0c7081 100644 --- a/apps/web/src/chat/room-roster.ts +++ b/apps/web/src/chat/room-roster.ts @@ -31,7 +31,9 @@ function ccInstruction(entries: readonly RosterEntry[]): string | undefined { const people = entries.filter((entry) => entry.kind === "person"); if (people.length === 0) return undefined; const addresses = people.map((entry) => entry.address).join(", "); - return `Copy ${addresses} in \`to\` on any mail you send another participant, so they can follow along.`; + // The subject clause is load-bearing: a mail with an empty Subject ends + // the receiving agent's run today. + return `Copy ${addresses} in \`to\` on any mail you send another participant, so they can follow along, and give every mail a short subject.`; } /** Appends a `Participants:` block listing every entry's name and address,