WAP LabsProject atlas

docs/waves/network_profile_decision_record.md

Network Profile Decision Record

Status: active
Owner: transport-rust + browser + engine
Ticket: T0-14

Canonical decision

  1. Active implementation target profile: wap-net-core.
  2. Live desktop/browser ingress posture: legacy gateway-bridged fetch path remains in use until native fetch activation tickets land.
  3. Target runtime profile after desktop activation: wap-net-core.
  4. Promotion beyond wap-net-core remains gated by future extension-lane decisions.

Profile definitions

gateway-bridged (legacy baseline)

  • Transport uses configured gateway HTTP/WBXML path.
  • Native WDP/connectionless-WSP protocol stack is not the active ingress path.
  • Host/runtime contracts remain stable and deterministic under this mode.

Fixture lane:

  • transport-rust/tests/kannel_smoke.rs
  • transport-rust/tests/fixture_harness.rs
  • docs/waves/TRANSPORT_E2E_READINESS_SCORECARD.md

wap-net-core (active)

  • Transport ingress is native WDP/UDP -> connectionless WSP.
  • The strict WAP 1.2.1 Class C path does not activate WTP.
  • Profile activation requires protocol-core fixture evidence and replay-gate evidence.
  • Activation must not alter browser/engine contracts without explicit contract update tickets.

Current caveat:

  • Native GET/POST ingress and smoke slices are landed, but exact WAP-203 connectionless conformance remains open under WSP-801/802/804/805; the selected WAP-200 and WAP-202 rows are directly evidenced by TRN-701, the narrow constrained-payload policy by TRN-702, the non-IP general-WCMP capability by TRN-703, and the selected CDPD/IPv4 ICMP profile by TRN-708.

Fixture lane:

  • transport-rust/src/wsp_registry.rs (assigned-number policy fixtures)
  • transport-rust/src/wsp_capability.rs (capability-bound fixtures)
  • transport-rust/tests/fixtures/transport/wdp_constrained_payload_mapped/ (bounded CDPD/IPv4 payload and lower-IP reassembly replay lane)
  • transport-rust/tests/network/interop/wdp_cdpd_ipv4_seed.json (schema-v2 directly mapped TRN-706 selected-profile WDP replay lane with exact accepted/reassembled datagram delivery assertions)
  • transport-rust/tests/network/interop/ (promotion replay lane; tracked by T0-22 and T0-24)
  • transport-rust/tests/fixtures/transport/wcmp_cdpd_icmp_profile/ (selected CDPD/IPv4 ICMP type 3 and echo boundary)

wap-net-ext (target, gated)

  • Future extension profile for additional bearers, connection-oriented WSP/WTP, Push, and advanced session features.
  • Promotion requires explicit additional gates beyond the protocol-core baseline.
  • Activation must remain contract-compatible or ship with explicit contract changes.

Promotion gates

Promotion from gateway-bridged to wap-net-core required all of:

  1. T0-17 scope lock is done.
  2. T0-18, T0-19, T0-20, T0-22, and T0-24 are done with fixture evidence.
  3. T0-21 security boundary posture is explicit and default-safe.
  4. Contract stability checks stay green for:
    • browser/contracts/transport.ts
    • engine-wasm/contracts/wml-engine.ts
  5. Local Kannel E2E readiness remains explicit and tracked in:
    • docs/waves/TRANSPORT_E2E_READINESS_SCORECARD.md

This gate set and the browser/native activation slices are satisfied for protocol-core readiness. They do not substitute for the exact 22-row strict transport conformance program.

Rollback criteria

If profile activation introduces deterministic regressions or contract drift, rollback from wap-net-core to gateway-bridged is mandatory when any of the following occur:

  1. Replay harness (T0-22/T0-24) fails for the selected GET/POST/REPLY lane or for an explicitly enabled extension lane.
  2. Contract checks fail for browser/engine boundary payloads.
  3. Cross-layer fixture regressions appear in transport/runtime hostflow evidence.

Rollback action:

  1. Revert active profile selection to gateway-bridged.
  2. Preserve failing fixture artifacts in the associated T0-* ticket notes.
  3. Re-open promotion only with new explicit remediation tickets.

Operational tracking

Use docs/waves/TRANSPORT_E2E_READINESS_SCORECARD.md to track how close Waves is to:

  1. transport-rust -> local Kannel -> local WML server E2E smoke
  2. browser/host -> transport -> local Kannel -> local WML server E2E smoke