@mcptoolshop/style-dataset-lab 2.2.0 → 2.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/README.es.md CHANGED
@@ -11,196 +11,128 @@
11
11
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
12
12
  </p>
13
13
 
14
- # style-dataset-lab
14
+ Escriba sus reglas visuales. Genere arte. Evalúe cada imagen según esas reglas. Entregue los resultados como datos de entrenamiento versionados y auditables.
15
15
 
16
- Convierta el material visual aprobado en conjuntos de datos versionados, respaldados por revisiones, divisiones, paquetes de exportación y paquetes de evaluación.
16
+ Style Dataset Lab conecta lo que ha escrito sobre su estilo artístico con el conjunto de datos con el que realmente entrena. Usted define una constitución: reglas de silueta, restricciones de paleta, lenguaje de materiales, cualquier cosa que sea importante para su proyecto. El proceso genera candidatos, los evalúa según esas reglas y empaqueta el trabajo aprobado en conjuntos de datos reproducibles donde cada registro explica por qué se incluyó.
17
17
 
18
- ## ¿Qué es esto?
18
+ El ciclo se cierra: entrena un modelo, genera nuevas salidas, evalúalas según el mismo criterio y vuelve a incluir lo que cumple los requisitos. El conjunto de datos crece y las reglas se mantienen.
19
19
 
20
- Una **línea de producción de conjuntos de datos y un canon visual**. Defina cómo se verá su proyecto. Seleccione cuidadosamente de acuerdo con las reglas establecidas. Cree paquetes de conjuntos de datos reproducibles con divisiones seguras contra fugas de información. Genere paquetes de evaluación para la verificación futura del modelo.
21
-
22
- La línea de producción genera cuatro elementos:
23
-
24
- | Elemento | ¿Qué es? |
25
- |----------|-----------|
26
- | **Snapshot** | Selección de registros elegibles, congelada y con huella digital. Cada inclusión tiene un registro explícito de la razón. |
27
- | **Split** | Partición segura contra fugas de información para entrenamiento/validación/prueba. Los registros que comparten una misma familia siempre se incluyen en la misma división. |
28
- | **Export package** | Conjunto de datos autónomo: manifiesto, metadatos, imágenes, divisiones, descripción del conjunto de datos y sumas de verificación. |
29
- | **Eval pack** | Tareas de verificación que respetan el canon: cobertura de categorías, desviación prohibida, referencia/estándar, coherencia temática. |
30
-
31
- Cada elemento en la línea de producción contiene tres cosas:
32
-
33
- 1. **Origen** -- historial completo de generación (punto de control, LoRA, semilla, muestreador, configuración, tiempo de ejecución)
34
- 2. **Cumplimiento del canon** -- qué reglas establecidas cumple, no cumple o cumple parcialmente este elemento.
35
- 3. **Evaluación de calidad** -- aprobado/rechazado/límite con puntuaciones por dimensión.
36
-
37
- Funciona para arte de juegos, diseño de personajes, diseño de criaturas, arquitectura, conceptos de vehículos/mecánica y cualquier dominio donde la producción visual deba mantenerse dentro de los parámetros establecidos.
38
-
39
- ## Comienzo rápido
20
+ ## El proceso
40
21
 
41
22
  ```bash
42
- # Install the CLI + pipeline
43
- npm install -g @mcptoolshop/style-dataset-lab
44
-
45
- # Scaffold a new project
23
+ # Write your canon. Scaffold the project.
46
24
  sdlab init my-project --domain character-design
47
25
 
48
- # Validate the project structure
49
- sdlab project doctor --project my-project
50
- ```
26
+ # Generate candidates via ComfyUI, then review them
27
+ sdlab generate inputs/prompts/wave1.json --project my-project
28
+ sdlab curate <id> approved "Strong silhouette, correct faction palette"
51
29
 
52
- Dominios disponibles: `game-art`, `character-design`, `creature-design`, `architecture`, `vehicle-mech` o `generic`.
30
+ # Bind approved work to constitution rules
31
+ sdlab bind --project my-project
53
32
 
54
- ## Interfaz de línea de comandos (CLI)
33
+ # Freeze a versioned dataset
34
+ sdlab snapshot create --project my-project
35
+ sdlab split build
36
+ sdlab export build
55
37
 
