Skip to content

feat(observability): distinguish HTTP response selection from delivery failure - #13

Draft
afourniernv wants to merge 4 commits into
feat/5397-mcp-correlation/afourniernvfrom
feat/5398-terminal-delivery/afourniernv
Draft

afourniernv wants to merge 4 commits into
feat/5397-mcp-correlation/afourniernvfrom
feat/5398-terminal-delivery/afourniernv

Conversation

@afourniernv

@afourniernv afourniernv commented Nov 9, 2026 •

Copy link
Copy Markdown
Owner

Summary

Distinguish response selection from completed delivery, retaining late failures
without rewriting the primary security record. This is layer 6/6, based on
MCP #12.
The HTTP core remains NVIDIA #5214.

Related Issue

Closes NVIDIA#5398. Tracking: NVIDIA#5210.
This remains the last draft in the author-fork stack, not upstream promotion.

Changes

  • Extend the existing owned openshell.http.response span through required
    pipeline and transport completion, including final flush/shutdown.
  • Count accepted sink writes separately from buffered receipt/header processing.
    Keep interim responses distinct from accepted final headers.
  • Preserve specific middleware, policy and transport causes across generic
    errors; distinguish a complete local error response from failed delivery.
  • Emit at most one delivery-terminal record after late failure or cancellation.
    Keep legitimate middleware findings and the immutable primary record.
  • Preserve final-byte/head/trailer withholding, generation checks, credential
    custody, and intentional early-response upload cancellation.

The lifecycle works without exported spans. No new public API, configuration,
gateway RPC, protobuf, dependency or payload capture. No broad test-file moves.

Testing

  • Final integrated head 6b81f8784: network 1,742, OCSF 188,
    middleware 166 and OpenTelemetry 70 passed: 2,166 total; two existing ignores.
  • Real relay tests cover no-tracer/unsampled/sampled paths, partial and zero
    writes, flush/shutdown failures, cancellation, reload and late failures.
  • Current and Legacy coverage retains local 403/502 completion, typed
    middleware rejection and upstream errors, and actual response/root timing.
  • Strict all-target Clippy and the full normal pre-commit hook passed.
  • The core timing fix is inherited through the updated parents, not duplicated
    in this layer.
  • Final integrated stack 6b81f8784: full mise run test passed unchanged
    (9,189 Rust tests, 94 auxiliary tests, Python 211 and TypeScript 206).
  • Ten live native Hermes/Relay workflows used matching-source binaries. A real
    target returned 200 then truncated its declared body: the immutable primary
    retained 200 and exactly one terminal record captured incomplete delivery.
    This also passed with supervisor trace export disabled, retaining OCSF and
    receipts with zero exported supervisor roots.

Live evidence is cumulative on the final stack, not isolated-layer E2E. Initial
fixture failures and incomplete agent attempts are retained; isolated and final
full reruns passed. Full repository mise run ci is not claimed.

Checklist

  • Conventional Commits and DCO sign-offs; existing history retained.
  • Crate and published observability documentation updated.
  • Final signed parent carry; parents 25df1d0dd and 8801b1fa2.
  • Fresh combined-stack live validation.
  • Upstream promotion after earlier layers.

…ivery

Signed-off-by: Alex Fournier <afournier@nvidia.com>
Signed-off-by: Alex Fournier <afournier@nvidia.com>
Signed-off-by: Alex Fournier <afournier@nvidia.com>
…tion

Signed-off-by: Alex Fournier <afournier@nvidia.com>
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