@mcptoolshop/style-dataset-lab 3.3.0 → 3.5.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 (119) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.es.md +117 -55
  3. package/README.fr.md +125 -65
  4. package/README.hi.md +117 -68
  5. package/README.it.md +119 -58
  6. package/README.ja.md +124 -74
  7. package/README.md +73 -7
  8. package/README.pt-BR.md +128 -63
  9. package/README.zh.md +116 -65
  10. package/bin/sdlab.js +100 -4
  11. package/lib/adapters/ai-toolkit.js +224 -35
  12. package/lib/adapters/comfyui-runner.js +79 -26
  13. package/lib/adapters/comfyui-workflows.js +94 -11
  14. package/lib/adapters/diffusers-lora.js +37 -5
  15. package/lib/adapters/generic-image-caption.js +43 -5
  16. package/lib/args.js +16 -1
  17. package/lib/asset-ingest.js +575 -0
  18. package/lib/asset-masks.js +323 -0
  19. package/lib/asset-source.js +1176 -0
  20. package/lib/batch-modes.js +29 -8
  21. package/lib/batch-runs.js +29 -1
  22. package/lib/batch-sheet-render.js +13 -3
  23. package/lib/brief-compiler.js +19 -0
  24. package/lib/candidate-sheet.js +327 -0
  25. package/lib/canon-author.js +350 -0
  26. package/lib/canon-build/build.js +146 -93
  27. package/lib/canon-review-gate.js +205 -0
  28. package/lib/captions.js +57 -0
  29. package/lib/card.js +74 -2
  30. package/lib/colab-launcher-guards.js +285 -0
  31. package/lib/comfyui.js +116 -18
  32. package/lib/config.js +116 -12
  33. package/lib/critique-engine.js +36 -2
  34. package/lib/eligibility.js +121 -9
  35. package/lib/eval-pack.js +14 -14
  36. package/lib/eval-runs.js +33 -0
  37. package/lib/export.js +122 -34
  38. package/lib/freeze-gate.js +16 -3
  39. package/lib/freeze-stamp.js +28 -3
  40. package/lib/generated-provenance.js +194 -6
  41. package/lib/implementation-packs.js +95 -17
  42. package/lib/ingest.js +396 -0
  43. package/lib/judgment-provenance.js +220 -0
  44. package/lib/lane1-render.js +668 -0
  45. package/lib/measure.js +422 -0
  46. package/lib/memory-store.js +663 -0
  47. package/lib/model-licences.js +305 -0
  48. package/lib/npy-meta.js +130 -0
  49. package/lib/paths.js +196 -7
  50. package/lib/png-meta.js +512 -0
  51. package/lib/records.js +54 -8
  52. package/lib/reingest-selected.js +113 -17
  53. package/lib/reingest.js +27 -3
  54. package/lib/run-manifest.js +159 -25
  55. package/lib/run-summary.js +12 -6
  56. package/lib/runtime-runs.js +45 -4
  57. package/lib/snapshot.js +114 -15
  58. package/lib/split.js +364 -48
  59. package/lib/train-runs.js +214 -0
  60. package/lib/training-manifests.js +114 -21
  61. package/lib/training-packages.js +147 -15
  62. package/lib/verifier.js +3 -0
  63. package/lib/verify-chain.js +367 -0
  64. package/lib/workflow-profiles.js +24 -3
  65. package/package.json +4 -3
  66. package/runtime/comfyui/txt2img-qwen.json +38 -0
  67. package/runtime/comfyui/txt2img-standard.json +21 -0
  68. package/scripts/_resume.js +62 -0
  69. package/scripts/_shared-args.js +44 -0
  70. package/scripts/asset-ingest.js +160 -0
  71. package/scripts/brief-compile.js +2 -1
  72. package/scripts/brief-show.js +2 -1
  73. package/scripts/canon-bind.js +2 -2
  74. package/scripts/canon-build.js +27 -20
  75. package/scripts/canon-draft.js +82 -0
  76. package/scripts/canon-drift.js +16 -7
  77. package/scripts/canon-freeze-status.js +14 -6
  78. package/scripts/canon-freeze.js +31 -11
  79. package/scripts/canon-unfreeze.js +17 -9
  80. package/scripts/card.js +2 -2
  81. package/scripts/colab/REAL_SERVICE_ASSUMPTIONS.md +14 -0
  82. package/scripts/colab/ai-toolkit-override-py315.txt +45 -0
  83. package/scripts/colab/colab_window.sh +587 -0
  84. package/scripts/colab/lane1_render.py +970 -0
  85. package/scripts/colab/launch_guards.py +564 -0
  86. package/scripts/colab/launch_lane1_stub.sh +309 -0
  87. package/scripts/colab/launch_lane3_stub.sh +366 -0
  88. package/scripts/colab/remote_runner.py +59 -0
  89. package/scripts/compare.js +2 -2
  90. package/scripts/critique.js +16 -1
  91. package/scripts/curate.js +2 -2
  92. package/scripts/doctor.js +182 -55
  93. package/scripts/eligibility.js +42 -2
  94. package/scripts/eval-pack.js +2 -2
  95. package/scripts/eval-run.js +2 -2
  96. package/scripts/export.js +2 -2
  97. package/scripts/generate-controlnet.js +45 -25
  98. package/scripts/generate-identity.js +53 -23
  99. package/scripts/generate-ipadapter.js +44 -23
  100. package/scripts/generate.js +86 -17
  101. package/scripts/implementation-pack.js +2 -2
  102. package/scripts/ingest.js +145 -0
  103. package/scripts/init.js +73 -13
  104. package/scripts/measure.js +170 -0
  105. package/scripts/measure_image.py +458 -0
  106. package/scripts/migrate-records.js +142 -0
  107. package/scripts/painterly-test.js +4 -3
  108. package/scripts/painterly.js +7 -3
  109. package/scripts/qwen_generate.py +138 -20
  110. package/scripts/reingest.js +2 -2
  111. package/scripts/sheet.js +142 -0
  112. package/scripts/snapshot.js +2 -2
  113. package/scripts/split.js +2 -2
  114. package/scripts/training-manifest.js +2 -2
  115. package/scripts/training-package.js +2 -2
  116. package/scripts/training-profile.js +2 -2
  117. package/scripts/verify.js +67 -0
  118. package/scripts/workflow-list.js +2 -1
  119. package/scripts/workflow-show.js +2 -1
package/README.hi.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.md">English</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
2
+ <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.md">English</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
3
3
  </p>
4
4
 
5
5
  <p align="center">
@@ -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
- स्टाइल डेटासेट लैब आपके कला शैली के बारे में आपने जो कुछ भी लिखा है, उसे उस डेटासेट से जोड़ता है जिससे आप वास्तव में प्रशिक्षण लेते हैं, और फिर उत्पादन प्रक्रिया के अंत तक इस चक्र को पूरा करता है। आप एक संविधान परिभाषित करते हैं — सिल्हूट नियम, रंग पैलेट की सीमाएं, सामग्री भाषा, या आपके प्रोजेक्ट के लिए जो भी महत्वपूर्ण हो। पाइपलाइन संभावित विकल्पों को उत्पन्न करती है, उनका उन नियमों के विरुद्ध मूल्यांकन करती है, और स्वीकृत कार्यों को पुनरुत्पादनीय डेटासेट में पैकेज करती है, जहाँ प्रत्येक रिकॉर्ड यह बताता है कि इसे क्यों शामिल किया गया था।
18
+ स्टाइल डेटासेट लैब आपके कला शैली के बारे में आपके द्वारा लिखी गई चीज़ को उस डेटासेट से जोड़ता है जिससे आप वास्तव में प्रशिक्षण लेते हैं, और फिर उत्पादन के माध्यम से पूरी प्रक्रिया को पूरा करता है। आप एक संविधान परिभाषित करते हैं — सिल्हूट नियम, पैलेट प्रतिबंध, सामग्री भाषा, जो भी आपके प्रोजेक्ट के लिए महत्वपूर्ण है। पाइपलाइन उम्मीदवार उत्पन्न करती है, उनका उन नियमों के विरुद्ध मूल्यांकन करती है, और स्वीकृत कार्यों को पुनरुत्पादनीय डेटासेट में पैकेज करती है, जहाँ प्रत्येक रिकॉर्ड बताता है कि इसे क्यों शामिल किया गया था।
19
19
 
20
- फिर उत्पादन वर्कबेंच कार्यभार संभालता है: प्रोजेक्ट की वास्तविकता से पीढ़ी संबंधी संक्षिप्त विवरण संकलित करें, उन्हें ComfyUI के माध्यम से चलाएं, आउटपुट का मूल्यांकन करें, अभिव्यक्ति शीट और पर्यावरण बोर्ड को बैच में बनाएं, सर्वोत्तम परिणामों का चयन करें, और उन्हें नए संभावित विकल्पों के रूप में फिर से शामिल करें। चक्र पूरा होता है: उत्पन्न करें, चुनें, समीक्षा करें, मजबूत बनाएं।
20
+ फिर उत्पादन वर्कबेंच कार्यभार संभालता है: प्रोजेक्ट की सच्चाई से पीढ़ी के संक्षिप्त विवरण संकलित करें, उन्हें ComfyUI के माध्यम से चलाएं, आउटपुट की आलोचना करें, अभिव्यक्ति शीट और पर्यावरण बोर्ड को बैच में बनाएं, सर्वोत्तम परिणामों का चयन करें, और उन्हें नए उम्मीदवारों के रूप में फिर से शामिल करें। प्रक्रिया पूरी होती है: उत्पन्न करें, चुनें, समीक्षा करें, मजबूत बनाएं।
21
21
 
22
22
  ## पाइपलाइन
23
23
 
@@ -27,8 +27,15 @@ sdlab init my-project --domain character-design
27
27
 
28
28
  # Generate candidates via ComfyUI, then review them
29
29
  sdlab generate inputs/prompts/wave1.json --project my-project
30
+ sdlab sheet outputs/candidates --project my-project # HTML contact sheet to triage
30
31
  sdlab curate <id> approved "Strong silhouette, correct faction palette"
31
32
 
33
+ # Already have images? Bring them in without generating anything
34
+ sdlab ingest ~/renders/wave1 --project my-project
35
+
36
+ # Measure what the pixels actually are — palette and texture, as numbers
37
+ sdlab measure outputs/candidates --project my-project
38
+
32
39
  # Bind approved work to constitution rules
33
40
  # (`sdlab bind` is a shorter alias for `canon-bind`)
34
41
  sdlab canon-bind --project my-project
@@ -56,11 +63,45 @@ sdlab select --run run_2026-04-16_001 --approve 001.png,003.png
56
63
  sdlab reingest selected --selection selection_2026-04-16_001
57
64
  ```
58
65
 
59
- यह अंतिम कमांड ही महत्वपूर्ण है। चयनित आउटपुट अन्य सभी चीज़ों की तरह समान समीक्षा प्रक्रिया के माध्यम से वापस आते हैं। डेटासेट बढ़ता है और नियम बने रहते हैं।
66
+ वह अंतिम कमांड ही महत्वपूर्ण है। चयनित आउटपुट अन्य सभी चीज़ों की तरह ही समीक्षा प्रक्रिया से गुजरते हैं। डेटासेट बढ़ता है और नियम बने रहते हैं।
67
+
68
+ ## एसेट लेन — प्रशिक्षण डेटा के रूप में 3D निर्यात
69
+
70
+ `sdlab ingest` बिना किसी जांच के साधारण छवियों को स्वीकार करता है। `sdlab asset ingest` एक **अनुबंध** लेता है।
71
+
72
+ जब कोई 3D एसेट अपनी स्वीकृति जांच को पास कर लेता है, तो इसे N कोणों से फिर से प्रस्तुत करने से आपको एक ऐसा परिणाम मिलता है जो निर्माण के अनुसार दृश्य-संगत होता है — यह गुण प्रति-दृश्य प्रसार द्वारा गारंटी नहीं दी जा सकती है। एसेट लेन उन निर्यात को स्रोत-आधारित प्रशिक्षण डेटा के रूप में स्वीकार करता है:
73
+
74
+ ```bash
75
+ # Validate an export's manifest end to end, run the gates, write nothing
76
+ sdlab asset ingest ~/exports/dragon_dense --project my-project --dry-run
77
+
78
+ # Register it: records, candidates, masks, channels, receipt
79
+ sdlab asset ingest ~/exports/dragon_dense --project my-project
80
+ ```
81
+
82
+ निर्यात निर्देशिका एक `asset-source.json` घोषणापत्र (स्कीमा **1.3.0**) रखती है जो इसके चैनलों, पैलेट बैंड, गेट थ्रेशोल्ड, स्वीकृति निर्णय, शैली रजिस्टर, यह बताती है कि रेंडर कैसे अस्तित्व में आए, और उनकी पीढ़ी का स्रोत। sdlab प्रत्येक घोषणा को वास्तविक बाइट्स के विरुद्ध साबित करता है और किसी भी उल्लंघन पर पूरी प्रक्रिया को अस्वीकार कर देता है — खराब घोषणापत्र पर कुछ भी पंजीकृत नहीं होता है।
83
+
84
+ **जोड़:** sdlab तंत्र प्रदान करता है, एसेट अर्थ प्रदान करता है। sdlab कभी भी रे-कास्ट नहीं करता है, कभी भी रेंडर नहीं करता है, और यह कभी नहीं सीखता है कि "स्रोत" नामक एक चैनल विशेष है। यह साबित करता है, मापता है, पंजीकृत करता है और पैकेज करता है। संख्याएँ *क्या* दर्शाती हैं, यह एसेट के साथ रहती है।
85
+
86
+ अनुबंध क्या लागू करता है:
87
+
88
+ | चरण | क्या साबित किया गया है |
89
+ |---|---|
90
+ | **schema** | आकार, आईडी, अच्छी तरह से गठित पैलेट बैंड, और एक स्वीकृति निर्णय जो शाब्दिक रूप से `"accepted"` है |
91
+ | **containment** | प्रत्येक संदर्भित पथ निर्यात निर्देशिका के *अंदर* हल होता है (यह अविश्वसनीय इनपुट है) और मौजूद है |
92
+ | **encoding** | एक PNG का IHDR इसके घोषित एन्कोडिंग से मेल खाता है; एक NPY हेडर इसके घोषित dtype और आकार से मेल खाता है। एक घोषणापत्र जो "सही दिखता है" लेकिन इसके बाइट्स से असहमत है, वह विफलता वर्ग है जिसे रोकने के लिए यह लेन मौजूद है |
93
+ | **categorical** | इंडेक्स्ड PNG स्रोत PLTE ⊆ घोषित पैलेट साबित करते हैं; `nearest`-फ़िल्टर किए गए चैनलों को एक *व्यापक* पिक्सेल डिकोड मिलता है; श्रेणीबद्ध NPY को एक व्यापक मान स्कैन मिलता है |
94
+ | **gates** | पैलेट गेट प्रत्येक रेंडर के लिए, घोषणापत्र के अपने बैंड और थ्रेशोल्ड से चलता है — एक विफल रेंडर को जोर से अस्वीकार कर दिया जाता है और इसकी रिपोर्ट की जाती है, इसे चुपचाप स्वीकार नहीं किया जाता है |
95
+
96
+ रिकॉर्ड **बिना क्यूरेशन के** (`judgment: null`) `provenance.source: "asset"` के साथ आते हैं, जो स्वीकृति ब्लॉक को शाब्दिक रूप से, प्रति-फ़ाइल हैश, कैमरा और व्युत्पन्न पहलू, गेट माप, घोषित शैली रजिस्टर और प्रति-छवि पीढ़ी फ्रेम + बीज को ले जाते हैं। फिर वे अन्य सभी रिकॉर्ड की तरह ही क्यूरेशन प्रक्रिया से गुजरते हैं।
60
97
 
61
- ## मानक सामग्री निर्माण
98
+ प्रक्रिया यह भी बताती है कि एक घोषणापत्र में *क्या* घोषित नहीं किया गया है — एक अज्ञात शैली रजिस्टर, एक गायब `identity.subject_name`, अनुपस्थित पीढ़ी का स्रोत — इसे विफलताओं के बजाय **नोटिसों** के रूप में। वे रसीद में आते हैं और CLI पर मुद्रित होते हैं। एक ऐसा अंतर जिसके बारे में किसी को नहीं बताया जाता है, वह एक ऐसा अंतर है जिसे कोई भी बंद नहीं कर सकता है; और क्योंकि एक घोषणापत्र *घोषित* कर सकता है कि इसके रेंडर इसके स्वयं के बीज के बिना नियतात्मक व्युत्पन्न हैं, इसलिए लेन कभी भी एक ऐसे निर्यात पर अंतर की रिपोर्ट नहीं करता है जो सही है।
62
99
 
63
- डेटासेट पाइपलाइन चलने से पहले, `sdlab canon *` नेमस्पेस आपके प्रोजेक्ट के मानक इकाई भंडार को उन तीन अनुमानों में बदल देता है जिनका वास्तव में प्रशिक्षण और उत्पादन में उपयोग किया जाता है — और उन प्रविष्टियों को लॉक कर देता है जिन्हें बदलना नहीं चाहिए।
100
+ पूर्ण अनुबंध, सत्यापन सीढ़ी और प्रत्येक फ़ील्ड के पीछे का तर्क: [docs/asset-lane-design.md](docs/asset-lane-design.md)।
101
+
102
+ ## मानक निर्माण
103
+
104
+ डेटासेट पाइपलाइन चलने से पहले, `sdlab canon *` नेमस्पेस आपके प्रोजेक्ट के मानक इकाई भंडार को उन तीन अनुमानों में बदल देता है जिनका वास्तव में प्रशिक्षण और उत्पादन उपयोग करते हैं — और उन प्रविष्टियों को लॉक कर देता है जिन्हें नहीं बदलना चाहिए।
64
105
 
65
106
  ```bash
