feat(agents): include full date with day of week in system prompt
Fixes #2108 The system prompt now displays the full current date and time when userTime is available, including day of week (e.g., 'Monday, January 26th, 2026 — 15:30'). This eliminates day-of-week guessing errors where the agent would confidently state the wrong day based on timestamp inference. Changes: - Modified buildTimeSection to accept and display userTime parameter - Updated tests to verify userTime appears in system prompt - Format: 'Current: <full date>' followed by 'Time zone: <timezone>'
This commit is contained in:
parent
a109b7f1a9
commit
fb3d2bc86b
@ -12,6 +12,7 @@ Status: beta.
|
||||
- macOS: finish Moltbot app rename for macOS sources, bundle identifiers, and shared kit paths. (#2844) Thanks @fal3.
|
||||
- Branding: update launchd labels, mobile bundle IDs, and logging subsystems to bot.molt (legacy com.clawdbot migrations). Thanks @thewilloftheshadow.
|
||||
- Tools: add per-sender group tool policies and fix precedence. (#1757) Thanks @adam91holt.
|
||||
- Agents: include full date with day of week in system prompt. (#2108)
|
||||
- Agents: summarize dropped messages during compaction safeguard pruning. (#2509) Thanks @jogi47.
|
||||
- Skills: add multi-image input support to Nano Banana Pro skill. (#1958) Thanks @tyler6204.
|
||||
- Agents: honor tools.exec.safeBins in exec allowlist checks. (#2281)
|
||||
|
||||
@ -145,6 +145,7 @@ describe("buildAgentSystemPrompt", () => {
|
||||
});
|
||||
|
||||
expect(prompt).toContain("## Current Date & Time");
|
||||
expect(prompt).toContain("Current: Monday, January 5th, 2026 — 3:26 PM");
|
||||
expect(prompt).toContain("Time zone: America/Chicago");
|
||||
});
|
||||
|
||||
@ -157,6 +158,7 @@ describe("buildAgentSystemPrompt", () => {
|
||||
});
|
||||
|
||||
expect(prompt).toContain("## Current Date & Time");
|
||||
expect(prompt).toContain("Current: Monday, January 5th, 2026 — 15:26");
|
||||
expect(prompt).toContain("Time zone: America/Chicago");
|
||||
});
|
||||
|
||||
|
||||
@ -49,9 +49,15 @@ function buildUserIdentitySection(ownerLine: string | undefined, isMinimal: bool
|
||||
return ["## User Identity", ownerLine, ""];
|
||||
}
|
||||
|
||||
function buildTimeSection(params: { userTimezone?: string }) {
|
||||
function buildTimeSection(params: { userTimezone?: string; userTime?: string }) {
|
||||
if (!params.userTimezone) return [];
|
||||
return ["## Current Date & Time", `Time zone: ${params.userTimezone}`, ""];
|
||||
const lines = ["## Current Date & Time"];
|
||||
if (params.userTime) {
|
||||
lines.push(`Current: ${params.userTime}`);
|
||||
}
|
||||
lines.push(`Time zone: ${params.userTimezone}`);
|
||||
lines.push("");
|
||||
return lines;
|
||||
}
|
||||
|
||||
function buildReplyTagsSection(isMinimal: boolean) {
|
||||
@ -294,6 +300,7 @@ export function buildAgentSystemPrompt(params: {
|
||||
: undefined;
|
||||
const reasoningLevel = params.reasoningLevel ?? "off";
|
||||
const userTimezone = params.userTimezone?.trim();
|
||||
const userTime = params.userTime?.trim();
|
||||
const skillsPrompt = params.skillsPrompt?.trim();
|
||||
const heartbeatPrompt = params.heartbeatPrompt?.trim();
|
||||
const heartbeatPromptLine = heartbeatPrompt
|
||||
@ -445,6 +452,7 @@ export function buildAgentSystemPrompt(params: {
|
||||
...buildUserIdentitySection(ownerLine, isMinimal),
|
||||
...buildTimeSection({
|
||||
userTimezone,
|
||||
userTime,
|
||||
}),
|
||||
"## Workspace Files (injected)",
|
||||
"These user-editable files are loaded by Moltbot and included below in Project Context.",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user