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

Parser fuzz validation targets: findings ledger and kill criterion (#1781 B2)

Đang mở Phù hợp với người mới
#1,869 0 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ó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
68/100
Loại issue
Tài liệu
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
github-actions, typescript
Lĩnh vực
ci-cd, documentation, testing

Hướng nghiên cứu

Bắt đầu với .github/workflows/replays-nightly.yml và scripts/fuzz/validation-arbitraries.test.ts để hiểu Parser Fuzz Lane và các mục tiêu validation của nó. Xem xét các finding qua đêm và thêm một hàng vào ledger cho mỗi finding, xác định các lỗi thực sự thay vì các phantom. Được coi là hoàn tất khi tracker ghi lại từng finding và có thể áp dụng các tiêu chí phantom hoặc yield sáu tháng đã nêu trong quá trình review.

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

Mô tả

The parser fuzz lane's validation targets (cli-validation, maestro-validation, added in #1866 for #1781 B2) ship with a kill criterion that nothing currently records, so this is their live tracker — the same treatment #1823 gave the subprocess-stub project.

What the lane costs

Nightly Parser Fuzz Lane in .github/workflows/replays-nightly.yml: 38,000 cases x 7 targets, measured at parity with the pre-B2 five-target/50k budget (16.9s vs 16.8s on a quiet host; the CI step was 21s before). No new job, no macOS occupancy. PR-time cost is scripts/fuzz/validation-arbitraries.test.ts (~0.4s, unit-core) plus the corpus replay that already existed.

Findings ledger (append one row per nightly finding)

date run target · class real defect or phantom? outcome
(none yet)

A phantom is a case whose expectation was wrong rather than the parser — a generator drift, not a bug. One was caught pre-merge (--scale=1.110000000000017, float modulo drifting past a fractional max) and fixed before landing; validation-arbitraries.test.ts exists to catch that class at PR time.

Kill criteria (either fires ⇒ delete the two validation targets, keep the classic five)

  1. Phantoms: a phantom finding reaches a nightly twice.
  2. Yield: no real defect found by either validation target in 6 months of nightlies — review on 2027-02-19.

The calibration behind the lane (#1781, B3 comment) measured reach, not yield: it proved the targets can rediscover seeded defects of the shape they aim at, and explicitly did not predict how many unknown defects they will find. Criterion 2 is what tests yield, which is why this ledger exists.

Notes for whoever reviews this

  • Only two of the eight calibration rows were genuine generated new reach (#1433 via cli-validation; a silently-accepted Maestro field via maestro-validation); two more were new detection class but rediscovered by pinned seed cases, and four were already within the classic targets' reach. Judge yield against the first two.
  • Adding a mutation class is a few lines in scripts/fuzz/validation-arbitraries.ts; classes whose whole input space is a handful of strings belong in the target's seed list instead.

Umbrella: #1781 (item B2/B3). Lane: #1414. Sibling tracker: #1823.

Ngôn ngữ chính
TypeScript
Star
4.7k
Fork
304
Merge trung bình
11 giờ 6 phút
Pull request đã merge (30 ngày)
554

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

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 callstack/agent-device

Tất cả issue của callstack/agent-device

Issue tương tự

Thêm issue về TypeScript

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.