novahiz 0.3.3 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "novahiz",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "Enforce AI agent skills before every file edit: prompt classifier, skill catalog, and pre-edit gate.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"bootstrap": "node install/bootstrap.mjs",
|
|
48
48
|
"bootstrap:dry": "node install/bootstrap.mjs --dry-run",
|
|
49
49
|
"test": "node --experimental-strip-types --test",
|
|
50
|
+
"ci:local": "node scripts/ci-local.mjs",
|
|
50
51
|
"typecheck": "tsc --noEmit",
|
|
51
52
|
"prepare": "tsc --noEmit && tsc -p tsconfig.build.json",
|
|
52
53
|
"postinstall": "node install/install.mjs --dry-run || exit 0"
|
|
@@ -32,9 +32,9 @@ Le gate pose une seule question : les skills exigées par le contexte sont-elles
|
|
|
32
32
|
|
|
33
33
|
Hors design frontend, `novahiz-humanizer` et `ui-slop-remover` ne sont plus exigés par le gate. `impeccable` suit la même logique via R14.
|
|
34
34
|
|
|
35
|
-
**Les étapes de roadmap** (`catalog/categories.json`) : seules celles marquées `kind: "skill"` sans `optional`
|
|
35
|
+
**Les étapes de roadmap** (`catalog/categories.json`) : seules celles marquées `kind: "skill"` sans `optional` ajoutent leurs `requireSkills` au gate (filtre `step.kind !== "skill" || step.optional` — `src/gate.ts:375` — puis filtrage par tier). Les étapes `edit`, `verify` et `advisory` sont sautées par ce filtre : leurs `requireSkills` n'entrent dans `requiredSkills` que si une règle ou une étape `skill` les mentionne aussi.
|
|
36
36
|
|
|
37
|
-
## Sémantique de l'index (gate.ts, lignes
|
|
37
|
+
## Sémantique de l'index (gate.ts, lignes 404 à 422)
|
|
38
38
|
|
|
39
39
|
```
|
|
40
40
|
index disponible ET skill absente de l'index -> unmatchedRequired
|
|
@@ -43,7 +43,7 @@ sinon -> effective
|
|
|
43
43
|
|
|
44
44
|
Trois conséquences à connaître :
|
|
45
45
|
|
|
46
|
-
1. Skill absente de l'index (`build/installed-skills.json`, écrit au dernier `sync`) : elle
|
|
46
|
+
1. Skill absente de l'index (`build/installed-skills.json`, écrit au dernier `sync`) : elle n'est pas exigée, mais jamais en silence — le gate ajoute `required skill not in index, not enforced: <skill> — run "novahiz" sync to realign` aux `reasons` de la réponse, et le CLI l'imprime en warning sur stderr.
|
|
47
47
|
2. Skill présente dans l'index mais absente du disque : elle reste exigée et rien ne peut la charger. Blocage jusqu'au prochain `sync`.
|
|
48
48
|
3. Index illisible : tout est exigé. Le gate devient plus strict, jamais plus laxiste.
|
|
49
49
|
|