fix(release): space automatic nightlies at least six hours apart - #10272
Conversation
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This changes the automatic release cadence and adds a runtime gate that can skip desktop, npm, GitHub Release, and Vercel nightly publishing. The logic is tested and focused, but the release/deployment behavior warrants human review. You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
6ae1781 to
5a88801
Compare
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
## What's Changed * feat(usage): pool subscription limits per provider across accounts and environments by @juliusmarminge in pingdotgg/t3code#10300 * chore(web): remove usage limits demo fixtures by @juliusmarminge in pingdotgg/t3code#10330 * fix(web): expose error disclosure state by @saphid in pingdotgg/t3code#10125 * fix(web): name the editor picker accurately by @saphid in pingdotgg/t3code#10124 * fix(web): make task row states readable by @saphid in pingdotgg/t3code#10128 * fix(web): explain hosted connection prerequisites by @saphid in pingdotgg/t3code#10129 * fix(web): name combobox chip removal targets by @saphid in pingdotgg/t3code#10127 * fix(marketing): present the Git workflow as an illustration by @saphid in pingdotgg/t3code#10130 * feat(mobile): pool usage limits across selected environments by @juliusmarminge in pingdotgg/t3code#10334 * fix(release): space automatic nightlies at least six hours apart by @t3dotgg in pingdotgg/t3code#10272 * refactor(web): share bulk thread deletion between sidebars by @t3dotgg in pingdotgg/t3code#10106 * refactor(client): share tool outcome rules by @t3dotgg in pingdotgg/t3code#10122 * refactor(server): share Claude result status and error mapping by @t3dotgg in pingdotgg/t3code#10296 * fix(server): settle inactive threads without a PR lookup by @t3dotgg in pingdotgg/t3code#10103 * fix(ssh): report remote stop failures without losing ownership by @t3dotgg in pingdotgg/t3code#10105 * perf(server): stop scanning old OpenCode parts by @t3dotgg in pingdotgg/t3code#10116 * perf(server): avoid full thread reads on turn start by @t3dotgg in pingdotgg/t3code#10108 * perf(web): skip checkpoint map rebuilds while streaming by @t3dotgg in pingdotgg/t3code#10118 * perf(server): skip plan bodies in thread summaries by @t3dotgg in pingdotgg/t3code#10341 * fix(server): skip disabled provider instances for text generation fallback by @t3dotgg in pingdotgg/t3code#10346 * fix(server): capture checkpoints before refreshing PR status by @t3dotgg in pingdotgg/t3code#10347 * fix(web): keep manual panel choices during a turn by @t3dotgg in pingdotgg/t3code#10113 * fix(threads): keep completed requests closed across clients by @t3dotgg in pingdotgg/t3code#10123 * perf(server): finish runtime messages without full thread reads by @t3dotgg in pingdotgg/t3code#10120 * refactor(server): let adapters declare context compaction by @t3dotgg in pingdotgg/t3code#10112 * fix(server): link thread PRs without an open client by @t3dotgg in pingdotgg/t3code#10101 **Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260906.1293...v0.0.39-nightly.20260906.1303 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260906.1303
Automatic nightlies currently run every three hours. A merge just after a check waits another three hours, while a manual nightly can be followed by an automatic release soon after.
Check every 30 minutes in the existing release workflow. Build only when the candidate commit is ahead of the last published nightly and at least six hours have passed since publication. The existing concurrency queue serializes nightlies, so scheduled runs check the gap after any active nightly finishes. Manual releases still bypass these checks.
Validation: 10 focused tests pass and run in CI. Targeted lint and formatting pass. Workflow validation passes with existing unsupported runner labels,
queue, andgithub.run_started_atwarnings excluded. No release was dispatched.Created with GPT-6 Astra in Codex.
Note
Add
shouldReleaseNightlyhelper to space nightly releases six hours apartAdds an exported async helper in check-nightly-release.cjs that lists all repo releases via GitHub pagination and finds the most recent nightly tag (current or legacy
nightly-vformat). The candidate workflow is allowed to release only when no qualifying nightly exists, at least six hours have passed since the last nightly, and the candidate SHA is ahead of the published tag.Macroscope summarized 5a88801.