Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

HermitCrab conformance: verify blocked_by labels against the trace in the dead-rule gate

Đang mở
#552 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

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ó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
52/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
csharp
Lĩnh vực
testing

Hướng nghiên cứu

Start with CoverageReport.cs:113-114 to see how blocked_by labels enter the exercised-rule set, then read FailureRuleAttributor.cs:66 and its trace attribution behavior. Add a reviewed exemption for failures the trace cannot attribute, including zimed, and make a mutated label fail the gate. The issue points to code at #480 commit b49433d7.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Hermit Crab

Summary

The conformance suite's dead-rule gate credits a rule as exercised whenever an expected-failure word names it in blocked_by. It never checks that the rule actually blocked the word. A wrong or stale label therefore counts as coverage.

FailureRuleAttributor.WordLevelFailureRuleIds is documented as upgrading those labels to verified, but it has no callers.

This is a proposal. #480 is adding two weaker steps:

  • the gate fails when a label is not a rule id in the fixture's grammar;
  • the docs say that blocked_by is asserted, not verified.

This issue tracks the stronger step: verify each label against the parse trace.

Who is affected: maintainers of the HermitCrab conformance suite (#480) and its PanGloss port.

Done when:

  • the gate requires the trace to attribute each word's failure to the rule named in blocked_by;
  • the gate keeps an explicit, reviewed exemption list for words whose failure cannot be attributed from the trace (the attributor's doc names zimed);
  • a mutated label fails the gate.
Code, on #480 at b49433d7
  • CoverageReport.cs:113-114 adds every word.BlockedBy id to the exercised set, with no check.
  • FailureRuleAttributor.cs:66 defines WordLevelFailureRuleIds. The only reference outside its own file is a string in OwnedSymbolKeyTests.cs:132.
  • At that head, all 108 blocked_by labels name real rule ids in their fixture grammars, so no label is wrong today.
Ngôn ngữ chính
C#
Star
29
Fork
16
Merge trung bình
6 ngày 13 giờ
Pull request đã merge (30 ngày)
12

Chuẩn bị môi trường

  • Không có Dockerfile hay tệp Docker Compose
  • Có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của sillsdev/machine

Tất cả issue của sillsdev/machine

Issue tương tự

Thêm issue về C#

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.