Automattic / Automattic/wp-codebox

Add an exact transport fault proxy provider

Open
#2,018 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
16
Forks
4
Avg merge
59m
Merged PRs (30d)
131

Description

## Problem

Playwright routing can exactly substitute payloads, delay requests, and remap hosts, but it cannot control HTTP framing or sockets. Treating shortened complete responses as disconnects would mislabel fidelity.

## Scope

- Implement a loopback-only disposable proxy provider for the generic `transport-fault-model/v1` contract.
- Support malformed/chunked framing, bandwidth pacing, connection refusal/reset, half-close, disconnect-after-N-bytes, DNS/host remapping, and request/response byte corruption.
- Preserve deterministic stateful sequences and counters across browser and server-side clients.
- Emit bounded redacted request/fault/response evidence.
- Negotiate each semantic as exact, emulated, or unsupported per backend.
- Guarantee proxy teardown after completion, cancellation, timeout, and provider errors.

## Acceptance criteria

- Protocol-level integration tests distinguish payload truncation from a true mid-stream disconnect.
- Browser and server-side clients consume the same fault declaration and replay schedule.
- Undeclared external hosts remain denied and the proxy cannot address arbitrary host services.

Refs #2014

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the generic transport-fault-model/v1 contract and the Playwright routing integration, then review how browser and server-side clients share fault declarations and replay state. Validate the provider with protocol-level integration tests covering true mid-stream disconnects, host denial, deterministic replay, bounded evidence, and teardown after every completion or failure path.

Written by the indexing model from the issue text.

Assessment

Tech stack
playwright, typescript
Domain
networking, security, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.