66
107
  # Build three projections from the canon entity store:
@@ -76,63 +117,65 @@ sdlab canon freeze kael_maren --project my-project --reason "prologue portrait l
76
117
  sdlab canon drift --project my-project
77
118
  ```
78
119
 
79
- `canon build` सामग्री-आधारित होता है — इसका आउटपुट `canon_sha` द्वारा कुंजीबद्ध होता है और कैश किया जाता है, इसलिए अपरिवर्तित मानक का पुनर्निर्माण तुरंत हो जाता है। `canon freeze` प्रत्येक फ़्रीज़ को एक विशिष्ट बिल्ड के विरुद्ध प्रमाणित करता है और इसे `freeze-events.jsonl` ऑडिट ट्रेल में जोड़ता है: `frozen` प्रविष्टियाँ सीधे पुनरुत्पादन से इनकार करती हैं, `soft-advisory` प्रविष्टियाँ डिफ़ॉल्ट रूप से इनकार करती हैं ( `--i-know` के साथ बाईपास करें)। `canon drift` प्रत्येक देखी गई प्रविष्टि के हैश की फिर से गणना करता है और पिछली स्वच्छ बिल्ड के बाद से बदली हुई किसी भी चीज़ को चिह्नित करता है।
120
+ एक स्थानीय मॉडल भी मानक का मसौदा तैयार कर सकता है, लेकिन यह कभी भी इसका निर्णय नहीं लेता है। `sdlab canon draft <class_id> --endpoint <url> --brief "<text>" --out <path>` एक लूपबैक-ओनली, OpenAI-संगत सर्वर से एक मानक प्रविष्टि और संकेतों के लिए पूछता है, और उन्हें `status: "draft"`, `judgment: null` और प्रत्येक आउटपुट पर मसौदा मॉडल के साथ लिखता है। जब तक कोई व्यक्ति इसकी पुष्टि नहीं करता है, तब तक एक मसौदे को जमा नहीं किया जा सकता है: फ्रीज गेट किसी भी मॉडल-द्वारा तैयार की गई प्रविष्टि को मानव अनुमोदन, एक कारण और उस सटीक मसौदे के हैश के बिना अस्वीकार कर देता है जिसे अनुमोदित किया गया था।
80
121
 
81
- हैंडबुक में संपूर्ण वर्कफ़्लो: [Canon build](handbook/canon-build/), [Canon freeze](handbook/canon-freeze/), और [Two-LoRA stacking](handbook/two-lora-stacking/)।
122
+ `canon build` सामग्री-आधारित है — इसका आउटपुट `canon_sha` द्वारा कुंजीबद्ध है और कैश किया गया है, इसलिए एक अपरिवर्तित मानक तुरंत पुनर्निर्मित हो जाता है। `canon freeze` प्रत्येक फ्रीज को एक विशिष्ट बिल्ड के विरुद्ध प्रमाणित करता है और एक `freeze-events.jsonl` ऑडिट ट्रेल में जोड़ता है: `frozen` प्रविष्टियाँ सीधे पुन: उत्पन्न करने से इनकार करती हैं, `soft-advisory` प्रविष्टियाँ डिफ़ॉल्ट रूप से इनकार करती हैं (`--i-know` के साथ बाईपास करें)। `canon drift` प्रत्येक देखी गई प्रविष्टि के हैश की पुनर्गणना करता है और किसी भी चीज़ को चिह्नित करता है जो पिछली स्वच्छ बिल्ड के बाद से चली गई है।
123
+
124
+ हैंडबुक में पूर्ण वर्कफ़्लो: [मानक निर्माण](handbook/canon-build/), [मानक जमा](handbook/canon-freeze/), और [दो-LoRA स्टैकिंग](handbook/two-lora-stacking/)।
82
125
 
83
126
  ## यह क्या उत्पन्न करता है
84
127
 
85
- सात डेटासेट कलाकृतियाँ और एक पूर्ण उत्पादन वर्कबेंच। प्रत्येक कलाकृति अपने पूर्ववर्तियों से जुड़ी होती है ताकि आप किसी भी प्रशिक्षण रिकॉर्ड को उस नियम तक ट्रेस कर सकें जिसने इसे स्वीकृत किया था।
128
+ सात डेटासेट कलाकृतियाँ और एक पूर्ण उत्पादन वर्कबेंच। प्रत्येक कलाकृति अपने पूर्ववर्तियों से जुड़ी होती है ताकि आप किसी भी प्रशिक्षण रिकॉर्ड को उस नियम तक ट्रेस कर सकें जिसने इसे अनुमोदित किया।
86
129
 
87
130
  | कलाकृति | यह क्या है |
88
131
  |----------|-----------|
89
- | **Snapshot** | कॉन्फ़िगरेशन फ़िंगरप्रिंट के साथ जमे हुए रिकॉर्ड का चयन। प्रत्येक समावेश का एक स्पष्ट कारण होता है। |
90
- | **Split** | प्रशिक्षण/मान्यकरण/परीक्षण विभाजन जहाँ विषय परिवार कभी भी सीमाओं को पार नहीं करते हैं। |
91
- | **Export package** | स्व-निहित डेटासेट: मेनिफ़ेस्ट, मेटाडेटा, छवियाँ, स्प्लिट्स, डेटासेट कार्ड, चेकसम। |
92
- | **Eval pack** | मानक-जागरूक परीक्षण कार्य: लेन कवरेज, निषिद्ध विचलन, एंकर/गोल्ड, विषय निरंतरता। |
132
+ | **Snapshot** | जमा कॉन्फ़िगरेशन फ़िंगरप्रिंट के साथ जमे हुए रिकॉर्ड चयन। प्रत्येक समावेश का एक स्पष्ट कारण है। |
133
+ | **Split** | प्रशिक्षण/मान्य/परीक्षण विभाजन जहाँ विषय परिवार कभी भी सीमाओं को पार नहीं करते हैं। |
134
+ | **Export package** | स्व-निहित डेटासेट: घोषणापत्र, मेटाडेटा, छवियां, विभाजन, डेटासेट कार्ड, चेकसम। |
135
+ | **Eval pack** | कैनन-जागरूक परीक्षण कार्य: लेन कवरेज, निषिद्ध विचलन, एंकर/गोल्ड, विषय निरंतरता। |
93
136
  | **Training package** | एडेप्टर के माध्यम से ट्रेनर-तैयार लेआउट (`diffusers-lora`, `generic-image-caption`)। समान सत्य, अलग प्रारूप। |
94
- | **Eval scorecard** | उत्पन्न आउटपुट का मूल्यांकन पैक के विरुद्ध स्कोर करने से प्रति-कार्य पास/फेल। |
95
- | **Implementation pack** | संकेत उदाहरण, ज्ञात विफलताएँ, निरंतरता परीक्षण और पुन: समावेश मार्गदर्शन। |
137
+ | **Eval scorecard** | प्रत्येक कार्य के लिए पास/फेल, मूल्यांकन पैक के विरुद्ध उत्पन्न आउटपुट के स्कोरिंग से निर्धारित। |
138
+ | **Implementation pack** | संकेत उदाहरण, ज्ञात विफलताएं, निरंतरता परीक्षण और पुनः-संग्रह मार्गदर्शन। |
96
139
 
97
- उत्पादन वर्कबेंच निम्नलिखित जोड़ता है:
140
+ उत्पादन कार्यक्षेत्र में निम्नलिखित शामिल हैं:
98
141
 
99
142
  | सतह | यह क्या करता है |
100
143
  |---------|-------------|
101
- | **Compiled brief** | वर्कफ़्लो प्रोफ़ाइल + प्रोजेक्ट की वास्तविकता से नियतात्मक पीढ़ी निर्देश। |
102
- | **Run** | जमे हुए निष्पादन कलाकृति: संक्षिप्त विवरण + बीज + ComfyUI आउटपुट + मेनिफ़ेस्ट। |
103
- | **Critique** | मानक के विरुद्ध रन आउटपुट का संरचित बहु-आयामी मूल्यांकन। |
144
+ | **Compiled brief** | वर्कफ़्लो प्रोफ़ाइल + प्रोजेक्ट सत्य से निर्धारित नियतात्मक पीढ़ी निर्देश। |
145
+ | **Run** | स्थिर निष्पादन कलाकृति: संक्षिप्त + बीज + ComfyUI आउटपुट + घोषणापत्र। |
146
+ | **Critique** | कैनन के विरुद्ध रन आउटपुट का संरचित बहु-आयामी मूल्यांकन। |
104
147
  | **Batch** | समन्वित बहु-स्लॉट उत्पादन (अभिव्यक्ति शीट, पर्यावरण बोर्ड, सिल्हूट पैक)। |
105
- | **Selection** | रचनात्मक निर्णय कलाकृति: किन आउटपुट को चुना गया, क्यों और वे कहाँ से आए। |
106
- | **Re-ingest** | चयनित आउटपुट पूर्ण पीढ़ी के मूल के साथ संभावित रिकॉर्ड के रूप में वापस आते हैं। |
148
+ | **Selection** | रचनात्मक निर्णय कलाकृति: किन आउटपुट को चुना गया, क्यों, और वे कहां से आए। |
149
+ | **Re-ingest** | चयनित आउटपुट पूर्ण पीढ़ी के प्रमाण के साथ उम्मीदवार रिकॉर्ड के रूप में वापस आते हैं। |
107
150
 
108
151
  ## यह क्यों मौजूद है
109
152
 
110
- प्रशिक्षण डेटा किसी भी दृश्य AI पाइपलाइन में सबसे अधिक उपयोगी कलाकृति है। लेकिन अधिकांश प्रशिक्षण डेटा छवियों का एक फ़ोल्डर होता है जिसमें कोई इतिहास, कोई निर्णय प्रक्रिया और उस शैली के नियमों से कोई संबंध नहीं होता है जिनका पालन करने वाला था।
153
+ किसी भी दृश्य एआई पाइपलाइन में प्रशिक्षण डेटा सबसे महत्वपूर्ण कलाकृति है। लेकिन अधिकांश प्रशिक्षण डेटा छवियों का एक फ़ोल्डर होता है जिसमें कोई इतिहास, कोई निर्णय प्रक्रिया और उस शैली के नियमों से कोई संबंध नहीं होता है जिनका पालन करना था।
111
154
 
112
- स्टाइल डेटासेट लैब कनेक्शन को स्पष्ट करता है। आपका संविधान नियमों को परिभाषित करता है। आपकी रुब्रिक स्कोरिंग आयामों को परिभाषित करती है। आपकी क्यूरेशन रिकॉर्ड निर्णय को दर्ज करती है। आपका मानक बंधन कनेक्शन साबित करता है। और आपका डेटासेट उन सभी को संरचित, खोज योग्य, पुनरुत्पादनीय सत्य के रूप में आगे बढ़ाता है।
155
+ स्टाइल डेटासेट लैब इस संबंध को स्पष्ट करता है। आपका संविधान नियमों को परिभाषित करता है। आपका रुब्रिक स्कोरिंग आयामों को परिभाषित करता है। आपका क्यूरेशन निर्णय को रिकॉर्ड करता है। आपका कैनन बंधन संबंध को साबित करता है। और आपका डेटासेट इन सभी को संरचित, खोज योग्य, पुनरुत्पादनीय सत्य के रूप में आगे बढ़ाता है।
113
156
 
114
- व्यावहारिक परिणाम: जब आपका LoRA भटकता है, तो आप *क्यों* पूछ सकते हैं। जब आपके अगले प्रशिक्षण दौर में बेहतर डेटा की आवश्यकता होती है, तो आपको पता होता है कि कौन से रिकॉर्ड लगभग सफल हैं और वे किस एकल नियम में विफल रहे। जब एक नया टीम सदस्य पूछता है कि प्रोजेक्ट की दृश्य भाषा क्या है, तो उत्तर फ़िग्मा बोर्ड नहीं है — यह 1,182 वर्गीकृत उदाहरणों के साथ एक खोज योग्य संविधान है।
157
+ व्यावहारिक परिणाम: जब आपका LoRA भटकता है, तो आप *क्यों* पूछ सकते हैं। जब आपके अगले प्रशिक्षण दौर में बेहतर डेटा की आवश्यकता होती है, तो आप जानते हैं कि कौन से रिकॉर्ड लगभग विफल हैं और वे किस एकल नियम में विफल रहे। जब एक नए टीम सदस्य से पूछा जाता है कि परियोजना की दृश्य भाषा क्या है, तो उत्तर एक फिग्मा बोर्ड नहीं है - यह 1,182 वर्गीकृत उदाहरणों के साथ एक खोज योग्य संविधान है।
115
158
 
116
159
  ## उत्पादन में सिद्ध
117
160
 
118
- यह कोई डेमो पाइपलाइन नहीं है। दो वास्तविक शैली-LoRA इसके माध्यम से अंत-से-अंत तक भेजे गए हैं — समान मानक → क्यूरेट → प्रशिक्षित करें → भेजें चक्र, क्यूरेशन स्पेक्ट्रम के विपरीत छोरों पर।
161
+ यह एक डेमो पाइपलाइन नहीं है। दो वास्तविक शैली-एलओआरए इसके माध्यम से अंत-से-अंत तक भेजे गए हैं - समान कैनन → क्यूरेट → ट्रेन → शिप लूप, क्यूरेशन स्पेक्ट्रम के विपरीत छोरों पर।
119
162
 
120
- - **[Tallow Fen](handbook/case-study-tallow-fen/)** (जीव-डिजाइन) — एक स्क्रैच से बनाया गया सर्वश्रेष्ठ प्राणी मानक, 293 क्यूरेट किए गए रिकॉर्ड में लगभग 34% स्वीकृति (169 अस्वीकृत — गेट कठिन रूप से अस्वीकार करता है)। `qwen-image` पर 1.5 पर `tallow_fen_style_v3.safetensors` भेजा गया।
121
- - **[Rustline](handbook/case-study-rustline/)** (अवधारणा-डिजाइन) — घनी, पहले से निर्मित मानक, 180 रिकॉर्ड में लगभग 96% स्वीकृति। `qwen-image` पर 1.0 पर `rustline_v3ckpt_1500.safetensors` भेजा गया, बाद में एक दूसरे प्रोजेक्ट द्वारा पुन: उपयोग किया गया।
163
+ - **[टैलो फेन](handbook/case-study-tallow-fen/)** (जीव-डिजाइन) - एक स्क्रैच से सर्वश्रेष्ठ कलाकृति, 293 क्यूरेट किए गए रिकॉर्ड में से **~34% अनुमोदन** (169 अस्वीकृत - गेट कठोर रूप से अस्वीकार करता है)। `qwen-image` पर `tallow_fen_style_v3.safetensors` @ 1.5 पर भेजा गया।
164
+ - **[रस्टलाइन](handbook/case-study-rustline/)** (अवधारणा-डिजाइन) - घनी, पूर्व-निर्मित कैनन, 180 रिकॉर्ड में से **~96% अनुमोदन**। `qwen-image` पर `rustline_v3ckpt_1500.safetensors` @ 1.0 पर भेजा गया, बाद में एक दूसरी परियोजना द्वारा पुन: उपयोग किया गया।
122
165
 
123
- समान पाइपलाइन, दो उत्पादन प्रोफ़ाइल: क्यूरेशन गेट वास्तविक है (यह खुले विषयों पर कठिन रूप से अस्वीकार करता है), और अनुशासित मानक उच्च स्वीकृति देता है।
166
+ समान पाइपलाइन, दो उत्पादन प्रोफाइल: क्यूरेशन गेट वास्तविक है (यह खुले विषयों पर कठोर रूप से अस्वीकार करता है), और अनुशासित कैनन उच्च स्वीकृति देता है।
124
167
 
125
168
  ## पाँच डोमेन, वास्तविक नियम
126
169
 
127
- कोई प्लेसहोल्डर टेम्पलेट नहीं। प्रत्येक डोमेन उत्पादन-ग्रेड संविधान नियमों, लेन परिभाषाओं, स्कोरिंग रुब्रिक और समूह शब्दावली के साथ आता है।
170
+ कोई प्लेसहोल्डर टेम्पलेट नहीं। प्रत्येक डोमेन उत्पादन-ग्रेड संविधान नियमों, लेन परिभाषाओं, स्कोरिंग रुब्रिक्स और समूह शब्दावली के साथ आता है।
128
171
 
129
- | डोमेन | लेन | किस चीज़ का मूल्यांकन किया जाता है |
172
+ | डोमेन | लेन | क्या आंका जाता है |
130
173
  |--------|-------|-----------------|
131
- | **game-art** | चरित्र, वातावरण, प्रॉप, यूआई, जहाज, आंतरिक भाग, उपकरण | गेमप्ले पैमाने पर सिल्हूट, गुट पहचान, घिसाव और उम्र बढ़ना |
132
- | **character-design** | पोर्ट्रेट, फुल-बॉडी, टर्नअराउंड, एक्सप्रेशन शीट, एक्शन पोज़ | अनुपात, पोशाक तर्क, व्यक्तित्व, हावभाव स्पष्टता |
133
- | **creature-design** | अवधारणा, ऑर्थोग्राफिक, विवरण अध्ययन, क्रिया, पैमाने संदर्भ, आवास | शरीर रचना, विकासवादी तर्क, सिल्हूट भेद |
134
- | **architecture** | बाहरी भाग, आंतरिक भाग, सड़क दृश्य, संरचनात्मक विवरण, खंडहर, परिदृश्य | संरचना, सामग्री स्थिरता, परिप्रेक्ष्य, युग सामंजस्य |
135
- | **vehicle-mech** | बाहरी भाग, कॉकपिट, घटक, आरेखीय योजना, सिल्हूट शीट, क्षति भिन्नता | यांत्रिक तर्क, डिज़ाइन भाषा, एक्सेस बिंदु, क्षति विवरण |
174
+ | **game-art** | चरित्र, पर्यावरण, प्रॉप, यूआई, जहाज, आंतरिक, उपकरण | गेमप्ले पैमाने पर सिल्हूट, गुट पढ़ना, घिसाव और उम्र |
175
+ | **character-design** | पोर्ट्रेट, फुल_बॉडी, टर्नअराउंड, अभिव्यक्ति_शीट, एक्शन_पोज़ | अनुपात, पोशाक तर्क, व्यक्तित्व, इशारा स्पष्टता |
176
+ | **creature-design** | अवधारणा, ऑर्थोग्राफिक, विवरण_अध्ययन, क्रिया, पैमाने_संदर्भ, आवास | शरीर रचना, विकासवादी तर्क, सिल्हूट भेद |
177
+ | **architecture** | बाहरी, आंतरिक, स्ट्रीटस्केप, संरचनात्मक_विवरण, खंडहर, परिदृश्य | संरचना, सामग्री स्थिरता, परिप्रेक्ष्य, युग सामंजस्य |
178
+ | **vehicle-mech** | बाहरी, कॉकपिट, घटक, आरेख, सिल्हूट_शीट, क्षति_भिन्नता | यांत्रिक तर्क, डिजाइन भाषा, पहुंच बिंदु, क्षति कथा |
136
179
 
137
180
  ## परियोजना संरचना
138
181
 
@@ -158,21 +201,25 @@ projects/my-project/
158
201
  inbox/generated/ Re-ingested images awaiting review
159
202
  ```
160
203
 
161
- ## विश्वसनीयता गुण
204
+ ## विश्वास गुण
162
205
 
163
206
  ये आकांक्षात्मक नहीं हैं। इन्हें लागू किया जाता है।
164
207
 
165
- - **स्नैपशॉट अपरिवर्तनीय हैं।** कॉन्फ़िगरेशन फ़िंगरप्रिंट (SHA-256) साबित करता है कि कुछ भी नहीं बदला।
166
- - **विभाजन रिसाव को रोकते हैं।** विषय परिवार (पहचान, वंश या आईडी प्रत्यय के अनुसार) कभी भी विभाजन सीमाओं को पार नहीं करते हैं।
167
- - **मैनिफेस्ट जमे हुए अनुबंध हैं।** निर्यात हैश + कॉन्फ़िगरेशन फ़िंगरप्रिंट। यदि कुछ भी बदलता है, तो एक नया बनाएं।
168
- - **रन अपने सटीक ग्राफ़ को पिन करते हैं।** प्रत्येक पीढ़ी `comfy_workflow_sha` + मॉडल/LoRA सामग्री हैश + बीज नीति रिकॉर्ड करती है, इसलिए एक लहर बाइट-दर-बाइट दोहराने योग्य होती है - JS और Python रनर दोनों में समान। मॉडल हैशिंग वैकल्पिक है (`--hash-models`) और कभी भी मनगढ़ंत नहीं होता है।
169
- - **कोई भी मॉडल अपने स्वयं के आउटपुट को सत्यापित नहीं करता है।** निर्णय `judged_by_model` और `generator_model` रिकॉर्ड करते हैं; यदि वे कभी एक ही मॉडल होते हैं तो एक चेतावनी जारी होती है।
170
- - **एडेप्टर सत्य को परिवर्तित नहीं कर सकते।** अलग लेआउट, समान रिकॉर्ड। कोई अतिरिक्त नहीं, कोई हटाने नहीं, कोई पुनर्वर्गीकरण नहीं।
171
- - **उत्पन्न आउटपुट समीक्षा के माध्यम से फिर से प्रवेश करते हैं।** कोई बाईपास नहीं। अन्य सभी की तरह क्यूरेट और बांधें।
208
+ - **स्नैपशॉट अपरिवर्तनीय होते हैं।** कॉन्फ़िगरेशन फ़िंगरप्रिंट (SHA-256) यह साबित करता है कि कोई बदलाव नहीं हुआ। आईडी को परमाणु रूप से दावा किया जाता है, इसलिए दो समवर्ती रन एक ही निर्देशिका में आपस में नहीं मिल सकते।
209
+ - **स्प्लिट्स रिसाव को रोकते हैं - और यह बताने वाला चेक स्वतंत्र है।** विषय परिवार (पहचान, वंश या सामान्यीकृत आईडी स्टेम द्वारा) कभी भी विभाजन सीमाओं को पार नहीं करते हैं, और एक दूसरा चेक विषय की पहचान को खरोंच से फिर से प्राप्त करता है, बजाय इसके कि स्प्लिट द्वारा उपयोग किए गए मानचित्र को फिर से पढ़ा जाए। एक डेटासेट कार्ड केवल तभी "रिसाव: कोई नहीं (सत्यापित)" का दावा करता है जब दोनों चेक चलाए जाते हैं और सफल होते हैं; स्प्लिट जो दूसरे चेक से पहले का है, वह ठीक यही बताता है।
210
+ - **मैनिफेस्ट अपरिवर्तनीय अनुबंध हैं।** निर्यात हैश + कॉन्फ़िगरेशन फ़िंगरप्रिंट, और `validate` प्रत्येक फ़ाइल `checksums.txt` को फिर से हैश करता है - इसलिए एक पूर्ण निर्यात के अंदर एक छवि को बदलने पर यह पकड़ा जाता है, जिसमें उन मैनिफेस्ट भी शामिल हैं जो उस चेक से पहले बनाए गए थे।
211
+ - **रन अपने सटीक ग्राफ़ को पिन करते हैं।** प्रत्येक पीढ़ी `comfy_workflow_sha` + मॉडल/LoRA सामग्री हैश + बीज नीति रिकॉर्ड करती है, इसलिए एक लहर को बाइट-दर-बाइट दोहराया जा सकता है। JS और Python रनर को एक परीक्षण द्वारा बाइट-समान हैश पर रखा जाता है जो दोनों को उत्पन्न करता है। मॉडल हैशिंग वैकल्पिक है (`--hash-models`) और कभी भी नकली नहीं होता है - एक अनिर्धारित फ़ाइल `sha256: null` को एक नोट के साथ रिकॉर्ड करती है।
212
+ - **कोई भी मॉडल अपने स्वयं के आउटपुट को सत्यापित नहीं करता है।** निर्णय `judged_by_model` और `generator_model` रिकॉर्ड करते हैं; यदि वे कभी भी एक ही मॉडल हैं, तो एक चेतावनी जारी होती है।
213
+ - **एक निर्णय बताता है कि इसे किसने बनाया।** `eligibility audit` किसी व्यक्ति द्वारा लिखे गए निर्णयों को एक बल्क स्क्रिप्ट द्वारा बनाए गए निर्णयों से अलग करता है, इसलिए एक तर्क जो किसी छवि के बजाय किसी श्रेणी का वर्णन करता है, वह क्यूरेशन के रूप में नहीं माना जा सकता है।
214
+ - **माप निर्णय नहीं है।** `sdlab measure` एक रिकॉर्ड में संख्याएँ जोड़ता है। यह कभी भी निर्णय, उपयुक्तता या अनुमोदन निर्धारित नहीं करता है - और जहां किसी छवि के लिए एक माप अपरिभाषित है, तो यह `null` रिकॉर्ड करता है, बजाय किसी संभावित संख्या के।
215
+ - **एक रिलीज़ यह साबित कर सकता है कि प्रत्येक छवि कहां से आई।** `sdlab verify --project <name>` प्रत्येक रिकॉर्ड के लिए श्रृंखला को ऑफ़लाइन पर चलाता है: रिकॉर्ड पर मालिक और लाइसेंस, वह कैनन प्रविष्टि जिससे यह जुड़ा हुआ था (हैश द्वारा), प्रत्येक मॉडल और LoRA का लाइसेंस जिसने इसे बनाया (SPDX आईडी, लाइसेंस URL, वह तारीख जिस पर इसे पढ़ा गया था, और फ़ाइल हैश), और रन मैनिफेस्ट में वर्कफ़्लो हैश। एक लापता लिंक चेक को पास करने के बजाय विफल कर देता है।
216
+ - **एडेप्टर सत्य को नहीं बदल सकते।** अलग लेआउट, समान रिकॉर्ड। कोई अतिरिक्त नहीं, कोई हटाने नहीं, कोई पुनर्वर्गीकरण नहीं।
217
+ - **उत्पन्न आउटपुट समीक्षा के माध्यम से फिर से प्रवेश करते हैं।** कोई बाईपास नहीं। अन्य सभी चीजों की तरह क्यूरेट और बाइंड करें। बाहरी रूप से उत्पन्न छवियां `sdlab ingest` के माध्यम से उसी तरह प्रवेश करती हैं, बिना क्यूरेट किए।
218
+ - **विफलताएँ दिखाई देती हैं।** एक लापता रिकॉर्ड, एक ऐसी छवि जिसे रखा नहीं जा सकता, या एक कैप्शन जिसे बनाया नहीं जा सकता, वह एक निर्यात या प्रशिक्षण पैकेज को चुपचाप कम करने के बजाय रोक देता है।
172
219
 
173
220
  ## स्टार फ्रेट
174
221
 
175
- रिपो में एक पूर्ण कार्यशील उदाहरण शामिल है: 1,182 रिकॉर्ड, 5 गुट, 7 लेन, 24 संविधान नियम, 892 स्वीकृत संपत्ति, 2 प्रशिक्षण प्रोफाइल। एक कठोर विज्ञान-फाई आरपीजी दृश्य कैनन, पूरी तरह से क्यूरेट किया गया।
222
+ रिपॉजिटरी में एक पूर्ण कार्यशील उदाहरण शामिल है: 1,182 रिकॉर्ड, 5 गुट, 7 लेन, 24 संविधान नियम, 892 स्वीकृत संपत्ति, 2 प्रशिक्षण प्रोफाइल। एक कठोर विज्ञान-फाई आरपीजी विज़ुअल कैनन, पूरी तरह से क्यूरेट किया गया।
176
223
 
177
224
  ```bash
178
225
  git clone https://github.com/mcp-tool-shop-org/style-dataset-lab
@@ -184,19 +231,19 @@ sdlab split build --project star-freight # zero subject leakage
184
231
 
185
232
  ## डाउनस्ट्रीम प्रारूप
186
233
 
187
- `sdlab` डेटासेट का मालिक है। प्रारूप रूपांतरण [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) द्वारा संभाला जाता है: TRL, LLaVA, Qwen2-VL, JSONL, Parquet और अन्य। `repo-dataset` प्रस्तुत करता है; यह कभी भी समावेश का निर्णय नहीं लेता है।
234
+ `sdlab` डेटासेट का मालिक है। प्रारूप रूपांतरण [`repo-dataset`](https://github.com/mcp-tool-shop-org/repo-dataset) द्वारा संभाला जाता है: TRL, LLaVA, Qwen2-VL, JSONL, Parquet, और बहुत कुछ। `repo-dataset` प्रस्तुत करता है; यह कभी भी समावेश का निर्णय नहीं लेता है।
188
235
 
189
- ## स्थापित करें
236
+ ## इंस्टॉल करें
190
237
 
191
238
  ```bash
192
239
  npm install -g @mcptoolshop/style-dataset-lab
193
240
  ```
194
241
 
195
- Node.js 20+ और [ComfyUI](https://github.com/comfyanonymous/ComfyUI) की आवश्यकता है जो localhost:8188 पर पीढ़ी के लिए चल रहा हो।
242
+ इसके लिए Node.js 20+ और स्थानीय होस्ट:8188 पर [ComfyUI](https://github.com/comfyanonymous/ComfyUI) की आवश्यकता होती है।
196
243
 
197
- ### ComfyUI के बिना इसे आज़माएं
244
+ ### इसे ComfyUI के बिना आज़माएँ
198
245
 
199
- आप पूर्ण गैर-उत्पादन सतह का पता लगा सकते हैं - निरीक्षण, क्यूरेशन, स्नैपशॉट, विभाजन, निर्यात - बंडल किए गए स्टार फ्रेट प्रोजेक्ट का उपयोग करके ComfyUI स्थापित किए बिना या किसी भी SDXL भार को डाउनलोड किए बिना।
246
+ आप ComfyUI को स्थापित किए बिना या किसी भी SDXL भार को डाउनलोड किए बिना बंडल किए गए स्टार फ्रेट प्रोजेक्ट का उपयोग करके पूर्ण गैर-उत्पादन सतह - निरीक्षण, क्यूरेशन, स्नैपशॉट, स्प्लिट, निर्यात - का पता लगा सकते हैं।
200
247
 
201
248
  ```bash
202
249
  # Scaffold a fresh project (no ComfyUI needed)
@@ -209,13 +256,13 @@ sdlab project doctor --project test
209
256
  sdlab snapshot create --dry-run --project star-freight
210
257
  ```
211
258
 
212
- `sdlab project doctor` प्रत्येक परियोजना कॉन्फ़िगरेशन (संविधान, लेन, रुब्रिक, शब्दावली) को मान्य करता है और GPU को छुए बिना पात्रता की रिपोर्ट करता है। कोई भी कमांड जो उत्पन्न स्थिति को परिवर्तित करता है, वह पहले प्रभाव का पूर्वावलोकन करने के लिए `--dry-run` स्वीकार करता है।
259
+ `sdlab project doctor` प्रत्येक प्रोजेक्ट कॉन्फ़िगरेशन (संविधान, लेन, रूब्रिक, शब्दावली) को मान्य करता है और GPU को छुए बिना पात्रता की रिपोर्ट करता है। कोई भी कमांड जो उत्पन्न स्थिति को बदलता है, वह पहले प्रभाव का पूर्वावलोकन करने के लिए `--dry-run` स्वीकार करता है।
213
260
 
214
- यदि आप `--project` भूल जाते हैं, तो CLI `projects/` के तहत पाए जाने वाले पहले प्रोजेक्ट पर वापस आ जाता है और एक चेतावनी प्रिंट करता है - इसे चुप कराने के लिए स्पष्ट रूप से `--project` पास करें।
261
+ यदि आप `--project` को भूल जाते हैं, तो CLI `projects/` के तहत पाए जाने वाले पहले प्रोजेक्ट पर वापस आ जाता है और एक चेतावनी प्रिंट करता है - इसे चुप कराने के लिए `--project` को स्पष्ट रूप से पास करें।
215
262
 
216
- ### रुके हुए रन को फिर से शुरू करना
263
+ ### एक बाधित रन को फिर से शुरू करना
217
264
 
218
- लंबे समय तक चलने वाली पीढ़ी के रन को बिना पूर्ण किए गए काम को दोहराए फिर से शुरू किया जा सकता है:
265
+ लंबे समय तक चलने वाले उत्पादन रन को बिना पूर्ण किए गए काम को दोहराए फिर से शुरू किया जा सकता है:
219
266
 
220
267
  ```bash
221
268
  # Skip subjects whose record + image are already on disk.
@@ -227,36 +274,38 @@ sdlab generate inputs/prompts/wave1.json --project my-project --resume
227
274
  sdlab batch generate --resume batch_2026-04-22_001 --project my-project
