@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.
Files changed (61) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.es.md +96 -63
  3. package/README.fr.md +97 -64
  4. package/README.hi.md +108 -77
  5. package/README.it.md +97 -64
  6. package/README.ja.md +105 -72
  7. package/README.md +33 -0
  8. package/README.pt-BR.md +94 -61
  9. package/README.zh.md +98 -65
  10. package/bin/sdlab.js +71 -0
  11. package/lib/adapters/ai-toolkit.js +209 -0
  12. package/lib/adapters/comfyui-runner.js +36 -2
  13. package/lib/adapters/comfyui-workflows.js +133 -2
  14. package/lib/adapters/diffusers-lora.js +46 -66
  15. package/lib/adapters/generic-image-caption.js +22 -50
  16. package/lib/canon-build/build.js +450 -0
  17. package/lib/canon-build/emitters/base.js +122 -0
  18. package/lib/canon-build/emitters/character.js +167 -0
  19. package/lib/canon-build/emitters/deity.js +165 -0
  20. package/lib/canon-build/emitters/faction.js +161 -0
  21. package/lib/canon-build/emitters/index.js +38 -0
  22. package/lib/canon-build/emitters/location.js +153 -0
  23. package/lib/canon-build/emitters/monster.js +131 -0
  24. package/lib/canon-build/emitters/relic.js +142 -0
  25. package/lib/canon-build/emitters/ship.js +154 -0
  26. package/lib/canon-build/emitters/species.js +165 -0
  27. package/lib/canon-build/frontmatter.js +76 -0
  28. package/lib/canon-build/lane-resolve.js +64 -0
  29. package/lib/canon-build/load-config.js +117 -0
  30. package/lib/canon-build/load-entry.js +62 -0
  31. package/lib/canon-build/load-schema.js +46 -0
  32. package/lib/captions.js +197 -0
  33. package/lib/config.js +19 -0
  34. package/lib/critique-engine.js +46 -1
  35. package/lib/critique-render.js +45 -0
  36. package/lib/freeze-events.js +109 -0
  37. package/lib/freeze-gate.js +208 -0
  38. package/lib/freeze-stamp.js +161 -0
  39. package/lib/rows.js +228 -0
  40. package/lib/run-manifest.js +308 -0
  41. package/lib/snapshot.js +7 -1
  42. package/lib/training-adapters.js +5 -0
  43. package/lib/training-packages.js +24 -18
  44. package/lib/training-profiles.js +33 -0
  45. package/lib/verifier.js +67 -0
  46. package/package.json +12 -3
  47. package/scripts/_batch_cut.py +71 -0
  48. package/scripts/_seam_cutout.py +74 -0
  49. package/scripts/canon-build.js +88 -0
  50. package/scripts/canon-drift.js +193 -0
  51. package/scripts/canon-freeze-status.js +85 -0
  52. package/scripts/canon-freeze.js +211 -0
  53. package/scripts/canon-unfreeze.js +137 -0
  54. package/scripts/critique.js +32 -7
  55. package/scripts/curate.js +33 -0
  56. package/scripts/generate-controlnet.js +12 -0
  57. package/scripts/generate-identity.js +20 -4
  58. package/scripts/generate-ipadapter.js +11 -0
  59. package/scripts/generate.js +262 -102
  60. package/scripts/qwen_generate.py +327 -0
  61. package/scripts/run-generate.js +3 -0
package/README.it.md CHANGED
@@ -13,13 +13,13 @@
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
- Definisci le tue regole visive. Genera immagini. Valuta ogni immagine in base a quelle regole. Invia i risultati come dati di addestramento versionati e verificabili, quindi metti in funzione i modelli addestrati nei flussi di lavoro di produzione reali e reinserisci i risultati migliori nel tuo database.
16
+ Scrivi le tue regole visive. Genera immagini. Valuta ogni immagine in base a tali regole. Pubblica i risultati come dati di addestramento verificabili e versionati, quindi utilizza i modelli addestrati in flussi di lavoro di produzione reali e reintroduci gli output migliori nel tuo corpus.
17
17
 
18
- Style Dataset Lab collega le caratteristiche del vostro stile artistico definite in precedenza al set di dati utilizzato per l'addestramento. Definite una "costituzione" che includa regole sulla silhouette, vincoli di palette, linguaggio dei materiali, o qualsiasi altro aspetto rilevante per il vostro progetto. Il sistema genera candidati, li valuta in base a tali regole e confeziona le opere approvate in set di dati riproducibili, in cui ogni elemento spiega perché è stato incluso.
18
+ Style Dataset Lab collega le indicazioni che hai fornito sullo stile artistico al set di dati da cui effettivamente esegui l'addestramento, quindi completa il ciclo fino alla fase di produzione. Definisci una serie di regole: regole sulla silhouette, vincoli sulla palette, linguaggio dei materiali o qualsiasi altro elemento rilevante per il tuo progetto. Il flusso di lavoro genera candidati, li valuta in base alle regole e raggruppa gli elementi approvati in set di dati riproducibili, dove ogni record spiega perché è stato incluso.
19
19
 
20
- Successivamente, entra in gioco l'ambiente di lavoro di produzione: compila le istruzioni di generazione a partire dalle informazioni del progetto, eseguile tramite ComfyUI, valuta i risultati, genera in batch fogli di espressioni e schemi ambientali, seleziona i risultati migliori e reinseriscili come nuovi candidati. Il ciclo si chiude: genera, seleziona, valuta, migliora.
20
+ Successivamente, l'ambiente di lavoro di produzione prende il sopravvento: compila le specifiche per la generazione a partire dai dati del progetto, eseguile tramite ComfyUI, valuta gli output, genera in batch fogli di espressione e schede ambientali, seleziona i risultati migliori e reintroducili come nuovi candidati. Il ciclo si chiude: produci, seleziona, rivedi, rafforza.
21
21
 
22
- ## La pipeline
22
+ ## Il flusso di lavoro
23
23
 
24
24
  ```bash
25
25
  # Write your canon. Scaffold the project.
@@ -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
- Quest'ultimo comando è fondamentale. I risultati selezionati vengono sottoposti allo stesso processo di valutazione di tutto il resto. Il database cresce e le regole rimangono valide.
59
+ Quest'ultimo comando è il punto cruciale. Gli output selezionati vengono reintrodotti nello stesso processo di revisione insieme a tutti gli altri elementi. Il corpus si espande e le regole rimangono valide.
60
+
61
+ ## Definizione del canone
62
+
63
+ Prima che il flusso di lavoro del set di dati venga eseguito, lo spazio dei nomi `sdlab canon *` trasforma l'archivio delle entità del canone del tuo progetto nelle tre proiezioni utilizzate effettivamente per l'addestramento e la produzione, e blocca le voci che non devono subire modifiche.
64
+
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` è basato sull'indirizzamento dei contenuti: il suo output è identificato da un codice `canon_sha` ed è memorizzato nella cache, quindi una ricostruzione del canone invariata viene eseguita istantaneamente. `canon freeze` registra ogni "congelamento" rispetto a una versione specifica e lo aggiunge a una traccia di controllo in `freeze-events.jsonl`: le voci "congelate" rifiutano esplicitamente la rigenerazione, mentre le voci "soft-advisory" rifiutano per impostazione predefinita (è possibile ignorare l'impostazione con `--i-know`). `canon drift` ricalcola l'hash di ogni voce monitorata e segnala eventuali modifiche rispetto all'ultima versione pulita.
80
+
81
+ Flusso di lavoro completo nel manuale: [Canon build](handbook/canon-build/), [Canon freeze](handbook/canon-freeze/) e [Two-LoRA stacking](handbook/two-lora-stacking/).
60
82
 
