Skip to content

test(gateway): preserve coded representation metadata - #448

Merged
seonghobae merged 5 commits into
test/440-gateway-header-mediation-redfrom
test/447-content-encoding-red
Sep 24, 2026
Merged

seonghobae merged 5 commits into
test/440-gateway-header-mediation-redfrom
test/447-content-encoding-red

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Refs #447. Test-only child of #441; #441 remains the sole production gateway-mediation writer.

Finding and executed RED

Wardnet's generic proxy preserved representation bytes but historically omitted Content-Encoding in both directions. With the active reqwest feature set (default-features = false, rustls-tls, multipart, json, stream; no automatic gzip/brotli/deflate decoding), stripping Content-Encoding: gzip while relaying coded bytes changes the representation contract rather than removing hop-by-hop metadata.

RFC 9110 §§5.2-5.3, 8.1 and 8.4 define Content-Encoding as ordered/list-valued representation metadata and distinguish it from Transfer-Encoding.

The branch changes only tests/gateway_content_encoding.rs: real loopback request/response cases require byte-identical coded bytes and Content-Encoding: gzip to cross together and verify dynamic Connection nominations still strip otherwise admitted representation metadata.

Historical exact 44c03a0fe83b7199ebad43cff0e009646f7554f1 reached hosted CI 35893375073 but stopped at rustfmt. Formatter-only exact 8a254028faf4db0485ba8710945c2781a876fbed then executed CI 35917178809, rust job 107371632198: formatting and all 151 existing library unit tests passed before both real loopback hostile cases failed semantically. In each direction coded bytes crossed Wardnet while the expected Content-Encoding: gzip was absent (left: None, right: Some("gzip")). This is the valid #447 RED.

Parent repair and non-force adoption

The minimum causal production repair belongs only to #441. Current parent exact 16a0d0807692203dabc83823793dcefef087c661 adds content-encoding to the bounded request/response mediation allowlists, preserves ordered multiplicity, retains dynamic Connection nomination stripping, and does not enable decompression or acquire EgressWeave destination/DNS/peer/redirect/proxy/TLS/resource authority.

This child adopted that repaired parent non-force through ordinary restack PR #449. Current exact child is 30b52cae32b7022237c552aa6224ebd7d9dfb632, base exactly #441@16a0d0807692203dabc83823793dcefef087c661; the effective child delta remains only tests/gateway_content_encoding.rs.

Fresh exact-child CI 35941616793 is queued. No GREEN is claimed until this unchanged exact head executes the request/response representation assertions successfully. If GREEN, this test-only child may be marked Ready and normally merged into #441 with expected-head protection; the resulting new #441 head must then reacquire all exact-head evidence.

No production repair in this child; no foreign-owner logic, central workflow copy, mutable foreign dependency, source copy, force update, destructive rebase, self/model approval, gate weakening, synthetic status, blind rerun or routine bypass.

Traceability: RFC 9110 §§5.2-5.3, 8.1, 8.4; #441; #446; #447; #449.

@coderabbitai

coderabbitai Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 8c4bf930-2160-4a05-b649-0574c888b241

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

chore(stack): adopt repaired gateway parent into #448
@seonghobae
seonghobae marked this pull request as ready for review September 24, 2026 06:02
@seonghobae
seonghobae merged commit cd3c598 into test/440-gateway-header-mediation-red Sep 24, 2026
3 checks passed
@seonghobae
seonghobae deleted the test/447-content-encoding-red branch September 24, 2026 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant