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

adopt the defect-class guard method: generalize kamerplanter's workflow-gate-integrity hook

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

Một pull request liên quan đã được merge.

  • #13 của @nolte — đã merge

Đá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
Sôi nổi
Công nghệ
git, github, python
Lĩnh vực
ci-cd, devops, tooling

Hướng nghiên cứu

Bắt đầu bằng cách đọc định nghĩa phương thức trong nolte/claude-shared#573, ứng viên workflow-gate-integrity từ kamerplanter#1313 và spec/hook-authoring. Đánh giá xem hook có hoạt động trong một repository khác kamerplanter mà không cần cấu hình dành riêng cho repository hay không; nếu được áp dụng, hãy xác minh rằng nó chuyển sang trạng thái đỏ đối với các lỗi #1235 và #1302 đã được khôi phục, đồng thời tham chiếu #573 trong spec/hook-authoring.

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

Mô tả

cicd enhancement

Depends on nolte/claude-shared#573, which defines the method these hooks implement.

Why here

nolte/kamerplanter runs 20 pre-commit hooks that each lock in one closed defect class, named after its issue. This repository ships two generic hooks. Most of kamerplanter's are domain-bound (tenant keys, seed schemas, plant phases) and stay there. A few are not.

Candidate, and it is a candidate, not a given

workflow-gate-integrity (kamerplanter#1313): no CI gate that cannot fail, or cannot run on the change it is meant to check.

It is the strongest candidate because it mechanises the failure class on the CI side, and every repository with GitHub Actions has that surface. The defects it was built from, all real and all invisible while green:

  • kamerplanter#1235 — a freshness check whose grace window is anchored on the newest build rather than on the pin, so it can never alert
  • kamerplanter#1302 — a pin assertion whose path filter excludes the very file whose pin it asserts, so it cannot fire on the PR that changes it
  • kamerplanter#1228 — a pre-publish gate requiring a check that structurally cannot report at the point it is demanded
  • kamerplanter#1308 — a clean scan and a scan that never ran, indistinguishable downstream

Adoption is conditional: the hook must be configurable without kamerplanter's path assumptions. If it cannot be, say so and close — a hook that only works in one repository belongs in that repository.

A second, weaker candidate is a generic form of layer-imports. Assess it after the first lands, or not at all.

Acceptance criteria

  • The hook runs against a repository other than kamerplanter with no kamerplanter-specific configuration
  • Falsification, per adopted hook: restore the pre-fix state of kamerplanter#1235 and of #1302 and run the hook. Red both times. A hook that is green in its origin repository and has never been red in the new one is not verified, it is installed.
  • spec/hook-authoring references nolte/claude-shared#573 as the method the hook implements

References

  • kamerplanter spec/analysis/development-process-improvement-plan-2026-09-11.md §M3
  • kamerplanter#1313, #1235, #1302, #1228, #1308
Ngôn ngữ chính
Python
Star
0
Fork
0
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

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 nolte/pre-commit-hooks

Tất cả issue của nolte/pre-commit-hooks

Issue tương tự

Thêm issue về Python

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.