61
83
  ## Cosa produce
62
84
 
63
- Sono disponibili sette elementi del database e un intero ambiente di lavoro di produzione. Ogni elemento è collegato ai suoi predecessori, in modo da poter risalire a qualsiasi record di addestramento alla regola che lo ha approvato.
85
+ Sette artefatti del set di dati e un ambiente di lavoro di produzione completo. Ogni artefatto è collegato ai suoi predecessori, in modo da poter risalire a qualsiasi record di addestramento fino alla regola che lo ha approvato.
64
86
 
65
- | Artefatto. | Cos'è. |
87
+ | Artefatto | Cos'è |
66
88
  |----------|-----------|
67
- | **Snapshot** | Selezione di record "congelati" con impronta di configurazione. Ogni inclusione ha una motivazione esplicita. |
68
- | **Split** | Partizione di addestramento/validazione/test in cui le famiglie di soggetti non si sovrappongono. |
69
- | **Export package** | Set di dati autonomo: manifest, metadati, immagini, suddivisioni, scheda del set di dati, checksum. |
70
- | **Eval pack** | Compiti di test sensibili al "canone": copertura delle "lane", deriva proibita, ancoraggi/modelli di riferimento, continuità dei soggetti. |
71
- | **Training package** | Layout pronto per l'addestramento tramite adattatori (`diffusers-lora`, `generic-image-caption`). Stessa verità, formato diverso. |
72
- | **Eval scorecard** | Valutazione di superamento/non superamento per ogni compito, in base alla valutazione dei risultati generati rispetto ai set di valutazione. |
73
- | **Implementation pack** | Esempi di prompt, errori noti, test di continuità e indicazioni per il reinserimento. |
89
+ | **Snapshot** | Selezione di record congelati con impronta di configurazione. Ogni inclusione ha una motivazione esplicita. |
90
+ | **Split** | Partizione train/val/test in cui le famiglie di soggetti non superano i confini. |
91
+ | **Export package** | Set di dati autonomo: manifesto, metadati, immagini, suddivisioni, scheda del set di dati, checksum. |
92
+ | **Eval pack** | Attività di test consapevoli del canone: copertura delle corsie, divieto di modifiche, ancoraggio/oro, continuità dei soggetti. |
93
+ | **Training package** | Layout pronto per l'addestramento tramite adattatori (`diffusers-lora`, `generic-image-caption`). Stessi dati, formato diverso. |
94
+ | **Eval scorecard** | Valutazione per attività con esito positivo/negativo basata sulla valutazione degli output generati rispetto ai pacchetti di valutazione. |
95
+ | **Implementation pack** | Esempi di prompt, errori noti, test di continuità e indicazioni per la reintroduzione. |
74
96
 
75
- L'ambiente di lavoro di produzione offre:
97
+ L'ambiente di lavoro di produzione aggiunge:
76
98
 
77
- | Superficie di interazione | Cosa fa |
99
+ | Superficie | Cosa fa |
78
100
  |---------|-------------|
79
- | **Compiled brief** | Generazione deterministica a partire dal profilo del flusso di lavoro e dalle informazioni del progetto. |
80
- | **Run** | Artefatto di esecuzione stabile: istruzioni + seed + output di ComfyUI + manifest. |
81
- | **Critique** | Valutazione strutturata e multidimensionale dei risultati rispetto al modello di riferimento. |
82
- | **Batch** | Produzione coordinata su più canali (fogli di espressioni, schemi ambientali, pacchetti di silhouette). |
83
- | **Selection** | Artefatto delle decisioni creative: quali output sono stati scelti, perché e da dove provengono. |
84
- | **Re-ingest** | Gli output selezionati vengono restituiti come record candidati con la completa provenienza della generazione. |
101
+ | **Compiled brief** | Istruzioni di generazione deterministiche dal profilo del flusso di lavoro + dati del progetto. |
102
+ | **Run** | Artefatto di esecuzione congelato: breve descrizione + seed + output ComfyUI + manifesto. |
103
+ | **Critique** | Valutazione strutturata multidimensionale degli output rispetto al canone. |
104
+ | **Batch** | Produzione coordinata multi-slot (fogli di espressione, schede ambientali, pacchetti di silhouette). |
105
+ | **Selection** | Artefatto decisionale creativo: quali output sono stati scelti, perché e da dove provengono. |
106
+ | **Re-ingest** | Gli output selezionati vengono reintrodotti come record candidati con la cronologia completa della generazione. |
85
107
 
86
108
  ## Perché esiste
87
109
 
88
- I dati di addestramento sono l'elemento più importante in qualsiasi pipeline di intelligenza artificiale visiva. Tuttavia, la maggior parte dei dati di addestramento è costituita da una cartella di immagini senza una cronologia, senza una traccia di valutazione e senza un collegamento alle regole di stile che avrebbero dovuto seguire.
110
+ I dati di addestramento sono l'artefatto più importante in qualsiasi flusso di lavoro di intelligenza artificiale visiva. Ma la maggior parte dei dati di addestramento è una cartella di immagini senza cronologia, senza traccia delle valutazioni e senza collegamento con le regole di stile che avrebbero dovuto seguire.
111
+
112
+ Style Dataset Lab rende esplicita questa connessione. La tua costituzione definisce le regole. La tua rubrica definisce le dimensioni della valutazione. I tuoi record di curatela registrano la valutazione. Il tuo legame con il canone dimostra la connessione. E il tuo set di dati conserva tutto questo come informazioni strutturate, ricercabili e riproducibili.
113
+
114
+ Il risultato pratico: quando il tuo LoRA subisce modifiche indesiderate, puoi chiedere *perché*. Quando il tuo prossimo ciclo di addestramento richiede dati migliori, sai esattamente quali record sono quasi corretti e quale singola regola hanno violato. Quando un nuovo membro del team chiede qual è il linguaggio visivo del progetto, la risposta non è una bacheca Figma, ma una costituzione ricercabile con 1.182 esempi valutati.
115
+
116
+ ## Testato in produzione
117
+
118
+ Non si tratta di una pipeline dimostrativa. Due modelli LoRA reali sono stati elaborati integralmente attraverso questa pipeline: lo stesso ciclo canonico → curatela → addestramento → distribuzione, agli estremi opposti dello spettro della curatela.
89
119
 
90
- Style Dataset Lab rende esplicito questo collegamento. La vostra "costituzione" definisce le regole. La vostra "rubrica" definisce le dimensioni della valutazione. I vostri registri di "curazione" documentano la valutazione. La vostra "prova canonica" dimostra il collegamento. E il vostro set di dati porta con sé tutto questo come una verità strutturata, interrogabile e riproducibile.
120
+ - **[Tallow Fen](handbook/case-study-tallow-fen/)** (progettazione di creature): un canone di bestiario creato da zero, con circa il **34% di approvazioni** su 293 record curati (169 rifiutati: la fase di selezione è rigorosa). È stato distribuito `tallow_fen_style_v3.safetensors` a 1.5 su `qwen-image`.
121
+ - **[Rustline](handbook/case-study-rustline/)** (progettazione concettuale): un canone denso e predefinito, con circa il **96% di approvazioni** su 180 record. È stato distribuito `rustline_v3ckpt_1500.safetensors` a 1.0 su `qwen-image`, ed è stato riutilizzato in un secondo progetto.
91
122
 
92
- Il risultato pratico: quando il vostro LoRA si discosta, potete capire *perché*. Quando la vostra prossima fase di addestramento necessita di dati migliori, sapete esattamente quali record sono "quasi giusti" e quale singola regola hanno violato. Quando un nuovo membro del team chiede qual è il linguaggio visivo del progetto, la risposta non è una lavagna Figma, ma una "costituzione" ricercabile con 1.182 esempi valutati.
123
+ La stessa pipeline, due profili di produzione: la fase di curatela è reale (rifiuta rigorosamente i contenuti inappropriati) e un canone ben definito produce alti tassi di accettazione.
93
124
 
94
125
  ## Cinque domini, regole reali
95
126
 
96
- Non modelli di esempio. Ogni dominio viene fornito con regole di "costituzione" di livello professionale, definizioni di "lane", rubriche di valutazione e vocabolario di gruppo.
127
+ Non semplici modelli di esempio. Ogni dominio viene fornito con regole della costituzione adatte alla produzione, definizioni delle corsie, rubriche di valutazione e vocabolario di gruppo.
97
128
 
98
- | Dominio. | Lane. | Cosa viene valutato. |
129
+ | Dominio | Corsie | Cosa viene valutato |
99
130
  |--------|-------|-----------------|
100
- | **game-art** | personaggio, ambiente, oggetto, interfaccia utente, nave, interno, attrezzatura. | Silhouette alla scala del gameplay, interpretazione della fazione, usura e invecchiamento. |
101
- | **character-design** | ritratto, figura intera, vista a 360°, foglio di espressioni, posa d'azione. | proporzioni, logica dell'abbigliamento, personalità, chiarezza dei gesti. |
102
- | **creature-design** | concept, ortografico, studio dei dettagli, azione, riferimento delle dimensioni, habitat. | anatomia, logica evolutiva, distinzione della silhouette. |
103
- | **architecture** | esterno, interno, paesaggio urbano, dettaglio strutturale, rovina, paesaggio. | struttura, coerenza dei materiali, prospettiva, coerenza dell'epoca. |
104
- | **vehicle-mech** | esterno, cabina di pilotaggio, componente, schema, foglio di silhouette, variante danneggiata. | logica meccanica, linguaggio del design, punti di accesso, narrazione dei danni. |
131
+ | **game-art** | personaggio, ambiente, oggetto di scena, interfaccia utente, nave, interno, attrezzatura | Silhouette su scala di gioco, identificazione della fazione, usura e invecchiamento |
132
+ | **character-design** | ritratto, figura intera, rotazione a 360 gradi, foglio di espressioni, posa d'azione | Proporzioni, logica del costume, personalità, chiarezza dei gesti |
133
+ | **creature-design** | concetto, ortografico, studio dettagliato, azione, riferimento alla scala, habitat | Anatomia, logica evolutiva, distinzione della silhouette |
134
+ | **architecture** | esterno, interno, paesaggio urbano, dettaglio strutturale, rovina, paesaggio | Struttura, coerenza dei materiali, prospettiva, coerenza dell'epoca |
135
+ | **vehicle-mech** | esterno, cabina di pilotaggio, componente, schema, foglio di silhouette, variante danneggiata | Logica meccanica, linguaggio del design, punti di accesso, narrazione dei danni |
105
136
 
106
137
  ## Struttura del progetto
107
138
 
108
- Ogni progetto è autonomo. Cinque file di configurazione JSON definiscono le regole; il resto è costituito da dati.
139
+ Ogni progetto è autonomo. Cinque file di configurazione JSON definiscono le regole; tutto il resto sono dati.
109
140
 
110
141
  ```
111
142
  projects/my-project/
@@ -127,19 +158,21 @@ projects/my-project/
127
158
  inbox/generated/ Re-ingested images awaiting review
128
159
  ```
129
160
 
130
- ## Principi fondamentali
161
+ ## Proprietà di affidabilità
131
162
 
132
- Questi principi non sono solo aspirazionali, ma vengono applicati rigorosamente.
163
+ Queste non sono semplici aspirazioni. Sono applicate rigorosamente.
133
164
 
134
- - **Gli snapshot sono immutabili.** L'impronta digitale della configurazione (SHA-256) dimostra che nulla è cambiato.
135
- - **Le suddivisioni impediscono la fuoriuscita di dati.** Le famiglie di soggetti (definite da identità, lignaggio o suffisso ID) non attraversano i confini delle partizioni.
136
- - **I manifesti sono contratti vincolanti.** Esportazione dell'hash + impronta digitale della configurazione. Se qualcosa cambia, è necessario crearne uno nuovo.
137
- - **Gli adattatori non possono alterare i dati.** Layout diversi, ma stessi record. Nessuna aggiunta, nessuna rimozione, nessuna riclassificazione.
138
- - **Gli output generati vengono riesaminati.** Non ci sono scorciatoie. Vengono curati e collegati come tutto il resto.
165
+ - **Gli snapshot sono immutabili.** L'impronta della configurazione (SHA-256) dimostra che nulla è stato modificato.
166
+ - **Le suddivisioni prevengono la dispersione dei dati.** Le famiglie di soggetti (per identità, discendenza o suffisso ID) non superano mai i confini delle partizioni.
167
+ - **I manifest sono contratti vincolanti.** Esportazione dell'hash + impronta della configurazione. Se qualcosa cambia, crearne uno nuovo.
168
+ - **Le esecuzioni fissano il loro grafo esatto.** Ogni generazione registra `comfy_workflow_sha` + hash del contenuto del modello/LoRA + politica dei seed, in modo che un ciclo possa essere riprodotto byte per byte: identico sia nell'ambiente JS che Python. L'hashing del modello è opzionale (`--hash-models`) e non viene mai falsificato.
169
+ - **Nessun modello verifica il proprio output.** Le valutazioni registrano `judged_by_model` e `generator_model`; se questi valori sono mai uguali, viene visualizzato un avviso.
170
+ - **Gli adattatori non possono alterare la verità.** Layout diverso, stessi record. Nessuna aggiunta, nessuna rimozione, nessuna riclassificazione.
171
+ - **Gli output generati vengono reintrodotti attraverso la revisione.** Nessun bypass. Curatela e collegamento come per tutti gli altri elementi.
139
172
 
140
173
  ## Star Freight
141
174
 
142
- Il repository include un esempio completo e funzionante: 1.182 record, 5 fazioni, 7 percorsi, 24 regole costituzionali, 892 risorse approvate, 2 profili di addestramento. Un canone visivo di un RPG fantascientifico, completamente curato.
175
+ Il repository include un esempio completo funzionante: 1.182 record, 5 fazioni, 7 percorsi, 24 regole costitutive, 892 risorse approvate, 2 profili di addestramento. Un canone visivo di fantascienza RPG, completamente curato.
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
- ## Formati di output
185
+ ## Formati downstream
153
186
 
154
- `sdlab` è proprietaria del dataset. La conversione del formato è gestita da [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset): TRL, LLaVA, Qwen2-VL, JSONL, Parquet e altro. `repo-dataset` esegue la conversione; non decide quali dati includere.
187
+ `sdlab` è il proprietario del set di dati. La conversione del formato è gestita da [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset): TRL, LLaVA, Qwen2-VL, JSONL, Parquet e altro. `repo-dataset` esegue il rendering; non decide mai l'inclusione.
155
188
 
156
189
  ## Installazione
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
- Richiede Node.js 20+ e [ComfyUI](https://github.com/comfyanonymous/ComfyUI) installato localmente all'indirizzo localhost:8188 per la generazione.
195
+ Richiede Node.js 20+ e [ComfyUI](https://github.com/comfyanonymous/ComfyUI) su localhost:8188 per la generazione.
163
196
 
164
197
  ### Prova senza ComfyUI
165
198
 
166
- È possibile esplorare l'intera interfaccia di interazione, escluse le funzioni di generazione, tramite l'ispezione, la curatela, lo snapshot, la suddivisione e l'esportazione, utilizzando il progetto Star Freight incluso, senza installare ComfyUI o scaricare alcun file SDXL.
199
+ È possibile esplorare l'intera interfaccia non di generazione (ispezione, curatela, snapshot, suddivisione, esportazione) utilizzando il progetto Star Freight incluso, senza installare ComfyUI o scaricare alcun peso 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
- Il comando `sdlab project doctor` convalida la configurazione di ogni progetto (costituzione, percorsi, rubriche, terminologia) e segnala l'idoneità senza utilizzare la GPU. Qualsiasi comando che modifichi lo stato generato accetta l'opzione `--dry-run` per visualizzare l'effetto prima di applicarlo.
212
+ `sdlab project doctor` convalida la configurazione di ogni progetto (costituzione, percorsi, rubrica, terminologia) e segnala l'idoneità senza toccare la GPU. Qualsiasi comando che modifica lo stato generato accetta `--dry-run` per visualizzare in anteprima l'effetto.
180
213
 
181
- Se si dimentica `--project`, la CLI passa al primo progetto trovato nella cartella `projects/` e visualizza un avviso; per disattivare l'avviso, è necessario specificare esplicitamente `--project`.
214
+ Se si dimentica `--project`, la CLI torna al primo progetto che trova nella cartella `projects/` e stampa un avviso; passare `--project` esplicitamente per disattivare l'avviso.
182
215
 
183
- ### Riprendere un'esecuzione interrotta
216
+ ### Ripresa di un'esecuzione interrotta
184
217
 
185
- È possibile riprendere le lunghe esecuzioni di generazione senza dover ripetere il lavoro già completato:
218
+ Le lunghe esecuzioni di generazione possono essere riprese senza ripetere il lavoro completato:
186
219
 
187
220
  ```bash
188
221
  # Skip subjects whose record + image are already on disk.
@@ -194,36 +227,36 @@ 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
- Entrambi i comandi funzionano perché ogni sezione scrive il proprio file manifest in modo atomico al termine dell'esecuzione; un arresto anomalo durante l'esecuzione non corrompe lo stato parziale.
230
+ Entrambi i comandi funzionano perché ogni slot scrive la sua voce del manifest in modo atomico al termine; un arresto anomalo durante l'esecuzione non corrompe mai lo stato parziale.
198
231
 
199
232
  ## Risoluzione dei problemi
200
233
 
201
234
  Modalità di errore comuni e soluzioni:
202
235
 
203
- **`ECONNREFUSED 127.0.0.1:8188` in qualsiasi comando `sdlab generate` / `sdlab run generate` / `sdlab batch generate`**
204
- ComfyUI non è in esecuzione. Avvia ComfyUI (`python main.py --listen 127.0.0.1 --port 8188`) e verifica con `curl http://127.0.0.1:8188/system_stats`. Per puntare a un host/porta diverso, imposta `COMFY_URL=http://host:port`.
236
+ **`ECONNREFUSED 127.0.0.1:8188` in qualsiasi `sdlab generate` / `sdlab run generate` / `sdlab batch generate`**
237
+ ComfyUI non è in esecuzione. Avviare ComfyUI (`python main.py --listen 127.0.0.1 --port 8188`) e confermare con `curl http://127.0.0.1:8188/system_stats`. Per puntare a un host/porta diverso, impostare `COMFY_URL=http://host:port`.
205
238
 
206
239
  **`missing checkpoint` / `LoRA weight not found`**
207
- Il profilo del flusso di lavoro indica un file modello che non si trova nelle cartelle `models/checkpoints/` o `models/loras/` di ComfyUI. Apri `projects/<project>/workflows/profiles/<profile>.json`, individua il campo `checkpoint` o `lora` e scarica il file corrispondente oppure sostituiscilo con uno che hai già. Esegui nuovamente `sdlab project doctor --project <project>` per confermare la correzione.
240
+ Il profilo del flusso di lavoro fa riferimento a un file modello che non si trova nelle cartelle `models/checkpoints/` o `models/loras/` di ComfyUI. Aprire `projects/<project>/workflows/profiles/<profile>.json`, individuare il campo `checkpoint` o `lora` e scaricare il peso di riferimento oppure sostituirlo con uno che si ha già. Rieseguire `sdlab project doctor --project <project>` per confermare la correzione.
208
241
 
209
242
  **Errori di `sdlab project doctor`**
210
- Doctor restituisce codici di errore strutturati. Alcuni esempi comuni:
211
- - `E_PROJECT_NOT_FOUND` — la directory del progetto non esiste nella cartella `projects/`. Verifica l'ortografia.
212
- - `E_CONFIG_INVALID` — uno dei cinque file di configurazione JSON non ha superato la convalida dello schema. Il campo `hint` indica il file e il campo errati.
213
- - `E_RECORD_DRIFT` — l'impronta digitale della configurazione di un record non corrisponde più alla sua origine. Ricurata o ricollega come suggerito nell'hint.
243
+ Doctor restituisce codici di errore strutturati. Alcuni comuni:
244
+ - `E_PROJECT_NOT_FOUND`: la directory del progetto non esiste in `projects/`. Controllare l'ortografia.
245
+ - `E_CONFIG_INVALID`: uno dei cinque file di configurazione JSON ha fallito la convalida dello schema. Il campo `hint` indica il file e il campo problematici.
246
+ - `E_RECORD_DRIFT`: l'impronta della configurazione di un record non corrisponde più alla sua origine. Rielaborare o ricollegare come suggerisce l'indicazione.
214
247
 
215
- **`Nessun progetto specificato, si utilizza il valore predefinito <name>`**
216
- Un avviso di lieve entità. Utilizzare l'opzione `--project <name>` per specificare esplicitamente il progetto desiderato e silenziare l'avviso.
248
+ **`No --project specified, falling back to <name>`**
249
+ Un avviso lieve. Passare `--project <name>` esplicitamente per selezionare il progetto corretto e disattivare l'avviso.
217
250
 
218
- **Problemi relativi alla memoria della VRAM (painterly)**
219
- Consultare il file `docs/internal/HANDOFF.md` per le note sulla regolazione del denoising "painterly". In breve: ridurre l'intensità del denoising, diminuire la dimensione del batch o utilizzare un checkpoint più piccolo nel profilo di lavoro.
251
+ **Problemi di memoria VRAM / "Painterly"**
252
+ Consultare `docs/internal/HANDOFF.md` per le note sulla regolazione del denoising "painterly". In breve: ridurre la forza del denoising, diminuire la dimensione del batch o passare a un checkpoint più piccolo nel profilo del flusso di lavoro.
220
253
 
221
254
  **Segnalazione di bug**
222
- Aprire una segnalazione all'indirizzo https://github.com/mcp-tool-shop-org/style-dataset-lab/issues, includendo la versione di sdlab (`sdlab --version`), la versione di Node (`node -v`), il comando completo e l'output dettagliato dell'errore. Un modello per la segnalazione di bug precompila i campi.
255
+ Aprire una segnalazione su https://github.com/mcp-tool-shop-org/style-dataset-lab/issues con la versione di sdlab (`sdlab --version`), la versione di Node (`node -v`), il comando completo e l'output strutturato dell'errore. Un modello per la segnalazione di bug precompila i campi.
223
256
 
224
257
  ## Sicurezza
225
258
 
226
- Funziona solo localmente. Nessuna telemetria, nessuna analisi, nessuna richiesta esterna. Le immagini rimangono sulla GPU e sul filesystem locale.
259
+ Solo locale. Nessun telemetria, nessuna analisi, nessuna richiesta esterna. Le immagini rimangono sulla GPU e sul file system.
227
260
 
228
261
  ## Licenza
229
262
 
@@ -231,4 +264,4 @@ MIT
231
264
 
232
265
  ---
233
266
 
234
- Creato da <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>
267
+ Realizzato da <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>
package/README.ja.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
+ 自分のビジュアルルールを記述します。アートを生成します。すべての画像をそれらのルールに対して評価します。結果をバージョン管理された、監査可能なトレーニングデータとして出力し、次に、トレーニング済みのモデルを実際の制作ワークフローで活用し、最高の出力をコーパスに再投入します。
17
17
 
18
- Style Dataset Labは、お客様が記述されたアートスタイルに関する情報と、実際に学習に使用するデータセットを連携させます。お客様は、シルエットのルール、カラーパレットの制限、素材に関する記述など、プロジェクトにとって重要な要素を定義します。このシステムは、定義されたルールに基づいて候補を生成し、それらを評価し、承認された作品を再現可能なデータセットにまとめます。このデータセットでは、各レコードが、なぜその作品が選択されたのかを説明しています。
18
+ スタイルデータセットラボは、アートスタイルに関する記述と、実際にトレーニングに使用するデータセットを結びつけ、その後、制作プロセス全体を通してそのループを閉じます。プロジェクトにとって重要な要素(シルエットルール、パレットの制約、マテリアルの表現など)を定義します。パイプラインは候補を生成し、それらをルールに基づいて評価し、承認されたものを再現可能なデータセットにパッケージ化します。各レコードには、なぜそれが含まれたのかが説明されています。
19
19
 
20
- 次に、本番環境用のワークベンチが稼働します。プロジェクトの要件に基づいて生成指示を作成し、ComfyUIで実行し、結果を評価し、表現シートや環境ボードをまとめて作成し、最適な結果を選択し、新しい候補として再登録します。このサイクルを繰り返します。生成、選択、評価、改善。
20
+ 次に、制作ワークベンチが引き継ぎます。プロジェクトの要件から生成指示をまとめ、ComfyUIで実行し、出力を評価し、表現シートや環境ボードを一括作成し、最良の結果を選択して、新しい候補として再取り込みます。このループは、生成、選択、レビュー、強化という流れで閉じられます。
21
21
 
22
22
  ## パイプライン
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
- この最後のコマンドが重要です。選択された出力は、他のすべてのデータと同様に、同じ評価プロセスを経ます。学習データが蓄積され、ルールが維持されます。
59
+ 最後のコマンドがポイントです。選択された出力は、他のすべてのものと同様に、同じレビュープロセスを経て再利用されます。コーパスが増加し、ルールは維持されます。
60
60
 
61
- ## それが生成するものは何か
61
+ ## カノンオーサリング
62
62
 
63
- 7種類のデータセットファイルと、完全な本番環境用ワークベンチが含まれています。各ファイルは、以前のファイルとリンクされており、どの学習記録も、それを承認したルールまで遡ることができます。
63
+ データセットパイプラインを実行する前に、`sdlab canon *`名前空間は、プロジェクトのカノンエンティティストアを、実際のトレーニングと制作で使用される3つのプロジェクションに変換し、変更してはならないエントリをロックします。
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`はコンテンツアドレス指定であり、その出力は`canon_sha`でキー付けされ、キャッシュされます。そのため、変更されていないカノンは瞬時に再構築されます。`canon freeze`は、各フリーズを特定のビルドに対して記録し、`freeze-events.jsonl`監査トレイルに追加します。`frozen`エントリは完全に再生成を拒否し、`soft-advisory`エントリはデフォルトで拒否しますが(`--i-know`オプションで回避できます)。`canon drift`は、監視対象のすべてのエントリのハッシュを再計算し、最後のクリーンビルド以降に変更されたものをフラグします。
80
+
81
+ 完全なワークフローについては、ハンドブックをご覧ください。[カノンビルド](handbook/canon-build/)、[カノンフリーズ](handbook/canon-freeze/)、および[Two-LoRAスタッキング](handbook/two-lora-stacking/)。
82
+
83
+ ## 生成されるもの
84
+
85
+ 7つのデータセット成果物と完全な制作ワークベンチ。各成果物は、その先行するものにリンクされており、トレーニングレコードを承認したルールまで追跡できます。
86
+
87
+ | 成果物 | 概要 |
66
88
  |----------|-----------|
67
- | **Snapshot** | 設定情報と合わせて、一度記録されたデータは固定され、変更されません。すべてのデータには、そのデータが記録された理由が明示的に記載されています。 |
68
- | **Split** | 学習データ、検証データ、テストデータに分割する際、対象となる家族がデータセットの境界線をまたがないようにする。 |
69
- | **Export package** | 自己完結型のデータセット:マニフェスト、メタデータ、画像、分割データ、データセットの説明、およびチェックサム。 |
70
- | **Eval pack** | 規定に準拠した検証タスク:表現の網羅性、許容されない変化、基準/正解データ、対象の一貫性。 |
71
- | **Training package** | アダプター(`diffusers-lora`、`generic-image-caption`)を使用することで、トレーニングに適した構成にすることができます。同じ原理に基づいているものの、形式が異なります。 |
72
- | **Eval scorecard** | 各タスクごとに、評価データセットと照合して生成された結果に基づいて、合格/不合格を判定します。 |
73
- | **Implementation pack** | プロンプトの例、既知の問題点、動作確認テスト、および再取り込みに関する手順。 |
89
+ | **Snapshot** | 構成のフィンガープリントを持つフリーズされたレコード選択。すべての包含には明確な理由があります。 |
90
+ | **Split** | 被験者グループが境界を越えない、トレーニング/検証/テストの分割。 |
91
+ | **Export package** | 自己完結型のデータセット:マニフェスト、メタデータ、画像、分割、データセットカード、チェックサム。 |
92
+ | **Eval pack** | カノンを意識したテストタスク:レーンカバレッジ、禁止されたドリフト、アンカー/ゴールド、被験者の連続性。 |
93
+ | **Training package** | アダプター(`diffusers-lora`、`generic-image-caption`)を介したトレーナー対応のレイアウト。同じ情報でありながら、異なる形式です。 |
94
+ | **Eval scorecard** | 生成された出力を評価パックに対してスコアリングし、タスクごとの合格/不合格を判定します。 |
95
+ | **Implementation pack** | プロンプト例、既知の失敗、連続性テスト、および再取り込みガイダンス。 |
74
96
 
75
- 本番環境用ワークベンチには、以下が含まれます。
97
+ 制作ワークベンチは以下を追加します:
76
98
 
77
- | 機能 | 概要 |
99
+ | 表面 | 機能 |
78
100
  |---------|-------------|
79
- | **Compiled brief** | ワークフロープロファイルとプロジェクト要件に基づいて、決定論的な画像生成を行います。 |
80
- | **Run** | 生成結果の記録:指示、シード値、ComfyUIの出力、マニフェストファイル。 |
81
- | **Critique** | 生成結果を基準と比較し、多角的な評価を行います。 |
82
- | **Batch** | 表現シート、環境ボード、シルエットパックなど、複数の要素をまとめて生成します。 |
83
- | **Selection** | 選択された出力について、なぜ選択されたのか、どこから来たのかといった情報を記録します。 |
84
- | **Re-ingest** | 選択された出力は、生成元の情報を含む候補レコードとして登録されます。 |
101
+ | **Compiled brief** | ワークフロープロファイルとプロジェクトの要件からの決定的な生成指示。 |
102
+ | **Run** | フリーズされた実行成果物:ブリーフィング+シード+ComfyUI出力+マニフェスト。 |
103
+ | **Critique** | カノンに対する実行出力の構造化された多次元評価。 |
104
+ | **Batch** | 調整されたマルチスロット制作(表現シート、環境ボード、シルエットパック)。 |
105
+ | **Selection** | クリエイティブな意思決定成果物:どの出力が選択され、その理由は何で、どこから来たのか。 |
106
+ | **Re-ingest** | 選択された出力は、完全な生成の来歴とともに、候補レコードとして返されます。 |
107
+
108
+ ## このシステムが存在する理由
109
+
110
+ トレーニングデータは、あらゆるビジュアルAIパイプラインにおいて最も効果的な成果物です。しかし、ほとんどのトレーニングデータは、履歴も、判断の記録も、従うべきスタイルルールとの関連性もない、単なる画像のフォルダーにすぎません。
111
+
112
+ スタイルデータセットラボは、この関連性を明確にします。あなたの憲法がルールを定義します。あなたのルーブリックがスコアリングの次元を定義します。あなたのキュレーションが判断を記録します。あなたのカノンバインディングがその関連性を証明します。そして、あなたのデータセットは、それらすべてを構造化され、クエリ可能で、再現可能な情報として前進させます。
113
+
114
+ 実用的な結果:LoRAがドリフトした場合、なぜそうなるのかを尋ねることができます。次のトレーニングラウンドにより良いデータが必要な場合、どのレコードがほぼ合格であり、どの単一のルールに失敗したかを正確に知ることができます。新しいチームメンバーがプロジェクトのビジュアル言語について質問した場合、答えはFigmaボードではなく、1,182件の評価された例を含む検索可能な憲法です。
85
115
 
86
- ## なぜこれが存在するのか
116
+ ## 実運用で実績あり
87
117
 
88
- トレーニングデータは、あらゆる画像認識AIのパイプラインにおいて、最も重要な要素です。しかし、多くのトレーニングデータは、履歴や判断の記録が一切なく、また、本来従うべきスタイルルールとの関連性も欠けている、単なる画像ファイル群に過ぎません。
118
+ これはデモ用のパイプラインではありません。2つの実際のスタイルLoRAが、このパイプラインを通じて最初から最後まで処理されました。キュレーションの範囲において正反対の位置にある、同じ「原作 → キュレーション → トレーニング → 配信」というサイクルです。
89
119
 
90
- Style Dataset Labは、これらの要素間の関連性を明確に示します。あなたの規定はルールを定義し、評価基準は評価の基準を定義します。キュレーション記録は判断を記録し、規範文書は関連性を証明します。そして、あなたのデータセットは、これらの要素を構造化された、検索可能で、再現可能な真実として体系的にまとめて提供します。
120
+ - **[Tallow Fen](handbook/case-study-tallow-fen/)**(クリーチャーデザイン)—最初から作成されたベストiaryの原作で、293件のキュレーション済みレコードのうち約34%が承認されました(169件は却下され、厳しい基準で審査されています)。`tallow_fen_style_v3.safetensors`を`qwen-image`上で1.5で使用して配信しました。
121
+ - **[Rustline](handbook/case-study-rustline/)**(コンセプトデザイン)—密度が高く、事前に形成された原作で、180件のレコードのうち約96%が承認されました。`rustline_v3ckpt_1500.safetensors`を`qwen-image`上で1.0で使用して配信し、別のプロジェクトでも再利用しました。
91
122
 
92
- 具体的な結果として、LoRAモデルの性能が低下した場合、「なぜ」その原因を特定できます。また、次の学習ラウンドでより良いデータが必要になった場合、どのデータがわずかに基準に達していないのか、そしてそれがどの特定のルールに違反しているのかを正確に把握できます。さらに、新しいチームメンバーがプロジェクトのビジュアル表現について質問された場合、答えはFigmaのボードではなく、1,182の評価済みサンプルを含む、検索可能な規定書となります。
123
+ 同じパイプラインで、2つの実運用プロファイル:キュレーションゲートは本物であり(オープンなテーマに対して厳しい基準で審査します)、厳格な原作によって高い承認率が得られます。
93
124
 
94
- ## 5つの分野、そして明確なルール
125
+ ## 5つのドメイン、実際のルール
95
126
 
96
- これは単なるプレースホルダーのテンプレートではありません。各分野には、実用レベルの構成ルール、レーン定義、採点基準、および関連語彙が用意されています。
127
+ プレースホルダーテンプレートではありません。各ドメインには、実運用レベルのカノン憲法ルール、レーン定義、スコアリングルーブリック、およびグループ語彙が付属しています。
97
128
 
98
- | ドメイン | 表現 | 何が評価されるのか。 |
129
+ | ドメイン | レーン | 評価対象となるもの |
99
130
  |--------|-------|-----------------|
100
- | **game-art** | キャラクター、環境、小道具、UI、船、内装、装備 | ゲームプレイ時の外観、派閥ごとの特徴、使用感、経年劣化。 |
101
- | **character-design** | ポートレート、全身像、アングル図、表情シート、アクションポーズ | プロポーション、衣装の合理性、人物の性格、身振り手振りの表現力。 |
102
- | **creature-design** | コンセプト、正投影図、詳細図、アクション、スケール参照、生息地 | 解剖学的構造、進化論的な論理、シルエットの識別。 |
103
- | **architecture** | 外観、内装、街並み、構造の詳細、廃墟、風景 | 構造、素材の一貫性、視点、時代背景との整合性。 |
104
- | **vehicle-mech** | 外観、コックピット、コンポーネント、設計図、シルエット図、損傷バリエーション | 機械的なロジック、機能的なデザイン言語、アクセスポイント、損害状況の説明 |
131
+ | **game-art** | キャラクター、環境、小道具、UI、船、インテリア、装備 | ゲームプレイ規模でのシルエット、派閥の識別、摩耗と経年変化 |
132
+ | **character-design** | ポートレート、全身像、ターンアラウンド、表現シート、アクションポーズ | プロポーション、衣装の論理、個性、ジェスチャーの明確さ |
133
+ | **creature-design** | コンセプト、オルソグラフィック、詳細な研究、アクション、スケール参照、生息地 | 解剖学、進化の論理、シルエットの区別 |
134
+ | **architecture** | 外観、内装、街並み、構造的な詳細、廃墟、風景 | 構造、マテリアルの整合性、視点、時代の整合性 |
135
+ | **vehicle-mech** | 外観、コックピット、コンポーネント、図面、シルエットシート、損傷バリアント | 機械的な論理、デザイン言語、アクセスポイント、損傷の物語 |
105
136
 
106
- ## プロジェクトの構成
137
+ ## プロジェクトの構造
107
138
 
108
- 各プロジェクトは独立した構成になっています。5つのJSON設定ファイルがルールを定義し、それ以外の部分はすべてデータです。
139
+ 各プロジェクトは独立しています。5つのJSON設定ファイルでルールを定義します。それ以外はすべてデータです。
109
140
 
110
141
  ```
111
142
  projects/my-project/
@@ -127,19 +158,21 @@ projects/my-project/
127
158
  inbox/generated/ Re-ingested images awaiting review
128
159
  ```
129
160
 
130
- ## 信託財産
161
+ ## 信頼性のためのプロパティ
131
162
 
132
- これらは目標や理想ではなく、義務として定められています。
163
+ これらは理想的なものではありません。強制的に適用されます。
133
164
 
134
- - **スナップショットは不変です。** 設定のフィンガープリント(SHA-256)は、何も変更されていないことを証明します。
135
- - **分割によって情報漏洩を防ぎます。** データセット(ID、系統、またはIDの末尾による分類)は、パーティションの境界を越えることはありません。
136
- - **マニフェストは固定された契約です。** エクスポートのハッシュ値と設定のフィンガープリントを含みます。 何か変更があった場合は、新しいものを新たに作成してください。
137
- - **アダプターは真実を改変できません。** レイアウトは異なる場合でも、同じレコードが含まれます。 追加、削除、再分類は一切ありません。
138
- - **生成された出力は、必ずレビュープロセスを経て再利用されます。** スキップすることはできません。 他のデータと同様に、キュレーションと紐付けを行います。
165
+ - **スナップショットは不変です。**構成のフィンガープリント(SHA-256)により、変更がないことが証明されます。
166
+ - **分割により情報漏洩を防ぎます。**被験者グループ(同一性、系統、またはIDサフィックスによって分類)は、決してパーティション境界を越えません。
167
+ - **マニフェストは固定された契約です。**エクスポートハッシュと構成のフィンガープリントが含まれます。変更がある場合は、新しいものを生成します。
168
+ - **実行は正確なグラフに固定されます。**すべての生成処理において、`comfy_workflow_sha` + モデル/LoRAコンテンツハッシュ + シードポリシーが記録されるため、一連の処理をバイト単位で完全に再現できます。これは、JavaScriptとPythonの両方のランナーで同じ結果になります。モデルのハッシュ化はオプション(`--hash-models`)であり、偽造されることはありません。
169
+ - **どのモデルも自身の出力を検証しません。**評価では、`judged_by_model`と`generator_model`が記録され、これらが同一のモデルである場合、警告が表示されます。
170
+ - **アダプターは真実を改ざんできません。**レイアウトは異なりますが、同じレコードを使用します。追加、削除、再分類は行われません。
171
+ - **生成された出力は、レビューを通じて再度処理されます。**バイパスはありません。他のものと同様に、キュレーションとバインドを行います。
139
172
 
140
- ## スターフレイト
173
+ ## スター・フレイト
141
174
 
142
- このリポジトリには、完全で動作するサンプルが含まれています。具体的には、1,182件のデータ、5つの派閥、7つのルート、24個の憲法ルール、892個の承認済みアセット、および2つのトレーニングプロファイルが含まれています。これは、徹底的にキュレーションされた、ハードなSF RPGのビジュアル表現です。
175
+ このリポジトリには、完全な動作例が含まれています:1,182件のレコード、5つの派閥、7つのルート、24の憲法ルール、892個の承認済みアセット、2つのトレーニングプロファイル。洗練されたSF RPGのビジュアルカノンで、完全にキュレーションされています。
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
- ## 対応形式
185
+ ## 下流形式
153
186
 
154
- `sdlab` がこのデータセットを所有しています。フォーマット変換は、[`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) によって処理されます。対応形式は、TRL、LLaVA、Qwen2-VL、JSONL、Parquetなどです。`repo-dataset` はデータのレンダリングを担当し、データの取り込みに関する判断は行いません。
187
+ `sdlab`がデータセットを所有します。フォーマット変換は[`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset)によって処理されます:TRL、LLaVA、Qwen2-VL、JSONL、Parquetなど。`repo-dataset`はレンダリングを行い、データの選択は行いません。
155
188
 
156
189
  ## インストール
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
- 生成には、Node.js 20以降のバージョンと、ローカルホストの8188番ポートで動作している [ComfyUI](https://github.com/comfyanonymous/ComfyUI) が必要です。
195
+ Node.js 20+と、ローカルホストの8188ポートで動作する[ComfyUI](https://github.com/comfyanonymous/ComfyUI)が必要です(生成用)。
163
196
 
164
197
  ### ComfyUIなしで試す
165
198
 
166
- ComfyUIをインストールしたり、SDXLのモデルファイルをダウンロードしたりせずに、検査、キュレーション、スナップショット、分割、エクスポートなど、すべての機能を「Star Freight」プロジェクトを通じて利用できます。
199
+ バンドルされたスター・フレイトプロジェクトを使用して、完全な非生成機能(検査、キュレーション、スナップショット、分割、エクスポート)を、ComfyUIのインストールや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`コマンドは、すべてのプロジェクト設定(構成、ルール、評価基準、用語集)を検証し、GPUに負荷をかけずに、プロジェクトが利用可能かどうかを報告します。生成状態を変更するコマンドには、事前に効果を確認するための`--dry-run`オプションがあります。
212
+ `sdlab project doctor`は、すべてのプロジェクト設定(憲法、ルート、ルーブリック、用語)を検証し、GPUに触れることなく有効性を報告します。生成された状態を変更するコマンドはすべて、最初に効果をプレビューするために`--dry-run`を受け入れます。
180
213
 
181
- `--project`オプションを省略すると、CLIは`projects/`ディレクトリにある最初のプロジェクトを使用し、警告を表示します。警告を抑制するには、`--project`オプションを明示的に指定してください。
214
+ `--project`を忘れた場合、CLIは`projects/`の下で最初に見つかったプロジェクトにフォールバックし、警告を表示します。警告を抑制するには、`--project`を明示的に指定してください。
182
215
 
183
- ### 中断されたジョブの再開
216
+ ### 中断された実行の再開
184
217
 
185
- 長時間のジョブ実行中に中断が発生した場合でも、完了済みの作業をやり直すことなく、ジョブを再開することができます。
218
+ 長時間の生成実行は、完了した作業をやり直さずに再開できます。
186
219
 
187
220
  ```bash
188
221
  # Skip subjects whose record + image are already on disk.
@@ -194,41 +227,41 @@ 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
- これらのコマンドは、いずれも正常に動作します。なぜなら、各処理ステップは、完了時にその結果を完全に記録するため、ジョブ実行中に問題が発生した場合でも、部分的に完了した状態が破損することはないからです。
230
+ 両方のコマンドが機能するのは、各スロットが完了時にマニフェストエントリをアトミックに書き込むためです。実行中にクラッシュが発生しても、部分的な状態が破損することはありません。
198
231
 
199
232
  ## トラブルシューティング
200
233
 
201
- 一般的なエラーと解決策:
234
+ 一般的なエラーとその修正:
202
235
 
203
- **`ECONNREFUSED 127.0.0.1:8188`が発生した場合(`sdlab generate`、`sdlab run generate`、`sdlab batch generate`など)**
204
- ComfyUIが実行されていません。ComfyUIを起動します(`python main.py --listen 127.0.0.1 --port 8188`)。`curl http://127.0.0.1:8188/system_stats`で確認できます。別のホストまたはポートを使用する場合は、`COMFY_URL=http://host:port`を設定します。
236
+ **`sdlab generate` / `sdlab run generate` / `sdlab batch generate`のいずれかで`ECONNREFUSED 127.0.0.1:8188`が発生した場合**
237
+ ComfyUIが実行されていません。ComfyUIを起動します(`python main.py --listen 127.0.0.1 --port 8188`)そして、`curl http://127.0.0.1:8188/system_stats`で確認してください。別のホスト/ポートを指定するには、`COMFY_URL=http://host:port`を設定します。
205
238
 
206
- **`missing checkpoint` / `LoRA weight not found`が発生した場合**
207
- ワークフロープロファイルで指定されているモデルファイルが、ComfyUIの`models/checkpoints/`または`models/loras/`フォルダに存在しません。`projects/<project>/workflows/profiles/<profile>.json`を開き、`checkpoint`または`lora`の項目を探し、指定されたモデルファイルをダウンロードするか、代わりに既存のファイルを使用してください。修正後、`sdlab project doctor --project <project>`を再実行して確認します。
239
+ **`missing checkpoint` / `LoRA weight not found`**
240
+ ワークフロープロファイルで、ComfyUIの`models/checkpoints/`または`models/loras/`フォルダにないモデルファイルを指定しています。`projects/<project>/workflows/profiles/<profile>.json`を開き、`checkpoint`または`lora`フィールドを見つけて、参照されているウェイトをダウンロードするか、すでに持っているものと置き換えます。`sdlab project doctor --project <project>`を再実行して、修正を確認します。
208
241
 
209
- **`sdlab project doctor`でエラーが発生した場合**
210
- Doctorは、構造化されたエラーコードを返します。一般的なエラーは以下の通りです。
211
- - `E_PROJECT_NOT_FOUND`:プロジェクトディレクトリが`projects/`ディレクトリに存在しません。スペルを確認してください。
212
- - `E_CONFIG_INVALID`:5つのJSON設定ファイルのいずれかが、スキーマ検証に失敗しました。`hint`の項目には、問題のあるファイルとフィールドの名前が表示されます。
213
- - `E_RECORD_DRIFT`:レコードの設定フィンガープリントが、元のデータと一致しなくなりました。`hint`に示されているように、再キュレーションまたは再バインドを行ってください。
242
+ **`sdlab project doctor`のエラー**
243
+ Doctorは構造化されたエラーコードを返します。一般的なもの:
244
+ - `E_PROJECT_NOT_FOUND` — プロジェクトディレクトリが`projects/`の下に存在しません。スペルを確認してください。
245
+ - `E_CONFIG_INVALID` — 5つのJSON設定ファイルのいずれかが、スキーマ検証に失敗しました。`hint`フィールドには、問題のあるファイルとフィールドの名前が表示されます。
246
+ - `E_RECORD_DRIFT` — レコードの設定フィンガープリントが、そのソースと一致しなくなりました。ヒントに従って、再キュレーションまたは再バインドしてください。
214
247
 
215
- **`No --project specified, falling back to <name>`という警告が表示された場合**
216
- これは、警告です。正しいプロジェクトを選択し、警告を抑制するには、`--project <name>`オプションを明示的に指定してください。
248
+ **`No --project specified, falling back to <name>`**
249
+ 軽度の警告です。`--project <name>`を明示的に指定して、適切なプロジェクトを選択し、警告を抑制します。
217
250
 
218
- **ペインタリー処理 / VRAMのメモリ不足に関する問題**
219
- ペインタリー処理の調整に関する詳細は、`docs/internal/HANDOFF.md` を参照してください。簡単に言うと、ノイズ除去の強度を下げたり、バッチサイズを小さくしたり、ワークフロープロファイルでより小さいチェックポイントを使用するように変更してください。
251
+ **Painterly / VRAMのメモリ不足の問題**
252
+ `docs/internal/HANDOFF.md`を参照して、Painterlyのデノイズ調整に関する注意事項を確認してください。要するに:デノイズ強度を下げたり、バッチサイズを減らしたり、ワークフロープロファイルでより小さいチェックポイントに切り替えたりします。
220
253
 
221
254
  **バグの報告**
222
- バグを発見した場合は、https://github.com/mcp-tool-shop-org/style-dataset-lab/issues に、`sdlab --version` で確認できるsdlabのバージョン、`node -v` で確認できるNodeのバージョン、実行したコマンド全体、および構造化されたエラー出力を添えて報告してください。バグレポートのテンプレートには、必要な項目が事前に入力されています。
255
+ https://github.com/mcp-tool-shop-org/style-dataset-lab/issues に、sdlabバージョン(`sdlab --version`)、Nodeバージョン(`node -v`)、完全なコマンド、および構造化されたエラー出力を添えて問題を報告してください。バグ報告テンプレートには、フィールドが事前に設定されています。
223
256
 
224
257
  ## セキュリティ
225
258
 
226
- ローカル環境でのみ動作します。テレメトリー、分析、外部へのリクエストは一切ありません。画像はすべて、あなたのGPUとファイルシステム内に保存されます。
259
+ ローカルでのみ動作します。テレメトリ、分析、外部リクエストはありません。画像はGPUとファイルシステムにのみ保存されます。
227
260
 
228
261
  ## ライセンス
229
262
 
230
- MITライセンス
263
+ MIT
231
264
 
232
265
  ---
233
266
 
234
- 開発:<a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>
267
+ MCP Tool Shopによって作成されました。