Skip to content

49 pri#52

Merged
matt-beanland merged 5 commits into
devfrom
49-pri
May 23, 2026
Merged

49 pri#52
matt-beanland merged 5 commits into
devfrom
49-pri

Conversation

@matt-beanland
Copy link
Copy Markdown
Collaborator

No description provided.

* AVC inherits CVC via :cvlan (single-hop) and NniGroup via [:cvlan, :svlan] (two-hop) — singular
* CVC inherits NniGroup via :svlan; new :metrics characteristic with avcs_count, avcs_total_bandwidth
* NniGroup new :metrics with cvcs/nnis counts and totals, plus utilization
* NniGroup new :nnis calc — brings up each comprised NNI's typed value via :contains relationship
* New InheritedCharacteristicViaAssignment (renamed) and InheritedCharacteristicViaRelationship sibling calcs
* BandwidthProfile.downstream/1 maps profile atoms to Mbps
* 3 new tests, 52/52 pass
* NTD :unis calc — reverse-inherits each assigned UNI's typed value via :port
* ReverseInheritedCharacteristic extended with thing: filter (source-side principle)
* New test/nbn/show_neo4j_test.exs — sync, non-sandboxed exploration module that builds the NBN graph in real Neo4j for browser inspection. Both prior :show_json tests moved here and re-tagged :show_neo4j
* DataCase reverted to its original shape — sandbox isolates without needing per-module wipes
* 1 new sandboxed test, 53/53 pass
* PRI single-hop avc/uni via :owns relationship; two-hop cvc/ntd via :owns then assignment
* InheritedCharacteristicViaRelationship extended with then_via: for mixed paths
* 1 new sandboxed test, 1 new show_neo4j exploration test, 54/54 pass
Convention refinement across PRs 1-3: aliases on assignments and on PRI's
owns relationships now identify the related resource each consumer is
part of (its domain role), not the slot/thing being received.

* avc sets :cvc, cvc sets :nni_group, uni sets :ntd on their assignments
* pri's owns relationships aliased :circuit (AVC) and :port (UNI)
* inheritance walks updated to follow the new aliases
* pool/metrics aggregations unaffected (still filter by `thing`)
* memories and moduledoc examples revised
Match the NBN convention from #49: alias on the consumer's assignment
names the upstream related resource it's part of, not the slot/thing
being received.

* Card sets :shelf on its slot assignment (was :slot)
* Path sets :card on its port assignment (was :port)
* Card.shelf walks via [:shelf]; Card.slot filters alias :shelf
* Path.card walks via [:card]; Path.shelf via [:card, :shelf]; Path.port filters alias :card
* Shelf.cards filters alias :shelf (was :slot)
* ShelfTotalPorts filters alias :shelf
* Tests updated; 54/54 pass
@matt-beanland matt-beanland linked an issue May 23, 2026 that may be closed by this pull request
@matt-beanland matt-beanland merged commit 390dcb3 into dev May 23, 2026
2 checks passed
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.

improve nbn domain — characteristics inherited via assignment

1 participant