Skip to content

Commit 4dbf337

Browse files
committed
docs: record the 2026-08-14 tenth upstream batch and advance the cursor
1 parent f7311ad commit 4dbf337

1 file changed

Lines changed: 70 additions & 5 deletions

File tree

.agents/upstream-review.md

Lines changed: 70 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
remote: t3code-upstream
33
branch: main
4-
reviewed-through: "bad1143b02f7b585d1fe1335b3d9a97983ce8d8b"
5-
reviewed-through-date: "2026-08-13"
4+
reviewed-through: "5304f3e9d4c912bfa0eb2f5f41fa109b3646236b"
5+
reviewed-through-date: "2026-08-14"
66
---
77

88
# T3 upstream review log
@@ -945,12 +945,77 @@ Two tooling notes worth carrying forward:
945945
markdown tests ran against pre-cherry-pick source and failed against the
946946
updated expectations. **Re-run `vp i` after changing one of these modules.**
947947

948+
## 2026-08-14 — `bad1143b02f7b585d1fe1335b3d9a97983ce8d8b..5304f3e9d4c912bfa0eb2f5f41fa109b3646236b`
949+
950+
Six commits, six change sets, **four adopted and two skipped**. Nothing
951+
deferred, so the register stays empty. `git cherry` reported all six as `+`.
952+
953+
Conflict risk was measured by dry cherry-pick against the merged `pylon` before
954+
the brief was written: four clean, two conflicting — and both conflicts landed
955+
exactly on Pylon-owned boundaries, which is the system working.
956+
957+
Adopted across two branches, split by surface rather than by size:
958+
`upstream/2026-08-14-web` (PR #15) and `upstream/2026-08-14-mobile` (PR #16).
959+
960+
| Change set | Upstream | Decision | Pylon reference | Rationale or revisit condition |
961+
| ---------- | --------------------- | -------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
962+
| N1 | `db1507e98` / `#5880` | adopted | `07a3a846c` | A setting to stop threads auto-settling when their pull request merges. Additive `sidebarAutoSettleOnMerge`, **default `true`**, so existing behaviour is unchanged; closed pull requests still always settle. Upstream covered contracts, client-runtime, web, and mobile. |
963+
| N2 | `96bfa67b3` / `#6215` | adopted | `fb284b0f9` | Snoozed-thread wake icon sits on the row's optical centre. Generic geometry, applies to Pylon's sidebar unchanged. |
964+
| N3 | `23d45d914` / `#6535` | adopted | `570b54268`, `f7311ad81` | Stage artwork palette rework: explicit night pigments plus glow and sparkle, with the old `color-mix` derivation scoped to `t3-chat`, `ocean`, and `iris` — all of which Pylon still ships. Its "T3 Code artwork palettes" comment was rebranded, following `O11`. |
965+
| N5 | `85389b988` / `#6224` | adopted | `bbd3db454`, `5990b2440` | Mobile task and thread settings nest in bottom sheets. 41 files, +3,652/−1,836, **including native patches** to `react-native-screens` and `@react-navigation/native-stack`. Verified by a real prebuild, `pod install`, native build, and simulator pass — see below. |
966+
| N4 | `5ff3a03ad` / `#6086` | skipped | `` | Adds `-translate-y-px` to the sidebar brand label. A 1px optical correction measured against `<T3Wordmark />`; Pylon renders `<PylonMark />` plus the word "Pylon", a different glyph. **Cherry-picks clean and is still wrong for the fork.** Revisit only as Pylon-owned alignment work against Pylon's own mark. |
967+
| N6 | `5304f3e9d` | skipped | `` | Bumps the mobile app version to `1.0.4`. Pylon's `app.config.ts` is independent (`slug: "pylon"`, `pylon-code*` schemes, version `1.0.1`), so the bump conflicts and carries no Pylon meaning. Same class as any T3 release chore. |
968+
969+
**`N5` corrected a stale fact this ledger itself recorded.** The ninth batch's
970+
mobile notes said the `t3code-dev://` URL scheme "is still compatibility-named
971+
and works". It does not. A built `PylonDev.app` registers exactly
972+
`pylon-code-dev` and `com.pylon.code.dev`:
973+
974+
```
975+
$ plutil -extract CFBundleURLTypes json -o - .../PylonDev.app/Info.plist
976+
[{"CFBundleURLSchemes":["pylon-code-dev","com.pylon.code.dev"]},{"CFBundleURLSchemes":["exp+pylon"]}]
977+
```
978+
979+
`apps/mobile/src/App.tsx` still lists `t3code-dev://` among React Navigation's
980+
linking prefixes, which is likely how the belief survived, but iOS never
981+
delivers an unregistered scheme so the prefix is unreachable. Upstream's new
982+
`pair-client.sh` defaulted to that scheme and hardcoded `com.t3tools.t3code.dev`,
983+
so it would have failed silently on Pylon. The helper, the `test-pylon-mobile`
984+
skill's identity block, and its `T3CodeDev.xcworkspace` references were all
985+
corrected to what `app.config.ts` produces: `Pylon Dev`, `com.pylon.code.dev`,
986+
`pylon-code-dev`, `PylonDev.xcworkspace`, scheme `PylonDev`.
987+
988+
Verification: 264 tests over four files and five clean package typechecks on the
989+
web branch; 40 tests over six files and a clean mobile typecheck on the mobile
990+
branch; `vp lint` clean on both. `N5` additionally got a full native rebuild and
991+
an iOS Simulator pass — build succeeded in 176s with the new patches, the app
992+
launched as `com.pylon.code.dev`, the corrected deep link routed, and both the
993+
Add Environment route and the new "Choose project" context picker rendered as
994+
nested bottom sheets. `N3` was captured before and after on one dev server by
995+
swapping `index.css` over HMR, so the comparison holds data and layout constant.
996+
997+
**Android was not exercised for `N5`**, and the thread-settings sheet was not
998+
driven on a live thread because the simulator was reconnecting to a
999+
previously-paired real environment.
1000+
1001+
Two environment notes worth carrying forward:
1002+
1003+
- **CocoaPods 1.17.0 crashes under Ruby 4.0.6** with `Unicode Normalization not
1004+
appropriate for ASCII-8BIT` when `LANG`/`LC_ALL` are unset, which is how
1005+
`expo prebuild` leaves the shell. The ninth batch predicted this; setting a
1006+
UTF-8 locale for `pod install` fixes it. `expo prebuild` **exits 0 even when
1007+
its CocoaPods step fails**, leaving `ios/` without an `.xcworkspace`.
1008+
- **`apps/mobile/package.json`'s `dev:client` script still passes
1009+
`--scheme t3code-dev`**, which no longer matches the registered native scheme.
1010+
Left alone as out of scope for an adoption batch, but it is a real bug worth
1011+
its own fix.
1012+
9481013
## Deferred register
9491014

9501015
_The register is currently empty. DEF-1 and DEF-2 were adopted on 2026-08-11
951-
(see the sixth batch above); the 2026-08-12 eighth batch and the 2026-08-13
952-
ninth batch each deferred nothing new. Entries are removed once adopted or
953-
skipped, so an empty register means nothing is waiting._
1016+
(see the sixth batch above); the eighth, ninth, and 2026-08-14 tenth batches
1017+
each deferred nothing new. Entries are removed once adopted or skipped, so an
1018+
empty register means nothing is waiting._
9541019

9551020
Upstream work that has been reviewed and consciously _not_ adopted yet, with
9561021
the condition that should trigger a fresh look. Entries stay here until they

0 commit comments

Comments
 (0)