56
- ```bash
57
- sdlab init <name> [--domain <domain>] # Scaffold a new project
58
- sdlab project doctor [--project <name>] # Validate project config
59
-
60
- sdlab generate <pack> [--project <name>] # Generate candidates via ComfyUI
61
- sdlab generate:identity <packet> # Named-subject identity images
62
- sdlab generate:controlnet # ControlNet-guided generation
63
- sdlab generate:ipadapter # IP-Adapter reference-guided
64
-
65
- sdlab curate <id> <status> <explanation> # Record review judgment
66
- sdlab compare <a> <b> <winner> <reason> # Pairwise A-vs-B comparison
67
- sdlab bind [--project <name>] # Bind records to constitution rules
68
- sdlab painterly [--project <name>] # Post-processing style pass
69
-
70
- sdlab snapshot create [--profile <name>] # Create frozen dataset snapshot
71
- sdlab snapshot list # List all snapshots
72
- sdlab snapshot diff <a> <b> # Compare two snapshots
73
- sdlab eligibility audit # Audit record training eligibility
74
- sdlab split build [--snapshot <id>] # Build train/val/test split
75
- sdlab split audit <id> # Audit split for leakage + balance
76
- sdlab card generate # Generate dataset card (md + JSON)
77
- sdlab export build [--snapshot <id>] # Build versioned export package
78
- sdlab eval-pack build # Build canon-aware eval pack
38
+ # Build a training package and close the loop
39
+ sdlab training-manifest create --profile character-style-lora
40
+ sdlab training-package build
41
+ sdlab eval-run create && sdlab eval-run score <id> --outputs results.jsonl
42
+ sdlab reingest generated --source ./outputs --manifest <id>
79
43
  ```
80
44
 
81
- Todos los comandos aceptan `--project <nombre>` (por defecto: `star-freight`).
45
+ Esa última instrucción es clave. Las salidas generadas vuelven a pasar por el mismo proceso de revisión que todo lo demás. El ciclo se cierra.
82
46
 
83
- ## Modelo del proyecto
47
+ ## Lo que produce
84
48
 
85
- Cada proyecto es un directorio autónomo dentro de `projects/` con su propio canon, configuración y datos:
49
+ Siete artefactos versionados y con sumas de verificación. Cada uno tiene un enlace a sus predecesores para que pueda rastrear cualquier registro de entrenamiento hasta la regla que lo aprobó.
86
50
 
87
- ```
88
- projects/
89
- my-project/
90
- project.json Project identity + generation defaults
91
- constitution.json Rules array with rationale templates
92
- lanes.json Subject lanes with detection patterns
93
- rubric.json Scoring dimensions + thresholds
94
- terminology.json Group vocabulary + detection order
95
- canon/ Style constitution (markdown)
96
- records/ Per-asset JSON (provenance + judgment + canon)
97
- inputs/prompts/ Prompt packs (JSON)
98
- outputs/ Generated images (gitignored)
99
- comparisons/ A-vs-B preference judgments
100
- snapshots/ Frozen dataset snapshots
101
- splits/ Train/val/test partitions
102
- exports/ Versioned export packages
103
- eval-packs/ Canon-aware eval instruments
104
- ```
51
+ | Artefacto. | Qué es. |
52
+ |----------|-----------|
53
+ | **Snapshot** | Selección de registros congelada con huella de configuración. Cada inclusión tiene una razón explícita. |
54
+ | **Split** | Partición de entrenamiento/validación/prueba donde las familias de sujetos nunca cruzan límites. |
55
+ | **Export package** | Conjunto de datos autocontenido: manifiesto, metadatos, imágenes, divisiones, tarjeta del conjunto de datos, sumas de verificación. |
56
+ | **Eval pack** | Tareas de prueba conscientes del criterio: cobertura de áreas, desviación prohibida, referencia/oro, continuidad del sujeto. |
57
+ | **Training package** | Diseño listo para el entrenamiento a través de adaptadores (`diffusers-lora`, `generic-image-caption`). La misma información, en un formato diferente. |
58
+ | **Eval scorecard** | Resultado de aprobación/reprobación por tarea, según la evaluación de las salidas generadas. |
59
+ | **Implementation pack** | Ejemplos de indicaciones, fallos conocidos, pruebas de continuidad y guías para la inclusión. |
105
60
 
106
- ## Línea de producción
61
+ ## Por qué existe
107
62
 
108
- ```
109
- canon → generate → curate → bind → snapshot → split → export → eval
110
- | | | | | | | |
111
- rules ComfyUI judgment rules frozen subject package verify
112
- selection isolation
113
- ```
63
+ Los datos de entrenamiento son el activo más valioso en cualquier canal de IA visual. Pero la mayoría de los datos de entrenamiento son una carpeta de imágenes sin historial, sin rastro de evaluación y sin conexión con las reglas de estilo que se suponía que debían seguir.
114
64
 
115
- 1. **Definir el canon** -- escriba su constitución de estilo y rúbrica de revisión.
116
- 2. **Generar** -- ComfyUI genera candidatos con un origen completo.
117
- 3. **Seleccionar** -- apruebe/rechace con puntuaciones por dimensión y modos de fallo.
118
- 4. **Vincular** -- vincule cada elemento a las reglas establecidas con veredictos de cumplimiento/incumplimiento/parcial.
119
- 5. **Captura** -- congele los registros elegibles en una selección determinista y con huella digital.
120
- 6. **Dividir** -- particione en entrenamiento/validación/prueba con aislamiento temático y equilibrio de categorías.
121
- 7. **Exportar** -- cree un paquete autónomo con manifiesto, metadatos, imágenes y sumas de verificación.
122
- 8. **Evaluar** -- genere instrumentos de prueba que respeten el canon para la verificación del modelo.
65
+ Style Dataset Lab hace que esa conexión sea explícita. Su constitución define las reglas. Su rúbrica define las dimensiones de la evaluación. Sus registros de curación registran la evaluación. Su canon vinculante prueba la conexión. Y su conjunto de datos transmite todo eso como una verdad estructurada, consultable y reproducible.
123
66
 
