From a16cf5c8d3a5ca273f2eb808c12d65d764a6b9a7 Mon Sep 17 00:00:00 2001 From: catlog22 Date: Sat, 29 Nov 2025 17:10:58 +0800 Subject: [PATCH] fix: Use UTC+8 timezone for lite-plan session timestamps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add getUtc8ISOString() helper function to generate China Standard Time timestamps instead of UTC. Applied to: - Session ID generation (shortTimestamp) - Exploration manifest timestamp - Direct planning metadata timestamp 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .claude/commands/workflow/lite-plan.md | 9 ++++++--- .../reference/commands/workflow/lite-plan.md | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.claude/commands/workflow/lite-plan.md b/.claude/commands/workflow/lite-plan.md index a42c0407..abbd457e 100644 --- a/.claude/commands/workflow/lite-plan.md +++ b/.claude/commands/workflow/lite-plan.md @@ -73,8 +73,11 @@ Phase 5: Dispatch **Session Setup**: ```javascript +// Helper: Get UTC+8 (China Standard Time) ISO string +const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString() + const taskSlug = task_description.toLowerCase().replace(/[^a-z0-9]+/g, '-').substring(0, 40) -const timestamp = new Date().toISOString().replace(/[:.]/g, '-') +const timestamp = getUtc8ISOString().replace(/[:.]/g, '-') const shortTimestamp = timestamp.substring(0, 19).replace('T', '-') const sessionId = `${taskSlug}-${shortTimestamp}` const sessionFolder = `.workflow/.lite-plan/${sessionId}` @@ -237,7 +240,7 @@ const explorationFiles = bash(`find ${sessionFolder} -name "exploration-*.json" const explorationManifest = { session_id: sessionId, task_description: task_description, - timestamp: new Date().toISOString(), + timestamp: getUtc8ISOString(), complexity: complexity, exploration_count: explorationCount, explorations: explorationFiles.map(file => { @@ -351,7 +354,7 @@ const plan = { estimated_time: "...", recommended_execution: "Agent", complexity: "Low", - _metadata: { timestamp: new Date().toISOString(), source: "direct-planning", planning_mode: "direct" } + _metadata: { timestamp: getUtc8ISOString(), source: "direct-planning", planning_mode: "direct" } } // Step 3: Write plan to session folder diff --git a/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md b/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md index a42c0407..abbd457e 100644 --- a/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +++ b/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md @@ -73,8 +73,11 @@ Phase 5: Dispatch **Session Setup**: ```javascript +// Helper: Get UTC+8 (China Standard Time) ISO string +const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString() + const taskSlug = task_description.toLowerCase().replace(/[^a-z0-9]+/g, '-').substring(0, 40) -const timestamp = new Date().toISOString().replace(/[:.]/g, '-') +const timestamp = getUtc8ISOString().replace(/[:.]/g, '-') const shortTimestamp = timestamp.substring(0, 19).replace('T', '-') const sessionId = `${taskSlug}-${shortTimestamp}` const sessionFolder = `.workflow/.lite-plan/${sessionId}` @@ -237,7 +240,7 @@ const explorationFiles = bash(`find ${sessionFolder} -name "exploration-*.json" const explorationManifest = { session_id: sessionId, task_description: task_description, - timestamp: new Date().toISOString(), + timestamp: getUtc8ISOString(), complexity: complexity, exploration_count: explorationCount, explorations: explorationFiles.map(file => { @@ -351,7 +354,7 @@ const plan = { estimated_time: "...", recommended_execution: "Agent", complexity: "Low", - _metadata: { timestamp: new Date().toISOString(), source: "direct-planning", planning_mode: "direct" } + _metadata: { timestamp: getUtc8ISOString(), source: "direct-planning", planning_mode: "direct" } } // Step 3: Write plan to session folder