A node running the node protocol was handed a plan and nothing else, so every job it ran had an empty context: no repository, no commit, no reference, no event. actions/checkout had nothing to clone, gitea.sha evaluated to nothing, and the local cache refused to register because the job had no actions runtime, which failed the job before it ran a step.
The assignment now states where the run came from, and that becomes the context the dialect reads.
The token that opens the cache is minted here rather than asked for. That cache is this runner's own service and the token is only ever checked here, so a control plane has no business inventing a secret for it, and a token that never leaves the node cannot leak from one.
A run the control plane cannot number is refused instead of being executed anonymously.
A node running the node protocol was handed a plan and nothing else, so every job it ran had an empty context: no repository, no commit, no reference, no event. `actions/checkout` had nothing to clone, `gitea.sha` evaluated to nothing, and the local cache refused to register because the job had no actions runtime, which failed the job before it ran a step.
The assignment now states where the run came from, and that becomes the context the dialect reads.
The token that opens the cache is minted here rather than asked for. That cache is this runner's own service and the token is only ever checked here, so a control plane has no business inventing a secret for it, and a token that never leaves the node cannot leak from one.
A run the control plane cannot number is refused instead of being executed anonymously.
Credential rotation landed on develop while this branch was open, and both
sides touched the same session. The resolution keeps each: an assignment
still has to state where a run came from, and a session still keeps the
credential the control plane hands it.
The test fixtures the two branches each kept locally now live once in the
shared support module.
day01
merged commit 8adcf1394e into %!s()2026-08-12 10:59:48 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
A node running the node protocol was handed a plan and nothing else, so every job it ran had an empty context: no repository, no commit, no reference, no event.
actions/checkouthad nothing to clone,gitea.shaevaluated to nothing, and the local cache refused to register because the job had no actions runtime, which failed the job before it ran a step.The assignment now states where the run came from, and that becomes the context the dialect reads.
The token that opens the cache is minted here rather than asked for. That cache is this runner's own service and the token is only ever checked here, so a control plane has no business inventing a secret for it, and a token that never leaves the node cannot leak from one.
A run the control plane cannot number is refused instead of being executed anonymously.