-
Notifications
You must be signed in to change notification settings - Fork 1
@github-actions
github-actions
released this
21 Jun 21:55
·
73 commits
to main
since this release
02e7137
This commit was created on GitHub.com and signed with GitHub’s verified signature.
This release is a broad performance pass — batching git and GitHub
operations to eliminate N+1 calls across nearly every command — together
with a sync --dry-run correctness fix and cleaner sync output.
Highlights
sync --dry-runis now a true read-only preview. Previously it could perform side effects; it now never fast-forwards trunk, deletes branches, restacks, or pushes to GitHub — it just shows you whatsyncwould do (#1236).- Faster commands across the board. Git and GitHub operations are now batched throughout
submit,sync,merge,delete,create,reorder,fold,absorb,log, and the dashboard, removing per-branch N+1 calls. The global revision cache was replaced with explicit batched readers, so large stacks feel noticeably snappier. - Cleaner sync output. The streaming and interactive sync output was decluttered and polished, and empty phase headers are now suppressed in the interactive sync TUI (#1237, #1238, #1268).
- Accurate file and commit counts.
infoandstack-infonow count changed files against the stack's divergence point rather than whole history, and commit lists are based on the divergence point too — so counts reflect the branch's actual changes (#1260, #1261, #1265).
Fixes
- Make
sync --dry-runa true read-only preview (#1236). - Base commit lists on the divergence point, not whole history (#1265).
- Count changed files in
infoagainst the divergence point (#1261). - Count changed files in
stack-infoagainst the divergence point (#1260). - Don't report a worktree as removed when anchor branch deletion fails (#1248).
- Escape Slack mrkdwn special characters in
shareoutput (#1246). - Declutter and polish sync streaming output (#1237).
- Suppress empty phase headers in the interactive sync TUI (#1238).
- Polish sync output quality (#1268).
Performance
- Batch behind-branch pulls and prefetch remote branch statuses in a parallel block on sync (#1206, #1207).
- Batch orphaned-metadata cleanup into one transaction on sync (#1230).
- Batch PR-info writes, warm caches, and batch revision resolution in submit planning (#1228, #1256).
- Read external-parent remote status in one batch on submit (#1229).
- Batch PR-info writes during consolidation merge, sync, and submit validation (#1205, #1216).
- Batch child reparenting on insert in
create(#1226) and pre-reparent of children indelete(#1227). - Resolve PR node IDs in one GraphQL query and batch PR state/body fetch in consolidation cleanup (#1231, #1233).
- Batch ref deletions in
DeleteBranchto matchDeleteBranches(#1239). - Batch child metadata writes in
RenameBranch(#1220). - Batch commit-to-branch lookups in
absorb(#1221). - Reparent same-parent children in one pass for
foldandpluck(#1222). - Reparent via batched
ReparentBranchesToParentsinreorderandflatten(#1225). - Warm revision and stat caches before per-branch loops (#1223).
- Batch PR status and warm caches for the stack in
stack-info(#1224). - Batch commit messages in the dashboard shippable rebuild (#1262).
- Annotate the
logaction from batchedBranchStats(#1257). - Read stack metadata in a single cat-file lookup (#1232).
Refactors
- Remove the global revision cache in favor of explicit batched readers (#1258).
- Add per-concern batch readers for branch state (#1252).
- Bound
batchByBranchfan-out and add a concurrency rule (#1264). - Plan
flattenfrom batched revision/divergence values (#1253). - Annotate
logfrom batched stats, keeping forge status a separate concern (#1254, #1259). - Trim the batch cleanup APIs (#1234).
- Consolidate split-hunk cleanup with a deferred branch restore (#1247).
- Extract helpers to cut duplication —
applyPRMetadata,buildBatchPRNodeQuery,Plan.BranchNames(), andsplitNulTerminated(#1204, #1243, #1255, #1273). - Remove redundant
GetBranchcalls inInfoAction(#1272). - Tidy review nits in the branch-state readers (#1263).
Chore
- Update all Go and frontend dependencies to latest versions (#1240).
- Add the
/optimize-testsdev skill for coverage-guarded test speedups, hardened with parallel-hazard detection and a union coverage guard (#1208, #1213). - Parallelize the action test suite for faster runs (#1209, #1210, #1211, #1212).
- Add a golden-output transcript harness for sync (#1217, #1218).
What's Changed
- refactor: extract applyPRMetadata helper to remove duplication by @jonnii in #1204
- perf: batch PR info writes during consolidation merge by @jonnii in #1205
- feat: add /optimize-tests skill for coverage-guarded test speedups by @jonnii in #1208
- perf(test): parallelize action-package tests and harden /optimize-tests skill by @jonnii in #1214
- perf(test): parallelize fold/move/pluck action subtests by @jonnii in #1209
- perf(test): parallelize sync action subtests by @jonnii in #1210
- perf(test): parallelize 10 action subpackages' scenario tests by @jonnii in #1211
- perf(test): parallelize root actions package tests (excluding stdin-mutating modify) by @jonnii in #1212
- feat(skill): harden /optimize-tests with parallel-hazard detection and union coverage guard by @jonnii in #1213
- Merging 2 PRs by @jonnii in #1215
- perf(sync): batch behind-branch pulls by @jonnii in #1206
- perf(sync): prefetch remote branch statuses in Phase 1 parallel block by @jonnii in #1207
- perf: batch PR info writes during sync and submit validation by @jonnii in #1216
- Merging 2 PRs by @jonnii in #1219
- refactor: extract reusable golden helper and sync prompt-description helpers by @jonnii in #1217
- test: add golden-output transcript harness for sync by @jonnii in #1218
- perf(create): batch child reparenting on insert via ReparentBranchesRecompute by @jonnii in #1226
- perf(submit): read external parent remote status in one batch by @jonnii in #1229
- perf(delete): batch pre-reparent of children via ReparentBranchesToParents by @jonnii in #1227
- Merging 12 PRs by @jonnii in #1235
- perf(engine): batch child metadata writes in RenameBranch by @jonnii in #1220
- perf(absorb): batch commit-to-branch lookups via FindBranchesForCommits by @jonnii in #1221
- perf(fold,pluck): reparent same-parent children via ReparentBranches by @jonnii in #1222
- perf: warm revision/stat caches before per-branch loops by @jonnii in #1223
- perf(stack-info): batch PR status and warm caches for the stack by @jonnii in #1224
- perf(reorder,flatten): reparent via per-branch ReparentBranchesToParents by @jonnii in #1225
- perf(submit): batch PR-info writes and warm caches during planning by @jonnii in #1228
- perf(sync): batch orphaned-metadata cleanup in one transaction by @jonnii in #1230
- perf(merge): resolve PR node IDs in one GraphQL query by @jonnii in #1231
- perf(git): read stack metadata in one cat-file lookup by @jonnii in #1232
- perf(merge): batch PR state/body fetch in consolidation cleanup by @jonnii in #1233
- refactor: trim batch cleanup APIs by @jonnii in #1234
- perf: batch ref deletions in DeleteBranch to match DeleteBranches by @jonnii in #1239
- chore: update all dependencies to latest versions by @jonnii in #1240
- refactor: add Plan.BranchNames() to eliminate repeated branch-name extraction loops by @jonnii in #1243
- feat: Postgres-backed repo store for the API server by @jonnii in #1244
- feat: add PostgreSQL repo-config store for the API server by @jonnii in #1067
- feat: serve API server repos from the Postgres store by @jonnii in #1068
- fix: escape Slack mrkdwn special chars in share output by @jonnii in #1246
- refactor: consolidate split hunk cleanup with deferred branch restore by @jonnii in #1247
- fix: don't report worktree as removed when anchor branch deletion fails by @jonnii in #1248
- refactor: extract buildBatchPRNodeQuery to eliminate duplicated GraphQL boilerplate by @jonnii in #1255
- test(store): use testcontainers locally instead of a fixed local Postgres by @jonnii in #1266
- Merging 13 PRs by @jonnii in #1267
- refactor(engine): per-concern batch readers for branch state by @jonnii in #1252
- refactor(flatten): plan from batched revision/divergence values by @jonnii in #1253
- refactor(log): annotate from batched stats, forge status separate by @jonnii in #1254
- perf(submit): batch revision resolution in planning by @jonnii in #1256
- perf(log): annotate the log action from batched BranchStats by @jonnii in #1257
- refactor(git): remove the global revision cache by @jonnii in #1258
- refactor: finish annotation batching, drop dead reload hook, add guardrail by @jonnii in #1259
- fix(stack-info): count changed files against the divergence point by @jonnii in #1260
- fix(info): count changed files against the divergence point by @jonnii in #1261
- perf(dashboard): batch commit messages in shippable rebuild by @jonnii in #1262
- refactor: tidy review nits in branch-state readers by @jonnii in #1263
- refactor(engine): bound batchByBranch fan-out, add concurrency rule by @jonnii in #1264
- fix(engine): base commit lists on the divergence point, not whole history by @jonnii in #1265
- Sync output quality by @jonnii in #1269
- fix: make sync --dry-run a true read-only preview by @jonnii in #1236
- fix: declutter and polish sync streaming output by @jonnii in #1237
- fix: suppress empty phase headers in the interactive sync TUI by @jonnii in #1238
- fix: polish sync output quality by @jonnii in #1268
- refactor: remove redundant GetBranch calls in InfoAction by @jonnii in #1272
- refactor: extract splitNulTerminated helper in git package by @jonnii in #1273
Full Changelog: v0.19.1...v0.19.2