diff --git a/src/resources/extensions/gsd/tools/reopen-milestone.ts b/src/resources/extensions/gsd/tools/reopen-milestone.ts index 3495fa5a2..d2e67ac3e 100644 --- a/src/resources/extensions/gsd/tools/reopen-milestone.ts +++ b/src/resources/extensions/gsd/tools/reopen-milestone.ts @@ -23,6 +23,7 @@ import { isClosedStatus } from "../status-guards.js"; import { renderAllProjections } from "../workflow-projections.js"; import { writeManifest } from "../workflow-manifest.js"; import { appendEvent } from "../workflow-events.js"; +import { logWarning } from "../workflow-logger.js"; import { debugLog } from "../debug-logger.js"; import { existsSync, unlinkSync } from "node:fs"; import { join } from "node:path"; @@ -140,9 +141,7 @@ export async function handleReopenMilestone( trigger_reason: params.triggerReason, }); } catch (hookErr) { - process.stderr.write( - `gsd: reopen-milestone post-mutation hook warning: ${(hookErr as Error).message}\n`, - ); + logWarning("tool", `reopen-milestone post-mutation hook warning: ${(hookErr as Error).message}`); } return { diff --git a/src/resources/extensions/gsd/tools/reopen-slice.ts b/src/resources/extensions/gsd/tools/reopen-slice.ts index dce749984..f03a4905e 100644 --- a/src/resources/extensions/gsd/tools/reopen-slice.ts +++ b/src/resources/extensions/gsd/tools/reopen-slice.ts @@ -118,8 +118,8 @@ export async function handleReopenSlice( const sliceUat = join(sliceDir, `${params.sliceId}-UAT.md`); if (existsSync(sliceUat)) unlinkSync(sliceUat); } - } catch { - // Non-fatal + } catch (cleanupErr) { + logWarning("tool", `reopen-slice artifact cleanup warning: ${(cleanupErr as Error).message}`); } clearPathCache(); diff --git a/src/resources/extensions/gsd/tools/reopen-task.ts b/src/resources/extensions/gsd/tools/reopen-task.ts index b0ad72d90..14dbf377e 100644 --- a/src/resources/extensions/gsd/tools/reopen-task.ts +++ b/src/resources/extensions/gsd/tools/reopen-task.ts @@ -112,8 +112,8 @@ export async function handleReopenTask( const summaryPath = join(tasksDir, `${params.taskId}-SUMMARY.md`); if (existsSync(summaryPath)) unlinkSync(summaryPath); } - } catch { - // Non-fatal — stale artifact may cause reconciler interference but won't crash + } catch (cleanupErr) { + logWarning("tool", `reopen-task artifact cleanup warning: ${(cleanupErr as Error).message}`); } clearPathCache();