Commit c8acf51
refactor(launcher): use process.channel instead of filtering relayed stderr
Two simplifications, both measured before applying.
The launcher was line-buffering the proxy's stderr and stripping the
wiring recipe with a regex — 20 lines to remove text it had caused. The
server can tell directly: process.channel is set exactly when fork()
created the process, and the launcher is the only fork() site (the
`server` subcommand uses spawn, and a service manager runs it bare).
Measured: fork -> channel set, standalone -> undefined. So the recipe is
now gated at the source and the relay is a plain pass-through again.
And bundleCarriesOurCA no longer normalizes CRLF. `$` in a /m regex
matches before a `\r`, and the END search is anchored on the leading
`\n`, so both halves already read a CRLF file the same as an LF one.
Measured across 102 shapes (34 bundle layouts x LF/CRLF/mixed):
identical verdicts with and without the replace, and 0 false accepts
against a real handshake.
No behavior change: standalone still prints the full recipe, the
launcher still prints the mode line and not the recipe, and the guard's
verdicts are unchanged. Mutating the new gate to false fails exactly one
test, and all five guard-clause mutations are still caught.
-16 net production lines. Full suite 1503 pass / 0 fail.
Co-Authored-By: Claude <noreply@anthropic.com>1 parent 8f46b89 commit c8acf51
3 files changed
Lines changed: 21 additions & 37 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
| 21 | + | |
23 | 22 | | |
24 | 23 | | |
25 | 24 | | |
26 | 25 | | |
27 | 26 | | |
28 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
29 | 33 | | |
30 | 34 | | |
31 | 35 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | 161 | | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
| 162 | + | |
183 | 163 | | |
184 | 164 | | |
185 | 165 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
614 | 614 | | |
615 | 615 | | |
616 | 616 | | |
617 | | - | |
618 | | - | |
619 | | - | |
620 | | - | |
621 | | - | |
622 | | - | |
623 | | - | |
624 | | - | |
625 | | - | |
626 | | - | |
627 | | - | |
628 | | - | |
629 | | - | |
630 | | - | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
631 | 631 | | |
632 | 632 | | |
633 | 633 | | |
| |||
0 commit comments