Skip to content

Conversation

@PLeVasseur
Copy link
Contributor

@PLeVasseur PLeVasseur commented Feb 11, 2026

Summary

  • Lands a long-planned modernization stack across up-streamer internals (control plane/data plane/routing/runtime boundaries), structured observability, and lifecycle hardening while preserving transport behavior intent.
  • Introduces deterministic cross-transport smoke validation as a first-class workflow via utils/transport-smoke-suite, including scenario binaries, matrix execution, fixture audits/contracts, and reproducible reporting artifacts.
  • Completes the strict file-backed scenario-claims refactor (no inline fallback), with report metadata provenance and matrix override guardrails.

Scope Clarification (important)

This branch is large by design and includes work that has been developed in parallel with open PR #77.

Because #77 base is not available as the PR base target in upstream, this PR is opened against main with explicit overlap disclosure.

Why this refactor should inspire confidence

  • Changes were landed incrementally across checkpointed commits, not as one opaque rewrite.
  • Domain boundaries were tightened intentionally (route lifecycle, resolver composition, ingress/egress abstractions, runtime adapter isolation).
  • Structured tracing now provides clearer lifecycle/routing/egress diagnostics for debugging and operational triage.
  • Deterministic smoke validation now exercises canonical MQTT and SOME/IP request/response + pub/sub scenarios with reproducible artifacts.
  • File-based claim loading is strict and explicit: missing/malformed/mismatched claims are hard failures.

Notable Deliverables

  • Core modernization and reliability/performance hardening in up-streamer and integration surfaces.
  • Criterion guardrail utility and advisory CI workflow.
  • Transport smoke capstone matrix runner and CI workflow.
  • 8 canonical scenario binaries with deterministic orchestration and artifacted reports.
  • File-backed claims in utils/transport-smoke-suite/claims/*.json for all scenarios.
  • Matrix --claims-path propagation + multi-scenario file override rejection.
  • Scenario report schema growth to include claims_source_path metadata.

Validation

Static checks

  • cargo fmt -- --check
  • cargo clippy -p transport-smoke-suite --all-targets -- -W warnings -D warnings
  • cargo test -p transport-smoke-suite

Runtime checks for claims/matrix behavior

  • Single scenario, default claims path
  • Single scenario, explicit claims file override
  • Matrix run, default claims path
  • Matrix run, explicit claims directory override
  • Matrix fast-fail for multi-scenario + file override
  • Full default-claims matrix dry run: cargo run -p transport-smoke-suite --bin transport-smoke-matrix -- --all (8/8 pass)

Review Guidance

To isolate unique commits from #77 overlap:

git log --oneline bugfix/issue-74-left-topic-authority..cleanup/refactor-upstream-main

That range captures the modernization + deterministic smoke suite work intended for this PR review.

Review Walkthrough (staged)

This PR currently shows 53 commits against main.
The first 10 commits overlap with open PR #77 (bugfix/issue-74-left-topic-authority) and are not the primary review target here.
Please focus on the remaining 43 unique commits.

  1. Exclude overlap first

    • git log --oneline 7d1a6c7..cleanup/refactor-upstream-main
  2. Stage 1 - Core up-streamer domain modernization (18 commits)

    • git log --oneline e76dc3d^..99c0549
    • git diff --stat e76dc3d^..99c0549
    • Focus: route lifecycle boundaries, resolver composition, runtime adapter isolation, subscription identity/dedupe behavior.
  3. Stage 2 - Runtime hardening, observability, and performance (16 commits)

    • git log --oneline 72abe59^..f16f155
    • git diff --stat 72abe59^..f16f155
    • Focus: structured tracing, ingress/egress lifecycle hardening, lock narrowing, routing/runtime performance work.
  4. Stage 3 - Deterministic transport smoke suite (8 commits)

    • git log --oneline 898f08d^..ad44a81
    • git diff --stat 898f08d^..ad44a81
    • Focus: matrix orchestration, MQTT/SOME-IP scenarios, strict file-backed claims/contracts.
  5. Stage 4 - Final metadata-only touch (1 commit)

    • git show --stat 86e7e4c

Introduce a new workspace crate with shared env, claim, process, log, report, and scenario modules so deterministic smoke execution has a single auditable runtime contract.
Introduce bounded send controls on active example entities and emit canonical READY markers from passive entities and streamers so orchestration can wait on exact startup and completion boundaries.
Implement deterministic MQTT request/response and pub/sub scenario runners with explicit claim blocks, and add fixture-driven claim-evaluation tests to keep audit expectations stable.
Implement deterministic SOME/IP request/response and pub/sub scenario binaries with explicit claim sections, and add scenario contract coverage to keep the 8-scenario registry auditable.
Add the sequential matrix orchestrator with aggregate reporting, document deterministic capstone execution and triage, and introduce a manual/nightly split-job workflow that always uploads artifacts.
Normalize egress claim patterns to match tracer-emitted field encoding and remove an unnecessary allocation in the matrix runner so clippy and live scenario validation pass consistently.
Load scenario claims from resolved JSON paths, wire --claims-path through matrix execution, and include claims source metadata in scenario reports for reproducible diagnostics.
Introduce JSON claims for all eight canonical scenarios, switch fixture/contract tests to load the same runtime claim source, and document --claims-path behavior for scenario and matrix runs.
@PLeVasseur
Copy link
Contributor Author

I am well-aware that asking review of this is pretty unreasonable without any kind of orientation.

I'm going to walk through it in tomorrow's meeting a bit.

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