You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit bc1a280
Browse filesBrowse the repository at this point in the historyBrowse files
**Implementation evidence:**[TASK-196-design.md](../../architecture/v3/TASK-196-design.md) documents ownership and bounded lifecycle decisions. [TASK-196-implementation-evidence.md](../../architecture/v3/TASK-196-implementation-evidence.md) and [TASK-196-receipt.json](../../architecture/v3/TASK-196-receipt.json) record completed local native/public/capture/sanitizer gates and exact proof reuse scope. The pinned simulator clock compatibility and original failed attempts remain explicit. Caller-owned Groundwork validation/finalization, merge and cleanup remain pending; task status stays In Progress. Nonlocal BSD/macOS/Windows execution belongs to CI and the v3 PR.
30
+
**Implementation evidence:** [TASK-196-design.md](../../architecture/v3/TASK-196-design.md) documents ownership and bounded lifecycle decisions. [TASK-196-implementation-evidence.md](../../architecture/v3/TASK-196-implementation-evidence.md) and [TASK-196-receipt.json](../../architecture/v3/TASK-196-receipt.json) record completed local native/public/capture/sanitizer gates and exact proof reuse scope. The pinned simulator clock compatibility and original failed attempts remain explicit. Groundwork validation passed in two iterations on 2026-10-11. Both required unauthenticated-packet isolation repairs passed regression, normal/ASan/UBSan/TSan, all 12 refreshed installed public HTTP/3 cells and the affected 2,000-run callback fuzz gate. The original implementation receipt remains historical; validation and repair receipts are archived in `build/task196-evidence/`. Two approved review observations remain recorded in [the validation notes](../../unworked_review_issues/task-196_validation_a7750fef553d70aa25d6309cee70d461.md). Local completion is validated for integration into `v3`. Nonlocal BSD/macOS/Windows execution belongs to CI and the v3 PR.
Copy file name to clipboardExpand all lines: specs/tasks/_index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -343,7 +343,7 @@ Nominally: **13 sequential tasks**, each S–XL. Most other tasks parallelize of
343
343
| TASK-193 |[Install public credentials and serve native TCP TLS](M14-v3-release-repairs/TASK-193.md)| M14 | Complete | TASK-192 |
344
344
| TASK-194 |[Complete public TLS profiles, live rotation and ACME selection](M14-v3-release-repairs/TASK-194.md)| M14 | Complete | TASK-193 |
345
345
| TASK-195 |[Route negotiated public HTTP/2 streams through native listeners](M14-v3-release-repairs/TASK-195.md)| M14 | Complete | TASK-190, TASK-194 |
346
-
| TASK-196 |[Add production UDP QUIC ownership and public HTTP/3 routing](M14-v3-release-repairs/TASK-196.md)| M14 |In Progress| TASK-191, TASK-193, TASK-195 |
346
+
| TASK-196 |[Add production UDP QUIC ownership and public HTTP/3 routing](M14-v3-release-repairs/TASK-196.md)| M14 |Complete| TASK-191, TASK-193, TASK-195 |
347
347
| TASK-197 |[Complete public HTTP/3 lifecycle, policy and WebSocket parity](M14-v3-release-repairs/TASK-197.md)| M14 | Not Started | TASK-194, TASK-196 |
348
348
| TASK-198 |[Provide native public throughput and latency benchmarks](M14-v3-release-repairs/TASK-198.md)| M14 | Not Started | TASK-195, TASK-197 |
349
349
| TASK-199 |[Deliver packaged public-capability and benchmark adapters for release execution](M14-v3-release-repairs/TASK-199.md)| M14 | Not Started | TASK-198 |
The independent destruction witness reports passed for every publicRead error. publicOpen sets a three-second stream deadline, so a server that leaves the held stream unresolved and never closes or resets it still produces a timeout and reaches status=passed. Protocol/decoder errors are also accepted. This weakens TASK-196’s active-stream destruction/cancellation witness; the stricter aioquic test does not make this independent-client predicate valid.
11
+
*Recommendation:* Require an observed remote QUIC connection-close or stream cancellation with the expected shutdown semantics; reject deadline/context timeout and decoding errors. Add a bounded negative witness using a peer that keeps the stream open without closing/resetting it, and require that witness to fail rather than emit a passing destruction result.
Every receive_packet call value-initializes two 65,536-byte automatic buffers, clearing 128 KiB on the packet hot path even though the production UDP reader caps datagrams at 2,048 bytes. This is bounded and does not block basic routing, but adds avoidable stack footprint and memory traffic, including for failed authentication.
17
+
*Recommendation:* Measure this cost in TASK-198/199 packet-throughput profiles. If material, right-size the buffers to an explicit accepted-datagram bound or reuse owner-serialized scratch storage, preserving capacity rejection, authenticated output lengths, and the crypto scratch wiping contract.
0 commit comments