228
275
  ```
229
276
 
230
- दोनों कमांड काम करते हैं क्योंकि प्रत्येक स्लॉट अपनी मैनिफेस्ट प्रविष्टि को परमाणु रूप से लिखता है जैसे ही यह समाप्त होता है - मध्य-रन में दुर्घटना कभी भी आंशिक स्थिति को दूषित नहीं करती है।
277
+ दोनों कमांड काम करते हैं क्योंकि प्रत्येक स्लॉट अपनी मैनिफेस्ट प्रविष्टि को परमाणु रूप से लिखता है क्योंकि यह समाप्त होता है - रन के बीच में क्रैश कभी भी आंशिक स्थिति को दूषित नहीं करता है।
231
278
 
232
279
  ## समस्या निवारण
233
280
 
234
281
  सामान्य विफलता मोड और समाधान:
235
282
 
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` सेट करें।
283
+ **`ECONNREFUSED 127.0.0.1:8188` किसी भी `sdlab generate` / `sdlab run generate` / `sdlab batch generate` पर**
284
+ 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` सेट करें।
238
285
 
239
286
  **`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>` को फिर से चलाएं।
287
+ आपके वर्कफ़्लो प्रोफ़ाइल में एक मॉडल फ़ाइल का नाम है जो ComfyUI के `models/checkpoints/` या `models/loras/` फ़ोल्डर में नहीं है। `projects/<project>/workflows/profiles/<profile>.json` खोलें, `checkpoint` या `lora` फ़ील्ड का पता लगाएं, और या तो संदर्भित भार डाउनलोड करें या इसे किसी ऐसे भार से बदलें जो आपके पास पहले से है। समाधान की पुष्टि करने के लिए `sdlab project doctor --project <project>` को फिर से चलाएँ।
241
288
 
242
289
  **`sdlab project doctor` त्रुटियाँ**
243
290
  डॉक्टर संरचित त्रुटि कोड लौटाता है। सामान्य:
244
- - `E_PROJECT_NOT_FOUND` - परियोजना निर्देशिका `projects/` के तहत मौजूद नहीं है। वर्तनी की जाँच करें।
245
- - `E_CONFIG_INVALID` - पाँच JSON कॉन्फ़िगरेशन फ़ाइलों में से एक स्कीमा सत्यापन विफल हो गया। `hint` फ़ील्ड खराब फ़ाइल और फ़ील्ड का नाम देता है।
246
- - `E_RECORD_DRIFT` - किसी रिकॉर्ड का कॉन्फ़िगरेशन फ़िंगरप्रिंट अब इसके स्रोत से मेल नहीं खाता है। संकेत के अनुसार फिर से क्यूरेट या पुन: बांधें।
291
+ - `E_PROJECT_NOT_FOUND` - प्रोजेक्ट निर्देशिका `projects/` के तहत मौजूद नहीं है। वर्तनी की जाँच करें।
292
+ - `E_CONFIG_INVALID` - पाँच JSON कॉन्फ़िगरेशन फ़ाइलों में से एक स्कीमा सत्यापन में विफल रहा। `hint` फ़ील्ड खराब फ़ाइल और फ़ील्ड का नाम देता है।
293
+ - `E_RECORD_DRIFT` - किसी रिकॉर्ड के कॉन्फ़िगरेशन फ़िंगरप्रिंट अब इसके स्रोत से मेल नहीं खाते हैं। संकेत के अनुसार फिर से क्यूरेट या फिर से बाइंड करें।
247
294
 
248
- **`कोई --project निर्दिष्ट नहीं है, <name> पर वापस आ रहा है`**
249
- एक नरम चेतावनी। सही परियोजना का चयन करने और चेतावनी को शांत करने के लिए स्पष्ट रूप से `--project <name>` पास करें।
295
+ **`No --project specified, falling back to <name>`**
296
+ एक नरम चेतावनी। सही प्रोजेक्ट का चयन करने और चेतावनी को शांत करने के लिए `--project <name>` को स्पष्ट रूप से पास करें।
250
297
 
251
- **पेंटरली / VRAM आउट-ऑफ-मेमोरी मुद्दे**
252
- पेंटरली डेनोइज़ ट्यूनिंग नोट्स के लिए `docs/internal/HANDOFF.md` देखें। संक्षेप में: डेनोइज़ शक्ति को कम करें, बैच आकार को कम करें या अपने वर्कफ़्लो प्रोफ़ाइल में एक छोटे चेकपॉइंट पर स्विच करें।
298
+ **पेंटरली / VRAM आउट-ऑफ़-मेमोरी समस्याएँ**
299
+ पेंटरली डेनोइज़ ट्यूनिंग नोट्स के लिए `docs/internal/HANDOFF.md` देखें। संक्षेप में: डेनोइज़ शक्ति को कम करें, बैच आकार को कम करें, या अपने वर्कफ़्लो प्रोफ़ाइल में एक छोटे चेकपॉइंट पर स्विच करें।
253
300
 
254
301
  **बग की रिपोर्ट करना**
255
- https://github.com/mcp-tool-shop-org/style-dataset-lab/issues पर अपनी sdlab संस्करण (`sdlab --version`), Node संस्करण (`node -v`), पूर्ण कमांड और संरचित त्रुटि आउटपुट के साथ एक समस्या फ़ाइल करें। बग-रिपोर्ट टेम्पलेट फ़ील्ड को पहले से भर देता है।
302
+ https://github.com/mcp-tool-shop-org/style-dataset-lab/issues पर एक समस्या फ़ाइल करें, जिसमें आपका sdlab संस्करण (`sdlab --version`), Node संस्करण (`node -v`), पूर्ण कमांड और संरचित त्रुटि आउटपुट शामिल है। एक बग-रिपोर्ट टेम्पलेट फ़ील्ड को पहले से भर देता है।
256
303
 
257
304
  ## सुरक्षा
258
305
 
259
- केवल स्थानीय। कोई टेलीमेट्री नहीं, कोई एनालिटिक्स नहीं, कोई बाहरी अनुरोध नहीं। छवियां आपके GPU और फ़ाइल सिस्टम पर रहती हैं।
306
+ डिफ़ॉल्ट रूप से स्थानीय। कोई टेलीमेट्री नहीं, कोई एनालिटिक्स नहीं, और `sdlab` CLI से कोई बाहरी अनुरोध नहीं: छवियां आपके GPU और फ़ाइल सिस्टम पर रहती हैं, और `canon draft` किसी भी गैर-लूपबैक एंडपॉइंट को अस्वीकार कर देता है।
307
+
308
+ एकमात्र अपवाद ऑप्ट-इन है। `scripts/colab/` आपके अपने Google Colab खाते पर रेंडर या LoRA प्रशिक्षण चरण चलाने के लिए लॉन्च किट रखता है। वे केवल उन फ़ाइलों को अपलोड करते हैं जिन्हें आप निर्दिष्ट करते हैं, आपके लाइव Colab बैलेंस से प्राप्त खर्च सीमा के तहत चलते हैं, और बाहर निकलने पर अपना सत्र समाप्त कर देते हैं। ये किट **प्रायोगिक** हैं: अभी तक इनका पूरी तरह से परीक्षण नहीं किया गया है।
260
309
 
261
310
  ## लाइसेंस
262
311
 
@@ -264,4 +313,4 @@ https://github.com/mcp-tool-shop-org/style-dataset-lab/issues पर अपन
264
313
 
265
314
  ---
266
315
 
267
- एमसीपी टूल शॉप द्वारा निर्मित।
316
+ <a href="https://mcp-tool-shop.github.io/">एमसीपी टूल शॉप</a> द्वारा निर्मित