@mcptoolshop/style-dataset-lab 2.2.1 → 3.0.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.
Files changed (65) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/README.es.md +76 -144
  3. package/README.fr.md +75 -143
  4. package/README.hi.md +75 -143
  5. package/README.it.md +76 -144
  6. package/README.ja.md +75 -143
  7. package/README.md +36 -8
  8. package/README.pt-BR.md +75 -143
  9. package/README.zh.md +76 -144
  10. package/SECURITY.md +3 -1
  11. package/bin/sdlab.js +146 -17
  12. package/lib/adapters/comfyui-runner.js +170 -0
  13. package/lib/adapters/comfyui-workflows.js +163 -0
  14. package/lib/batch-compiler.js +118 -0
  15. package/lib/batch-modes.js +111 -0
  16. package/lib/batch-runs.js +168 -0
  17. package/lib/batch-sheet-render.js +206 -0
  18. package/lib/brief-compiler.js +598 -0
  19. package/lib/brief-render.js +205 -0
  20. package/lib/critique-engine.js +413 -0
  21. package/lib/critique-render.js +171 -0
  22. package/lib/errors.js +82 -0
  23. package/lib/generated-provenance.js +87 -0
  24. package/lib/log.js +36 -0
  25. package/lib/paths.js +31 -0
  26. package/lib/refine-briefs.js +329 -0
  27. package/lib/reingest-selected.js +173 -0
  28. package/lib/run-summary.js +131 -0
  29. package/lib/runtime-runs.js +168 -0
  30. package/lib/selections.js +323 -0
  31. package/lib/snapshot.js +5 -2
  32. package/lib/split.js +5 -2
  33. package/lib/workflow-profiles.js +161 -0
  34. package/package.json +8 -6
  35. package/scripts/batch-generate.js +167 -0
  36. package/scripts/batch-sheet.js +46 -0
  37. package/scripts/batch-show.js +86 -0
  38. package/scripts/brief-compile.js +134 -0
  39. package/scripts/brief-show.js +52 -0
  40. package/scripts/critique-show.js +50 -0
  41. package/scripts/critique.js +70 -0
  42. package/scripts/doctor.js +169 -1
  43. package/scripts/init.js +22 -0
  44. package/scripts/refine.js +119 -0
  45. package/scripts/reingest-selected.js +78 -0
  46. package/scripts/reingest.js +7 -1
  47. package/scripts/run-generate.js +76 -0
  48. package/scripts/run-list.js +58 -0
  49. package/scripts/run-show.js +63 -0
  50. package/scripts/select.js +118 -0
  51. package/scripts/selection-show.js +88 -0
  52. package/scripts/snapshot.js +27 -23
  53. package/scripts/split.js +3 -1
  54. package/scripts/workflow-list.js +61 -0
  55. package/scripts/workflow-show.js +96 -0
  56. package/templates/domains/architecture/workflows/profiles/environment-moodboard.json +62 -0
  57. package/templates/domains/architecture/workflows/profiles/interior-variant-pack.json +60 -0
  58. package/templates/domains/character-design/workflows/profiles/character-portrait-set.json +61 -0
  59. package/templates/domains/character-design/workflows/profiles/expression-sheet.json +59 -0
  60. package/templates/domains/creature-design/workflows/profiles/creature-portrait-set.json +61 -0
  61. package/templates/domains/creature-design/workflows/profiles/silhouette-exploration.json +58 -0
  62. package/templates/domains/game-art/workflows/profiles/character-portrait-set.json +62 -0
  63. package/templates/domains/game-art/workflows/profiles/environment-moodboard.json +61 -0
  64. package/templates/domains/vehicle-mech/workflows/profiles/variant-pack.json +60 -0
  65. package/templates/domains/vehicle-mech/workflows/profiles/vehicle-silhouette-pack.json +59 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,131 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [2.6.0] - 2026-07-01
6
+
7
+ ### Added
8
+
9
+ - **Batch production modes (Phase 4D)** — coordinated multi-slot generation with reviewable sheet output
10
+ - `sdlab batch generate --mode <id>` — execute a batch production mode (expression sheets, environment boards, etc.)
11
+ - `sdlab batch show [batch-id]` — list all batches or show batch details
12
+ - `sdlab batch sheet <batch-id>` — re-render batch sheet from saved manifest
13
+ - `--dry-run` flag prepares batch directory and briefs without submitting to ComfyUI
14
+ - **Batch modes** (`lib/batch-modes.js`) — load, validate, and list batch mode definitions from `workflows/batch-modes/`
15
+ - **Batch compiler** (`lib/batch-compiler.js`) — expand one batch mode into multiple slot briefs with controlled per-slot deltas
16
+ - **Batch runs** (`lib/batch-runs.js`) — batch directory creation (`batch_YYYY-MM-DD_NNN`), coordinated slot execution, manifest save/load
17
+ - **Batch sheet renderer** (`lib/batch-sheet-render.js`) — HTML review surfaces with CSS grid layout, dark theme, zero dependencies
18
+ - **4 starter batch modes** for Star Freight: expression-sheet, environment-board, silhouette-pack, continuity-variants
19
+ - **JSON schemas** for batch mode definitions and batch manifests (`schemas/`)
20
+ - Doctor validates batch mode definitions (batch_type, subject_mode, slot uniqueness, layout, workflow references)
21
+ - Init scaffolds `workflows/batch-modes/` and `batches/` directories
22
+ ## [3.0.0] - 2026-04-16
23
+
24
+ ### Added
25
+
26
+ - **Selection + Reintegration (Phase 4E)** — close the production loop from generation back to corpus
27
+ - `sdlab select --run <id> --approve <files>` — select approved outputs from a run
28
+ - `sdlab select --batch <id> --approve <slot:file,...>` — select approved outputs from a batch
29
+ - `sdlab selection show [selection-id]` — list selections or show details
30
+ - `sdlab reingest selected --selection <id>` — re-ingest selected outputs as candidate records
31
+ - `--reason` and `--tags` flags for selection context
32
+ - `--dry-run` and `--json` output support
33
+ - **Selection engine** (`lib/selections.js`) — create selection artifacts from runs or batches
34
+ - Selection ID generation (`selection_YYYY-MM-DD_NNN`)
35
+ - Run and batch selection with output validation
36
+ - Chosen files copied into `selections/<id>/chosen/`
37
+ - Manifest, summary.json, and summary.md written per selection
38
+ - **Generated provenance** (`lib/generated-provenance.js`) — build provenance blocks for re-ingested records
39
+ - Traces back through run → brief → workflow → seed → config fingerprint
40
+ - Normalizes run and batch source context into a single shape
41
+ - **Re-ingest from selections** (`lib/reingest-selected.js`) — create candidate records from selections
42
+ - Records carry `source: generated` provenance with full generation provenance block
43
+ - Images copied to `inbox/generated/`
44
+ - Records tagged: `generated`, `selected`, workflow ID, subject ID
45
+ - No auto-bypass around review — records are staged for normal curation
46
+ - Provenance log written as `provenance.jsonl`
47
+ - **JSON schemas** for selections and generated records (`schemas/`)
48
+ - Doctor validates new project directories (`selections/`, `inbox/generated/`)
49
+ - Init scaffolds `selections/` and `inbox/generated/` directories
50
+
51
+ ### Changed
52
+
53
+ - **README** rewritten to describe the full production loop: canon → dataset → training → brief → run → critique → batch → select → re-ingest
54
+ - **Landing page** updated: new headline, description, 4-tab preview (Start, Dataset, Produce, Close the loop), 7 feature cards including production workflow and selection
55
+ - **Handbook** updated: index shows production loop diagram, new [Production Loop](handbook/production-loop/) page with complete end-to-end walkthrough
56
+ - **Package metadata** updated: description, keywords (`generation-workflow`, `batch-production`, `reintegration`), version badge
57
+ - Version bumped to **v3.0.0** — the repo is now a full production workbench, not just a dataset preparation system
58
+ ## [2.5.0] - 2026-04-16
59
+
60
+ ### Added
61
+
62
+ - **Critique + Refine loop (Phase 4C)** — inspect run outputs and generate focused next-pass briefs
63
+ - `sdlab critique --run <id>` — generate structured critique of a completed run
64
+ - `sdlab critique show --run <id>` — display saved critique (text, JSON, markdown)
65
+ - `sdlab refine --run <id> --pick <file>` — generate refined next-pass brief from critique
66
+ - CLI override flags: `--preserve`, `--push`, `--suppress` for manual delta control
67
+ - **Critique engine** (`lib/critique-engine.js`) — brief-driven candidate analysis
68
+ - 10 critique dimensions activated by workflow canon focus and drift guards
69
+ - Per-candidate structured notes: strengths, drift issues, preserve/correct next pass
70
+ - Run-level recommendation: accept_one, refine_from_one, rerun_broader, discard_run
71
+ - Workflow-specific emphasis by output mode (portrait, expression, moodboard, etc.)
72
+ - **Refine briefs** (`lib/refine-briefs.js`) — delta-layered brief generation
73
+ - Preserve/push/suppress instructions derived from critique + CLI overrides
74
+ - Prompt refinement: original prompt preserved, delta instructions appended
75
+ - Negative prompt extension: suppress items added without replacing existing negatives
76
+ - Refined briefs point back to parent brief + source run + picked candidate
77
+ - **JSON schemas** for critique reports and refined briefs (`schemas/`)
78
+ - Critique and refine artifacts stored in run directory: `runs/<id>/critique.json`, `runs/<id>/refine/`
79
+
80
+ ## [2.4.0] - 2026-04-16
81
+
82
+ ### Added
83
+
84
+ - **ComfyUI runtime adapter (Phase 4B)** — execute compiled briefs through ComfyUI and capture run artifacts
85
+ - `sdlab run generate --brief <id>` — execute a brief through ComfyUI, capture outputs to runs/
86
+ - `sdlab run show <id>` — show run manifest and results
87
+ - `sdlab run list` — list all runs for a project
88
+ - `--dry-run` flag prepares run directory without submitting to ComfyUI
89
+ - `--seed <n>` override for reproducible generation
90
+ - **Run management** (`lib/runtime-runs.js`) — run ID generation (`run_YYYY-MM-DD_NNN`), seed plans (fixed/increment/random), run directory preparation, manifest save/load
91
+ - **ComfyUI workflow adapter** (`lib/adapters/comfyui-workflows.js`) — builds ComfyUI prompt graphs from compiled briefs, template resolution by output mode
92
+ - **ComfyUI runner** (`lib/adapters/comfyui-runner.js`) — orchestrates seed plan → graph build → submit → poll → download → manifest for each image
93
+ - **Run summaries** (`lib/run-summary.js`) — generates summary.json and summary.md in each run directory
94
+ - **Runtime templates** (`runtime/comfyui/txt2img-standard.json`) — declarative workflow template metadata
95
+ - Doctor validates runtime templates (Section 10)
96
+ - `runs/` added to project scaffold
97
+
98
+ ## [2.3.0] - 2026-04-15
99
+
100
+ ### Added
101
+
102
+ - **Production workbench spine (Phase 4A)** — workflow profiles and brief compiler
103
+ - `sdlab workflow list` — list workflow profiles for a project
104
+ - `sdlab workflow show <id>` — show workflow profile details
105
+ - `sdlab brief compile` — compile a deterministic generation brief from project truth
106
+ - `sdlab brief show <id>` — show compiled brief (text, JSON, or markdown)
107
+ - **Workflow profiles** — production recipes defining output shape, canon constraints, drift guards, and runtime defaults
108
+ - 6 output modes: portrait_set, expression_sheet, variant_pack, moodboard, silhouette_sheet, turnaround
109
+ - 12 canon focus categories: silhouette, material_language, palette, anatomy, costume_logic, era_logic, scale_logic, lighting, surface_wear, gesture, composition, faction_read
110
+ - Subject mode enforcement: required, optional, forbidden
111
+ - **Brief compiler** — merges 6 layers of project truth into a frozen generation contract:
112
+ - Project canon → lane config → subject identity → training asset hints → workflow profile → CLI overrides
113
+ - Structured prompt assembly (no freeform prompt soup)
114
+ - Deterministic output: same inputs produce identical briefs
115
+ - Config fingerprint (SHA-256) for change detection
116
+ - Outputs JSON + human-readable Markdown
117
+ - **3 starter workflows for Star Freight**: character-portrait-set, expression-sheet, environment-moodboard
118
+ - **10 domain template workflows** across 5 domains (game-art, character-design, creature-design, architecture, vehicle-mech)
119
+ - **New library modules:** `lib/workflow-profiles.js`, `lib/brief-compiler.js`, `lib/brief-render.js`
120
+ - **Doctor validates workflow profiles** — checks schema, lane references, subject mode, runtime defaults
121
+ - **Init scaffolds `workflows/profiles/` and `briefs/`** directories and copies domain workflow templates
122
+
123
+ ### Key properties
124
+
125
+ - Workflow profiles are NOT training profiles — they drive generation, not training
126
+ - Briefs are frozen contracts — the creative runtime boundary between planning and execution
127
+ - Subject constraints are hard when subject_mode = required (fail loudly if missing)
128
+ - Drift guards appear as explicit warnings, never hidden in metadata
129
+
5
130
  ## [2.2.0] - 2026-04-16
6
131
 
7
132
  ### Added
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