124
- La conversión de formato a formatos posteriores (TRL, LLaVA, Parquet, etc.) se gestiona mediante [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset). `sdlab` es responsable de la veracidad del conjunto de datos; `repo-dataset` lo convierte en formatos especializados.
67
+ El resultado práctico: cuando su LoRA se desvía, puede preguntar *por qué*. Cuando su próxima ronda de entrenamiento necesita mejores datos, sabe exactamente qué registros están cerca de cumplir los requisitos y qué regla específica no cumplieron. Cuando un nuevo miembro del equipo pregunta cuál es el lenguaje visual del proyecto, la respuesta no es una pizarra de Figma, sino una constitución con 1182 ejemplos clasificados y que se puede buscar.
125
68
 
126
- ## Plantillas de dominio
69
+ ## Cinco dominios, reglas reales
127
70
 
128
- Cada plantilla de dominio incluye definiciones de categorías, reglas establecidas, rúbricas de puntuación y estructuras de terminología diseñadas para ese contexto de producción:
71
+ No son plantillas genéricas. Cada dominio viene con reglas de constitución de calidad de producción, definiciones de áreas, rúbricas de evaluación y vocabulario específico.
129
72
 
130
- | Dominio | Categorías | Preocupaciones clave |
131
- |--------|-------|-------------|
132
- | **game-art** | personaje, entorno, accesorio, interfaz de usuario, nave, interior, equipo | Silueta a escala de juego, diferenciación de facciones, desgaste/envejecimiento |
133
- | **character-design** | retrato, cuerpo entero, vista de 360 grados, hoja de expresiones, pose de acción | Precisión de las proporciones, lógica del vestuario, interpretación de la personalidad, claridad de los gestos |
134
- | **creature-design** | concepto, ortográfico, estudio de detalles, acción, referencia de escala, hábitat | Plausibilidad anatómica, lógica evolutiva, distinción de siluetas |
135
- | **architecture** | exterior, interior, paisaje urbano, detalle estructural, ruina, paisaje | Plausibilidad estructural, consistencia de materiales, perspectiva, coherencia de la época |
136
- | **vehicle-mech** | exterior, cabina, componente, esquema, hoja de siluetas, variante de daño | Lógica mecánica, lenguaje de diseño funcional, puntos de acceso, descripción de daños. |
73
+ | Dominio. | Áreas. | Qué se evalúa. |
74
+ |--------|-------|-----------------|
75
+ | **game-art** | personaje, entorno, accesorio, interfaz de usuario, nave, interior, equipo. | Silueta a escala de juego, identificación de facción, desgaste y envejecimiento. |
76
+ | **character-design** | retrato, cuerpo entero, vista de 360 grados, hoja de expresiones, pose de acción. | Proporciones, lógica del atuendo, personalidad, claridad del gesto. |
77
+ | **creature-design** | concepto, ortográfico, estudio de detalles, acción, referencia de escala, hábitat. | Anatomía, lógica evolutiva, distinción de silueta. |
78
+ | **architecture** | exterior, interior, paisaje urbano, detalle estructural, ruina, paisaje. | Estructura, consistencia de materiales, perspectiva, coherencia de la época. |
79
+ | **vehicle-mech** | exterior, cabina, componente, esquema, hoja de silueta, variante de daño. | Lógica mecánica, lenguaje de diseño, puntos de acceso, narrativa de daño. |
137
80
 
138
- ## Producción del conjunto de datos
81
+ ## Estructura del proyecto
139
82
 
140
- Estructura completa del conjunto de datos: instantánea, división, exportación, evaluación.
83
+ Cada proyecto es independiente. Cinco archivos de configuración JSON definen las reglas; todo lo demás es datos.
141
84
 
142
85
  ```
143
- snapshot --> split --> export --> eval-pack
144
- | | | |
145
- frozen subject package canon-aware
146
- selection isolation (manifest, test instruments
147
- + lane metadata, (4 task types)
148
- balance images,
149
- checksums,
150
- card)
86
+ projects/my-project/
87
+ project.json Identity + generation defaults
88
+ constitution.json Rules with rationale templates
89
+ lanes.json Subject lanes with detection patterns
90
+ rubric.json Scoring dimensions + thresholds
91
+ terminology.json Group vocabulary + detection order
92
+ records/ Per-asset JSON (provenance + judgment + canon)
93
+ snapshots/ Frozen dataset snapshots
94
+ splits/ Train/val/test partitions
95
+ exports/ Versioned export packages
96
+ training/ Profiles, manifests, packages, eval runs, implementations
151
97
  ```
152
98
 
