Conversation
Fork Nightly and its Orchestrator v2 caller run every five minutes and on each upstream dispatch. A conflicting patch stack never produces a release, so every run rebuilt the same failing input: about 500 failure emails a month. A failed build now saves a cache marker keyed by channel and stack fingerprint, and later scheduled or dispatch runs skip that input with a notice. New upstream sources, manifest changes, and manual runs still build. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This was referenced Sep 29, 2026
Thread transfer impact
This comment will update automatically after the next completed run. |
This branch has not been deployed
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.
Fork Nightly runs every five minutes and on each upstream Nightly dispatch, which GitHub delivers in pairs. The Orchestrator v2 stream calls the same reusable workflow on its own five-minute schedule. When the patch stack conflicts with upstream, no release is published, so
resolvekeeps asking for a build and every run retries the identical failing input. Over the last 30 days that produced 391 failed Fork Nightly runs and 111 failed v2 runs, one failure email each.A failed build now saves a small
actions/cachemarker keyed by release channel and stack fingerprint (record_failure).preparelooks that key up before building. If it exists, scheduled and dispatch runs log a notice and skip the build. The run is green and no email goes out.workflow_dispatchruns, including v2's, skip the lookup, so they always retry.force_rebuildbehaves as before.DOWNSTREAM_NIGHTLY.mddocuments the behavior.This does not repair the stacks themselves. Fork Nightly's first patch (
d58c3273, natural-language thread search) conflicts withv0.0.43-nightly.20260929.2428, and several later entries also need refreshing. The v2 stack conflicts from75be8c11onward. See the separate v2 manifest PR for its 422 failure.Verification:
node --test .github/scripts/downstream-nightly.test.mjs(22 pass),actionlintclean,vp fmt --checkclean. There is no end-to-end run yet. The first scheduled run after merge should fail once and record the marker, and later runs of the same input should skip.Independent review: T3 delegated task on Codex
gpt-6-sol(high) found no actionable findings. It confirmed that failed-job outputs propagate, that the cache path and scope match across callers, that manual dispatch underworkflow_callbypasses the lookup, and thefailure()semantics.Work by Claude Opus 5.5 (1M context) in Claude Code, running in T3 Code.
🤖 Generated with Claude Code
Update: to stop the failure emails immediately, both
Fork NightlyandFork Nightly Orchestrator v2are now disabled on saphid/t3code (gh workflow disable). After merging #93 (and #94), re-enable them with: