Conversation
…n (Track D commit 1/6) Foundation for v0.8.0 Track D (TSN/Ethernet WCTT analysis, #149). This commit adds surface only — the new spar-network crate is a skeleton placeholder, and the Spar_Network property set provides the AADL vocabulary for switch modeling per the Option C decision in PR #152's research (`bus implementation` + `Switch_Type` discriminator). Spar_Network::{Switch_Type, Queue_Depth, Forwarding_Latency, Output_Rate} covers Phase 1 (FIFO + Priority networks). Phase 2 TSN-specific properties (Spar_TSN::*) land later. No analysis wiring, no Network Calculus primitives, no Lean theorems in this commit — those are Track D commits 2-5. New requirements: REQ-NETWORK-{001,002,003}. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
Summary
Foundation only for v0.8.0 Track D (TSN/Ethernet WCTT analysis,
#149). This is commit 1 of 6 — surface only, no algorithms.
spar-networkcrate skeleton (sibling ofspar-analysis,mirrors the
spar-solversplit).pub mod types {}placeholderreserves the import path; lib doc cites the design doc and
states the phasing.
Spar_Networkproperty set added incrates/spar-hir-def/src/standard_properties.rs, mirroring theSpar_Timing/Spar_Traceregistration idiom from feat(timing): Spar_Timing + Spar_Trace property sets (Track A foundation) (v0.7.0) #145.What's in (Phase 1 surface)
Switch_Typeenumeration (FIFO, Priority, TSN)Queue_DepthaadlintegerForwarding_LatencyTime_RangeOutput_RateData_RateSwitch_Typeis the Option C discriminator (research PR #152, §5.2):a switch is modeled as
bus implementationcarrying this property.Output_Rate's type description is the literal stringData_Rate;proper unit-aware parsing is deferred to the WCTT analysis pass
(commit 4) — same pragma
Communication_Properties::Data_Rateusestoday.
What's out (lands in later Track D commits)
SystemInstance— commit 2ArrivalCurve,ServiceCurve,min-plus convolution/deconvolution) — commit 3
wctt.rsanalysis pass +latency.rsintegration — commit 4Spar_TSN::*) — Phase 2 (v0.8.x orv0.9.0)
Tests
Three new unit tests in
crates/spar-hir-def/src/standard_properties.rs:test_standard_properties_in_spar_network— all 4 props resolveto expected types (case-insensitive).
test_spar_network_property_set_resolved_via_global_scope—GlobalScope::resolve_propertyreturnsPropertyDefwithoutexplicit
with.test_spar_network_unknown_property_returns_none— both layers(lookup table + global scope) reject unknown names.
Existing tests updated for the new total count (110 -> 114) and the
extended
is_standard_property_setenumeration.Rivet artifacts
REQ-NETWORK-001..003appended toartifacts/requirements.yaml.TEST-SPAR-NETWORK-PROPSappended toartifacts/verification.yaml,links to all three new requirements; mirrors the schema shape of
TEST-SPAR-TIMING-PROPS.Quality gates
cargo build --workspace— cleancargo test -p spar-hir-def— 429 passed (3 new + 426 pre-existing)cargo build -p spar-network— clean (skeleton compiles)cargo test -p spar-network— 0 tests (skeleton, by design)cargo clippy --workspace --all-targets -- -D warnings— cleancargo fmt --all -- --check— cleanrivet validate— PASS (91 warnings, all pre-existing schema-info)Refs
docs/designs/track-d-tsn-wctt-research.md§§5.1-5.3, 6.1Test plan
Phase 1 table and the issue's
Switch_Typeenum(FIFO / Priority / TSN — not the legacy
none / store_and_forward / cut_throughfrom the research doc, which was superseded).pub mod types {}placeholder is acceptablevs. omitting it entirely; included so commit 2 is purely additive.
🤖 Generated with Claude Code