153
- Las **instantáneas** congelan una selección determinista de registros elegibles. Cada inclusión tiene un registro de la razón. Las huellas de configuración garantizan la reproducibilidad.
154
-
155
- Las **divisiones** asignan los registros a particiones de entrenamiento/validación/prueba, con aislamiento de sujetos (ninguna familia de sujetos aparece en múltiples divisiones) y distribución equilibrada por "carril". Un generador de números pseudoaleatorios con semilla garantiza resultados idénticos a partir de la misma semilla.
156
-
157
- Los **paquetes de exportación** son autocontenidos: manifiesto, metadata.jsonl, imágenes (enlaces simbólicos o copias), divisiones, tarjeta del conjunto de datos (Markdown + JSON) y sumas de verificación en formato BSD. Todo lo necesario para reconstruir el conjunto de datos desde cero.
99
+ ## Propiedades de confianza
158
100
 
159
- Los **paquetes de evaluación** son instrumentos de prueba que tienen en cuenta el canon y que incluyen cuatro tipos de tareas: cobertura de "carriles", deriva prohibida, anclaje/referencia y continuidad del sujeto. Demuestran que la estructura del conjunto de datos está alimentando futuras evaluaciones de modelos, y no solo se están volviendo a depositar archivos.
101
+ Estas no son meras aspiraciones. Se aplican de forma obligatoria.
160
102
 
161
- Exportación a formatos posteriores a través de [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) (TRL, LLaVA, Qwen2-VL, JSONL, Parquet, y más). `repo-dataset` se encarga de la conversión de formatos; `sdlab` es responsable de la integridad del conjunto de datos.
103
+ - **Las instantáneas son inmutables.** La huella digital de la configuración (SHA-256) demuestra que nada ha cambiado.
104
+ - **Las divisiones evitan fugas de información.** Las familias de sujetos (por identidad, linaje o sufijo de ID) nunca cruzan los límites de la partición.
105
+ - **Los manifiestos son contratos inalterables.** Exporta el hash + la huella digital de la configuración. Si algo cambia, crea uno nuevo.
106
+ - **Los adaptadores no pueden modificar la información.** Diferente diseño, mismos registros. No hay adiciones, ni eliminaciones, ni reclasificaciones.
107
+ - **Las salidas generadas se revisan antes de ser utilizadas.** No hay excepciones. Se curan y se vinculan como todo lo demás.
162
108
 
163
- ## Ejemplo de Star Freight
109
+ ## Star Freight
164
110
 
165
- Clona el repositorio para obtener un ejemplo de funcionamiento completo: 1182 registros, 28 oleadas de indicaciones, 5 facciones, 7 "carriles", 24 reglas constitucionales y 892 activos aprobados de un RPG de ciencia ficción.
111
+ El repositorio incluye un ejemplo de funcionamiento completo: 1182 registros, 5 facciones, 7 rutas, 24 reglas constitucionales, 892 activos aprobados, 2 perfiles de entrenamiento. Un canon visual de un RPG de ciencia ficción realista, completamente curado.
166
112
 
167
113
  ```bash
168
114
  git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
169
115
  cd style-dataset-lab
170
-
171
- # Validate the project
172
116
  sdlab project doctor --project star-freight
173
-
174
- # Run the full dataset spine
175
- sdlab snapshot create --project star-freight # 839 eligible records
176
- sdlab split build --project star-freight # ~80/10/10, zero leakage
177
- sdlab export build --project star-freight # package with checksums
178
- sdlab eval-pack build --project star-freight # 78 eval records
117
+ sdlab snapshot create --project star-freight # 839 eligible records
118
+ sdlab split build --project star-freight # zero subject leakage
179
119
  ```
180
120
 
181
- ## Migración desde la versión 1.x
121
+ ## Formatos de salida
182
122
 
183
- La versión 2.0 cambia el nombre de `games/` a `projects/` y `--game` a `--project`:
123
+ `sdlab` es el propietario del conjunto de datos. La conversión de formatos la gestiona [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset): TRL, LLaVA, Qwen2-VL, JSONL, Parquet, y más. `repo-dataset` se encarga de la renderización; nunca decide qué incluir.
184
124
 
185
- ```bash
186
- # Rename your data directory
187
- mv games projects
125
+ ## Instalación
188
126
 
189
- # --game still works with a deprecation warning (removed in v3.0)
190
- sdlab bind --game star-freight # works, prints warning
191
- sdlab bind --project star-freight # canonical form
127
+ ```bash
128
+ npm install -g @mcptoolshop/style-dataset-lab
192
129
  ```
193
130
 
194
- ## Modelo de seguridad
195
-
196
- **Solo local.** Se comunica con ComfyUI en `localhost:8188`. No hay telemetría, ni análisis, ni solicitudes externas. Las imágenes permanecen en tu GPU y sistema de archivos.
131
+ Requiere Node.js 20+ y [ComfyUI](https://github.com/comfyanonymous/ComfyUI) en localhost:8188 para la generación.
197
132
 
198
- ## Requisitos
133
+ ## Seguridad
199
134
 
200
- - [ComfyUI](https://github.com/comfyanonymous/ComfyUI) ejecutándose en localhost:8188
201
- - Checkpoint DreamShaper XL Turbo + LoRA ClassipeintXL
202
- - Node.js 20+
203
- - [`@mcptoolshop/repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) para la exportación del entrenamiento.
135
+ Solo funciona localmente. No hay telemetría, ni análisis, ni solicitudes externas. Las imágenes permanecen en tu GPU y sistema de archivos.
204
136
 
205
137
  ## Licencia
206
138
 
package/README.fr.md CHANGED
@@ -11,196 +11,128 @@
11
11
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
12
12
  </p>
13
13
 
14
- # style-dataset-lab
14
+ Définissez vos règles visuelles. Générez des œuvres. Évaluez chaque image en fonction de ces règles. Livrez les résultats sous forme de données d'entraînement versionnées et auditables.
15
15
 
16
- Transformez les éléments visuels approuvés en ensembles de données versionnés, validés, divisés, exportables et destinés à l'évaluation.
16
+ Style Dataset Lab relie les éléments que vous avez écrits concernant votre style artistique à l'ensemble de données sur lequel vous entraînez réellement votre modèle. Vous définissez une constitution : règles de silhouette, contraintes de palette, langage des matériaux, tout ce qui est important 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.
17
17
 
18
- ## Qu'est-ce que c'est ?
18
+ La boucle se referme : entraînez un modèle, générez de nouvelles sorties, évaluez-les en fonction des mêmes critères, réintégrez ce qui est validé. L'ensemble de données grandit et les règles restent valables.
19
19
 
20
- Un **système de production de données visuelles et un pipeline**. Définissez l'apparence de votre projet. Appliquez des règles constitutionnelles. Créez des ensembles de données reproductibles avec des divisions sécurisées contre les fuites. Générez des ensembles d'évaluation pour la vérification future des modèles.
21
-
22
- Le pipeline produit quatre éléments :
23
-
24
- | Élément | Description |
25
- |----------|-----------|
26
- | **Snapshot** | Sélection de données éligibles, figée et identifiée de manière unique. Chaque inclusion a une justification explicite. |
27
- | **Split** | Partition train/validation/test sécurisée contre les fuites. Les données partageant la même famille de sujets sont toujours regroupées dans la même partition. |
28
- | **Export package** | Ensemble de données autonome : manifeste, métadonnées, images, divisions, description de l'ensemble de données et sommes de contrôle. |
29
- | **Eval pack** | Tâches de vérification respectant les règles constitutionnelles : couverture des aspects, dérive interdite, ancres/références, cohérence des sujets. |
30
-
31
- Chaque élément du pipeline contient trois informations :
32
-
33
- 1. **Traçabilité** – historique complet de la génération (point de contrôle, LoRA, seed, échantillonneur, cfg, timing).
34
- 2. **Conformité aux règles constitutionnelles** – quelles règles constitutionnelles cet élément respecte, ne respecte pas ou respecte partiellement.
35
- 3. **Évaluation de la qualité** – approuvé/refusé/limite, avec des scores par dimension.
36
-
37
- Fonctionne pour les illustrations de jeux, la conception de personnages, la conception de créatures, l'architecture, les concepts de véhicules/robots, et tout domaine où la production visuelle doit rester conforme aux spécifications.
38
-
39
- ## Démarrage rapide
20
+ ## Le pipeline
40
21
 
41
22
  ```bash
42
- # Install the CLI + pipeline
43
- npm install -g @mcptoolshop/style-dataset-lab
44
-
45
- # Scaffold a new project
23
+ # Write your canon. Scaffold the project.
46
24
  sdlab init my-project --domain character-design
47
25
 
48
- # Validate the project structure
49
- sdlab project doctor --project my-project
50
- ```
26
+ # Generate candidates via ComfyUI, then review them
27
+ sdlab generate inputs/prompts/wave1.json --project my-project
28
+ sdlab curate <id> approved "Strong silhouette, correct faction palette"
51
29
 
52
- Domaines disponibles : `game-art`, `character-design`, `creature-design`, `architecture`, `vehicle-mech` ou `generic`.
30
+ # Bind approved work to constitution rules
31
+ sdlab bind --project my-project
53
32
 
54
- ## Interface en ligne de commande (CLI)
33
+ # Freeze a versioned dataset
34
+ sdlab snapshot create --project my-project
35
+ sdlab split build
36
+ sdlab export build
55
37
 
56
- ```bash
57
- sdlab init <name> [--domain <domain>] # Scaffold a new project
58
- sdlab project doctor [--project <name>] # Validate project config
59
-
60
- sdlab generate <pack> [--project <name>] # Generate candidates via ComfyUI
61
- sdlab generate:identity <packet> # Named-subject identity images
62
- sdlab generate:controlnet # ControlNet-guided generation
63
- sdlab generate:ipadapter # IP-Adapter reference-guided
64
-
65
- sdlab curate <id> <status> <explanation> # Record review judgment
66
- sdlab compare <a> <b> <winner> <reason> # Pairwise A-vs-B comparison
67
- sdlab bind [--project <name>] # Bind records to constitution rules
68
- sdlab painterly [--project <name>] # Post-processing style pass
69
-
70
- sdlab snapshot create [--profile <name>] # Create frozen dataset snapshot
71
- sdlab snapshot list # List all snapshots
72
- sdlab snapshot diff <a> <b> # Compare two snapshots
73
- sdlab eligibility audit # Audit record training eligibility
74
- sdlab split build [--snapshot <id>] # Build train/val/test split
75
- sdlab split audit <id> # Audit split for leakage + balance
76
- sdlab card generate # Generate dataset card (md + JSON)
77
- sdlab export build [--snapshot <id>] # Build versioned export package
78
- sdlab eval-pack build # Build canon-aware eval pack
38
+ # Build a training package and close the loop
39
+ sdlab training-manifest create --profile character-style-lora
40
+ sdlab training-package build
41
+ sdlab eval-run create && sdlab eval-run score <id> --outputs results.jsonl
42
+ sdlab reingest generated --source ./outputs --manifest <id>
79
43
  ```
80
44
 
81
- Toutes les commandes acceptent `--project <nom>` (par défaut : `star-freight`).
45
+ Cette dernière commande est essentielle. Les sorties générées passent par le même processus de révision que tout le reste. La boucle se referme.
82
46
 
83
- ## Modèle du projet
47
+ ## Ce qu'il produit
84
48
 
85
- Chaque projet est un répertoire autonome sous `projects/`, avec sa propre constitution, sa configuration et ses données :
49
+ Sept artefacts versionnés et vérifiés par checksum. Chacun 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
50
 
87
- ```
88
- projects/
89
- my-project/
90
- project.json Project identity + generation defaults
91
- constitution.json Rules array with rationale templates
92
- lanes.json Subject lanes with detection patterns
93
- rubric.json Scoring dimensions + thresholds
94
- terminology.json Group vocabulary + detection order
95
- canon/ Style constitution (markdown)
96
- records/ Per-asset JSON (provenance + judgment + canon)
97
- inputs/prompts/ Prompt packs (JSON)
98
- outputs/ Generated images (gitignored)
99
- comparisons/ A-vs-B preference judgments
100
- snapshots/ Frozen dataset snapshots
101
- splits/ Train/val/test partitions
102
- exports/ Versioned export packages
103
- eval-packs/ Canon-aware eval instruments
104
- ```
51
+ | Élément | Description |
52
+ |----------|-----------|
53
+ | **Snapshot** | Sélection d'enregistrements figée avec empreinte de configuration. Chaque inclusion a une raison explicite. |
54
+ | **Split** | Partitionnement entraînement/validation/test où les familles de sujets ne traversent jamais les limites. |
55
+ | **Export package** | Ensemble de données autonome : manifeste, métadonnées, images, divisions, description de l'ensemble de données et sommes de contrôle. |
56
+ | **Eval pack** | Tâches de vérification respectant les règles constitutionnelles : couverture des aspects, dérive interdite, ancres/références, cohérence des sujets. |
57
+ | **Training package** | Disposition prête pour l'entraînement via des adaptateurs (`diffusers-lora`, `generic-image-caption`). La même information, dans un format différent. |
58
+ | **Eval scorecard** | Indicateur de réussite/échec par tâche, basé sur l'évaluation des sorties générées par rapport aux ensembles d'évaluation. |
59
+ | **Implementation pack** | Exemples de prompts, échecs connus, tests de continuité et instructions de réintégration. |
105
60
 
106
- ## Pipeline
61
+ ## Pourquoi cela existe
107
62
 
108
- ```
109
- canon → generate → curate → bind → snapshot → split → export → eval
110
- | | | | | | | |
111
- rules ComfyUI judgment rules frozen subject package verify
112
- selection isolation
113
- ```
63
+ Les données d'entraînement sont l'élément 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 trace de jugement et sans lien avec les règles de style qu'elles étaient censées suivre.
114
64
 
115
- 1. **Définir la constitution** – rédigez votre constitution de style et votre grille d'évaluation.
116
- 2. **Générer** – ComfyUI produit des candidats avec une traçabilité complète.
117
- 3. **Sélectionner** – approuvez/refusez avec des scores par dimension et des modes de défaillance.
118
- 4. **Associer** – liez chaque élément aux règles constitutionnelles avec des verdicts d'acceptation/rejet/partiel.
119
- 5. **Instantané** – figez les données éligibles dans une sélection déterministe et identifiée de manière unique.
120
- 6. **Diviser** – partitionnez en train/validation/test avec isolement des sujets et équilibre des aspects.
121
- 7. **Exporter** – créez un package autonome avec un manifeste, des métadonnées, des images et des sommes de contrôle.
122
- 8. **Évaluer** – générez des instruments de test respectant les règles constitutionnelles pour la vérification du modèle.
65
+ Style Dataset Lab établit ce lien de manière explicite. Votre constitution définit les règles. Votre grille d'évaluation définit les dimensions de l'évaluation. Vos enregistrements de curation consignent le jugement. Votre canon de référence prouve le lien. Et votre ensemble de données transmet tout cela sous forme de vérité structurée, consultable et reproductible.
123
66
 
