nccgs 2.1.0 → 3.0.0-rc.1

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 (683) hide show
  1. package/CHANGELOG.md +66 -197
  2. package/LICENSE +1 -1
  3. package/README.md +65 -174
  4. package/THIRD_PARTY_NOTICES.md +6 -34
  5. package/bin/nccgs.mjs +86 -0
  6. package/cli/doctor.mjs +82 -0
  7. package/cli/install.mjs +111 -0
  8. package/cli/release.mjs +59 -0
  9. package/cli/run.mjs +35 -0
  10. package/cli/spawn.mjs +20 -0
  11. package/cli/uninstall.mjs +43 -0
  12. package/cli/update-check.mjs +66 -0
  13. package/docs/EVIDENCE-VERIFICATION.md +22 -0
  14. package/package.json +22 -30
  15. package/runtime/core/fs.mjs +80 -0
  16. package/runtime/core/job-object.mjs +73 -0
  17. package/runtime/core/modes.mjs +87 -0
  18. package/runtime/core/process-tree.mjs +109 -0
  19. package/runtime/core/project.mjs +107 -0
  20. package/runtime/core/snapshot.mjs +114 -0
  21. package/runtime/hooks/common.mjs +19 -0
  22. package/runtime/hooks/done-guard.mjs +15 -0
  23. package/runtime/hooks/guard-mcp.mjs +8 -0
  24. package/runtime/hooks/guard-shell.mjs +16 -0
  25. package/runtime/hooks/guard-write.mjs +25 -0
  26. package/runtime/hooks/session-log.mjs +7 -0
  27. package/runtime/hooks/session-start.mjs +32 -0
  28. package/runtime/hooks/unity-transport.mjs +12 -0
  29. package/runtime/modes.json +39 -0
  30. package/runtime/task/cost.mjs +103 -0
  31. package/runtime/task/criteria.mjs +128 -0
  32. package/runtime/task/ledger.mjs +109 -0
  33. package/runtime/task/plan.mjs +69 -0
  34. package/runtime/task/project.mjs +79 -0
  35. package/runtime/task/report.mjs +252 -0
  36. package/runtime/task/task.mjs +232 -0
  37. package/runtime/unity/assets.mjs +51 -0
  38. package/runtime/unity/playtest.mjs +145 -0
  39. package/runtime/unity/unity.mjs +343 -0
  40. package/scripts/check-job-object.mjs +18 -0
  41. package/scripts/sync-unity-skills.mjs +35 -119
  42. package/template/CLAUDE.md +39 -0
  43. package/template/agents/fast-fix.md +9 -0
  44. package/template/agents/implementer.md +19 -0
  45. package/template/agents/playtester.md +15 -0
  46. package/template/agents/reviewer.md +19 -0
  47. package/template/agents/scout.md +9 -0
  48. package/template/ponytail/README.md +8 -0
  49. package/{.claude/nccgs/packages → template}/ponytail/engineering.md +10 -0
  50. package/template/protocols/evidence.md +52 -0
  51. package/template/protocols/playtest.md +45 -0
  52. package/template/protocols/review.md +34 -0
  53. package/template/protocols/unity-cli-notes.md +56 -0
  54. package/template/settings.fragment.json +33 -0
  55. package/template/skills/art-bible/SKILL.md +19 -0
  56. package/template/skills/asset-spec/SKILL.md +19 -0
  57. package/template/skills/brainstorm/SKILL.md +17 -0
  58. package/template/skills/map-systems/SKILL.md +25 -0
  59. package/template/skills/playtest/SKILL.md +17 -0
  60. package/template/skills/status/SKILL.md +18 -0
  61. package/template/skills/test/SKILL.md +34 -0
  62. package/template/skills/unity-foundation/SKILL.md +17 -0
  63. package/template/skills/vertical-slice/SKILL.md +17 -0
  64. package/template/skills/work/SKILL.md +65 -0
  65. package/unity-skills/2d-pixel-perfect/SKILL.md +208 -0
  66. package/unity-skills/2d-pixel-perfect/references/api-reference.md +81 -0
  67. package/unity-skills/2d-pixel-perfect/references/camera-setup-builtin.cs +40 -0
  68. package/unity-skills/2d-pixel-perfect/references/camera-setup-urp.cs +49 -0
  69. package/unity-skills/2d-pixel-perfect/references/pipeline-detection.cs +50 -0
  70. package/unity-skills/2d-pixel-perfect/references/sprite-settings.cs +37 -0
  71. package/unity-skills/asset-transformer-toolkit/SECURITY.md +15 -0
  72. package/unity-skills/asset-transformer-toolkit/SKILL.md +39 -0
  73. package/unity-skills/asset-transformer-toolkit/references/create-importer.md +121 -0
  74. package/unity-skills/asset-transformer-toolkit/references/lods.md +61 -0
  75. package/unity-skills/asset-transformer-toolkit/references/rule-api.md +154 -0
  76. package/unity-skills/asset-transformer-toolkit/references/ruleblock-api.md +37 -0
  77. package/unity-skills/asset-transformer-toolkit/references/ruleset-api.md +138 -0
  78. package/unity-skills/asset-transformer-toolkit/references/rulesets-and-actions.md +227 -0
  79. package/unity-skills/audio-setup-mixers/SECURITY.md +16 -0
  80. package/unity-skills/audio-setup-mixers/SKILL.md +127 -0
  81. package/unity-skills/audio-setup-mixers/references/api.md +162 -0
  82. package/unity-skills/build-gtk/SKILL.md +242 -0
  83. package/unity-skills/build-gtk/references/graph-api.md +324 -0
  84. package/unity-skills/build-gtk/references/pitfalls.md +86 -0
  85. package/unity-skills/build-gtk/references/runtime-and-visualization.md +196 -0
  86. package/unity-skills/build-gtk/references/state-machine-api.md +286 -0
  87. package/unity-skills/build-live-game/SKILL.md +255 -0
  88. package/{.claude/skills → unity-skills}/build-live-game/references/achievements.md +132 -154
  89. package/{.claude/skills → unity-skills}/build-live-game/references/apis.md +10 -19
  90. package/{.claude/skills → unity-skills}/build-live-game/references/authentication.md +14 -20
  91. package/{.claude/skills → unity-skills}/build-live-game/references/battlepass.md +269 -225
  92. package/unity-skills/build-live-game/references/blueprints-and-samples.md +75 -0
  93. package/unity-skills/build-live-game/references/cloud-code-cloudbehaviours.md +1111 -0
  94. package/unity-skills/build-live-game/references/cloud-code-modules.md +1276 -0
  95. package/unity-skills/build-live-game/references/cloud-code.md +58 -0
  96. package/{.claude/skills → unity-skills}/build-live-game/references/cloud-save.md +15 -25
  97. package/{.claude/skills → unity-skills}/build-live-game/references/deployment.md +33 -18
  98. package/{.claude/skills → unity-skills}/build-live-game/references/player-account.md +31 -23
  99. package/{.claude/skills → unity-skills}/build-live-game/references/tooling.md +0 -56
  100. package/unity-skills/build-live-game/references/ugs-cli.md +86 -0
  101. package/unity-skills/craft-game-floors/SECURITY.md +23 -0
  102. package/unity-skills/craft-game-floors/SKILL.md +134 -0
  103. package/unity-skills/craft-game-floors/references/art-direction.md +85 -0
  104. package/unity-skills/craft-game-floors/references/camera-rigs.md +51 -0
  105. package/unity-skills/craft-game-floors/references/character-motion.md +35 -0
  106. package/unity-skills/craft-game-floors/references/game-audio.md +47 -0
  107. package/unity-skills/craft-game-floors/references/game-feel.md +68 -0
  108. package/unity-skills/craft-game-floors/references/game-shell.md +45 -0
  109. package/unity-skills/craft-game-floors/references/live-floor.md +35 -0
  110. package/unity-skills/craft-game-floors/references/placeholder-assets.md +35 -0
  111. package/unity-skills/craft-game-floors/references/scene-lighting.md +52 -0
  112. package/unity-skills/craft-game-floors/references/toon-shading.md +34 -0
  113. package/unity-skills/craft-game-floors/references/vfx.md +40 -0
  114. package/unity-skills/craft-game-floors/references/visual-scorecard.md +43 -0
  115. package/unity-skills/create-2d-physics/SECURITY.md +16 -0
  116. package/unity-skills/create-2d-physics/SKILL.md +128 -0
  117. package/unity-skills/create-2d-physics/references/2d-physics-core.md +155 -0
  118. package/unity-skills/create-2d-physics/references/legacy-2d-physics.md +45 -0
  119. package/unity-skills/create-tile-palette-or-rule-tiles/SKILL.md +12 -0
  120. package/unity-skills/create-tile-palette-or-rule-tiles/references/hexagonalruletile.md +71 -0
  121. package/unity-skills/create-tile-palette-or-rule-tiles/references/palette-create.md +38 -0
  122. package/unity-skills/create-tile-palette-or-rule-tiles/references/ruletile-createempty.md +35 -0
  123. package/unity-skills/create-tile-palette-or-rule-tiles/references/ruletile-createfromsegment.md +212 -0
  124. package/unity-skills/create-tile-palette-or-rule-tiles/references/ruletile.md +90 -0
  125. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/CreatePaletteTemplate.cs +148 -0
  126. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/ManualWorkflowExample.cs +63 -0
  127. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/RuleTileGenerator.cs +61 -0
  128. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/TilemapRuleTileCreateFromSegment.cs +225 -0
  129. package/unity-skills/generate-editor-search-query/SECURITY.md +17 -0
  130. package/unity-skills/generate-editor-search-query/SKILL.md +117 -0
  131. package/unity-skills/generate-editor-search-query/references/open-search-window.md +70 -0
  132. package/unity-skills/generate-editor-search-query/references/query-patterns.md +124 -0
  133. package/{.claude/skills → unity-skills}/implement-in-app-purchases/SKILL.md +1 -2
  134. package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/api-notes.md +25 -28
  135. package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-convert-native-google-billing.md +1 -1
  136. package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-implement-iap-d2c.md +40 -5
  137. package/{.claude/skills → unity-skills}/initialize-ai-navigation/SKILL.md +4 -4
  138. package/{.claude/skills → unity-skills}/initialize-ai-navigation/references/navigation-system.md +3 -3
  139. package/{.claude/skills → unity-skills}/levelplay-unity-integration/CHANGELOG.md +12 -0
  140. package/{.claude/skills → unity-skills}/levelplay-unity-integration/README.md +9 -5
  141. package/unity-skills/levelplay-unity-integration/SKILL.md +442 -0
  142. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/banner-api.md +15 -8
  143. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/best-practices.md +604 -536
  144. package/unity-skills/levelplay-unity-integration/references/dependency-resolution.md +94 -0
  145. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/ilrd-api.md +2 -2
  146. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/initialization-api.md +221 -0
  147. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/interstitial-api.md +11 -3
  148. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/ios-setup.md +6 -34
  149. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/migration-sdk-9.md +1 -1
  150. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/privacy-settings.md +14 -29
  151. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/rewarded-api.md +20 -4
  152. package/unity-skills/levelplay-unity-integration/references/testing-and-validation.md +222 -0
  153. package/unity-skills/levelplay-unity-integration/references/troubleshooting.md +99 -0
  154. package/unity-skills/localization/SKILL.md +347 -0
  155. package/{.claude/skills → unity-skills}/localization/references/api-notes.md +4 -0
  156. package/unity-skills/localization/resources/L10nBatchProcessor.cs +191 -0
  157. package/unity-skills/manage-sprite-atlas/SKILL.md +351 -0
  158. package/unity-skills/manage-sprite-atlas/references/addressables-delivery.md +58 -0
  159. package/unity-skills/manage-sprite-atlas/references/api.md +382 -0
  160. package/unity-skills/manage-sprite-atlas/references/best-practices.md +183 -0
  161. package/unity-skills/manage-sprite-atlas/references/common-errors.md +123 -0
  162. package/unity-skills/manage-sprite-atlas/references/custom-packing.md +147 -0
  163. package/unity-skills/manage-sprite-atlas/references/manual-authoring.md +39 -0
  164. package/unity-skills/manage-sprite-atlas/resources/authoringvsruntime.cs +176 -0
  165. package/unity-skills/manage-sprite-atlas/resources/buildaddressablespostprocess.cs +59 -0
  166. package/unity-skills/manage-sprite-atlas/resources/cacheloadedatlases.cs +145 -0
  167. package/unity-skills/manage-sprite-atlas/resources/cleanupbatchoperations.cs +119 -0
  168. package/unity-skills/manage-sprite-atlas/resources/createandconfiguremasteratlas.cs +57 -0
  169. package/unity-skills/manage-sprite-atlas/resources/custompackersetup.cs +88 -0
  170. package/unity-skills/manage-sprite-atlas/resources/deprecatedmethods.cs +142 -0
  171. package/unity-skills/manage-sprite-atlas/resources/dontmodifywithoutsaving.cs +120 -0
  172. package/unity-skills/manage-sprite-atlas/resources/dontpackinruntimebuilds.cs +190 -0
  173. package/unity-skills/manage-sprite-atlas/resources/dontscriptspriteatlasineditor.cs +114 -0
  174. package/unity-skills/manage-sprite-atlas/resources/editorconfiguration.cs +95 -0
  175. package/unity-skills/manage-sprite-atlas/resources/enablespritepacking.cs +172 -0
  176. package/unity-skills/manage-sprite-atlas/resources/gridspritepacker.cs +50 -0
  177. package/unity-skills/manage-sprite-atlas/resources/handlelatebinding.cs +147 -0
  178. package/unity-skills/manage-sprite-atlas/resources/handlenullcases.cs +141 -0
  179. package/unity-skills/manage-sprite-atlas/resources/migratev1tov2.cs +335 -0
  180. package/unity-skills/manage-sprite-atlas/resources/multipagepacker.cs +80 -0
  181. package/unity-skills/manage-sprite-atlas/resources/optimizetexturesettings.cs +191 -0
  182. package/unity-skills/manage-sprite-atlas/resources/packerdebugging.cs +158 -0
  183. package/unity-skills/manage-sprite-atlas/resources/packtransform.cs +51 -0
  184. package/unity-skills/manage-sprite-atlas/resources/platformnames.cs +127 -0
  185. package/unity-skills/manage-sprite-atlas/resources/queryspritesefficiently.cs +222 -0
  186. package/unity-skills/manage-sprite-atlas/resources/registercallbacks.cs +152 -0
  187. package/unity-skills/manage-sprite-atlas/resources/runtimeatlasloader.cs +15 -0
  188. package/unity-skills/manage-sprite-atlas/resources/runtimespriteaccess.cs +19 -0
  189. package/unity-skills/manage-sprite-atlas/resources/savespriteatlasasset.cs +107 -0
  190. package/unity-skills/manage-sprite-atlas/resources/scriptablepacker.cs +81 -0
  191. package/unity-skills/manage-sprite-atlas/resources/setincludeinbuild.cs +164 -0
  192. package/unity-skills/manage-sprite-atlas/resources/sizeoptimizedpacker.cs +88 -0
  193. package/unity-skills/manage-sprite-atlas/resources/spriteatlaslatebinding.cs +123 -0
  194. package/unity-skills/manage-sprite-atlas/resources/spriteatlasprebuildgenerator.cs +219 -0
  195. package/unity-skills/manage-sprite-atlas/resources/spritedata.cs +35 -0
  196. package/unity-skills/manage-sprite-atlas/resources/spritepack.cs +39 -0
  197. package/unity-skills/manage-sprite-atlas/resources/texturedata.cs +15 -0
  198. package/unity-skills/manage-sprite-atlas/resources/updatebuildscripts.cs +357 -0
  199. package/unity-skills/manage-sprite-atlas/resources/updatesettingsconfiguration.cs +135 -0
  200. package/unity-skills/manage-sprite-atlas/resources/usevariantswisely.cs +179 -0
  201. package/unity-skills/manage-sprite-atlas/resources/variantatlas.cs +39 -0
  202. package/unity-skills/manifest.json +1155 -0
  203. package/unity-skills/migrate-birp-to-urp/SECURITY.md +16 -0
  204. package/unity-skills/migrate-birp-to-urp/SKILL.md +543 -0
  205. package/unity-skills/migrate-birp-to-urp/references/capturing-the-editor.md +66 -0
  206. package/unity-skills/migrate-birp-to-urp/references/complex-shader-situations.md +272 -0
  207. package/unity-skills/migrate-birp-to-urp/references/custom-shader-triage.md +123 -0
  208. package/unity-skills/migrate-birp-to-urp/references/implementation-patterns.md +529 -0
  209. package/unity-skills/migrate-birp-to-urp/references/migration-workflow.md +265 -0
  210. package/unity-skills/migrate-birp-to-urp/references/quality-settings-map.md +69 -0
  211. package/unity-skills/new-unity-project/SECURITY.md +26 -0
  212. package/unity-skills/new-unity-project/SKILL.md +386 -0
  213. package/unity-skills/new-unity-project/references/skill-setup.md +66 -0
  214. package/unity-skills/optimize-audio/SECURITY.md +16 -0
  215. package/{.claude/skills → unity-skills}/optimize-audio/SKILL.md +17 -17
  216. package/{.claude/skills → unity-skills}/optimize-audio/resources/audio-import-api.md +8 -5
  217. package/{.claude/skills → unity-skills}/optimize-text-mesh-pro/SKILL.md +1 -11
  218. package/unity-skills/optimize-web/SECURITY.md +16 -0
  219. package/{.claude/skills → unity-skills}/optimize-web/SKILL.md +164 -27
  220. package/unity-skills/optimize-web/scripts/WebOptimizer.cs +46 -0
  221. package/unity-skills/optimize-web/scripts/toktx-examples.sh +11 -0
  222. package/{.claude/skills → unity-skills}/physics-3d-collision/SKILL.md +2 -2
  223. package/unity-skills/physics-3d-collision/references/troubleshooting.md +8 -0
  224. package/unity-skills/project-auditor-fixes/SKILL.md +64 -0
  225. package/{.claude/skills → unity-skills}/setup-multiplayer-services/SKILL.md +1 -4
  226. package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/SKILL.md +1 -1
  227. package/{.claude/skills → unity-skills}/shader-graph-create-custom-node/SKILL.md +1 -1
  228. package/unity-skills/sprite-editor/SECURITY.md +16 -0
  229. package/{.claude/skills → unity-skills}/sprite-editor/SKILL.md +9 -9
  230. package/{.claude/skills → unity-skills}/sprite-editor/references/templates.md +1 -1
  231. package/unity-skills/sprite-segment-3x3grid/SKILL.md +136 -0
  232. package/unity-skills/sprite-segment-3x3grid/scripts/SpriteGridAnalysis.cs +119 -0
  233. package/{.claude/skills → unity-skills}/ui/SKILL.md +1 -1
  234. package/{.claude/skills → unity-skills}/ui-imgui/SKILL.md +1 -7
  235. package/{.claude/skills → unity-skills}/ui-ugui/SKILL.md +3 -9
  236. package/{.claude/skills → unity-skills}/ui-uitk/SKILL.md +8 -14
  237. package/{.claude/skills → unity-skills}/ui-uitk/references/custom-elements.md +1 -1
  238. package/unity-skills/unity-cli/CHANGELOG.md +515 -0
  239. package/unity-skills/unity-cli/SECURITY.md +68 -0
  240. package/unity-skills/unity-cli/SKILL.md +723 -0
  241. package/unity-skills/unity-cli/references/auth-license-cloud.md +318 -0
  242. package/unity-skills/unity-cli/references/build-run-test.md +555 -0
  243. package/unity-skills/unity-cli/references/cloud-automation.md +736 -0
  244. package/{.claude/skills → unity-skills}/unity-cli/references/collaboration.md +166 -105
  245. package/unity-skills/unity-cli/references/config-hub.md +239 -0
  246. package/unity-skills/unity-cli/references/diagnostics-maintenance.md +720 -0
  247. package/unity-skills/unity-cli/references/docs-workflow.md +179 -0
  248. package/unity-skills/unity-cli/references/editors-install.md +476 -0
  249. package/unity-skills/unity-cli/references/integration-advanced.md +1130 -0
  250. package/unity-skills/unity-cli/references/playmode-verification-loop.md +279 -0
  251. package/unity-skills/unity-cli/references/projects-templates.md +996 -0
  252. package/unity-skills/unity-cli/references/version-control.md +612 -0
  253. package/{.claude/skills → unity-skills}/unity-package-management/SKILL.md +60 -12
  254. package/{.claude/skills → unity-skills}/unity-package-management/references/select-packages.md +39 -21
  255. package/unity-skills/unity-pipeline/SECURITY.md +17 -0
  256. package/unity-skills/unity-pipeline/SKILL.md +335 -0
  257. package/unity-skills/urp-postprocessing/SECURITY.md +16 -0
  258. package/{.claude/skills → unity-skills}/urp-postprocessing/SKILL.md +12 -12
  259. package/{.claude/skills → unity-skills}/urp-postprocessing/references/code-templates.md +39 -8
  260. package/{.claude/skills → unity-skills}/validate-urp-render-graph-renderer-feature/SKILL.md +1 -1
  261. package/.claude/agents/nccgs-adversarial-reviewer.md +0 -43
  262. package/.claude/agents/nccgs-engine-programmer.md +0 -27
  263. package/.claude/agents/nccgs-fast-implementer.md +0 -30
  264. package/.claude/agents/nccgs-game-designer.md +0 -26
  265. package/.claude/agents/nccgs-gameplay-programmer.md +0 -26
  266. package/.claude/agents/nccgs-qa-engineer.md +0 -27
  267. package/.claude/agents/nccgs-task-scout.md +0 -24
  268. package/.claude/agents/nccgs-ui-programmer.md +0 -27
  269. package/.claude/agents/nccgs-unity-build-specialist.md +0 -27
  270. package/.claude/agents/nccgs-unity-implementer.md +0 -28
  271. package/.claude/agents/nccgs-unity-systems-specialist.md +0 -27
  272. package/.claude/agents/nccgs-unity-ui-specialist.md +0 -27
  273. package/.claude/agents/nccgs-verification-engineer.md +0 -27
  274. package/.claude/nccgs/MEMORY.md +0 -64
  275. package/.claude/nccgs/THIRD_PARTY_NOTICES.md +0 -29
  276. package/.claude/nccgs/VERSION +0 -1
  277. package/.claude/nccgs/agent-library/nccgs-accessibility-specialist.md +0 -25
  278. package/.claude/nccgs/agent-library/nccgs-adversarial-reviewer.md +0 -41
  279. package/.claude/nccgs/agent-library/nccgs-ai-programmer.md +0 -25
  280. package/.claude/nccgs/agent-library/nccgs-analytics-engineer.md +0 -25
  281. package/.claude/nccgs/agent-library/nccgs-art-direction-lead.md +0 -25
  282. package/.claude/nccgs/agent-library/nccgs-audio-direction-lead.md +0 -25
  283. package/.claude/nccgs/agent-library/nccgs-creative-director.md +0 -25
  284. package/.claude/nccgs/agent-library/nccgs-documentation-manager.md +0 -25
  285. package/.claude/nccgs/agent-library/nccgs-economy-designer.md +0 -25
  286. package/.claude/nccgs/agent-library/nccgs-engine-programmer.md +0 -25
  287. package/.claude/nccgs/agent-library/nccgs-fast-implementer.md +0 -28
  288. package/.claude/nccgs/agent-library/nccgs-game-design-lead.md +0 -25
  289. package/.claude/nccgs/agent-library/nccgs-game-designer.md +0 -24
  290. package/.claude/nccgs/agent-library/nccgs-gameplay-programmer.md +0 -24
  291. package/.claude/nccgs/agent-library/nccgs-level-designer.md +0 -25
  292. package/.claude/nccgs/agent-library/nccgs-live-ops-designer.md +0 -25
  293. package/.claude/nccgs/agent-library/nccgs-localization-lead.md +0 -25
  294. package/.claude/nccgs/agent-library/nccgs-narrative-lead.md +0 -25
  295. package/.claude/nccgs/agent-library/nccgs-network-programmer.md +0 -25
  296. package/.claude/nccgs/agent-library/nccgs-performance-analyst.md +0 -25
  297. package/.claude/nccgs/agent-library/nccgs-producer.md +0 -25
  298. package/.claude/nccgs/agent-library/nccgs-production-coordinator.md +0 -22
  299. package/.claude/nccgs/agent-library/nccgs-programming-lead.md +0 -25
  300. package/.claude/nccgs/agent-library/nccgs-prototyper.md +0 -25
  301. package/.claude/nccgs/agent-library/nccgs-qa-engineer.md +0 -25
  302. package/.claude/nccgs/agent-library/nccgs-qa-lead.md +0 -25
  303. package/.claude/nccgs/agent-library/nccgs-release-engineer.md +0 -25
  304. package/.claude/nccgs/agent-library/nccgs-release-lead.md +0 -25
  305. package/.claude/nccgs/agent-library/nccgs-security-engineer.md +0 -25
  306. package/.claude/nccgs/agent-library/nccgs-sound-designer.md +0 -25
  307. package/.claude/nccgs/agent-library/nccgs-systems-designer.md +0 -25
  308. package/.claude/nccgs/agent-library/nccgs-task-scout.md +0 -22
  309. package/.claude/nccgs/agent-library/nccgs-technical-architect.md +0 -25
  310. package/.claude/nccgs/agent-library/nccgs-technical-artist.md +0 -25
  311. package/.claude/nccgs/agent-library/nccgs-technical-director.md +0 -25
  312. package/.claude/nccgs/agent-library/nccgs-tools-programmer.md +0 -25
  313. package/.claude/nccgs/agent-library/nccgs-ui-programmer.md +0 -25
  314. package/.claude/nccgs/agent-library/nccgs-unity-build-specialist.md +0 -25
  315. package/.claude/nccgs/agent-library/nccgs-unity-content-specialist.md +0 -25
  316. package/.claude/nccgs/agent-library/nccgs-unity-implementer.md +0 -26
  317. package/.claude/nccgs/agent-library/nccgs-unity-rendering-specialist.md +0 -25
  318. package/.claude/nccgs/agent-library/nccgs-unity-systems-specialist.md +0 -25
  319. package/.claude/nccgs/agent-library/nccgs-unity-ui-specialist.md +0 -25
  320. package/.claude/nccgs/agent-library/nccgs-ux-designer.md +0 -25
  321. package/.claude/nccgs/agent-library/nccgs-verification-engineer.md +0 -25
  322. package/.claude/nccgs/agent-library/nccgs-world-builder.md +0 -25
  323. package/.claude/nccgs/agent-library/nccgs-writer.md +0 -25
  324. package/.claude/nccgs/constitution.md +0 -176
  325. package/.claude/nccgs/hooks/agent-audit.mjs +0 -16
  326. package/.claude/nccgs/hooks/closure-guard.mjs +0 -57
  327. package/.claude/nccgs/hooks/common.mjs +0 -42
  328. package/.claude/nccgs/hooks/post-compact.mjs +0 -1
  329. package/.claude/nccgs/hooks/pre-compact.mjs +0 -8
  330. package/.claude/nccgs/hooks/protect-git.mjs +0 -22
  331. package/.claude/nccgs/hooks/protect-write.mjs +0 -17
  332. package/.claude/nccgs/hooks/runtime-observation.mjs +0 -11
  333. package/.claude/nccgs/hooks/session-start.mjs +0 -29
  334. package/.claude/nccgs/hooks/session-stop.mjs +0 -7
  335. package/.claude/nccgs/packages/ponytail/README.md +0 -46
  336. package/.claude/nccgs/packages/ponytail/manifest.json +0 -24
  337. package/.claude/nccgs/pipeline.json +0 -260
  338. package/.claude/nccgs/protocols/agent-contract.md +0 -101
  339. package/.claude/nccgs/protocols/astra-claude.md +0 -111
  340. package/.claude/nccgs/protocols/bounded-repair.md +0 -246
  341. package/.claude/nccgs/protocols/context-packets.md +0 -18
  342. package/.claude/nccgs/protocols/delivery-acceptance.md +0 -105
  343. package/.claude/nccgs/protocols/design-lifecycle.md +0 -139
  344. package/.claude/nccgs/protocols/editor-session-evidence.md +0 -52
  345. package/.claude/nccgs/protocols/evidence.md +0 -31
  346. package/.claude/nccgs/protocols/model-routing.md +0 -46
  347. package/.claude/nccgs/protocols/orchestration.md +0 -74
  348. package/.claude/nccgs/protocols/review-handoff.md +0 -81
  349. package/.claude/nccgs/protocols/standalone-gates.md +0 -329
  350. package/.claude/nccgs/protocols/standalone-pilot.md +0 -144
  351. package/.claude/nccgs/protocols/standalone.md +0 -207
  352. package/.claude/nccgs/protocols/task-autonomy.md +0 -55
  353. package/.claude/nccgs/protocols/task-gates.md +0 -144
  354. package/.claude/nccgs/protocols/task-slices.md +0 -106
  355. package/.claude/nccgs/protocols/unity-boundary.md +0 -11
  356. package/.claude/nccgs/routing.generated.md +0 -49
  357. package/.claude/nccgs/settings.fragment.json +0 -153
  358. package/.claude/nccgs/studio.json +0 -472
  359. package/.claude/nccgs/tools/approve-overrides.mjs +0 -81
  360. package/.claude/nccgs/tools/autonomy.mjs +0 -27
  361. package/.claude/nccgs/tools/command-process.mjs +0 -50
  362. package/.claude/nccgs/tools/compile-policy.mjs +0 -121
  363. package/.claude/nccgs/tools/configure-models.mjs +0 -96
  364. package/.claude/nccgs/tools/criteria.mjs +0 -121
  365. package/.claude/nccgs/tools/delivery-budget.mjs +0 -52
  366. package/.claude/nccgs/tools/design-readiness.mjs +0 -158
  367. package/.claude/nccgs/tools/editor-session-evidence.mjs +0 -66
  368. package/.claude/nccgs/tools/evidence.mjs +0 -153
  369. package/.claude/nccgs/tools/gates.mjs +0 -297
  370. package/.claude/nccgs/tools/handoff.mjs +0 -51
  371. package/.claude/nccgs/tools/inputs.mjs +0 -108
  372. package/.claude/nccgs/tools/installation-guard.mjs +0 -55
  373. package/.claude/nccgs/tools/integrity.mjs +0 -69
  374. package/.claude/nccgs/tools/lifecycle.mjs +0 -542
  375. package/.claude/nccgs/tools/native-completion.mjs +0 -21
  376. package/.claude/nccgs/tools/orchestration.mjs +0 -680
  377. package/.claude/nccgs/tools/paths.mjs +0 -60
  378. package/.claude/nccgs/tools/policy.mjs +0 -107
  379. package/.claude/nccgs/tools/process-lock.mjs +0 -74
  380. package/.claude/nccgs/tools/repair-packet.mjs +0 -106
  381. package/.claude/nccgs/tools/returned-handoff.mjs +0 -38
  382. package/.claude/nccgs/tools/review-budget.mjs +0 -171
  383. package/.claude/nccgs/tools/review-handoff.mjs +0 -66
  384. package/.claude/nccgs/tools/runtime.mjs +0 -71
  385. package/.claude/nccgs/tools/session-budget.mjs +0 -67
  386. package/.claude/nccgs/tools/task-slices.mjs +0 -147
  387. package/.claude/nccgs/tools/task.mjs +0 -145
  388. package/.claude/nccgs/tools/tool-guard.mjs +0 -131
  389. package/.claude/nccgs/tools/unity-repair.mjs +0 -128
  390. package/.claude/nccgs/tools/verification-jobs.mjs +0 -171
  391. package/.claude/nccgs/tools/verification-worker.mjs +0 -71
  392. package/.claude/nccgs/tools/windows-compiler-server.cs +0 -163
  393. package/.claude/nccgs/tools/windows-job.cs +0 -103
  394. package/.claude/nccgs/unity-skills-manifest.json +0 -727
  395. package/.claude/nccgs/workflow-catalog.json +0 -654
  396. package/.claude/rules/nccgs-canonical-docs.md +0 -19
  397. package/.claude/rules/nccgs-editor-tools.md +0 -12
  398. package/.claude/rules/nccgs-localization.md +0 -12
  399. package/.claude/rules/nccgs-networking.md +0 -13
  400. package/.claude/rules/nccgs-performance.md +0 -14
  401. package/.claude/rules/nccgs-rendering.md +0 -16
  402. package/.claude/rules/nccgs-security.md +0 -13
  403. package/.claude/rules/nccgs-tests.md +0 -18
  404. package/.claude/rules/nccgs-ui.md +0 -14
  405. package/.claude/rules/nccgs-unity-assets.md +0 -21
  406. package/.claude/rules/nccgs-unity-code.md +0 -22
  407. package/.claude/skills/accessibility-review/SKILL.md +0 -22
  408. package/.claude/skills/accessibility-review/references/astra.md +0 -17
  409. package/.claude/skills/accessibility-review/references/legacy.md +0 -7
  410. package/.claude/skills/architecture-decision/SKILL.md +0 -22
  411. package/.claude/skills/architecture-decision/references/astra.md +0 -12
  412. package/.claude/skills/architecture-decision/references/legacy.md +0 -7
  413. package/.claude/skills/asset-audit/SKILL.md +0 -22
  414. package/.claude/skills/asset-audit/references/astra.md +0 -17
  415. package/.claude/skills/asset-audit/references/legacy.md +0 -7
  416. package/.claude/skills/audit/SKILL.md +0 -22
  417. package/.claude/skills/audit/references/astra.md +0 -17
  418. package/.claude/skills/audit/references/dimensions.md +0 -46
  419. package/.claude/skills/audit/references/legacy.md +0 -9
  420. package/.claude/skills/balance-review/SKILL.md +0 -22
  421. package/.claude/skills/balance-review/references/astra.md +0 -17
  422. package/.claude/skills/balance-review/references/legacy.md +0 -7
  423. package/.claude/skills/bug-triage/SKILL.md +0 -22
  424. package/.claude/skills/bug-triage/references/astra.md +0 -27
  425. package/.claude/skills/bug-triage/references/legacy.md +0 -7
  426. package/.claude/skills/build-live-game/SKILL.md +0 -317
  427. package/.claude/skills/build-live-game/references/cloud-code.md +0 -563
  428. package/.claude/skills/closure/SKILL.md +0 -22
  429. package/.claude/skills/closure/references/astra.md +0 -15
  430. package/.claude/skills/closure/references/legacy.md +0 -7
  431. package/.claude/skills/compatibility-review/SKILL.md +0 -22
  432. package/.claude/skills/compatibility-review/references/astra.md +0 -17
  433. package/.claude/skills/compatibility-review/references/legacy.md +0 -7
  434. package/.claude/skills/context-pack/SKILL.md +0 -22
  435. package/.claude/skills/context-pack/references/astra.md +0 -12
  436. package/.claude/skills/context-pack/references/legacy.md +0 -7
  437. package/.claude/skills/dependency-review/SKILL.md +0 -22
  438. package/.claude/skills/dependency-review/references/astra.md +0 -17
  439. package/.claude/skills/dependency-review/references/legacy.md +0 -7
  440. package/.claude/skills/design/SKILL.md +0 -24
  441. package/.claude/skills/design/references/astra.md +0 -12
  442. package/.claude/skills/design/references/legacy.md +0 -13
  443. package/.claude/skills/design-review/SKILL.md +0 -24
  444. package/.claude/skills/design-review/references/astra.md +0 -17
  445. package/.claude/skills/design-review/references/legacy.md +0 -7
  446. package/.claude/skills/evidence-review/SKILL.md +0 -22
  447. package/.claude/skills/evidence-review/references/astra.md +0 -17
  448. package/.claude/skills/evidence-review/references/legacy.md +0 -7
  449. package/.claude/skills/hotfix/SKILL.md +0 -22
  450. package/.claude/skills/hotfix/references/astra.md +0 -30
  451. package/.claude/skills/hotfix/references/legacy.md +0 -7
  452. package/.claude/skills/incident-recovery/SKILL.md +0 -22
  453. package/.claude/skills/incident-recovery/references/astra.md +0 -27
  454. package/.claude/skills/incident-recovery/references/legacy.md +0 -7
  455. package/.claude/skills/levelplay-unity-integration/SKILL.md +0 -1126
  456. package/.claude/skills/localization/SKILL.md +0 -135
  457. package/.claude/skills/localization/resources/L10nBatchProcessor.cs +0 -69
  458. package/.claude/skills/localize-game/SKILL.md +0 -22
  459. package/.claude/skills/localize-game/references/astra.md +0 -27
  460. package/.claude/skills/localize-game/references/legacy.md +0 -7
  461. package/.claude/skills/migrate-project/SKILL.md +0 -22
  462. package/.claude/skills/migrate-project/references/astra.md +0 -30
  463. package/.claude/skills/migrate-project/references/legacy.md +0 -19
  464. package/.claude/skills/migrate-project/references/procedure.md +0 -96
  465. package/.claude/skills/milestone-review/SKILL.md +0 -22
  466. package/.claude/skills/milestone-review/references/astra.md +0 -12
  467. package/.claude/skills/milestone-review/references/legacy.md +0 -7
  468. package/.claude/skills/nccgs-code-review/SKILL.md +0 -22
  469. package/.claude/skills/nccgs-code-review/references/astra.md +0 -21
  470. package/.claude/skills/nccgs-code-review/references/legacy.md +0 -7
  471. package/.claude/skills/new-unity-project/SKILL.md +0 -179
  472. package/.claude/skills/performance-audit/SKILL.md +0 -22
  473. package/.claude/skills/performance-audit/references/astra.md +0 -17
  474. package/.claude/skills/performance-audit/references/legacy.md +0 -7
  475. package/.claude/skills/physics-3d-collision/references/troubleshooting.md +0 -41
  476. package/.claude/skills/plan-feature/SKILL.md +0 -22
  477. package/.claude/skills/plan-feature/references/astra.md +0 -12
  478. package/.claude/skills/plan-feature/references/legacy.md +0 -7
  479. package/.claude/skills/playtest/SKILL.md +0 -22
  480. package/.claude/skills/playtest/references/astra.md +0 -31
  481. package/.claude/skills/playtest/references/legacy.md +0 -7
  482. package/.claude/skills/project-stage/SKILL.md +0 -22
  483. package/.claude/skills/project-stage/references/astra.md +0 -12
  484. package/.claude/skills/project-stage/references/legacy.md +0 -7
  485. package/.claude/skills/prototype-feature/SKILL.md +0 -22
  486. package/.claude/skills/prototype-feature/references/astra.md +0 -31
  487. package/.claude/skills/prototype-feature/references/legacy.md +0 -7
  488. package/.claude/skills/qa-plan/SKILL.md +0 -22
  489. package/.claude/skills/qa-plan/references/astra.md +0 -12
  490. package/.claude/skills/qa-plan/references/legacy.md +0 -7
  491. package/.claude/skills/release/SKILL.md +0 -22
  492. package/.claude/skills/release/references/astra.md +0 -30
  493. package/.claude/skills/release/references/legacy.md +0 -11
  494. package/.claude/skills/release-readiness/SKILL.md +0 -22
  495. package/.claude/skills/release-readiness/references/astra.md +0 -17
  496. package/.claude/skills/release-readiness/references/legacy.md +0 -7
  497. package/.claude/skills/retrospective/SKILL.md +0 -22
  498. package/.claude/skills/retrospective/references/astra.md +0 -12
  499. package/.claude/skills/retrospective/references/legacy.md +0 -7
  500. package/.claude/skills/review/SKILL.md +0 -22
  501. package/.claude/skills/review/references/astra.md +0 -21
  502. package/.claude/skills/review/references/legacy.md +0 -9
  503. package/.claude/skills/security-audit/SKILL.md +0 -22
  504. package/.claude/skills/security-audit/references/astra.md +0 -17
  505. package/.claude/skills/security-audit/references/legacy.md +0 -7
  506. package/.claude/skills/sprint-plan/SKILL.md +0 -22
  507. package/.claude/skills/sprint-plan/references/astra.md +0 -12
  508. package/.claude/skills/sprint-plan/references/legacy.md +0 -7
  509. package/.claude/skills/status/SKILL.md +0 -22
  510. package/.claude/skills/status/references/astra.md +0 -19
  511. package/.claude/skills/status/references/legacy.md +0 -9
  512. package/.claude/skills/story-readiness/SKILL.md +0 -24
  513. package/.claude/skills/story-readiness/references/astra.md +0 -17
  514. package/.claude/skills/story-readiness/references/legacy.md +0 -7
  515. package/.claude/skills/test/SKILL.md +0 -22
  516. package/.claude/skills/test/references/astra.md +0 -27
  517. package/.claude/skills/test/references/legacy.md +0 -9
  518. package/.claude/skills/ui-review/SKILL.md +0 -22
  519. package/.claude/skills/ui-review/references/astra.md +0 -17
  520. package/.claude/skills/ui-review/references/legacy.md +0 -7
  521. package/.claude/skills/unity-cli/CHANGELOG.md +0 -233
  522. package/.claude/skills/unity-cli/SECURITY.md +0 -22
  523. package/.claude/skills/unity-cli/SKILL.md +0 -414
  524. package/.claude/skills/unity-cli/references/auth-license-cloud.md +0 -146
  525. package/.claude/skills/unity-cli/references/build-run-test.md +0 -349
  526. package/.claude/skills/unity-cli/references/config-hub.md +0 -103
  527. package/.claude/skills/unity-cli/references/diagnostics-maintenance.md +0 -326
  528. package/.claude/skills/unity-cli/references/editors-install.md +0 -327
  529. package/.claude/skills/unity-cli/references/integration-advanced.md +0 -472
  530. package/.claude/skills/unity-cli/references/projects-templates.md +0 -574
  531. package/.claude/skills/work/SKILL.md +0 -22
  532. package/.claude/skills/work/references/astra.md +0 -32
  533. package/.claude/skills/work/references/classification.md +0 -41
  534. package/.claude/skills/work/references/closure.md +0 -60
  535. package/.claude/skills/work/references/feature-contracts.md +0 -36
  536. package/.claude/skills/work/references/legacy.md +0 -29
  537. package/.claude/skills/work/references/verification.md +0 -26
  538. package/CLAUDE.md +0 -8
  539. package/MEMORY.md +0 -60
  540. package/UPGRADING.md +0 -118
  541. package/VERSION +0 -1
  542. package/docs/ARCHITECTURE.md +0 -131
  543. package/docs/BOUNDED-REPAIR.md +0 -80
  544. package/docs/EDITOR-SESSION-EVIDENCE.md +0 -52
  545. package/docs/HANDOFF-AUTOMATION.md +0 -144
  546. package/docs/HUONG-DAN-MIGRATE-VA-SU-DUNG.md +0 -116
  547. package/docs/MIGRATION-MATRIX.md +0 -23
  548. package/docs/NCCGS-1.3.md +0 -13
  549. package/docs/NCCGS-1.4.1.md +0 -149
  550. package/docs/NCCGS-1.4.md +0 -184
  551. package/docs/NCCGS-1.5-IMPLEMENTATION-PLAN.md +0 -378
  552. package/docs/NCCGS-1.5-PILOT.md +0 -130
  553. package/docs/NCCGS-1.5.md +0 -237
  554. package/docs/PHASE-1-OPERATIONS.md +0 -278
  555. package/docs/PHASE-2-OPERATIONS.md +0 -183
  556. package/docs/PROJECT-POLICY.md +0 -94
  557. package/docs/RELEASE-STATUS.md +0 -142
  558. package/docs/TASK-SLICING.md +0 -57
  559. package/docs/UNINSTALL.md +0 -134
  560. package/docs/UPGRADE-QUALIFICATION.md +0 -45
  561. package/docs/WORKFLOWS.md +0 -85
  562. package/package-assets/nccgs-project.gitignore +0 -2
  563. package/package-assets/setup-vivox-voice-chat-evals.gitignore +0 -7
  564. package/scaffold/.nccgs/autonomy.json +0 -4
  565. package/scaffold/.nccgs/bugs/.gitkeep +0 -1
  566. package/scaffold/.nccgs/closures/.gitkeep +0 -1
  567. package/scaffold/.nccgs/context/.gitkeep +0 -1
  568. package/scaffold/.nccgs/decisions/.gitkeep +0 -1
  569. package/scaffold/.nccgs/evidence/.gitkeep +0 -1
  570. package/scaffold/.nccgs/execution.json +0 -10
  571. package/scaffold/.nccgs/features/.gitkeep +0 -1
  572. package/scaffold/.nccgs/gates.json +0 -7
  573. package/scaffold/.nccgs/inputs.json +0 -6
  574. package/scaffold/.nccgs/migrations/.gitkeep +0 -1
  575. package/scaffold/.nccgs/playtests/.gitkeep +0 -1
  576. package/scaffold/.nccgs/project.yaml +0 -108
  577. package/scaffold/.nccgs/requirements.yaml +0 -10
  578. package/scaffold/.nccgs/reviews/.gitkeep +0 -1
  579. package/scaffold/.nccgs/state.md +0 -40
  580. package/scaffold/.nccgs/templates/agent-handoff.md +0 -37
  581. package/scaffold/.nccgs/templates/architecture-decision.md +0 -27
  582. package/scaffold/.nccgs/templates/closure-record.md +0 -62
  583. package/scaffold/.nccgs/templates/context-packet.yaml +0 -17
  584. package/scaffold/.nccgs/templates/design-contract.json +0 -34
  585. package/scaffold/.nccgs/templates/evidence-record.md +0 -23
  586. package/scaffold/.nccgs/templates/feature-contract.md +0 -60
  587. package/scaffold/.nccgs/templates/implementation-report.md +0 -52
  588. package/scaffold/.nccgs/templates/migration-plan.md +0 -40
  589. package/scaffold/.nccgs/templates/repair-packet.json +0 -14
  590. package/scaffold/.nccgs/templates/repair-unity-code.json +0 -18
  591. package/scaffold/.nccgs/templates/repair-unity-editor.json +0 -21
  592. package/scaffold/.nccgs/templates/task-slices.json +0 -28
  593. package/scaffold/.nccgs/templates/waiver.md +0 -11
  594. package/scripts/benchmark-snapshot.mjs +0 -205
  595. package/scripts/benchmark-v15.mjs +0 -173
  596. package/scripts/cli.mjs +0 -205
  597. package/scripts/doctor.mjs +0 -261
  598. package/scripts/install.mjs +0 -529
  599. package/scripts/recover-session.mjs +0 -89
  600. package/scripts/run.mjs +0 -85
  601. package/scripts/supervise.mjs +0 -148
  602. package/scripts/uninstall.mjs +0 -292
  603. package/scripts/validate.mjs +0 -280
  604. package/scripts/work-handoff.mjs +0 -38
  605. package/tests/autonomy.test.mjs +0 -113
  606. package/tests/benchmark-v15.test.mjs +0 -65
  607. package/tests/design-readiness.test.mjs +0 -200
  608. package/tests/editor-session-evidence.test.mjs +0 -45
  609. package/tests/evidence.test.mjs +0 -186
  610. package/tests/fixtures/compiler-shutdown.cs +0 -64
  611. package/tests/framework.test.mjs +0 -740
  612. package/tests/gates.test.mjs +0 -479
  613. package/tests/lifecycle-v15.test.mjs +0 -300
  614. package/tests/orchestration-v15.test.mjs +0 -596
  615. package/tests/phase1.test.mjs +0 -416
  616. package/tests/phase2.test.mjs +0 -250
  617. package/tests/policy-v15.test.mjs +0 -234
  618. package/tests/ponytail-package.test.mjs +0 -75
  619. package/tests/review-budget.test.mjs +0 -177
  620. package/tests/runtime-v15.test.mjs +0 -1192
  621. package/tests/session-budget.test.mjs +0 -34
  622. package/tests/task-slices.test.mjs +0 -285
  623. package/tests/uninstall.test.mjs +0 -477
  624. package/tests/unity-generated.test.mjs +0 -140
  625. /package/{.claude/nccgs/packages → template}/ponytail/LICENSE +0 -0
  626. /package/{.claude/nccgs/packages → template}/ponytail/NOTICE.md +0 -0
  627. /package/{.claude/nccgs/packages → template}/ponytail/complexity-review.md +0 -0
  628. /package/{.claude/skills → unity-skills}/build-live-game/references/remote-config.md +0 -0
  629. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/README.md +0 -0
  630. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/codeless-catalog.md +0 -0
  631. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-adapty.md +0 -0
  632. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-essentialkit.md +0 -0
  633. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-revenuecat.md +0 -0
  634. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-unipay.md +0 -0
  635. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/migration-v4-to-v5.md +0 -0
  636. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-add-iap-to-new-project.md +0 -0
  637. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-convert-native-storekit.md +0 -0
  638. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/platform-notes.md +0 -0
  639. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/pre-check.md +0 -0
  640. /package/{.claude/skills → unity-skills}/localization/resources/LocalizedFontAsset.cs +0 -0
  641. /package/{.claude/skills → unity-skills}/optimize-audio/resources/platform-settings.md +0 -0
  642. /package/{.claude/skills → unity-skills}/optimize-web/resources/WebOptimizer.cs +0 -0
  643. /package/{.claude/skills → unity-skills}/optimize-web/resources/toktx-examples.sh +0 -0
  644. /package/{.claude/skills → unity-skills}/physics-3d-collision/resources/CollisionDebugger.cs +0 -0
  645. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/dgs-entrypoint.md +0 -0
  646. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/entrypoints.md +0 -0
  647. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/examples.md +0 -0
  648. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/implementation-fit.md +0 -0
  649. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/underlying-services.md +0 -0
  650. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/workflows-prerequisites.md +0 -0
  651. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/.env.example +0 -0
  652. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/README.md +0 -0
  653. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/promptfooconfig.yaml +0 -0
  654. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/tests/init-and-login.yaml +0 -0
  655. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/tests/text-chat.yaml +0 -0
  656. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/tests/voice-channels.yaml +0 -0
  657. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/events-and-participants.md +0 -0
  658. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/init-and-login.md +0 -0
  659. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/text-chat.md +0 -0
  660. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/troubleshooting.md +0 -0
  661. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/voice-channels.md +0 -0
  662. /package/{.claude/skills → unity-skills}/shader-graph-create-custom-node/resources/all_hints.hlsl +0 -0
  663. /package/{.claude/skills → unity-skills}/sprite-editor/references/api_reference.md +0 -0
  664. /package/{.claude/skills → unity-skills}/sprite-editor/references/background.md +0 -0
  665. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/AutomaticSliceTexture.cs +0 -0
  666. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GenerateNewSpriteRects.cs +0 -0
  667. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GetTextureSourceImageSize.cs +0 -0
  668. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GetTextureToSlice.cs +0 -0
  669. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GridSliceTexture.cs +0 -0
  670. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/IsometricSliceTexture.cs +0 -0
  671. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/README.md +0 -0
  672. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/SetPivotExample.cs +0 -0
  673. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/SpriteToPng.cs +0 -0
  674. /package/{.claude/skills → unity-skills}/ui-imgui/references/gui-elements.md +0 -0
  675. /package/{.claude/skills → unity-skills}/ui-imgui/references/templates.md +0 -0
  676. /package/{.claude/skills → unity-skills}/ui-ugui/references/scrollview-setup.md +0 -0
  677. /package/{.claude/skills → unity-skills}/ui-uitk/references/common-issues.md +0 -0
  678. /package/{.claude/skills → unity-skills}/ui-uitk/references/painter2d.md +0 -0
  679. /package/{.claude/skills → unity-skills}/ui-uitk/references/pointermanipulator-guide.md +0 -0
  680. /package/{.claude/skills → unity-skills}/ui-uitk/references/svg-icons.md +0 -0
  681. /package/{.claude/skills → unity-skills}/ui-uitk/references/ui-runtime-binding.md +0 -0
  682. /package/{.claude/skills → unity-skills}/ui-uitk/references/uss-guide.md +0 -0
  683. /package/{.claude/skills → unity-skills}/urp-postprocessing/references/effect-reference.md +0 -0
