From ef0a5097576eb63e59b30edda8b720da0cf0ff48 Mon Sep 17 00:00:00 2001 From: Sawyer Date: Thu, 17 Sep 2026 11:11:35 -0700 Subject: [PATCH] fix(sidecar): carry parkedAt through the v2 deployment record (CL-8184) The lifecycle test fixture cast an empty object into AgentDeployFrame's config, so a deployed record was missing the v2-required tenantId/ principalId and every subsequent readWorkflowDeploymentRecord silently failed schema validation (returning undefined). That made workflow-teardown-flavor.test.ts's parkedAt assertions fail against an undefined record, not a missing marker -- give the fixture real tenantId/principalId so records round-trip. --- .../test/support/workflow-lifecycle-fixture.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/sidecar/test/support/workflow-lifecycle-fixture.ts b/apps/sidecar/test/support/workflow-lifecycle-fixture.ts index b5957b3acb..3e926ad462 100644 --- a/apps/sidecar/test/support/workflow-lifecycle-fixture.ts +++ b/apps/sidecar/test/support/workflow-lifecycle-fixture.ts @@ -411,8 +411,16 @@ export function makeWorkflowFrame(agentAddress: string): AgentDeployFrame { agentAddress, agentId: "lifecycle-agent", hubPublicKey: "hub-pk", - // Boundary type assertion: the multi-step branch does not read config - config: {} as AgentDeployFrame["config"], + // Boundary type assertion: the multi-step branch does not read most of + // `config` -- but `tenantId`/`principalId` ride the deploy frame's + // config into the v2 deployment record (CL-8184), so a record written + // from this fixture must carry real values or every subsequent + // `readWorkflowDeploymentRecord` fails schema validation and silently + // returns undefined. + config: { + tenantId: "tenant-lifecycle-fixture", + principalId: "principal-lifecycle-fixture", + } as AgentDeployFrame["config"], workflow: { approvedWireHash: LIFECYCLE_APPROVED_WIRE_HASH, sourceRef: {