124
- La conversion de format en aval (TRL, LLaVA, Parquet, etc.) est gérée par [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset). `sdlab` possède la vérité des données ; `repo-dataset` la transforme en formats spécialisés.
67
+ Le résultat pratique : lorsque votre LoRA dérive, vous pouvez demander *pourquoi*. Lorsque votre prochaine phase d'entraînement a besoin de meilleures données, vous savez exactement quels enregistrements sont proches de la limite et quelle règle unique ils ont manquée. Lorsqu'un nouveau membre de l'équipe demande quelle est la langue visuelle du projet, la réponse n'est pas un tableau Figma, mais une constitution consultable avec 1 182 exemples notés.
125
68
 
126
- ## Modèles de domaine
69
+ ## Cinq domaines, règles réelles
127
70
 
128
- Chaque modèle de domaine est fourni avec des définitions d'aspects, des règles constitutionnelles, des grilles d'évaluation et des structures terminologiques conçues pour ce contexte de production :
71
+ Ce ne sont pas des modèles génériques. Chaque domaine est fourni avec des règles de constitution, des définitions de catégories, des grilles d'évaluation et un vocabulaire de groupe de qualité professionnelle.
129
72
 
130
- | Domaine | Aspects | Préoccupations clés |
131
- |--------|-------|-------------|
132
- | **game-art** | personnage, environnement, accessoire, interface utilisateur, vaisseau, intérieur, équipement | Silhouette à l'échelle du gameplay, différenciation des factions, usure/vieillissement |
133
- | **character-design** | portrait, corps entier, vue de face, feuille d'expressions, pose d'action | Précision des proportions, logique des costumes, expression de la personnalité, clarté des gestes |
134
- | **creature-design** | concept, orthographique, étude de détail, action, référence d'échelle, habitat | Plausibilité anatomique, logique évolutive, distinction des silhouettes |
135
- | **architecture** | extérieur, intérieur, paysage urbain, détail structurel, ruine, paysage | Plausibilité structurelle, cohérence des matériaux, perspective, cohérence de l'époque |
73
+ | Domaine | Aspects | Ce qui est évalué |
74
+ |--------|-------|-----------------|
75
+ | **game-art** | personnage, environnement, accessoire, interface utilisateur, vaisseau, intérieur, équipement | Silhouette à l'échelle du gameplay, interprétation de la faction, usure et vieillissement. |
76
+ | **character-design** | portrait, corps entier, vue de face, feuille d'expressions, pose d'action | Proportions, logique des costumes, personnalité, clarté des gestes. |
77
+ | **creature-design** | concept, orthographique, étude de détail, action, référence d'échelle, habitat | Anatomie, logique évolutive, distinction de la silhouette. |
78
+ | **architecture** | extérieur, intérieur, paysage urbain, détail structurel, ruine, paysage | Structure, cohérence des matériaux, perspective, cohérence de l'époque. |
136
79
  | **vehicle-mech** | extérieur, cockpit, composant, schéma, feuille de silhouette, variante endommagée | Logique mécanique, langage de conception fonctionnelle, points d'accès, description des dommages. |
137
80
 
138
- ## Production de l'ensemble de données
81
+ ## Structure du projet
139
82
 
140
- Structure complète de l'ensemble de données : instantané, division, exportation, évaluation.
83
+ Chaque projet est autonome. Cinq fichiers de configuration JSON définissent les règles ; le reste est constitué de données.
141
84
 
142
85
  ```
143
- snapshot --> split --> export --> eval-pack
144
- | | | |
145
- frozen subject package canon-aware
146
- selection isolation (manifest, test instruments
147
- + lane metadata, (4 task types)
148
- balance images,
149
- checksums,
150
- card)
86
+ projects/my-project/
87
+ project.json Identity + generation defaults
88
+ constitution.json Rules with rationale templates
89
+ lanes.json Subject lanes with detection patterns
90
+ rubric.json Scoring dimensions + thresholds
91
+ terminology.json Group vocabulary + detection order
92
+ records/ Per-asset JSON (provenance + judgment + canon)
93
+ snapshots/ Frozen dataset snapshots
94
+ splits/ Train/val/test partitions
95
+ exports/ Versioned export packages
96
+ training/ Profiles, manifests, packages, eval runs, implementations
151
97
  ```
152
98
 
153
- Les **instantanés** figent une sélection déterministe d'enregistrements éligibles. Chaque inclusion a une trace de raison. Les empreintes de configuration garantissent la reproductibilité.
154
-
155
- Les **divisions** attribuent les enregistrements aux partitions d'entraînement/validation/test, avec une isolation des sujets (aucune famille de sujets n'apparaît dans plusieurs divisions) et une distribution équilibrée par "voie". Un générateur de nombres pseudo-aléatoires (PRNG) initialisé garantit des résultats identiques à partir de la même initialisation.
99
+ ## Propriétés de confiance
156
100
 
