Skip to content

feat(upstream): survey flags later upstream fixes to batch commits - #1121

Merged
incognitojam merged 1 commit into
mainfrom
feat/survey-later-upstream-fixes
Oct 28, 2026
Merged

incognitojam merged 1 commit into
mainfrom
feat/survey-later-upstream-fixes

Conversation

@incognitojam

Copy link
Copy Markdown
Owner

Intake batch 30 ended at pingdotgg#22052, which broke Stop for running subagents. Upstream fixed it four days later in pingdotgg#23886, 719 commits further down the queue, so the fork carried the bug until fork #1116 ported the fix by hand. Nothing in the survey pointed at it.

intake-run.ts survey now also lists later upstream fix and revert commits, up to fetched upstream/main, that name a surveyed commit. A later commit counts when its PR title (or subject, for a direct commit) is a fix or revert, and its message or PR description names a surveyed commit by #N, pingdotgg/t3code#N, a pingdotgg/t3code/pull/N link, or "reverts commit ". The text output shows each flagged fix under the commit it names and quotes the sentence that names it. In --json, each survey entry has a laterFixes array. Fixes the surveyed base already imported, going by Upstream-PR/Upstream-Commit trailers, are left out. When the fork tracks a flagged fix in .github/upstream-tracked-prs.json, the output shows its reason. PR descriptions are read with gh api graphql, 100 per query.

Precision matters more than recall here, so the check needs an explicit reference. I tried a second signal, a fix whose title says "again", "restore", or "no longer" and that touches a file a batch commit changed. On batch 30 it matched about 45 later fixes, and none of them fixed a batch commit. SHAs other than in "reverts commit" are ignored because takeover PRs often cite the main SHA they tested against. Links and qualified references to other repositories are ignored too.

The runbook gets one paragraph: check each flagged fix before the batch lands, and when it fixes a regression the batch introduces, extend the batch, import it early, or port it by hand and track the upstream PR.

Validation

I ran survey --base 9a69b6c2ba --through fb990765a4 for the real batch-30 range: 55 commits, with 1,424 later upstream commits checked. It flags 9 later fixes:

Batch PR Later fix Judgment
pingdotgg#22052 pingdotgg#23886 Stop stops a thread's subagents again The regression fix this PR is for ("Since pingdotgg#22052, the Stop button sends thread.stop…")
pingdotgg#21665 pingdotgg#22203 settings save again when the writing style has default fields A real regression fix that batch 30 also shipped without ("pingdotgg#21665 made the writing-style setting decode into…")
pingdotgg#22052 pingdotgg#22581 idle orphaned follow-ups can be cancelled without a running parent Related follow-up
pingdotgg#21798 pingdotgg#21799 checkpoint WAL without blocking the event loop Upper layer of the same stack
pingdotgg#21463 pingdotgg#21464 detect replaced transcripts with large file identities Upper layer of the same stack
pingdotgg#12567 pingdotgg#22520 keep Windows thread notifications clickable until handled Finishes pingdotgg#12567's behavior on Windows
pingdotgg#21762 pingdotgg#23235 stop blank input placeholders from failing the run Same fix applied to Pi
pingdotgg#14884 pingdotgg#19229 agent questions stay answerable after a server restart Noise: mentions pingdotgg#14884 only to explain dropped tests
pingdotgg#15833 pingdotgg#21099 removing a worktree on Windows no longer deletes what its junctions point to Noise: background citation

That is two regression fixes, five useful follow-ups and two harmless mentions, a short list to read for a 55-commit batch. Unit tests cover PR references, reverts by title and SHA, merge commits classified by PR title, references to other repositories, code fences, mirror links, and choosing the quoted sentence.


Written by an agent (Claude Code, claude-opus-5-5).

The intake survey now lists later upstream fix and revert commits, up to
upstream/main, whose message or PR description names a surveyed commit by
PR number or reverted SHA, quoting the sentence that names it. Fixes the
fork already imported are left out, and tracked ones show their reason.
@github-actions

Copy link
Copy Markdown

Upstream divergence

Both sides are compared with upstream at the in-order tip fb990765a4. Excludes .repos/ and pnpm-lock.yaml.

Measure Base This PR Change
Upstream files the fork changes 1,727 1,727 0
Lines changed in them 95,018 95,018 0
Upstream files the fork removes 49 49 0
Fork-only files 683 685 +2
Fork-only lines 122,674 123,067 +393

No upstream file changes how much it differs from upstream.

@github-actions

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 4.9 KiB −23 B (−0.5%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB −23 B (−1.9%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.9 KiB 20.8 KiB −41 B (−0.2%) 29.3 KiB ✅
Codex Live turn messages 2 1 −1 (−50.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: 67439ca · PR result: 20f5d5d · Source CI: success

Scenario and decoded snapshot size

10 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.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@incognitojam
incognitojam merged commit a0fcb95 into main Oct 28, 2026
33 checks passed
@incognitojam
incognitojam deleted the feat/survey-later-upstream-fixes branch October 28, 2026 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant