Title: [codex] Handle unreported runner completion by intel352 · Pull Request #47 · GoCodeAlone/workflow-plugin-github · GitHub
Open Graph Title: [codex] Handle unreported runner completion by intel352 · Pull Request #47 · GoCodeAlone/workflow-plugin-github
X Title: [codex] Handle unreported runner completion by intel352 · Pull Request #47 · GoCodeAlone/workflow-plugin-github
Description: Summary Treat a unique post-dispatch terminal GitHub workflow job with blank runner_name as completed evidence instead of polling forever. Keep the fallback fail-closed when multiple post-dispatch runs are returned and ignore skipped terminal jobs. Add regression coverage for the live STG shape where the target run logs show the ephemeral runner name, but the jobs API omits runner_name. Root Cause The workflow-compute STG dogfood run dispatched and completed the GitHub target workflow, but the provider parent stayed in its STG proof wait. Diagnostics showed the retained agent emitted github-runner-proof.json, while GitHub jobs API data available to the provider can omit runner_name for the completed ephemeral self-hosted job. The provider only accepted exact runner_name matches, so it kept polling after success. Self-Review Adversarial review flagged a false-positive risk if multiple post-dispatch runs are returned. The fallback now only applies when the post-dispatch run set is unique; otherwise it fails closed and continues polling/timeout instead of accepting ambiguous evidence. Verification RED, fix removed: GOWORK=off go test ./cmd/github-actions-runner-job -run TestT915WaitForGitHubCompletionAcceptsBlankRunnerNameAfterTerminalSuccess -count=1 failed with waitForGitHubCompletion blocked when GitHub job API omitted runner_name. RED, ambiguity guard missing: GOWORK=off go test ./cmd/github-actions-runner-job -run TestT915ObserveGitHubJobDoesNotUseBlankRunnerFallbackAcrossMultipleRuns -count=1 failed by accepting the first blank-runner run. GREEN: GOWORK=off go test ./cmd/github-actions-runner-job -run 'TestT915(WaitForGitHubCompletion(AcceptsBlankRunnerNameAfterTerminalSuccess|DoesNotBlockOnRunnerShutdownAfterTerminalSuccess|DoesNotBlockOnRunnerShutdownAfterTimeout)|CommandTreatsGitHubJobAPIAsCompletion|ObserveGitHubJobDoesNotUseBlankRunnerFallbackAcrossMultipleRuns)' -count=1 GOWORK=off go test ./... -count=1 GOWORK=off go build ./cmd/github-runner-provider ./cmd/github-actions-runner-job git diff --check
Open Graph Description: Summary Treat a unique post-dispatch terminal GitHub workflow job with blank runner_name as completed evidence instead of polling forever. Keep the fallback fail-closed when multiple post-dispatch...
X Description: Summary Treat a unique post-dispatch terminal GitHub workflow job with blank runner_name as completed evidence instead of polling forever. Keep the fallback fail-closed when multiple post-dispatch...
Opengraph URL: https://github.com/GoCodeAlone/workflow-plugin-github/pull/47
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:d7a80d20-4eaa-5183-92f9-1d76ce0a99ca |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | C3E4:1D7D50:6E124E:98D639:6A6240BE |
| html-safe-nonce | 94ba45976018623ab1594515554c62a9d9f744952d196232fc8732b0575cf6d7 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDM0U0OjFEN0Q1MDo2RTEyNEU6OThENjM5OjZBNjI0MEJFIiwidmlzaXRvcl9pZCI6IjU4NDc1ODQzNjg4MzI0MzAyNzAiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | c2b404b4e671e4a07fb4446b1b8ff95d805c99f223ae55d13f8cbec857411c52 |
| hovercard-subject-tag | pull_request:3998442836 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/GoCodeAlone/workflow-plugin-github/pull/47/files |
| twitter:image | https://avatars.githubusercontent.com/u/77607?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/77607?s=400&v=4 |
| og:image:alt | Summary Treat a unique post-dispatch terminal GitHub workflow job with blank runner_name as completed evidence instead of polling forever. Keep the fallback fail-closed when multiple post-dispatch... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5d6ba65d73ecc4e3394fe318d2b2f98e6f8eed4878b5421b938e20d30bde267b |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/GoCodeAlone/workflow-plugin-github git https://github.com/GoCodeAlone/workflow-plugin-github.git |
| octolytics-dimension-user_id | 66024440 |
| octolytics-dimension-user_login | GoCodeAlone |
| octolytics-dimension-repository_id | 1166334892 |
| octolytics-dimension-repository_nwo | GoCodeAlone/workflow-plugin-github |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1166334892 |
| octolytics-dimension-repository_network_root_nwo | GoCodeAlone/workflow-plugin-github |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 2dadc56fd5989b76a8ae7304e3aa56d0b485e5dc |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width