Bound
- Upstream bound (frozen):
b44c1ce5d25ee0d5a5be82e380618a886c19ea96
- Pylon head at open:
2725b650086814b55ca3a935175a71e59ac69fd7
- Review cursor unchanged:
bbedad0278bbf753503184c00e0c09a0eab6679c
Cycle #650 closed with ~214 unclassified sources. Re-fetching added 24 more past the previous bound 93e04160a0. This cycle classifies 8; the rest stay unclassified for later bounded cycles. The cursor does not move.
Selected sources
Group A — chat feed and composer rendering (4)
| SHA |
Upstream |
4749035bda13b4b6260499caedbc0d69a2f60e6f |
#12166 keep composer banners compact and readable |
592021f008010ee947c326df0452d093ead8aeb1 |
#12302 collapse thoughts within tool groups |
fbc8b960026e408c163ea55db8075bbf1a42d628 |
#12270 keep thoughts and failed tool calls in one activity row |
fcfd9f911a27ee3b813d64582c53d82dfa2e892b |
#12317 keep chat from jumping when the scroll-to-end pill mounts |
Touches ChatView.tsx, MessagesTimeline.tsx/.logic.ts, the composer banner components, and apps/mobile/src/lib/threadActivity.ts — fbc8b96002 is cross-client.
Group B — navigation, search and diff safety (4)
| SHA |
Upstream |
886c83450797c46ee84ae28fc16c2208cafa965e |
#10909 folder links from chat open the file tree instead of a broken preview |
3fd5d6439d8fd49d173503ecda96500463a39bd2 |
#12315 keep numbered jumps from stealing browser tabs |
9ea9c3d5d2c444133e3ddff40eecf38737951589 |
#11075 keep a file-to-symlink type change from crashing the diff view |
c557bb10aa7cbb78a50df230d1e8e24af79cb662 |
#11761 sidebar search matches message content |
Touches the files panel and projectFilesQueryState, rightPanelStore, keybindings on web and in packages/shared, the diff file tree and diffRendering, and Sidebar/CommandPaletteResults.
The two groups share no files and land as two independent PRs.
Review method
Every group gets adversarial review at the maintainer's request: an independent reviewer that did not write the code tries to break each port — wrong Pylon adaptation, lost Pylon-specific behavior, missing reverse transition, unhandled empty/error state, regression in a diverged file — before the parent's own review and CI. Implementation claims are not accepted as verification; the parent re-runs checks on the final head.
Boundaries to preserve
Pylon's diverged ChatView.tsx and timeline behavior, delivery holds and provider-bound drafts, Pylon routing and panel-choice semantics, environment-scoped caches, Pylon keybinding identity and its packages/shared contract, and Pylon branding. 3fd5d6439d also touches pnpm-lock.yaml upstream — the lockfile must be regenerated from Pylon's own inputs with the pinned tool, never copied.
Verification plan
Focused web tests for each changed area, @t3tools/web and @t3tools/shared typechecks, t3 where the mobile/shared logic is touched, scoped lint, and green CI on each final PR head. These are user-visible UI changes, so integrated client evidence is wanted for the final behavior; browser use is pending the maintainer's authorization for this cycle and is recorded as outstanding until then.
Not in scope
The ~230 remaining unclassified sources, including the Effect rc.115 / Alchemy beta.78 upgrade and its .repos/effect-smol reference sync (deserves its own cycle), the npm_and_yarn dependency bumps, the mobile header/platform-split refactor series, OTLP telemetry export, and all new feature work. Release and installation are not authorized.
Bound
b44c1ce5d25ee0d5a5be82e380618a886c19ea962725b650086814b55ca3a935175a71e59ac69fd7bbedad0278bbf753503184c00e0c09a0eab6679cCycle #650 closed with ~214 unclassified sources. Re-fetching added 24 more past the previous bound
93e04160a0. This cycle classifies 8; the rest stay unclassified for later bounded cycles. The cursor does not move.Selected sources
Group A — chat feed and composer rendering (4)
4749035bda13b4b6260499caedbc0d69a2f60e6f592021f008010ee947c326df0452d093ead8aeb1fbc8b960026e408c163ea55db8075bbf1a42d628fcfd9f911a27ee3b813d64582c53d82dfa2e892bTouches
ChatView.tsx,MessagesTimeline.tsx/.logic.ts, the composer banner components, andapps/mobile/src/lib/threadActivity.ts—fbc8b96002is cross-client.Group B — navigation, search and diff safety (4)
886c83450797c46ee84ae28fc16c2208cafa965e3fd5d6439d8fd49d173503ecda96500463a39bd29ea9c3d5d2c444133e3ddff40eecf38737951589c557bb10aa7cbb78a50df230d1e8e24af79cb662Touches the files panel and
projectFilesQueryState,rightPanelStore, keybindings on web and inpackages/shared, the diff file tree anddiffRendering, andSidebar/CommandPaletteResults.The two groups share no files and land as two independent PRs.
Review method
Every group gets adversarial review at the maintainer's request: an independent reviewer that did not write the code tries to break each port — wrong Pylon adaptation, lost Pylon-specific behavior, missing reverse transition, unhandled empty/error state, regression in a diverged file — before the parent's own review and CI. Implementation claims are not accepted as verification; the parent re-runs checks on the final head.
Boundaries to preserve
Pylon's diverged
ChatView.tsxand timeline behavior, delivery holds and provider-bound drafts, Pylon routing and panel-choice semantics, environment-scoped caches, Pylon keybinding identity and itspackages/sharedcontract, and Pylon branding.3fd5d6439dalso touchespnpm-lock.yamlupstream — the lockfile must be regenerated from Pylon's own inputs with the pinned tool, never copied.Verification plan
Focused web tests for each changed area,
@t3tools/weband@t3tools/sharedtypechecks,t3where the mobile/shared logic is touched, scoped lint, and green CI on each final PR head. These are user-visible UI changes, so integrated client evidence is wanted for the final behavior; browser use is pending the maintainer's authorization for this cycle and is recorded as outstanding until then.Not in scope
The ~230 remaining unclassified sources, including the Effect rc.115 / Alchemy beta.78 upgrade and its
.repos/effect-smolreference sync (deserves its own cycle), the npm_and_yarn dependency bumps, the mobile header/platform-split refactor series, OTLP telemetry export, and all new feature work. Release and installation are not authorized.