hardening: a `forbids` practice whose answer is UNKNOWN falls through to FAIL with empty evidence under --allow-unknown ("runtime safety checks are compiled away: ")
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- Nửa ngày
- Mức phù hợp với người mới
- 42/100
Hướng nghiên cứu
Start in policy/practices.py around lines 66-71, where an UNKNOWN answer under allow_unknown falls through to the forbids branch and fails with empty found() evidence. Then check questions/practices.py lines 85-90 and the Swift validator in ecosystems/swift.py lines 282-294. Done means a forbids practice with UNKNOWN and no matches passes under --allow-unknown, with a regression test for the repro.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Swift projects whose CI has an unrelated unread reusable workflow (swift-argument-parser, swift-nio, vapor, SwiftLint, dart-lang/http, bloc) get FAIL "Swift's runtime safety checks are compiled away: " with nothing after the colon; grep -rn Ounchecked over each checkout returns nothing. policy/practices.py:70-71: for a forbids practice, UNKNOWN with --allow-unknown should pass on the readable evidence (nothing forbidden found), as drift gets.
Evidence from the corpus audit
dart-lang/http, felangel/bloc / hardening (Swift)
- kind: FALSE_POSITIVE
- actual: FAIL: Swift: Swift's runtime safety checks are compiled away: (nothing after the colon)
- expected: PASS: "release builds keep Swift's runtime safety checks (no -Ounchecked)", as drift gets. No
-OuncheckedorSWIFT_ENFORCE_EXCLUSIVE_ACCESS = offexists in either repo. The practice is aforbidsone; its
answer is "unknown" only because unrelated reusable workflows are unread, and--allow-unknownthen turns
"nothing forbidden found" into a failure with an empty list. - evidence:
grep -rl Ouncheckedover both checkouts: no file;
pkgs/cupertino_http/ios_test/ios/Runner.xcodeproj/project.pbxproj:549:SWIFT_OPTIMIZATION_LEVEL = "-O";;
--answersfor http:{"language": "Swift", "unit": ".", "answer": "unknown", "compilers": [{"compiler": null, "found": {}, "missing": ["-Ounchecked", "unchecked exclusivity"]}], "unknowns": ["job tidy: ... reusable workflow ..."]};
validatorproject_validator/ecosystems/swift.py:283-293:forbids=True,failed="Swift's runtime safety checks are compiled away". - repro: a Swift unit (any
.xcodeproj) + a workflow jobuses: owner/repo/.github/workflows/x.yml@sha; run with
--allow-unknown --only hardening. - confidence: high
apple/swift-argument-parser, apple/swift-nio, vapor/vapor, realm/SwiftLint / hardening
- kind: FALSE_POSITIVE
- actual: FAIL:
Swift: Swift's runtime safety checks are compiled away:(empty evidence after the colon) in all
four.allow.txt; the three projects with no unknowns (Alamofire, TCA, SwiftFormat) PASS the same check. - expected: PASS: no
-Ouncheckedor-enforce-exclusivity=uncheckedexists in any of the four repositories
(grep -rn "Ounchecked\|enforce-exclusivity"over each checkout returns nothing); with--allow-unknownthe
readable evidence shows nothing forbidden. - evidence: project_validator/questions/practices.py:85-90:
in_doubt = met if practice.forbids else not met/
if in_doubt and unknown: return Answer.UNKNOWN; project_validator/policy/practices.py:66-71: the UNKNOWN answer
withallow_unknownfalls through toif practice.forbids: return Result.failed(f"{words.failed}: {joined(answer.found())}", words.hint)
withfound()empty; project_validator/ecosystems/swift.py:282-294 (HARDENING = Practice(... forbids=True ...)).
Strict run confirms the cause: apple__swift-argument-parser.txt[ERROR] hardening: ... Swift: whether Swift's runtime safety checks are kept is unknown. - repro: a
Package.swift(// swift-tools-version:5.9, one target) plus a workflow whose only job is
uses: other/repo/.github/workflows/x.yml@v1; run with--allow-unknown: hardening FAILs with an empty list.
Fix is injudge_settings: for aforbidspractice an UNKNOWN judged permissively must pass. - confidence: high
Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.
🤖 Generated with Claude Code
- Ngôn ngữ chính
- Python
- Star
- 4
- Fork
- 1
- Merge trung bình
- 10 giờ 41 phút
- Pull request đã merge (30 ngày)
- 79
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 cpp-best-practices/project_validator
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
cpp-best-practices/project_validator#267 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
cpp-best-practices/project_validator#263 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
cpp-best-practices/project_validator#260 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
cpp-best-practices/project_validator#259 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
cpp-best-practices/project_validator#255 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của cpp-best-practices/project_validator
Issue tương tự
-
plot_graph crashes when a mesh node has no m2m edgeCó thể đã có người làm @tygvi đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
mllam/neural-lam#883 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
enhancement possible-duplicate
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 78/100
AOSSIE-Org/PictoPy#1715 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 6 ngày
-
SQLite connector omits generated columns from the catalog, and drops relationships sourced on themĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
NVIDIA/auto-ontology#511 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ethereum/execution-specs#3996 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Project-N-E-K-O/N.E.K.O#3725 ·
Maintainer thường phản hồi trong vòng 1 ngày