Validate mutually exclusive traits
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python, yaml
- Lĩnh vực
- build-system, tooling
Hướng nghiên cứu
Bắt đầu bằng cách lần theo schema trait YAML và điểm vào của quá trình xác thực tại thời điểm sinh. Xác định cách một thuộc tính tùy chọn loại trừ lẫn nhau và các kiểm tra tính nhất quán của danh sách phải xử lý các trait cùng package và các trait xuyên package. Hoàn thành khi các tập trait không hợp lệ và các khai báo không nhất quán bị từ chối, đồng thời hành vi được hỗ trợ được ghi lại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What
Investigate adding an optional property to the YAML schema for traits, for calling out other traits that are mutually exclusive to this one, and so should not appear in the same trait set.
If possible, validate at generation time that specifications do not violate this condition, and validate that mutually exclusive lists are consistent with one-another.
Why
The absence of a trait from a trait set does not mean the negation of that trait. In order to represent negation, we need a separate trait to represent the alternative.
Such opposite pairs of traits should clearly not be allowed together in the same trait set.
It is also not always clear at a glance what the "negative trait" for a given trait is.
More generally, there may be arbitrarily large subsets of traits, elements of which should never appear together in the same entity trait set (or specification).
So from both a validation and a documentation perspective, having a structured way to describe mutually exclusive groups of traits is valuable.
Notes
Cross-package mutually-exclusive traits present a difficulty for validation. So we can either skip validating these, or revisit the idea of requiring the .yml of dependencies during generation.
- Ngôn ngữ chính
- Python
- Star
- 7
- Fork
- 7
- Merge trung bình
- 1 giờ 7 phút
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của OpenAssetIO/OpenAssetIO-TraitGen
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
OpenAssetIO/OpenAssetIO-TraitGen#123 · 2 bình luận ·
-
good first issue
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
OpenAssetIO/OpenAssetIO-TraitGen#93 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
OpenAssetIO/OpenAssetIO-TraitGen#84 · 2 bình luận ·
-
Trait mutual exclusivityĐang mởbreaking change risk
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
-
Specification "inheritance"Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
OpenAssetIO/OpenAssetIO-TraitGen#65 · 1 bình luận ·
Tất cả issue của OpenAssetIO/OpenAssetIO-TraitGen
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
With emit_ontology_keys, one ontology key change is reported as two errors (keys and keys_digest)Có thể đã có người làm @rvandewater đã nhận hôm nay. Đang mởbug priority:low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 84/100
iausathub/satchecker#286 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug test
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
OpenAssetIO/OpenAssetIO#1527 ·
-
automated endpoint-dead needs-curation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
almanac-data/climate-almanac#128 ·
Maintainer thường phản hồi trong vòng 1 ngày