diff --git a/deploy/deploy.yaml b/deploy/deploy.yaml index 7c9ba49a..d5ce2bc3 100644 --- a/deploy/deploy.yaml +++ b/deploy/deploy.yaml @@ -792,7 +792,6 @@ lanes: HWLAB_WORKBENCH_LIVE_KAFKA_SSE_ENABLED: "true" HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_ENABLED: "true" HWLAB_WORKBENCH_PROJECTION_REALTIME_ENABLED: "false" - HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_ENABLED: "true" HWLAB_CLOUD_WEB_OPENCODE_UPSTREAM_URL: http://opencode-server.hwlab-v03.svc.cluster.local:4096 HWLAB_CLOUD_WEB_OPENCODE_USERNAME: secretRef:hwlab-opencode-server-auth/username HWLAB_CLOUD_WEB_OPENCODE_PASSWORD: secretRef:hwlab-opencode-server-auth/password @@ -1051,7 +1050,6 @@ lanes: HWLAB_KAFKA_TRANSACTIONAL_PROJECTOR_ENABLED: "false" HWLAB_KAFKA_PROJECTION_OUTBOX_RELAY_ENABLED: "false" HWLAB_WORKBENCH_PROJECTION_REALTIME_ENABLED: "false" - HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_ENABLED: "true" HWLAB_KAFKA_BOOTSTRAP_SERVERS: platform-infra-kafka-kafka-bootstrap.platform-infra.svc.cluster.local:9092 HWLAB_KAFKA_STDIO_TOPIC: codex-stdio.raw.v1 HWLAB_KAFKA_AGENTRUN_EVENT_TOPIC: agentrun.event.v1 @@ -1071,7 +1069,6 @@ lanes: HWLAB_KAFKA_OUTBOX_RELAY_SEND_TIMEOUT_MS: "10000" HWLAB_KAFKA_OUTBOX_RELAY_RETRY_BACKOFF_MS: "1000" HWLAB_WORKBENCH_OUTBOX_TAIL_BATCH_SIZE: "100" - HWLAB_WORKBENCH_EMPTY_SESSION_GC_ENABLED: "1" HWLAB_WORKBENCH_EMPTY_SESSION_TTL_MS: "600000" HWLAB_WORKBENCH_EMPTY_SESSION_GC_INTERVAL_MS: "60000" HWLAB_WORKBENCH_EMPTY_SESSION_GC_INITIAL_DELAY_MS: "5000" diff --git a/scripts/gitops-render.test.ts b/scripts/gitops-render.test.ts index 2f538fef..e821b623 100644 --- a/scripts/gitops-render.test.ts +++ b/scripts/gitops-render.test.ts @@ -27,6 +27,17 @@ test("v03 Workbench API declares its preferred Bun idle timeout in owning YAML", assert.equal(service.env?.WORKBENCH_API_IDLE_TIMEOUT_SECONDS, "60"); }); +test("v03 delegates L2 Workbench debug and empty-session policy to the owning runtime YAML", async () => { + const deploy = parseYaml(await readFile("deploy/deploy.yaml", "utf8")); + const cloudApi = deploy.lanes.v03.serviceDeclarations["hwlab-cloud-api"]; + const cloudWeb = deploy.lanes.v03.serviceDeclarations["hwlab-cloud-web"]; + assert.ok(cloudApi, "missing v03 hwlab-cloud-api service declaration"); + assert.ok(cloudWeb, "missing v03 hwlab-cloud-web service declaration"); + assert.equal(cloudApi.env?.HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_ENABLED, undefined); + assert.equal(cloudApi.env?.HWLAB_WORKBENCH_EMPTY_SESSION_GC_ENABLED, undefined); + assert.equal(cloudWeb.env?.HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_ENABLED, undefined); +}); + test("production migration uses its YAML-declared database Secret key", async () => { const deploy = parseYaml(await readFile("deploy/deploy.yaml", "utf8")); assert.deepEqual(deploy.lanes.production.workbench.rawHwlabEventWindow, { @@ -713,7 +724,6 @@ test("v03 render keeps node identity as data instead of generated structure", as assert.equal(cloudApiEnv.get("HWLAB_KAFKA_TRANSACTIONAL_PROJECTOR_ENABLED"), "false"); assert.equal(cloudApiEnv.get("HWLAB_KAFKA_PROJECTION_OUTBOX_RELAY_ENABLED"), "false"); assert.equal(cloudApiEnv.get("HWLAB_WORKBENCH_PROJECTION_REALTIME_ENABLED"), "false"); - assert.equal(cloudApiEnv.get("HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_ENABLED"), "true"); assert.equal(cloudApiEnv.get("HWLAB_KAFKA_BOOTSTRAP_SERVERS"), "platform-infra-kafka-kafka-bootstrap.platform-infra.svc.cluster.local:9092"); assert.equal(cloudApiEnv.get("HWLAB_KAFKA_STDIO_TOPIC"), "codex-stdio.raw.v1"); assert.equal(cloudApiEnv.get("HWLAB_KAFKA_AGENTRUN_EVENT_TOPIC"), "agentrun.event.v1"); @@ -747,7 +757,6 @@ test("v03 render keeps node identity as data instead of generated structure", as assert.equal(cloudWebEnv.get("HWLAB_WORKBENCH_LIVE_KAFKA_SSE_ENABLED"), "true"); assert.equal(cloudWebEnv.get("HWLAB_WORKBENCH_KAFKA_REFRESH_REPLAY_ENABLED"), "true"); assert.equal(cloudWebEnv.get("HWLAB_WORKBENCH_PROJECTION_REALTIME_ENABLED"), "false"); - assert.equal(cloudWebEnv.get("HWLAB_WORKBENCH_KAFKA_DEBUG_REPLAY_ENABLED"), "true"); assert.equal(cloudWebEnv.get("HWLAB_WORKBENCH_RAW_HWLAB_EVENT_WINDOW_ENABLED"), "1"); assert.equal(cloudWebEnv.get("HWLAB_WORKBENCH_RAW_HWLAB_EVENT_WINDOW_MAX_ENTRIES"), "200"); assert.equal(cloudWebEnv.get("HWLAB_WORKBENCH_RAW_HWLAB_EVENT_WINDOW_MAX_RETAINED_BYTES"), "1048576");