From 45c8916c8040f4751a512986358b471a4e505bd9 Mon Sep 17 00:00:00 2001 From: Brad Harris Date: Sat, 11 Jul 2026 03:06:11 -0600 Subject: [PATCH 1/2] fix: replace console.log/warn with structured logger in server code agent-lifecycle-runtime.ts used console.log for reconciliation messages instead of the injected appLog. release.ts used console.warn for a migration evaluation fallback instead of request.log. Both now use the structured Pino logger for consistent, queryable output. Co-Authored-By: Claude Opus 4.6 --- apps/server/src/routes/release.ts | 5 +++-- apps/server/src/server/agent-lifecycle-runtime.ts | 10 ++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/server/src/routes/release.ts b/apps/server/src/routes/release.ts index d95a77bc..2dc3c5f7 100644 --- a/apps/server/src/routes/release.ts +++ b/apps/server/src/routes/release.ts @@ -671,8 +671,9 @@ export async function registerReleaseRoutes( pendingMigrationManifests = evaluation.pending.map((m) => m.manifest); } catch (err) { const message = err instanceof Error ? err.message : String(err); - console.warn( - `[release/assisted/launch] migration evaluation failed for ${body.tag}, falling back to legacy metadata: ${message}` + request.log.warn( + { tag: body.tag, err: message }, + "Migration evaluation failed, falling back to legacy metadata" ); } diff --git a/apps/server/src/server/agent-lifecycle-runtime.ts b/apps/server/src/server/agent-lifecycle-runtime.ts index 9d98a18a..0ec871ef 100644 --- a/apps/server/src/server/agent-lifecycle-runtime.ts +++ b/apps/server/src/server/agent-lifecycle-runtime.ts @@ -104,8 +104,9 @@ export function createAgentLifecycleRuntime( if (archivingAgentIds.has(agent.id)) { continue; } - console.log( - `[reconcile] Agent ${agent.id} (${agent.name}) resuming interrupted archive` + appLog.info( + { agentId: agent.id, agentName: agent.name }, + "Resuming interrupted archive" ); publishUiEvent({ type: "agent.upsert", @@ -136,8 +137,9 @@ export function createAgentLifecycleRuntime( }); trackArchive(agent.id, archivePromise); } else { - console.log( - `[reconcile] Agent ${agent.id} (${agent.name}) status corrected to stopped` + appLog.info( + { agentId: agent.id, agentName: agent.name }, + "Agent status corrected to stopped" ); publishUiEvent({ type: "agent.upsert", From fe00a6b9269b57c6db0516dbd50ad2ee351d50b5 Mon Sep 17 00:00:00 2001 From: Brad Harris Date: Sat, 11 Jul 2026 03:08:02 -0600 Subject: [PATCH 2/2] fix: pass raw err to Pino instead of stringified message Let Pino's error serializer preserve stack trace, error type, and nested cause for the migration evaluation fallback warning. Co-Authored-By: Claude Opus 4.6 --- apps/server/src/routes/release.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/server/src/routes/release.ts b/apps/server/src/routes/release.ts index 2dc3c5f7..9ff62300 100644 --- a/apps/server/src/routes/release.ts +++ b/apps/server/src/routes/release.ts @@ -670,9 +670,8 @@ export async function registerReleaseRoutes( } pendingMigrationManifests = evaluation.pending.map((m) => m.manifest); } catch (err) { - const message = err instanceof Error ? err.message : String(err); request.log.warn( - { tag: body.tag, err: message }, + { tag: body.tag, err }, "Migration evaluation failed, falling back to legacy metadata" ); }