Skip to content

Commit 7fcb96c

Browse files
authored
Merge pull request #27 from pylon-code/docs/twelfth-batch-ledger
docs: record the twelfth upstream batch
2 parents f630ab0 + 877dad3 commit 7fcb96c

2 files changed

Lines changed: 31 additions & 2 deletions

File tree

.agents/upstream-review.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
remote: t3code-upstream
33
branch: main
4-
reviewed-through: "1a6599437b6ad77330923819613cc28be3b33945"
4+
reviewed-through: "1add47b322ab1dfb5010bb363613650176b88088"
55
reviewed-through-date: "2026-08-14"
66
---
77

@@ -1084,10 +1084,36 @@ clean on all four branches after fixing three `no-useless-fallback-in-spread`
10841084
warnings that `#5877`'s new test introduced. **No browser pass on `E3`, no native
10851085
pass on `E8`, no Android anywhere.**
10861086

1087+
## 2026-08-14 (twelfth) — `1a6599437b6ad77330923819613cc28be3b33945..1add47b322ab1dfb5010bb363613650176b88088`
1088+
1089+
Two commits, two change sets, **both adopted**. Nothing deferred. Neither was
1090+
patch-equivalent, and both dry cherry-picked clean against `pylon` — no Pylon
1091+
adaptation was needed for either.
1092+
1093+
Both are terminal work but different concerns, so they landed as two branches:
1094+
`fix/terminal-pid-flood` (PR #25) and `feat/terminal-copy-shortcut` (PR #26).
1095+
1096+
| Change set | Upstream | Decision | Pylon reference | Rationale or revisit condition |
1097+
| ---------- | --------------------- | -------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
1098+
| T1 | `80991402d` / `#6377` | adopted | `2a8dd3cc4` | Terminal subprocess polling spawned a process **per terminal per poll** at a 1s cadence (`pgrep` + `ps`, or `powershell.exe`). Now one `ps` snapshot of the whole table per cycle, with each terminal's subtree derived in memory: per-poll spawns drop from O(terminals × commands) to O(1). Also drops `pgrep` and resolves `ps` to an absolute path once, since spawning by bare name burns a failed `posix_spawn` per `PATH` entry. A defect whose blast radius reaches outside Pylon. |
1099+
| T2 | `1add47b32` / `#5638` | adopted | `cd3b7cb8b` | Plain `Ctrl+C` copies a terminal selection on non-mac, where only `Ctrl+Shift+C` did before. **Verified it does not break SIGINT**: the copy path is gated on there being a selection, so an empty selection falls through to the shell, and a plain non-mac copy clears the selection so the next press interrupts. `Cmd+C` and `Ctrl+Shift+C` stay copy-only. Tradeoff: with text selected the first press copies rather than interrupts. |
1100+
1101+
`T2` leans deliberately on engine differences — plain `Ctrl+C` is left
1102+
un-prevented so the native copy event fires, with a token-guarded deferred
1103+
`clipboard.writeText` racing it for WebKit (which omits the keyboard copy event
1104+
without a DOM selection), while `Ctrl+Shift+C` synthesises one via
1105+
`execCommand("copy")` because Chrome binds that chord to inspect. **Unit tests
1106+
cannot settle that race; no browser pass was run.**
1107+
1108+
Verification: 54 tests on PR #25 (the commit ships 120 lines of new ones), 47 on
1109+
PR #26; typechecks clean on `t3`, `@t3tools/web`, `@t3tools/contracts`; `vp lint`
1110+
clean on both branches. **Neither got an integration pass** — no live multi-terminal
1111+
session for `T1`, no Chrome/Safari clipboard check for `T2`.
1112+
10871113
## Deferred register
10881114

10891115
_The register is currently empty. DEF-1 and DEF-2 were adopted on 2026-08-11
1090-
(see the sixth batch above); the eighth through eleventh batches each deferred
1116+
(see the sixth batch above); the eighth through twelfth batches each deferred
10911117
nothing new. Entries are removed once adopted or skipped, so an
10921118
empty register means nothing is waiting._
10931119

pnpm-lock.yaml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)