@mcptoolshop/style-dataset-lab 3.1.0 → 3.3.0
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/CHANGELOG.md +61 -0
- package/README.es.md +96 -63
- package/README.fr.md +97 -64
- package/README.hi.md +108 -77
- package/README.it.md +97 -64
- package/README.ja.md +105 -72
- package/README.md +33 -0
- package/README.pt-BR.md +94 -61
- package/README.zh.md +98 -65
- package/bin/sdlab.js +71 -0
- package/lib/adapters/ai-toolkit.js +209 -0
- package/lib/adapters/comfyui-runner.js +36 -2
- package/lib/adapters/comfyui-workflows.js +133 -2
- package/lib/adapters/diffusers-lora.js +46 -66
- package/lib/adapters/generic-image-caption.js +22 -50
- package/lib/canon-build/build.js +450 -0
- package/lib/canon-build/emitters/base.js +122 -0
- package/lib/canon-build/emitters/character.js +167 -0
- package/lib/canon-build/emitters/deity.js +165 -0
- package/lib/canon-build/emitters/faction.js +161 -0
- package/lib/canon-build/emitters/index.js +38 -0
- package/lib/canon-build/emitters/location.js +153 -0
- package/lib/canon-build/emitters/monster.js +131 -0
- package/lib/canon-build/emitters/relic.js +142 -0
- package/lib/canon-build/emitters/ship.js +154 -0
- package/lib/canon-build/emitters/species.js +165 -0
- package/lib/canon-build/frontmatter.js +76 -0
- package/lib/canon-build/lane-resolve.js +64 -0
- package/lib/canon-build/load-config.js +117 -0
- package/lib/canon-build/load-entry.js +62 -0
- package/lib/canon-build/load-schema.js +46 -0
- package/lib/captions.js +197 -0
- package/lib/config.js +19 -0
- package/lib/critique-engine.js +46 -1
- package/lib/critique-render.js +45 -0
- package/lib/freeze-events.js +109 -0
- package/lib/freeze-gate.js +208 -0
- package/lib/freeze-stamp.js +161 -0
- package/lib/rows.js +228 -0
- package/lib/run-manifest.js +308 -0
- package/lib/snapshot.js +7 -1
- package/lib/training-adapters.js +5 -0
- package/lib/training-packages.js +24 -18
- package/lib/training-profiles.js +33 -0
- package/lib/verifier.js +67 -0
- package/package.json +12 -3
- package/scripts/_batch_cut.py +71 -0
- package/scripts/_seam_cutout.py +74 -0
- package/scripts/canon-build.js +88 -0
- package/scripts/canon-drift.js +193 -0
- package/scripts/canon-freeze-status.js +85 -0
- package/scripts/canon-freeze.js +211 -0
- package/scripts/canon-unfreeze.js +137 -0
- package/scripts/critique.js +32 -7
- package/scripts/curate.js +33 -0
- package/scripts/generate-controlnet.js +12 -0
- package/scripts/generate-identity.js +20 -4
- package/scripts/generate-ipadapter.js +11 -0
- package/scripts/generate.js +262 -102
- package/scripts/qwen_generate.py +327 -0
- package/scripts/run-generate.js +3 -0
package/README.fr.md
CHANGED
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Écrivez vos règles visuelles. Générez des œuvres d’art. Évaluez chaque image en fonction de ces règles. Diffusez les résultats sous forme de données d’entraînement versionnées et auditables, puis mettez en œuvre les modèles entraînés dans des flux de travail de production réels et renvoyez les meilleurs résultats dans votre corpus.
|
|
17
17
|
|
|
18
|
-
Style Dataset Lab relie
|
|
18
|
+
Style Dataset Lab relie ce que vous avez écrit sur votre style artistique à l’ensemble de données à partir duquel vous effectuez réellement l’entraînement, puis boucle le processus jusqu’à la production. Vous définissez une constitution : règles de silhouette, contraintes de palette, langage des matériaux, tout ce qui compte pour votre projet. Le pipeline génère des candidats, les évalue en fonction de ces règles et regroupe les œuvres approuvées dans des ensembles de données reproductibles où chaque enregistrement explique pourquoi il a été inclus.
|
|
19
19
|
|
|
20
|
-
Ensuite,
|
|
20
|
+
Ensuite, l’environnement de travail de production prend le relais : compilez des instructions de génération à partir des éléments clés du projet, exécutez-les via ComfyUI, évaluez les résultats, produisez en série des feuilles d’expression et des planches d’ambiance, sélectionnez les meilleurs résultats et réintégrez-les en tant que nouveaux candidats. La boucle se ferme : produire, sélectionner, examiner, améliorer.
|
|
21
21
|
|
|
22
22
|
## Le pipeline
|
|
23
23
|
|
|
@@ -56,56 +56,87 @@ sdlab select --run run_2026-04-16_001 --approve 001.png,003.png
|
|
|
56
56
|
sdlab reingest selected --selection selection_2026-04-16_001
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
Cette dernière commande est essentielle. Les résultats sélectionnés
|
|
59
|
+
Cette dernière commande est essentielle. Les résultats sélectionnés repassent par le même processus d’évaluation que tous les autres éléments. Le corpus s’enrichit et les règles sont respectées.
|
|
60
60
|
|
|
61
|
-
##
|
|
61
|
+
## Création de contenu canonique
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
Avant l’exécution du pipeline de l’ensemble de données, l’espace de noms `sdlab canon *` transforme le référentiel d’entités canoniques de votre projet en les trois projections que l’entraînement et la production utilisent réellement, et verrouille les entrées qui ne doivent pas être modifiées.
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
```bash
|
|
66
|
+
# Build three projections from the canon entity store:
|
|
67
|
+
# dataset.jsonl → training adapters
|
|
68
|
+
# prompts/*.j2 → ComfyUI workflow invocation
|
|
69
|
+
# context/*.md → Role OS narrative dispatch
|
|
70
|
+
sdlab canon build --project my-project
|
|
71
|
+
|
|
72
|
+
# Freeze an entry so regeneration can't silently change it
|
|
73
|
+
sdlab canon freeze kael_maren --project my-project --reason "prologue portrait locked"
|
|
74
|
+
|
|
75
|
+
# Report drift on frozen entries since the last clean build
|
|
76
|
+
sdlab canon drift --project my-project
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
`canon build` est basé sur des adresses de contenu : sa sortie est identifiée par un `canon_sha` et mise en cache, de sorte qu’une reconstruction du canon non modifié se fait instantanément. `canon freeze` atteste de chaque blocage par rapport à une version spécifique et l’ajoute à un journal d’audit `freeze-events.jsonl` : les entrées `frozen` refusent purement et simplement la régénération, les entrées `soft-advisory` refusent par défaut (contournement possible avec `--i-know`). `canon drift` recalcule le hachage de chaque entrée surveillée et signale tout ce qui a changé depuis la dernière reconstruction propre.
|
|
80
|
+
|
|
81
|
+
Flux de travail complet dans le manuel : [Canon build](handbook/canon-build/), [Canon freeze](handbook/canon-freeze/) et [Empilement Two-LoRA](handbook/two-lora-stacking/).
|
|
82
|
+
|
|
83
|
+
## Ce qu’il produit
|
|
84
|
+
|
|
85
|
+
Sept artefacts d’ensemble de données et un environnement de travail de production complet. Chaque artefact est lié à ses prédécesseurs, ce qui vous permet de retracer tout enregistrement d’entraînement jusqu’à la règle qui l’a approuvé.
|
|
86
|
+
|
|
87
|
+
| Artefact. | Ce que c’est. |
|
|
66
88
|
|----------|-----------|
|
|
67
|
-
| **Snapshot** | Sélection
|
|
68
|
-
| **Split** | Partitionnement entraînement/validation/test où les familles de sujets ne
|
|
69
|
-
| **Export package** | Ensemble de données autonome : manifeste, métadonnées, images,
|
|
70
|
-
| **Eval pack** | Tâches de
|
|
71
|
-
| **Training package** | Disposition prête pour
|
|
72
|
-
| **Eval scorecard** |
|
|
73
|
-
| **Implementation pack** | Exemples
|
|
89
|
+
| **Snapshot** | Sélection des enregistrements figés avec empreinte de configuration. Chaque inclusion a une raison explicite. |
|
|
90
|
+
| **Split** | Partitionnement entraînement/validation/test où les familles de sujets ne se croisent jamais. |
|
|
91
|
+
| **Export package** | Ensemble de données autonome : manifeste, métadonnées, images, partitions, fiche d’informations sur l’ensemble de données, sommes de contrôle. |
|
|
92
|
+
| **Eval pack** | Tâches de test tenant compte du canon : couverture des voies, dérive interdite, ancrage/or, continuité des sujets. |
|
|
93
|
+
| **Training package** | Disposition prête pour le formateur via des adaptateurs (`diffusers-lora`, `generic-image-caption`). Même vérité, format différent. |
|
|
94
|
+
| **Eval scorecard** | Résultat de réussite/échec par tâche obtenu en évaluant les résultats générés par rapport aux ensembles d’évaluation. |
|
|
95
|
+
| **Implementation pack** | Exemples d’invites, erreurs connues, tests de continuité et instructions pour la réintégration. |
|
|
74
96
|
|
|
75
|
-
|
|
97
|
+
L’environnement de travail de production ajoute :
|
|
76
98
|
|
|
77
|
-
| Surface | Ce que cela fait |
|
|
99
|
+
| Surface. | Ce que cela fait. |
|
|
78
100
|
|---------|-------------|
|
|
79
|
-
| **Compiled brief** |
|
|
80
|
-
| **Run** | Artefact d
|
|
81
|
-
| **Critique** | Évaluation structurée
|
|
82
|
-
| **Batch** | Production coordonnée
|
|
83
|
-
| **Selection** | Artefact de décision créative : quels résultats ont été choisis, pourquoi et d
|
|
84
|
-
| **Re-ingest** | Les résultats sélectionnés sont renvoyés en tant qu
|
|
101
|
+
| **Compiled brief** | Instruction de génération déterministe à partir du profil de flux de travail + des éléments clés du projet. |
|
|
102
|
+
| **Run** | Artefact d’exécution figé : instruction + graines + résultats ComfyUI + manifeste. |
|
|
103
|
+
| **Critique** | Évaluation structurée multidimensionnelle des résultats de l’exécution par rapport au canon. |
|
|
104
|
+
| **Batch** | Production coordonnée multi-slots (feuilles d’expression, planches d’ambiance, ensembles de silhouettes). |
|
|
105
|
+
| **Selection** | Artefact de décision créative : quels résultats ont été choisis, pourquoi et d’où ils proviennent. |
|
|
106
|
+
| **Re-ingest** | Les résultats sélectionnés sont renvoyés en tant qu’enregistrements candidats avec une provenance complète de la génération. |
|
|
85
107
|
|
|
86
108
|
## Pourquoi cela existe
|
|
87
109
|
|
|
88
|
-
Les données d
|
|
110
|
+
Les données d’entraînement constituent l’artefact le plus important dans tout pipeline d’IA visuelle. Mais la plupart des données d’entraînement ne sont qu’un dossier d’images sans historique, sans suivi de l’évaluation et sans lien avec les règles de style qu’elles étaient censées suivre.
|
|
111
|
+
|
|
112
|
+
Style Dataset Lab rend le lien explicite. Votre constitution définit les règles. Votre barème définit les dimensions d’évaluation. Vos enregistrements de sélection consignent l’évaluation. Votre liaison canonique prouve le lien. Et votre ensemble de données conserve tout cela sous une forme structurée, interrogeable et reproductible.
|
|
113
|
+
|
|
114
|
+
Le résultat pratique : lorsque votre LoRA dérive, vous pouvez demander *pourquoi*. Lorsque votre prochain cycle d’entraînement a besoin de meilleures données, vous savez exactement quels enregistrements sont presque corrects et quelle règle ils ont violée. Lorsqu’un nouveau membre de l’équipe demande quel est le langage visuel du projet, la réponse n’est pas un tableau Figma, mais une constitution consultable avec 1 182 exemples notés.
|
|
115
|
+
|
|
116
|
+
## Prouvé en production
|
|
117
|
+
|
|
118
|
+
Il ne s’agit pas d’un pipeline de démonstration. Deux LoRA de style réels ont été mis en œuvre de bout en bout grâce à celui-ci, en utilisant la même boucle canon → sélection → entraînement → diffusion, aux extrémités opposées du spectre de la sélection.
|
|
89
119
|
|
|
90
|
-
|
|
120
|
+
- **[Tallow Fen](handbook/case-study-tallow-fen/)** (conception de créatures) : un canon de bestiaire créé à partir de zéro, avec environ 34 % d’approbation sur 293 enregistrements sélectionnés (169 rejetés — la porte rejette fermement). Diffusion de `tallow_fen_style_v3.safetensors` @ 1.5 sur `qwen-image`.
|
|
121
|
+
- **[Rustline](handbook/case-study-rustline/)** (conception de concepts) : canon dense et préformé, avec environ 96 % d’approbation sur 180 enregistrements. Diffusion de `rustline_v3ckpt_1500.safetensors` @ 1.0 sur `qwen-image`, réutilisé en aval par un deuxième projet.
|
|
91
122
|
|
|
92
|
-
|
|
123
|
+
Même pipeline, deux profils de production : la porte de sélection est réelle (elle rejette fermement les sujets ouverts) et une canonisation disciplinée donne des taux d’acceptation élevés.
|
|
93
124
|
|
|
94
125
|
## Cinq domaines, règles réelles
|
|
95
126
|
|
|
96
|
-
|
|
127
|
+
Pas de modèles génériques. Chaque domaine est livré avec des règles de constitution de qualité professionnelle, des définitions de voies, des barèmes d’évaluation et un vocabulaire de groupe.
|
|
97
128
|
|
|
98
|
-
| Domaine |
|
|
129
|
+
| Domaine | Voies | Ce qui est évalué |
|
|
99
130
|
|--------|-------|-----------------|
|
|
100
|
-
| **game-art** | personnage, environnement, accessoire, interface utilisateur, vaisseau, intérieur, équipement | Silhouette à l
|
|
101
|
-
| **character-design** | portrait, corps entier,
|
|
102
|
-
| **creature-design** | concept, orthographique, étude de
|
|
103
|
-
| **architecture** | extérieur, intérieur, paysage urbain, détail structurel, ruine, paysage | Structure, cohérence des matériaux, perspective, cohérence de l
|
|
104
|
-
| **vehicle-mech** | extérieur, cockpit, composant, schéma, feuille de silhouette, variante
|
|
131
|
+
| **game-art** | personnage, environnement, accessoire, interface utilisateur, vaisseau, intérieur, équipement | Silhouette à l’échelle du jeu, identification de la faction, usure et vieillissement |
|
|
132
|
+
| **character-design** | portrait, corps entier, rotation, feuille d’expressions, pose d’action | Proportions, cohérence du costume, personnalité, clarté des gestes |
|
|
133
|
+
| **creature-design** | concept, orthographique, étude de détails, action, référence d’échelle, habitat | Anatomie, logique évolutive, distinction de la silhouette |
|
|
134
|
+
| **architecture** | extérieur, intérieur, paysage urbain, détail structurel, ruine, paysage | Structure, cohérence des matériaux, perspective, cohérence de l’époque |
|
|
135
|
+
| **vehicle-mech** | extérieur, cockpit, composant, schéma, feuille de silhouette, variante de dommage | Logique mécanique, langage du design, points d’accès, récit des dommages |
|
|
105
136
|
|
|
106
137
|
## Structure du projet
|
|
107
138
|
|
|
108
|
-
Chaque projet est autonome. Cinq fichiers de configuration JSON définissent les règles
|
|
139
|
+
Chaque projet est autonome. Cinq fichiers de configuration JSON définissent les règles ; tout le reste est constitué de données.
|
|
109
140
|
|
|
110
141
|
```
|
|
111
142
|
projects/my-project/
|
|
@@ -129,17 +160,19 @@ projects/my-project/
|
|
|
129
160
|
|
|
130
161
|
## Propriétés de confiance
|
|
131
162
|
|
|
132
|
-
Ce ne sont pas des
|
|
163
|
+
Ce ne sont pas des objectifs à atteindre. Elles sont appliquées.
|
|
133
164
|
|
|
134
|
-
- **Les instantanés sont immuables.** L
|
|
135
|
-
- **Les
|
|
136
|
-
- **Les manifestes sont des contrats figés.**
|
|
137
|
-
- **Les
|
|
138
|
-
- **
|
|
165
|
+
- **Les instantanés sont immuables.** L’empreinte de configuration (SHA-256) prouve qu’il n’y a eu aucun changement.
|
|
166
|
+
- **Les divisions empêchent les fuites.** Les familles de sujets (par identité, lignée ou suffixe d’ID) ne traversent jamais les limites des partitions.
|
|
167
|
+
- **Les manifestes sont des contrats figés.** Hachage d’exportation + empreinte de configuration. Si quoi que ce soit change, créez-en un nouveau.
|
|
168
|
+
- **Les exécutions fixent leur graphique exact.** Chaque génération enregistre `comfy_workflow_sha` + hachages du contenu du modèle/LoRA + politique de graines, de sorte qu’une série peut être rejouée octet par octet — identique sur les exécutants JS et Python. Le hachage des modèles est facultatif (`--hash-models`) et n’est jamais fabriqué.
|
|
169
|
+
- **Aucun modèle ne vérifie sa propre sortie.** Les évaluations enregistrent `judged_by_model` et `generator_model`; un avertissement s’affiche si ce sont toujours le même modèle.
|
|
170
|
+
- **Les adaptateurs ne peuvent pas modifier la vérité.** Disposition différente, mêmes enregistrements. Pas d’ajouts, pas de suppressions, pas de reclassification.
|
|
171
|
+
- **Les sorties générées réintègrent le processus par le biais de l’examen.** Pas de contournement. Organisez et liez comme tout le reste.
|
|
139
172
|
|
|
140
173
|
## Star Freight
|
|
141
174
|
|
|
142
|
-
Le dépôt comprend un exemple
|
|
175
|
+
Le dépôt comprend un exemple complet et fonctionnel : 1 182 enregistrements, 5 factions, 7 voies, 24 règles de constitution, 892 actifs approuvés, 2 profils d’entraînement. Un canon visuel RPG de science-fiction réaliste, entièrement organisé.
|
|
143
176
|
|
|
144
177
|
```bash
|
|
145
178
|
git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
|
|
@@ -149,9 +182,9 @@ sdlab snapshot create --project star-freight # 839 eligible records
|
|
|
149
182
|
sdlab split build --project star-freight # zero subject leakage
|
|
150
183
|
```
|
|
151
184
|
|
|
152
|
-
## Formats
|
|
185
|
+
## Formats en aval
|
|
153
186
|
|
|
154
|
-
`sdlab` est propriétaire de l
|
|
187
|
+
`sdlab` est propriétaire de l’ensemble de données. La conversion de format est gérée par [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) : TRL, LLaVA, Qwen2-VL, JSONL, Parquet et plus encore. `repo-dataset` effectue le rendu ; il ne décide jamais de l’inclusion.
|
|
155
188
|
|
|
156
189
|
## Installation
|
|
157
190
|
|
|
@@ -159,11 +192,11 @@ sdlab split build --project star-freight # zero subject leakage
|
|
|
159
192
|
npm install -g @mcptoolshop/style-dataset-lab
|
|
160
193
|
```
|
|
161
194
|
|
|
162
|
-
Nécessite Node.js 20+ et [ComfyUI](https://github.com/comfyanonymous/ComfyUI)
|
|
195
|
+
Nécessite Node.js 20+ et [ComfyUI](https://github.com/comfyanonymous/ComfyUI) sur localhost:8188 pour la génération.
|
|
163
196
|
|
|
164
197
|
### Essayez-le sans ComfyUI
|
|
165
198
|
|
|
166
|
-
Vous pouvez explorer toute la surface
|
|
199
|
+
Vous pouvez explorer toute la surface non liée à la génération (inspection, organisation, instantané, division, exportation) en utilisant le projet Star Freight inclus sans installer ComfyUI ni télécharger des poids SDXL.
|
|
167
200
|
|
|
168
201
|
```bash
|
|
169
202
|
# Scaffold a fresh project (no ComfyUI needed)
|
|
@@ -176,13 +209,13 @@ sdlab project doctor --project test
|
|
|
176
209
|
sdlab snapshot create --dry-run --project star-freight
|
|
177
210
|
```
|
|
178
211
|
|
|
179
|
-
`sdlab project doctor` valide chaque configuration de projet (constitution, voies,
|
|
212
|
+
`sdlab project doctor` valide chaque configuration de projet (constitution, voies, critères, terminologie) et signale l’éligibilité sans toucher au GPU. Toute commande qui modifie l’état généré accepte `--dry-run` pour prévisualiser d’abord l’effet.
|
|
180
213
|
|
|
181
|
-
Si vous oubliez `--project`,
|
|
214
|
+
Si vous oubliez `--project`, la CLI revient au premier projet qu’elle trouve dans `projects/` et affiche un avertissement ; passez `--project` explicitement pour le désactiver.
|
|
182
215
|
|
|
183
|
-
### Reprise d
|
|
216
|
+
### Reprise d’une exécution interrompue
|
|
184
217
|
|
|
185
|
-
Les longues exécutions peuvent être reprises sans
|
|
218
|
+
Les longues exécutions peuvent être reprises sans refaire le travail terminé :
|
|
186
219
|
|
|
187
220
|
```bash
|
|
188
221
|
# Skip subjects whose record + image are already on disk.
|
|
@@ -194,40 +227,40 @@ sdlab generate inputs/prompts/wave1.json --project my-project --resume
|
|
|
194
227
|
sdlab batch generate --resume batch_2026-04-22_001 --project my-project
|
|
195
228
|
```
|
|
196
229
|
|
|
197
|
-
Les deux commandes fonctionnent car chaque emplacement écrit son entrée de manifeste de manière atomique lorsqu
|
|
230
|
+
Les deux commandes fonctionnent car chaque emplacement écrit son entrée de manifeste de manière atomique lorsqu’il a terminé — un plantage en cours d’exécution ne corrompt jamais l’état partiel.
|
|
198
231
|
|
|
199
232
|
## Dépannage
|
|
200
233
|
|
|
201
|
-
Modes
|
|
234
|
+
Modes d’échec courants et solutions :
|
|
202
235
|
|
|
203
236
|
**`ECONNREFUSED 127.0.0.1:8188` pour toute commande `sdlab generate` / `sdlab run generate` / `sdlab batch generate`**
|
|
204
|
-
ComfyUI n
|
|
237
|
+
ComfyUI n’est pas en cours d’exécution. Démarrez ComfyUI (`python main.py --listen 127.0.0.1 --port 8188`) et confirmez avec `curl http://127.0.0.1:8188/system_stats`. Pour pointer vers un autre hôte/port, définissez `COMFY_URL=http://host:port`.
|
|
205
238
|
|
|
206
239
|
**`missing checkpoint` / `LoRA weight not found`**
|
|
207
|
-
|
|
240
|
+
Le profil de votre flux de travail fait référence à un fichier modèle qui ne se trouve pas dans le dossier `models/checkpoints/` ou `models/loras/` de ComfyUI. Ouvrez `projects/<project>/workflows/profiles/<profile>.json`, localisez le champ `checkpoint` ou `lora`, et téléchargez soit le poids référencé, soit remplacez-le par un que vous avez déjà. Réexécutez `sdlab project doctor --project <project>` pour confirmer la correction.
|
|
208
241
|
|
|
209
|
-
|
|
210
|
-
Doctor renvoie des codes d
|
|
211
|
-
- `E_PROJECT_NOT_FOUND` — le répertoire du projet n
|
|
212
|
-
- `E_CONFIG_INVALID` — l
|
|
213
|
-
- `E_RECORD_DRIFT` — l
|
|
242
|
+
**Erreurs de `sdlab project doctor`**
|
|
243
|
+
Doctor renvoie des codes d’erreur structurés. Les plus courants :
|
|
244
|
+
- `E_PROJECT_NOT_FOUND` — le répertoire du projet n’existe pas dans `projects/`. Vérifiez l’orthographe.
|
|
245
|
+
- `E_CONFIG_INVALID` — l’un des cinq fichiers de configuration JSON a échoué à la validation du schéma. Le champ `hint` indique le fichier et le champ concernés.
|
|
246
|
+
- `E_RECORD_DRIFT` — l’empreinte de configuration d’un enregistrement ne correspond plus à sa source. Réorganisez ou reliez comme le suggère l’indice.
|
|
214
247
|
|
|
215
248
|
**`No --project specified, falling back to <name>`**
|
|
216
|
-
Un avertissement
|
|
249
|
+
Un simple avertissement. Passez `--project <name>` explicitement pour sélectionner le bon projet et désactiver l’avertissement.
|
|
217
250
|
|
|
218
|
-
**Problèmes
|
|
219
|
-
Consultez
|
|
251
|
+
**Problèmes de mémoire VRAM / problèmes d’aspect pictural**
|
|
252
|
+
Consultez `docs/internal/HANDOFF.md` pour les notes sur le réglage du débruitage pictural. En résumé : diminuez la force du débruitage, réduisez la taille du lot ou passez à un point de contrôle plus petit dans votre profil de flux de travail.
|
|
220
253
|
|
|
221
|
-
**
|
|
222
|
-
|
|
254
|
+
**Signaler des bogues**
|
|
255
|
+
Créez un problème sur https://github.com/mcp-tool-shop-org/style-dataset-lab/issues avec votre version de sdlab (`sdlab --version`), la version de Node (`node -v`), la commande complète et la sortie d’erreur structurée. Un modèle de rapport de bogue préremplit les champs.
|
|
223
256
|
|
|
224
257
|
## Sécurité
|
|
225
258
|
|
|
226
|
-
|
|
259
|
+
Uniquement local. Pas de télémétrie, pas d’analyses, pas de demandes externes. Les images restent sur votre GPU et votre système de fichiers.
|
|
227
260
|
|
|
228
261
|
## Licence
|
|
229
262
|
|
|
230
|
-
|
|
263
|
+
MIT
|
|
231
264
|
|
|
232
265
|
---
|
|
233
266
|
|