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

sessionbudget diverges from the documented Configure pattern

Đang mở Phù hợp với người mới
#1,582 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
72/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go
Lĩnh vực
backend

Hướng nghiên cứu

Đọc mẫu Configure trong docs/plugin-reference.md, sau đó kiểm tra core/plugins/sessionbudget/plugin.go quanh dòng 143 và cách xử lý tạm ở dòng 167-170. So sánh với một trong các plugin đã theo thứ tự strict-decode → applyDefaults → validate → state, rồi định hình lại Configure theo cách tương tự. Hoàn thành khi các khóa cấu hình gõ sai bị từ chối và các kiểm thử sessionbudget hiện có vẫn chạy thành công.

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

Mô tả

What

docs/plugin-reference.md mandates the Configure pattern: strict decode (DisallowUnknownFields) → applyDefaults → validate → state. 11 of the 13 Configurable plugins follow it (verified). sessionbudget is the one that doesn't:

core/plugins/sessionbudget/plugin.go:143 — plain json.Unmarshal (no strict decode), defaults set before decode, then the "explicit 0 (or unset via struct-marshal) — restore default" workaround at :167-170 — the exact bug applyDefaults-after-decode exists to prevent — plus ~90 lines of validation inlined into Configure.

Fix

A mechanical re-shape to the documented pattern. No behavior change for correct configs; misspelled config keys start being rejected like every other plugin's.

Found in the 2026-10-29 structural audit of code organization.

Ngôn ngữ chính
Go
Star
21
Fork
43
Merge trung bình
13 giờ 8 phút
Pull request đã merge (30 ngày)
267

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 rossoctl/cortex

Tất cả issue của rossoctl/cortex

Issue tương tự

Thêm issue về Go

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.