@@ -1,177 +0,0 @@
1
- import assert from "node:assert/strict";
2
- import fs from "node:fs";
3
- import os from "node:os";
4
- import path from "node:path";
5
- import crypto from "node:crypto";
6
- import test from "node:test";
7
- import { artifact, atomicJson } from "../.claude/nccgs/tools/policy.mjs";
8
- import { acquireLock } from "../.claude/nccgs/tools/process-lock.mjs";
9
- import { sessionBudgetLock } from "../.claude/nccgs/tools/session-budget.mjs";
10
- import { allocateReviewBudget, findReviewBudget, plannedDispatchBudget, registerReviewBudget, reviewBudgetStatus } from "../.claude/nccgs/tools/review-budget.mjs";
11
-
12
- // Synthetic accounting fixtures, never provider/game qualification evidence.
13
- function fixture() {
14
- const temp = fs.realpathSync(os.tmpdir()), project = fs.mkdtempSync(path.join(temp, "nccgs-review-reserve-"));
15
- const write = (file, value) => atomicJson(path.join(project, file), value);
16
- write('.nccgs/tasks/root.json', { id: 'root', schemaVersion: 2, mode: 'plan', parentId: null });
17
- for (const id of ['delivery', 'sibling']) write(`.nccgs/tasks/${id}.json`, { id, schemaVersion: 2, mode: 'implement', parentId: 'root' });
18
- const request = '.nccgs/evidence/reserve.json';
19
- write(request, { schemaVersion: 1, authority: 'Synthetic external test allocation', totalUsd: 12, finalReviewUsd: 4, totalDurationMs: 4500000, finalReviewDurationMs: 900000 });
20
- const plan = () => registerReviewBudget(project, 'root', request);
21
- const save = run => write(`.nccgs/runs/${run.id}/run.json`, run);
22
- const run = (taskId = 'root', requested = 12) => {
23
- const state = { schemaVersion: 1, id: crypto.randomUUID(), project, taskId, sessionId: crypto.randomUUID(), budgetUsd: requested,
24
- deadline: Date.now() + 4500000, status: 'ready', costCoverage: 'complete', cumulativeCostUsd: 0, invocations: [] }; save(state); return state;
25
- };
26
- const locked = (state, action) => { const lock = acquireLock(path.join(project, sessionBudgetLock), { runId: state.id, sessionId: state.sessionId }); try { return action(); } finally { lock.release(); } };
27
- const allocate = (state, phase = 'work') => locked(state, () => { const result = allocateReviewBudget(project, state, phase); save(state); return result; });
28
- const finish = (state, cost) => {
29
- const log = `native-${state.invocations.length}.jsonl`, file = `.nccgs/runs/${state.id}/${log}`;
30
- fs.writeFileSync(path.join(project, file), JSON.stringify({ type: 'result', session_id: state.sessionId, total_cost_usd: cost }) + '\n');
31
- state.invocations.push({ status: 'finished', log, evidence: artifact(project, file) });
32
- Object.assign(state, { status: 'settled', costCoverage: 'complete', cumulativeCostUsd: cost }); save(state);
33
- };
34
- return { project, write, request, plan, run, save, locked, allocate, finish, dispose() {
35
- assert.equal(path.dirname(project), temp); assert.ok(path.basename(project).startsWith('nccgs-review-reserve-'));
36
- assert.equal(fs.realpathSync(project), project); fs.rmSync(project, { recursive: true, force: true });
37
- } };
38
- }
39
-
40
- test('adopting a legacy task cannot ignore a started worker session when maxCostUsd was omitted', () => {
41
- const f = fixture(); try {
42
- f.write('.nccgs/orchestration.json', { tasks: { root: { limits: { maxCostUsd: null } } }, dispatches: {
43
- old: { taskId: 'delivery', sessionId: 'uncovered-old-session', startedAt: new Date().toISOString(), status: 'completed', telemetry: { costUsd: null } }
44
- } });
45
- assert.throws(() => f.plan(), /worker session.*supervised cost coverage/);
46
- assert.equal(fs.existsSync(path.join(f.project, '.nccgs/budgets/root.initialized.json')), false);
47
- } finally { f.dispose(); }
48
- });
49
-
50
- test('a reserve refuses unexplained historical workers before allocating another session', () => {
51
- const f = fixture(); try {
52
- f.plan(); const old = f.run(); f.allocate(old); f.finish(old, 2);
53
- f.write('.nccgs/orchestration.json', { tasks: { root: { limits: { maxCostUsd: null } } }, dispatches: {
54
- known: { taskId: 'root', sessionId: old.sessionId, startedAt: new Date().toISOString(), status: 'completed' },
55
- unknown: { taskId: 'delivery', sessionId: 'missing-old-session', startedAt: new Date().toISOString(), status: 'completed' }
56
- } });
57
- const next = f.run('delivery');
58
- assert.throws(() => f.allocate(next), /worker session.*supervised cost coverage/);
59
- assert.equal(next.budgetAllocation, undefined);
60
- } finally { f.dispose(); }
61
- });
62
- test('budget terms are pinned externally and children cannot create new money', () => {
63
- const f = fixture(); try {
64
- const first = f.plan(); assert.deepEqual(f.plan(), first);
65
- assert.equal(findReviewBudget(f.project, 'delivery').taskId, 'root');
66
- assert.throws(() => registerReviewBudget(f.project, 'delivery', f.request), /already pinned/);
67
- f.write('.nccgs/evidence/replacement.json', { schemaVersion: 1, authority: 'changed', totalUsd: 20, finalReviewUsd: 4 });
68
- assert.throws(() => registerReviewBudget(f.project, 'root', '.nccgs/evidence/replacement.json'), /already pinned/);
69
- f.write('.nccgs/budgets/root.json', { ...first, limits: { ...first.limits, totalUsd: 20 } });
70
- assert.throws(() => findReviewBudget(f.project, 'root'), /pinned budget terms/);
71
- } finally { f.dispose(); }
72
- });
73
- test('successive design/delivery sessions share eight dollars while four and fifteen minutes stay protected', () => {
74
- const f = fixture(); try {
75
- const plan = f.plan(), design = f.run(); f.allocate(design);
76
- assert.equal(design.budgetUsd, 8); assert.equal(design.deadline, plan.deadline - 900000);
77
- f.finish(design, 4.5);
78
- const delivery = f.run('delivery'); f.allocate(delivery); assert.equal(delivery.budgetUsd, 3.5); f.finish(delivery, 3.5);
79
- const review = f.run('delivery'); f.allocate(review, 'final-review'); assert.equal(review.budgetUsd, 4); assert.equal(review.deadline, plan.deadline); f.finish(review, 2.25);
80
- const status = reviewBudgetStatus(f.project, 'root'); assert.equal(status.settledCostUsd, 10.25); assert.equal(status.protectedReviewUsd, 1.75);
81
- const repair = f.run('sibling'); assert.throws(() => f.allocate(repair), /exhausted/);
82
- } finally { f.dispose(); }
83
- });
84
- test('review may use unused work funds, but spent review money cannot be refunded to a later repair', () => {
85
- const f = fixture(); try {
86
- f.plan(); const work = f.run('delivery'); f.allocate(work); f.finish(work, 6);
87
- const review = f.run('delivery'); f.allocate(review, 'final-review'); assert.equal(review.budgetUsd, 6); f.finish(review, 5);
88
- const repair = f.run('delivery'); f.allocate(repair); assert.equal(repair.budgetUsd, 1);
89
- } finally { f.dispose(); }
90
- });
91
- test('missing native usage or an allocated run blocks further spending, even when workers supplied no cost', () => {
92
- const f = fixture(); try {
93
- f.plan(); const old = f.run(); f.allocate(old); f.finish(old, 2);
94
- const next = f.run('delivery'); old.costCoverage = 'unknown-current-invocation'; f.save(old);
95
- assert.throws(() => f.allocate(next), /unknown/); old.costCoverage = 'complete'; f.save(old);
96
- fs.renameSync(path.join(f.project, `.nccgs/runs/${old.id}/run.json`), path.join(f.project, `.nccgs/runs/${old.id}/missing.json`));
97
- assert.throws(() => f.allocate(next), /ENOENT|missing/);
98
- } finally { f.dispose(); }
99
- });
100
- test('recovery retains the original allocation and cumulative resumed totals are never added twice', () => {
101
- const f = fixture(); try {
102
- f.plan(); const first = f.run(); f.allocate(first); f.finish(first, 1); f.finish(first, 2);
103
- f.allocate(first); assert.equal(first.budgetUsd, 8);
104
- first.budgetUsd = 12; assert.throws(() => f.allocate(first), /recovery cannot alter/); first.budgetUsd = 8;
105
- const next = f.run('delivery'); f.allocate(next); assert.equal(next.budgetUsd, 6);
106
- assert.throws(() => f.allocate(next, 'final-review'), /recovery cannot alter/);
107
- } finally { f.dispose(); }
108
- });
109
- test('live work/review dispatch admissions enforce phase and keep final delivery review independent', () => {
110
- const f = fixture(), names = ['NCCGS_SUPERVISED_RUN', 'NCCGS_SUPERVISED_SESSION'], saved = names.map(n => process.env[n]);
111
- try {
112
- f.plan(); const work = f.run('delivery'); f.allocate(work);
113
- Object.assign(work, { status: 'running', invocations: [{ status: 'running', pid: process.pid }] }); f.save(work);
114
- process.env.NCCGS_SUPERVISED_RUN = work.id; process.env.NCCGS_SUPERVISED_SESSION = work.sessionId;
115
- f.locked(work, () => {
116
- assert.equal(plannedDispatchBudget(f.project, 'delivery', { kind: 'implementation' }).phase, 'work');
117
- assert.throws(() => plannedDispatchBudget(f.project, 'delivery', { kind: 'review' }), /protected final-review/);
118
- });
119
- work.invocations = []; f.finish(work, 2);
120
- const review = f.run('delivery'); f.allocate(review, 'final-review');
121
- Object.assign(review, { status: 'running', invocations: [{ status: 'running', pid: process.pid }] }); f.save(review);
122
- process.env.NCCGS_SUPERVISED_RUN = review.id; process.env.NCCGS_SUPERVISED_SESSION = review.sessionId;
123
- f.locked(review, () => {
124
- assert.equal(plannedDispatchBudget(f.project, 'delivery', { kind: 'review' }).phase, 'final-review');
125
- for (const kind of ['analysis', 'implementation']) assert.throws(() => plannedDispatchBudget(f.project, 'delivery', { kind }), /cannot dispatch/);
126
- });
127
- } finally { names.forEach((n,i) => { if(saved[i]===undefined) delete process.env[n]; else process.env[n]=saved[i]; }); f.dispose(); }
128
- });
129
- test('audit protects independent final review and never spends its reserve on another analysis', () => {
130
- const f = fixture(), names = ['NCCGS_SUPERVISED_RUN', 'NCCGS_SUPERVISED_SESSION'], saved = names.map(n => process.env[n]);
131
- try {
132
- f.write('.nccgs/tasks/root.json', { id: 'root', schemaVersion: 2, mode: 'audit', parentId: null });
133
- const plan = f.plan(), work = f.run(); f.allocate(work); assert.equal(work.budgetUsd, 8);
134
- Object.assign(work, { status: 'running', invocations: [{ status: 'running', pid: process.pid }] }); f.save(work);
135
- process.env.NCCGS_SUPERVISED_RUN = work.id; process.env.NCCGS_SUPERVISED_SESSION = work.sessionId;
136
- f.locked(work, () => {
137
- assert.equal(plannedDispatchBudget(f.project, 'root', { kind: 'analysis' }).phase, 'work');
138
- assert.throws(() => plannedDispatchBudget(f.project, 'root', { kind: 'review' }), /protected final-review/);
139
- });
140
- work.invocations = []; f.finish(work, 3);
141
- const review = f.run(); f.allocate(review, 'final-review'); assert.equal(review.budgetUsd, 9); assert.equal(review.deadline, plan.deadline);
142
- Object.assign(review, { status: 'running', invocations: [{ status: 'running', pid: process.pid }] }); f.save(review);
143
- process.env.NCCGS_SUPERVISED_RUN = review.id; process.env.NCCGS_SUPERVISED_SESSION = review.sessionId;
144
- f.locked(review, () => {
145
- assert.equal(plannedDispatchBudget(f.project, 'root', { kind: 'review' }).phase, 'final-review');
146
- for (const kind of ['analysis', 'implementation']) assert.throws(() => plannedDispatchBudget(f.project, 'root', { kind }), /cannot dispatch/);
147
- });
148
- review.invocations = []; f.finish(review, 2);
149
- delete process.env.NCCGS_SUPERVISED_RUN; delete process.env.NCCGS_SUPERVISED_SESSION;
150
- assert.equal(reviewBudgetStatus(f.project, 'root').settledCostUsd, 5);
151
- } finally { names.forEach((n,i) => { if(saved[i]===undefined) delete process.env[n]; else process.env[n]=saved[i]; }); f.dispose(); }
152
- });
153
-
154
- test('plan design review remains unable to consume the final delivery reserve', () => {
155
- const f = fixture(); try { f.plan(); const design = f.run(); assert.throws(() => f.allocate(design, 'final-review'), /design review/); }
156
- finally { f.dispose(); }
157
- });
158
-
159
- test('the work time window stops before the protected review window without extending the original deadline', () => {
160
- const f = fixture(), realNow = Date.now; try {
161
- const plan = f.plan(); Date.now = () => plan.workDeadline + 1;
162
- const work = f.run('delivery'); assert.throws(() => f.allocate(work), /exhausted/);
163
- Object.assign(work, { status: 'blocked', costCoverage: 'complete', cumulativeCostUsd: 0 }); f.save(work);
164
- const review = f.run('delivery'); f.allocate(review, 'final-review'); assert.equal(review.deadline, plan.deadline);
165
- Date.now = () => plan.deadline + 1; assert.throws(() => f.allocate(review, 'final-review'), /exhausted/);
166
- } finally { Date.now = realNow; f.dispose(); }
167
- });
168
- test('spent money cannot be retroactively reserved and initialized budget history cannot be erased', () => {
169
- const f = fixture(); try {
170
- const old = f.run(); f.finish(old, 11.589259);
171
- assert.throws(() => f.plan(), /retroactively/);
172
- } finally { f.dispose(); }
173
- const g = fixture(); try {
174
- g.plan(); const file = path.join(g.project, '.nccgs/budgets/root.json'); fs.renameSync(file, file + '.archived');
175
- assert.throws(() => g.plan(), /history is missing/);
176
- } finally { g.dispose(); }
177
- });