157
- Les **packages d'exportation** sont autonomes : manifeste, metadata.jsonl, images (liens symboliques ou copies), divisions, fiche de l'ensemble de données (Markdown + JSON), et sommes de contrôle au format BSD. Tout le nécessaire pour reconstruire l'ensemble de données à partir de zéro.
101
+ Ce ne sont pas des aspirations. Elles sont appliquées.
158
102
 
159
- Les **packs d'évaluation** sont des outils de test standardisés, prenant en compte le contexte, avec quatre types de tâches : couverture des "voies", dérive interdite, ancres/références, et continuité des sujets. Ils prouvent que la structure de l'ensemble de données alimente l'évaluation future des modèles, et ne se contente pas de décharger des fichiers.
103
+ - **Les instantanés sont immuables.** L'empreinte de configuration (SHA-256) prouve qu'il n'y a eu aucun changement.
104
+ - **Les partitions empêchent les fuites.** Les familles de sujets (par identité, lignée ou suffixe d'ID) ne traversent jamais les limites des partitions.
105
+ - **Les manifestes sont des contrats figés.** Hash d'exportation + empreinte de configuration. Si quelque chose change, créez-en un nouveau.
106
+ - **Les adaptateurs ne peuvent pas modifier la vérité.** Disposition différente, mêmes enregistrements. Pas d'ajouts, pas de suppressions, pas de reclassements.
107
+ - **Les sorties générées sont soumises à une révision.** Pas de contournement. Curatez et intégrez comme tout le reste.
160
108
 
161
- Exportation vers des formats compatibles via [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) (TRL, LLaVA, Qwen2-VL, JSONL, Parquet, etc.). `repo-dataset` gère la conversion de format ; `sdlab` est responsable de la vérité des données.
109
+ ## Star Freight
162
110
 
163
- ## Exemple Star Freight
164
-
165
- Clonez le dépôt pour un exemple fonctionnel complet : 1182 enregistrements, 28 séries de prompts, 5 factions, 7 "voies", 24 règles constitutionnelles, et 892 ressources approuvées provenant d'un RPG de science-fiction réaliste.
111
+ Le dépôt comprend un exemple de fonctionnement complet : 1182 enregistrements, 5 factions, 7 voies, 24 règles constitutionnelles, 892 ressources approuvées, 2 profils de formation. Un corpus visuel de jeu de rôle de science-fiction, entièrement organisé.
166
112
 
167
113
  ```bash
168
114
  git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
169
115
  cd style-dataset-lab
170
-
171
- # Validate the project
172
116
  sdlab project doctor --project star-freight
173
-
174
- # Run the full dataset spine
175
- sdlab snapshot create --project star-freight # 839 eligible records
176
- sdlab split build --project star-freight # ~80/10/10, zero leakage
177
- sdlab export build --project star-freight # package with checksums
178
- sdlab eval-pack build --project star-freight # 78 eval records
117
+ sdlab snapshot create --project star-freight # 839 eligible records
118
+ sdlab split build --project star-freight # zero subject leakage
179
119
  ```
180
120
 
181
- ## Migration depuis la version 1.x
121
+ ## Formats compatibles
182
122
 
183
- La version 2.0 renomme `games/` en `projects/` et `--game` en `--project` :
123
+ `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 la conversion ; il ne décide jamais de l'inclusion.
184
124
 
185
- ```bash
186
- # Rename your data directory
187
- mv games projects
125
+ ## Installation
188
126
 
189
- # --game still works with a deprecation warning (removed in v3.0)
190
- sdlab bind --game star-freight # works, prints warning
191
- sdlab bind --project star-freight # canonical form
127
+ ```bash
128
+ npm install -g @mcptoolshop/style-dataset-lab
192
129
  ```
193
130
 
194
- ## Modèle de sécurité
195
-
196
- **Uniquement local.** Communique avec ComfyUI sur `localhost:8188`. Pas de télémétrie, pas d'analyses, pas de requêtes externes. Les images restent sur votre GPU et votre système de fichiers.
131
+ Nécessite Node.js 20+ et [ComfyUI](https://github.com/comfyanonymous/ComfyUI) installé localement sur le port 8188 pour la génération.
197
132
 
198
- ## Prérequis
133
+ ## Sécurité
199
134
 
200
- - [ComfyUI](https://github.com/comfyanonymous/ComfyUI) en cours d'exécution sur localhost:8188
201
- - Point de contrôle DreamShaper XL Turbo + LoRA ClassipeintXL
202
- - Node.js 20+
203
- - [`@mcptoolshop/repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) pour l'exportation des données d'entraînement
135
+ Utilisation locale uniquement. Aucune télémétrie, aucune analyse, aucune requête externe. Les images restent sur votre GPU et votre système de fichiers.
204
136
 
205
137
  ## Licence
206
138