Repository navigation
Authenticate graded runs by workload identity federation - #15
Merged
Merged
Conversation
danielholanda
force-pushed
the
dholanda/workload-identity-federation
branch
from
September 9, 2026 19:35
37bacfc to
f37d8bf
Compare
A graded job can now trade its own GitHub OIDC token for a short-lived Anthropic token instead of reading a long-lived key out of a secret, so a repo running these evals need not keep a model key in its vault at all. Name a federation rule with the new `federation_*` inputs, or `scoped_federation_*` for the gated pool, which has its own budget, and the job federates; leave them blank and nothing changes. The resolver moves out of three copies of an inline `run:` block and into `skillscope/credentials.py`, where it is tested. The three jobs that resolve a credential no longer declare permissions of their own, so they run with what the caller granted: `contents: read` keeps them read-only as before, and adding `id-token: write` is what enables federation. Declaring `id-token: write` here instead would fail every caller that had not granted it, at startup, federating or not. The other three jobs stay pinned to `contents: read`. Federation is refused alongside `api_base_url` or `api_custom_headers`: the minted token only authenticates at api.anthropic.com, so a gateway leg keeps its key rather than failing halfway through a paid run. Co-authored-by: Cursor <cursoragent@cursor.com>
danielholanda
force-pushed
the
dholanda/workload-identity-federation
branch
from
September 9, 2026 19:37
f37d8bf to
2c247c3
Compare
Removed outdated information regarding federation limits and token usage.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lets a repo run these evals without keeping a model API key in its vault. Name an Anthropic federation rule and each graded job trades its own GitHub OIDC token for a short-lived Anthropic token; leave the new inputs blank and nothing about the key path changes.