### execution evidence # The initial live attempt could not reach the local application. # 2026-09-02T23:08:42.192Z navigation: http://localhost:44201 -> net::ERR_CONNECTION_RESET # 2026-09-02T23:08:42.192Z test_end: blocked before legacy reservation setup or current-worker trigger # The runner also recorded ECONNREFUSED for local Redis and MongoDB during service diagnosis. # The mandated restart path exhausted its allowed attempts, so no live legacy Redis reservation or worker response was captured. ### migration scenario # Intended test configuration: fixed throttle window, threshold 1, grouped reservation. # Expected behavior: a current worker must recognize an active reservation written by the legacy worker, or the rollout must prevent mixed versions from exceeding the limit. ### current reservation key # Source: libs/application-generic/src/services/throttle/redis-throttle.service.ts:96-107 private buildSetKey(params: { environmentId: string; subscriberId: string; workflowId: string; stepId: string; throttleValue?: string; }): string { const baseKey = `throttle:${params.environmentId}:${params.subscriberId}:${params.workflowId}:${params.stepId}`; const groupingPart = params.throttleValue !== undefined ? `:${params.throttleValue}` : ''; const finalKey = `${baseKey}${groupingPart}:set`; return finalKey; } ### reservation call # Source: libs/application-generic/src/services/throttle/redis-throttle.service.ts:175-182 const setKey = this.buildSetKey({ environmentId: params.environmentId, subscriberId: params.subscriberId, workflowId: params.workflowId, stepId: params.stepId, throttleValue: params.throttleValue, }); const ttlSec = this.computeTtlSeconds(params.windowMs); const [granted, count, ttlSecRemaining] = await this.executeReserveScript( setKey, params.limit, ttlSec, params.jobId ); ### compatibility check # Current RedisThrottleService reads the single key produced above. # No legacy-key lookup, migration alias, or dual-key reservation/write path is present in the inspected service. # A live reservation under the former key shape is therefore invisible to the current worker; with limit 1, the current worker can grant another reservation. # The remediation assertion recorded: current code emits throttle::::[:]:set, with no legacy namespace read. ### local test context # A local-only authentication bypass was used for the trigger endpoint; no production services or customer data were used. # final result: BF-MIGRATION-1 failed - mixed-version legacy reservations are not honored. The over-admission path is source-confirmed, while the live Redis setup was blocked by local service unavailability.