adopt the defect-class guard method: generalize kamerplanter's workflow-gate-integrity hook
Ya se ha fusionado un pull request relacionado.
- #13 de @nolte — fusionado
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Empieza leyendo la definición del método en nolte/claude-shared#573, el candidato workflow-gate-integrity de kamerplanter#1313 y spec/hook-authoring. Evalúa si el hook funciona en un repositorio distinto de kamerplanter sin configuración específica del repositorio; si se adopta, verifica que falle para los defectos restaurados #1235 y #1302 y que haga referencia a #573 en spec/hook-authoring.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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-authoringreferences 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
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nolte/pre-commit-hooks
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dependency DashboardAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 20/100
Todos los issues de nolte/pre-commit-hooks
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
MISP/misp-workbench#496 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
fossasia/visdom-dev#69 ·
Los mantenedores suelen responder en 3 días
-
[Bug] Parameters named like a property break to_xcal()Posiblemente ocupada @atharvasalunke1267 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
collective/icalendar#2018 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día