docs(roadmap): note luacheck has no enforcement anywhere - #132
Conversation
…silent local no-op) Found while verifying develop post-merge: CLAUDE.md claims CI relies on it, but no workflow runs luacheck and the edit-time hook no-ops silently when the binary is absent.
Reviewer's GuideAdds a roadmap entry documenting the gap between the stated luacheck quality guarantee and its actual absence from CI and local enforcement, and outlines possible remediation and rollout options. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've found 1 issue
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location path="dev/roadmap.md" line_range="203-216" />
<code_context>
+## luacheck n'est en réalité vérifié nulle part (ni local, ni CI)
</code_context>
<issue_to_address>
**nitpick:** The heading and conclusion state that luacheck is verified nowhere, but the local hook does run luacheck whenever the executable is installed; the documented problem is missing CI enforcement and a silent local no-op on machines without the binary, not universal absence of local checking.
**Triggers:** When a developer or future implementer reads this roadmap item outside the Windows environment described.
**Suggested fix:** Narrow the wording to say that effective enforcement is absent in CI and unavailable on this machine, while the local hook remains best-effort when luacheck is installed.
```suggestion
## luacheck n'est effectivement imposé ni en CI, ni sur cette machine
Constaté en vérifiant l'état de `develop` après le merge de `FEAT-TROOP-ZONE-SCRIPTED-API` (PR
#129, 2026-08-26) : `CLAUDE.md` affirme "`luacheck --config .luacheckrc src/` must be clean (rely
on CI if not installed locally)", mais **aucun job CI n'exécute luacheck** (grep confirmé sur
`.github/workflows/` — zéro occurrence). Le job `Lua 5.1 Syntax Check` ne fait qu'un `luac5.1 -p`
(compilation/syntaxe), pas d'analyse statique (variables inutilisées, globals implicites, etc.).
Côté local, le hook `tools/hooks/luacheck-on-edit.sh` (PostToolUse sur Edit/Write d'un fichier
`src/*.lua`) exécute luacheck lorsqu'il est installé, mais devient un **no-op silencieux** quand
`luacheck` n'est pas installé (`command -v luacheck` échoue) — le cas sur cette machine Windows
(absent du PATH et de `luarocks/rocks/bin`). Résultat : le code fusionné dans cette même PR
(`src/CTLD_zone.lua`) n'a jamais été passé au luacheck réel sur cette machine (hook muet), ni en CI
(job absent) — la garantie de qualité annoncée dans `CLAUDE.md` n'est effectivement assurée ni en
CI, ni sur cette machine.
```
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
| ## luacheck n'est en réalité vérifié nulle part (ni local, ni CI) | ||
|
|
||
| Constaté en vérifiant l'état de `develop` après le merge de `FEAT-TROOP-ZONE-SCRIPTED-API` (PR | ||
| #129, 2026-08-26) : `CLAUDE.md` affirme "`luacheck --config .luacheckrc src/` must be clean (rely | ||
| on CI if not installed locally)", mais **aucun job CI n'exécute luacheck** (grep confirmé sur | ||
| `.github/workflows/` — zéro occurrence). Le job `Lua 5.1 Syntax Check` ne fait qu'un `luac5.1 -p` | ||
| (compilation/syntaxe), pas d'analyse statique (variables inutilisées, globals implicites, etc.). | ||
|
|
||
| Côté local, le hook `tools/hooks/luacheck-on-edit.sh` (PostToolUse sur Edit/Write d'un fichier | ||
| `src/*.lua`) est un **no-op silencieux** quand `luacheck` n'est pas installé (`command -v | ||
| luacheck` échoue) — le cas sur cette machine Windows (absent du PATH et de | ||
| `luarocks/rocks/bin`). Résultat : le code fusionné dans cette même PR (`src/CTLD_zone.lua`) n'a | ||
| jamais été passé au luacheck réel, ni pendant la session (hook muet), ni en CI (job absent) — la | ||
| garantie de qualité annoncée dans `CLAUDE.md` est un filet vide depuis on ne sait combien de temps. |
There was a problem hiding this comment.
nitpick: The heading and conclusion state that luacheck is verified nowhere, but the local hook does run luacheck whenever the executable is installed; the documented problem is missing CI enforcement and a silent local no-op on machines without the binary, not universal absence of local checking.
Triggers: When a developer or future implementer reads this roadmap item outside the Windows environment described.
Suggested fix: Narrow the wording to say that effective enforcement is absent in CI and unavailable on this machine, while the local hook remains best-effort when luacheck is installed.
| ## luacheck n'est en réalité vérifié nulle part (ni local, ni CI) | |
| Constaté en vérifiant l'état de `develop` après le merge de `FEAT-TROOP-ZONE-SCRIPTED-API` (PR | |
| #129, 2026-08-26) : `CLAUDE.md` affirme "`luacheck --config .luacheckrc src/` must be clean (rely | |
| on CI if not installed locally)", mais **aucun job CI n'exécute luacheck** (grep confirmé sur | |
| `.github/workflows/` — zéro occurrence). Le job `Lua 5.1 Syntax Check` ne fait qu'un `luac5.1 -p` | |
| (compilation/syntaxe), pas d'analyse statique (variables inutilisées, globals implicites, etc.). | |
| Côté local, le hook `tools/hooks/luacheck-on-edit.sh` (PostToolUse sur Edit/Write d'un fichier | |
| `src/*.lua`) est un **no-op silencieux** quand `luacheck` n'est pas installé (`command -v | |
| luacheck` échoue) — le cas sur cette machine Windows (absent du PATH et de | |
| `luarocks/rocks/bin`). Résultat : le code fusionné dans cette même PR (`src/CTLD_zone.lua`) n'a | |
| jamais été passé au luacheck réel, ni pendant la session (hook muet), ni en CI (job absent) — la | |
| garantie de qualité annoncée dans `CLAUDE.md` est un filet vide depuis on ne sait combien de temps. | |
| ## luacheck n'est effectivement imposé ni en CI, ni sur cette machine | |
| Constaté en vérifiant l'état de `develop` après le merge de `FEAT-TROOP-ZONE-SCRIPTED-API` (PR | |
| #129, 2026-08-26) : `CLAUDE.md` affirme "`luacheck --config .luacheckrc src/` must be clean (rely | |
| on CI if not installed locally)", mais **aucun job CI n'exécute luacheck** (grep confirmé sur | |
| `.github/workflows/` — zéro occurrence). Le job `Lua 5.1 Syntax Check` ne fait qu'un `luac5.1 -p` | |
| (compilation/syntaxe), pas d'analyse statique (variables inutilisées, globals implicites, etc.). | |
| Côté local, le hook `tools/hooks/luacheck-on-edit.sh` (PostToolUse sur Edit/Write d'un fichier | |
| `src/*.lua`) exécute luacheck lorsqu'il est installé, mais devient un **no-op silencieux** quand | |
| `luacheck` n'est pas installé (`command -v luacheck` échoue) — le cas sur cette machine Windows | |
| (absent du PATH et de `luarocks/rocks/bin`). Résultat : le code fusionné dans cette même PR | |
| (`src/CTLD_zone.lua`) n'a jamais été passé au luacheck réel sur cette machine (hook muet), ni en CI | |
| (job absent) — la garantie de qualité annoncée dans `CLAUDE.md` n'est effectivement assurée ni en | |
| CI, ni sur cette machine. |
Logs a roadmap idea found while verifying
developpost-merge (PR #129):CLAUDE.mdclaims luacheck is enforced via CI when not installed locally, but grepping.github/workflows/shows zero jobs actually run it, and the localluacheck-on-edit.shPostToolUse hook no-ops silently when the binary is missing. No code has been checked by real luacheck for an unknown amount of time. No functional change, labelskip-changelog.Summary by Sourcery
Document the missing luacheck quality gate and track its restoration as a future roadmap effort.
Enhancements:
Documentation: