docs/waves/transport_adjacent_spec_traceability.md
Waves Transport-Adjacent Spec Traceability
Version: v0.1
Status: S0-06 complete (initial extraction + docling rerun validation pass)
Purpose
Capture transport-adjacent requirements that affect Waves interoperability boundaries, but are not part of the core WSP/WTP/WDP rewrite loop.
Source Authority Policy
- See
docs/waves/SOURCE_AUTHORITY_POLICY.mdfor normative vs supplemental source precedence and citation rules.
Source set reviewed (S0-06)
spec-processing/source-material/WAP-229-HTTP-20010329-a.pdfspec-processing/source-material/WAP-229_001-HTTP-20011031-a.pdfspec-processing/source-material/WAP-223-HTTPSM-20001213-a.pdfspec-processing/source-material/WAP-223_101-HTTPSM-20010928-a.pdfspec-processing/source-material/WAP-225-TCP-20010331-a.pdfspec-processing/source-material/WAP-202-WCMP-20010624-a.pdfspec-processing/source-material/WAP-159-WDPWCMPAdapt-20010713-a.pdf
Normative precedence
WAP-229defines Wireless Profiled HTTP baseline.WAP-229_001applies SIN corrections to SCR appendix semantics (including TLS support status correction).WAP-223defines HTTP state management and WAP-specific proxy-cookie headers.WAP-223_101is editorial-only SIN (no substantive behavior change).WAP-225defines Wireless Profiled TCP optimization profile.WAP-202defines WCMP behavior and message semantics.WAP-159defines WDP/WCMP adaptation over SMPP tunnels (gateway integration profile).
For the strict WAP 1.2.1 Class C target, the exact WCMP authority is
spec-processing/source-manifests/wap-1.2.1-wcmp-scr.json. The selected
CDPD/IPv4 dependency path contains WCMP-C-001 and WCMP-SP-C-001; both and
their nine RFC 792/WAP-202 clauses have direct fixture evidence. The section
5.4/5.5 general-message rows remain implemented only as an explicit non-IP
capability. The RQ-TRX-006..008 groups below are thematic owners, not
substitutes for the selected source rows.
Requirements matrix
Legend:
M= mandatoryO= optional
RQ-TRX-001 Wireless Profiled HTTP method baseline
- Requirement:
- WAP terminal HTTP client supports
GETandPOST. CONNECTis required only when TLS support is present.- WAP proxy HTTP server supports
GET,HEAD,POST, andCONNECT.
- WAP terminal HTTP client supports
- Spec:
WAP-229section 5.1.1, 5.2.2, 5.4.1WAP-229_001section 3.2/3.3 (TLS mandatory clerical correction in SCR interpretation)
- AC:
- Evidence: [ ] Link concrete tests/fixtures, file paths, and commands proving this requirement.
- Method support matrix is explicit in transport profile docs and code contracts.
- TLS-disabled profile does not require
CONNECTfrom terminal client path.
RQ-TRX-002 HTTP content-coding behavior
- Requirement:
- Proxy content-coding support should include
deflatewhen encoding is enabled. - Proxy should avoid recompressing already-encoded or pre-optimized payloads.
- Proxy content-coding support should include
- Spec:
WAP-229section 5.3.1
- AC:
- Evidence: [ ] Link concrete tests/fixtures, file paths, and commands proving this requirement.
- Profile toggles explicitly define whether proxy encoding is active.
- Compression policy includes a skip path for pre-encoded bodies/content types.
RQ-TRX-003 Cookie-proxy pass-through baseline
- Requirement:
- Cookie proxy must support pass-through mode.
- If cookie-management mode is implemented, WAP-specific headers govern behavior and filtering rules.
- Spec:
WAP-223section 9.1, 9.2WAP-223_101section 2.5 (editorial-only SIN note)
- AC:
- Evidence: [ ] Link concrete tests/fixtures, file paths, and commands proving this requirement.
- Pass-through behavior is available and treated as default-safe mode.
- Managed mode processing of
X-Wap-Proxy-Cookiechoices is deterministic and test-listed.
RQ-TRX-004 Cookie-proxy state/error signaling and isolation
- Requirement:
- Proxy includes
X-Wap-Proxy-Set-Cookie: state|errorunder defined conditions. - Proxy must isolate cookie storage per authenticated client and must not serve anonymous clients.
- Proxy includes
- Spec:
WAP-223section 7.2, 9.2, 9.3
- AC:
- Evidence: [ ] Link concrete tests/fixtures, file paths, and commands proving this requirement.
- Response signaling rules for
stateanderrorare documented with fixtures. - Storage keying model is bound to authenticated client identity.
RQ-TRX-005 User-agent HTTP state minimums
- Requirement:
- User agent implements RFC2109 HTTP state management.
- User agent supports at least four cookies of up to 125 bytes each.
- Spec:
WAP-223section 10.1
- AC:
- Evidence: [ ] Link concrete tests/fixtures, file paths, and commands proving this requirement.
- UA/cookie-capability policy is declared (implemented, delegated, or deferred).
- If delegated to host/proxy, the fallback behavior remains spec-consistent.
RQ-TRX-006 WCMP error generation constraints
- Requirement:
- Strict CDPD/IPv4 uses ICMP rather than the general-WCMP wire format.
- Port unreachable generates and consumes ICMP type 3 code 3 with the original IPv4/UDP quote.
- Spec:
WAP-202section 5.3 and RFC 792 Destination Unreachable
- AC:
- Evidence: [x]
transport-rust/tests/wcmp_cdpd_icmp_profile.rsandtransport-rust/tests/fixtures/transport/wcmp_cdpd_icmp_profile/icmp_fixture.json. - Profile selection rejects general WCMP in strict CDPD/IPv4.
- Destination-unreachable code
3maps the quoted destination port to the WDP error boundary.
- Evidence: [x]
RQ-TRX-007 WCMP parameter/error and MTU signaling
- Requirement:
- ICMP type 3 code 4 is used when fragmentation is required with DF set.
- The applicable Next-Hop MTU is preserved when present.
- Spec:
WAP-202section 5.3, RFC 792 Destination Unreachable, and RFC 1191 section 4 as an interoperability clarification
- AC:
- Evidence: [x]
fragmentation_needed_preserves_df_and_next_hop_mtu. - DF and Next-Hop MTU 576 are asserted byte-for-byte and mapped to WDP.
- General-WCMP Parameter Problem breadth remains an unselected non-IP capability gap.
- Evidence: [x]
RQ-TRX-008 WCMP echo diagnostics
- Requirement:
- The selected WDP node implements ICMP echo request/reply behavior.
- Echo reply returns identifier, sequence number, and data unmodified.
- Spec:
WAP-202section 5.3 and RFC 792 Echo or Echo Reply
- AC:
- Evidence: [x]
echo_request_and_reply_are_byte_exact_and_correlated. - Echo request/reply fixture has payload round-trip assertions.
- The strict ICMP reply is deterministic and does not apply the general-WCMP bearer-fragment truncation policy.
- Evidence: [x]
RQ-TRX-009 Wireless Profiled TCP optimization baseline
- Requirement:
- TCP implementation conforms to RFC793/RFC1122/RFC2581 baseline.
- Support for SACK is mandatory.
- Split and end-to-end modes are supported.
- Window-scale requirement is mandatory when window >= 64KB.
- Spec:
WAP-225section 5, 5.3, 5.8, 6, 7
- AC:
- Evidence: [x]
transport-rust/src/tcp_profile.rs,transport-rust/tests/fixtures/transport/wireless_profiled_tcp_policy_mapped/policy_fixture.json; command:cd transport-rust && cargo test --lib tcp_profile::tests::wireless_profiled_tcp_posture_matches_declared_policy_fixture - Transport profile declares which TCP optimizations are enabled, delegated, or deferred.
- SACK + mode behavior are represented in explicit dependency declarations with fixture-backed drift checks.
- Evidence: [x]
RQ-TRX-010 WDP/WCMP over SMPP adaptation profile (gateway-side)
- Requirement:
- SMPP adaptation uses
data_smfor WDP/WCMP payload carriage with required parameter semantics. - WCMP payload type signaling and SAR parameter rules follow selected adaptation mode.
- SMPP adaptation uses
- Spec:
WAP-159section 5.1.4, 5.1.5, 5.1.6, 5.2.1
- AC:
- Evidence: [x]
transport-rust/src/smpp_profile.rs,transport-rust/tests/fixtures/transport/smpp_adaptation_scope_mapped/scope_fixture.json; command:cd transport-rust && cargo test --lib smpp_profile::tests::smpp_adaptation_scope_matches_declared_fixture - If SMPP adaptation is in scope for gateway integration,
data_smparameter mapping is fixed in adapter tests. - SMPP adaptation is currently out-of-scope for Waves MVP and explicitly marked deferred with guardrails.
- Evidence: [x]
Boundary notes for Waves
- These requirements primarily impact
transport-rust/gateway compatibility and policy decisions, not the core deterministic WML runtime loop. WAP-223cookie-proxy behavior is relevant when HTTP-state delegation to network proxies is supported; otherwise mark as explicit non-goal.WAP-159is gateway adaptation-specific (SMPP tunnel path) and is currently deferred for Waves MVP by explicitT0-13scope decision.
Scope policy alignment
- GSM/USSD and cache-adjacent transport siblings (
WAP-204*,WAP-120*) are reviewed as adjacent context but not part of the core transport rewrite milestone. - Any ticket introducing these paths must add a scope decision to transport profile gating and
T0-17. - Current implementation posture remains valid if these areas stay explicit deferments in
OUT_OF_SCOPE_DOMAIN_SPEC_REVIEW.md.
Migration coupling
TRN-703preserves the five-row general-WCMP capability for explicit non-IP bearers;TRN-708owns the selected two-row ICMP-backed path.RQ-TRX-009posture declaration is recorded viaT0-12; protocol-level implementation beyond delegated/deferred posture remains gated byT0-14profile decisions.RQ-TRX-010scope is explicitlydeferredinT0-13; any future in-scope activation requires a follow-on ticket with adapter fixtures before code-path enablement.T0-17remains the final scope lock so adjacent behavior cannot enter profile migration without explicit ticketing.