32 lines
2.0 KiB
Markdown
32 lines
2.0 KiB
Markdown
## Context
|
|
|
|
The native production path and fair pacer already exist. The defect was evidence collection: provider sends waited synchronously for client delivery, RTT was arithmetic, CPU was available capacity, and the repository had no canonical Linux build target.
|
|
|
|
## Goals / Non-Goals
|
|
|
|
**Goals:**
|
|
|
|
- Observe concurrent source-shaped traversal without a duplicate transport.
|
|
- Distinguish actual one-way delivery, acknowledged RTT, queue/processing/pacing, and consumed process CPU.
|
|
- Produce reproducible inspectable Linux artifacts for the deployment architectures.
|
|
|
|
**Non-Goals:**
|
|
|
|
- A new transport, scheduler, dependency, codec operation, scanner, signer, or container framework.
|
|
- Live provider/client/firewall evidence or Connection Server image remediation.
|
|
|
|
## Decisions
|
|
|
|
- Keep the existing provider fixture and production path; overlap its UDP sender with the public QUIC receiver.
|
|
- Apply fixed-seed impairment before provider UDP injection and derive delivery statistics from decoded payload sequence and timestamps.
|
|
- Use native ENet acknowledgement timing for RTT instead of doubling one-way completion.
|
|
- Use OS process user plus system CPU for the isolated qualification command; retain memory, goroutine, and allocation series separately.
|
|
- Build both Linux architectures with `CGO_ENABLED=0`, `GOWORK=off`, `-trimpath`, no VCS stamping, and an empty build ID, then inspect ELF and embedded Go settings.
|
|
- Delete the dead exported pacer rather than consolidate it with the sole production `fairPacer`.
|
|
|
|
## Risks / Trade-offs
|
|
|
|
- [Short RTT smoke runs contain ENet smoothing history] → Classify the metric as acknowledged transport RTT and enforce profile tolerances on the full frozen run.
|
|
- [Process CPU includes the bounded fixture/client harness] → Run only the named qualification test in an isolated process and label the scope exactly; never call it host-wide or binary-only CPU.
|
|
- [No qualifying vulnerability scanner is installed] → Record unscanned status and deterministic dependency/artifact evidence without zero-finding claims.
|