Repository navigation
feat(model): add data product concept and registry - #1001
marcpaterno wants to merge 1 commit into
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 59 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Clang-Tidy Check ResultsClang-tidy found the following issue(s) on lines changed by this pull request: |
Codecov Report❌ Patch coverage is
@@ Coverage Diff @@
## stack/concept-registry/02-empty-values #1001 +/- ##
==========================================================================
+ Coverage 89.28% 89.37% +0.09%
==========================================================================
Files 176 180 +4
Lines 6092 6145 +53
Branches 1016 1025 +9
==========================================================================
+ Hits 5439 5492 +53
Misses 408 408
Partials 245 245
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 1 file with indirect coverage changes Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
e515c6d to
6e639c9
Compare
Summary
PR 3 of the five-PR concept-registry stack; review against
stack/concept-registry/02-empty-values.Add experimental data-product concepts: named abstractions that can be modeled
by multiple concrete data-product types. Add a registry owning those concepts.
idempotent. Concept equality compares name and concrete-type membership.
a matching concept, not a deterministic preferred concept.
neither copyable nor movable.
tests, and the explicit
<mutex>include required for portability.Conversion records and executable translator nodes belong to subsequent PRs.
Evidence
After: Membership tests pass 16 assertions in 8 cases; registry tests pass
61 assertions in 22 cases, covering insertion, duplicate union, lookups,
rejection, sorted names, and shared-type membership.
The before/after is the API delta, not a failing-parent test claim. Results are
local macOS/AppleClang; Linux and TSAN execution are not established. Registry
cases are sequential: overlapping-operation runtime verification is still open
as separate follow-up work.
Merge Danger
Door: Two-way
Additive experimental model APIs with no persisted-format change. Reversion
after later adoption requires removing dependent APIs and callers.
Blast Radius: Model
Locks protect operations through registry methods, not dereferences or mutations
of returned pointers after a call. Callers must coordinate those accesses.
Mutable lookup also permits assignment that changes a concept's identity without
updating its registry key; that inherited API limitation is not hardened here.
Stack created with GitHub Stacks CLI • Give Feedback 💬