feat(analysis): authoritative network-wide NC bound = min(PLP,TFA) (REQ-NC-PLP-MIN-001)#307
Merged
Conversation
…A) (REQ-NC-PLP-MIN-001) network_wide_nc_bounds now emits a per-stream WcttAuthoritativeBound equal to the pointwise minimum of the network-wide TFA and PLP end-to-end delays. PLP and TFA are incomparable sound over-approximations; their min is the tightest sound per-flow bound and is itself sound (no new soundness surface). Falls back to TFA when PLP is absent (milp-solver off, or non-feed-forward). Oracle (TEST-NC-PLP-MIN): on the converging-tree counterexample where the fast stream's PLP (~1148us) exceeds its TFA (~1048us), the authoritative bound must equal TFA and sit strictly below PLP; and == min(PLP,TFA) for every stream; and == TFA when PLP is absent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Rivet verification gate✅ 20/20 passed
Filter: Failed artifacts(none) Updated automatically by |
avrabe
added a commit
that referenced
this pull request
Jun 30, 2026
v0.22.0 — "Deployable TSN synthesis". Three features shipped since v0.21.0: - REQ-NC-PLP-MIN-001 (#307) — authoritative per-flow NC bound = min(PLP, TFA). - REQ-WRPC-BINDING-003 (#308) — verify Actual_Connection_Binding resolves to a bus. - REQ-TSN-SYNTH-QBV-GUARDBAND-001 (#309) — guard-band-aware 802.1Qbv GCL splitting (deployment-sound; charges the §8.6.8.4 transmission-overrun guard). Release-handling: adopts rivet 0.22's `release` flow. The three features carry a top-level `release: v0.22.0` field and are advanced to `verified` (each now has a `verifies` link from its TEST-* feature); `rivet release status v0.22.0` reports cuttable (every scoped artifact verified). Stale `fields.release` entries removed on the migrated artifacts. Cross-version-checked: CI rivet v0.4.3 (merge gate) and v0.7.0 (verification gate) both PASS with unchanged warning counts. Scope correction (clean-room audit blocker): REQ-TSN-SYNTH-CQF-LONGLINK-001 moved to v0.23.0 via `rivet release move` — its committed spec is unsound (delay interval inverts on long links) and is deferred for a sound cycle-quantized rewrite; a SPEC-UNDER-REVISION marker + the corrected model are recorded in the artifact. Bumps workspace 0.21.0 → 0.22.0 (Cargo.toml, Cargo.lock, vscode-spar/package.json). Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First v0.22.0 feature ("Deployable TSN synthesis" theme). Closes the V for REQ-NC-PLP-MIN-001.
What
network_wide_nc_boundsnow emits a per-streamWcttAuthoritativeBound=min(TFA, PLP)— the tightest sound per-flow network-calculus bound. PLP and TFA are incomparable sound over-approximations (both ≥ exact, neither dominates), so their pointwise minimum is the number downstream consumers should trust: never worse than TFA, with the PLP win wherever PLP is tighter.min.minover two sound bounds is itself sound → no new soundness surface; this is pure presentation/selection and does not change either engine.Oracle —
TEST-NC-PLP-MINnetwork_wide_authoritative_bound_is_min_of_plp_and_tfaruns the converging-tree fixture (bridge_converge_aadl) — the documented incomparability counterexample where the fast stream's pure PLP (~1148µs) exceeds its TFA (~1048µs) — and asserts:authoritative == min(PLP, TFA)for every stream;Genuinely red→green (
WcttAuthoritativeBounddid not exist before).Gates (local)
-D warningsclean; nightly fmt clean.--in-diff: 1/1 caught (the.minmutant is killed by the counterexample oracle).Falsification
If
WcttAuthoritativeBoundever exceeds either the TFA or the PLP bound for a stream, or omits a stream that has a TFA bound, the selection is wrong.🤖 Generated with Claude Code