Skip to content

CL-7218 workflow run pack push state slotsBlockedAddresses is never - #607

Merged
TheGreatAxios merged 2 commits into
mainfrom
cl-7218-workflow-run-pack-push-state-slotsblockedaddresses-is-never
Sep 4, 2026
Merged

TheGreatAxios merged 2 commits into
mainfrom
cl-7218-workflow-run-pack-push-state-slotsblockedaddresses-is-never

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

CL-7218 stacked

Fixes CL-7218

@TheGreatAxios
TheGreatAxios force-pushed the cl-7218-workflow-run-pack-push-state-slotsblockedaddresses-is-never branch from 83d6e59 to 367a86d Compare September 3, 2026 18:33
@TheGreatAxios
TheGreatAxios force-pushed the cl-7220-sidecar-child-runtime-cancelstop-calls-are-fire-and-forget branch from 6abad6d to f779591 Compare September 3, 2026 21:58
@TheGreatAxios
TheGreatAxios force-pushed the cl-7218-workflow-run-pack-push-state-slotsblockedaddresses-is-never branch from 367a86d to 7c7acf4 Compare September 3, 2026 21:58
@TheGreatAxios
TheGreatAxios force-pushed the cl-7220-sidecar-child-runtime-cancelstop-calls-are-fire-and-forget branch from f779591 to 836609d Compare September 3, 2026 22:48
@TheGreatAxios
TheGreatAxios force-pushed the cl-7218-workflow-run-pack-push-state-slotsblockedaddresses-is-never branch from 7c7acf4 to 6b41c97 Compare September 3, 2026 22:48
@TheGreatAxios

Copy link
Copy Markdown
Contributor Author

Fixes CL-7218

@TheGreatAxios
TheGreatAxios force-pushed the cl-7220-sidecar-child-runtime-cancelstop-calls-are-fire-and-forget branch from 836609d to 8afbabe Compare September 4, 2026 04:52
@TheGreatAxios
TheGreatAxios force-pushed the cl-7218-workflow-run-pack-push-state-slotsblockedaddresses-is-never branch from 6b41c97 to b3439ca Compare September 4, 2026 04:53
@linear-code

linear-code Bot commented Sep 4, 2026

Copy link
Copy Markdown

CL-7218

@TheGreatAxios

Copy link
Copy Markdown
Contributor Author

Self-review

Verdict: reclaimPushState correctly clears the blocked-address entry and any coalescing slot for the deployment on undeploy, wired from unregisterDeployment in apps/sidecar/src/index.ts; the new red/green test proves a flush no longer hangs on a residual slot after reclaim. Ready.

Findings:

  • CONFIRMED-FIXED (pre-existing, not from this PR): n/a — no defects found in this diff.
  • DISMISSED: reclaimPushState iterates all slots filtering by slot.repoId.id === entry.deploymentId rather than keying directly by deploymentId — matches the existing map's keying convention elsewhere in the file (checked slots usage), not a new inconsistency.
  • DISMISSED: agentAddress was already part of unregisterDeployment's entry type in workflow-host-wiring/index.ts, so no signature widening beyond what call sites already provide.

Targeted tests: bun test workflow-run-pack-client.test.ts in apps/sidecar — 1 pass, 0 fail. bun run typecheck in apps/sidecar — clean.

@TheGreatAxios
TheGreatAxios force-pushed the cl-7220-sidecar-child-runtime-cancelstop-calls-are-fire-and-forget branch from 8afbabe to 66305f5 Compare September 4, 2026 06:20
@TheGreatAxios
TheGreatAxios force-pushed the cl-7218-workflow-run-pack-push-state-slotsblockedaddresses-is-never branch from b3439ca to d632bfc Compare September 4, 2026 06:22
unregisterDeployment now drops the coalescing slot and blocked address
for that deployment so a torn-down run cannot leak push state for the
life of the sidecar process.
@TheGreatAxios
TheGreatAxios force-pushed the cl-7218-workflow-run-pack-push-state-slotsblockedaddresses-is-never branch from d632bfc to a2c768e Compare September 4, 2026 06:32
@TheGreatAxios
TheGreatAxios changed the base branch from cl-7220-sidecar-child-runtime-cancelstop-calls-are-fire-and-forget to main September 4, 2026 06:32
@TheGreatAxios
TheGreatAxios merged commit 750e574 into main Sep 4, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant