Skip to content

test(server): bind HTTP fixtures to IPv4 loopback - #811

Merged
rynfar merged 7 commits into
pylonfrom
fix/2026-09-24-http-test-loopback
Sep 26, 2026
Merged

rynfar merged 7 commits into
pylonfrom
fix/2026-09-24-http-test-loopback

Conversation

@rynfar

@rynfar rynfar commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

NodeHttpServer.layerTest can bind a test server to IPv6 :: while its Fetch client requests 127.0.0.1. On macOS, another process can bind the same numeric port on IPv4, so a server seam test can receive that other listener's body. The full server.test.ts suite intermittently received ready or an unrelated 501 response; a same-process two-listener reproduction confirmed the address-family collision.

This test-only change binds server fixtures to 127.0.0.1, matching the client, across the server seam, analytics, and MCP HTTP tests. The regression reads the actual server address and verifies that a competing IPv4 bind fails with EADDRINUSE. It leaves production HTTP behavior unchanged and adds no retries or timing delays. The fixture is compatible with Effect rc.112 and rc.115 address types; on the reviewed open-PR integration stack, an additional provider-refresh seam test must use the same helper when those branches converge.

The provider-refresh prerequisite #743 is already merged into pylon. Its seam test also uses the loopback layer, so integration leaves no dangling NodeHttpServer.layerTest reference.

Validation: 240 focused tests and t3 typecheck passed on the combined #743 + fix branch; scoped lint, format, and frozen install passed. Six bounded 201-test full-file runs passed after the initial change. An isolated rc.115 integration rehearsal passed 223 focused tests and t3 typecheck. Independent review passed on the final combined commit. This reduces a confirmed test-fixture collision; repeated passing tests alone do not establish that every intermittent failure is eliminated.

Tracks upstream catch-up issue #736 only as a test-isolation follow-up; no upstream source disposition or ledger cursor is changed.

@vercel

vercel Bot commented Sep 24, 2026

Copy link
Copy Markdown

Deployment failed for project pylon-marketing with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/pylon-code?upgradeToPro=build-rate-limit

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M labels Sep 24, 2026
@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 14.0 KiB 14.0 KiB +23 B (+0.2%) 15.1 KiB ✅
Codex Thread snapshot wire 7.2 KiB 7.3 KiB +7 B (+0.1%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.7 KiB 6.7 KiB +16 B (+0.2%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 58.0 KiB 58.0 KiB 0 B (0.0%) 66.4 KiB ✅
Codex Live turn messages 9 9 0 (0.0%) 21 ✅
Claude Total thread wire 14.0 KiB 14.0 KiB −20 B (−0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 7.3 KiB 7.3 KiB +13 B (+0.2%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.8 KiB 6.7 KiB −33 B (−0.5%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 58.9 KiB 58.9 KiB −44 B (−0.1%) 66.4 KiB ✅
Claude Live turn messages 10 9 −1 (−10.0%) 21 ✅

Baseline: ab547a5 · PR result: 0f57690 · 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: 115.7 KiB
  • Claude decoded thread snapshot: 116.4 KiB

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

@rynfar
rynfar marked this pull request as ready for review September 26, 2026 07:14
@vercel

vercel Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
pylon-marketing Ignored Ignored Preview Sep 26, 2026 7:14am UTC

@rynfar
rynfar merged commit 9d35a1f into pylon Sep 26, 2026
20 checks passed
@rynfar
rynfar deleted the fix/2026-09-24-http-test-loopback branch September 26, 2026 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant