Skip to content

hub: bind workflow run token to its allocation's runs (CL-9906) - #1105

Merged
TheGreatAxios merged 2 commits into
mainfrom
cl-9906-run-token-binding
Oct 5, 2026
Merged

TheGreatAxios merged 2 commits into
mainfrom
cl-9906-run-token-binding

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Problem: the workflow run authenticator accepted any sidecar token and returned the scope of whatever run address the caller named, so a token for run A authenticated as run B and a released sidecar's token kept working.

Fix: extract it to apps/hub/src/workflow-run-authenticator.ts and resolve the token through Interchange's bound createSidecarCredentialResolver (live allocation only). The run must share the allocation's anchor run id (the anchor itself or its children) and tenant.

Reproduced: e2e/hub/workflow-run-authenticator.test.ts failed the cross-run and released-allocation cases against the unchanged extracted code, passes after the fix.

Gates: focused suite (own migrated schema), typecheck, lint, fmt:check. Full test run skipped (machine load).

Extract createWorkflowRunAuthenticator unchanged; the cross-run and released-allocation cases fail against it.
@linear-code

linear-code Bot commented Oct 4, 2026

Copy link
Copy Markdown

CL-9906

@TheGreatAxios
TheGreatAxios merged commit e9ff856 into main Oct 5, 2026
3 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