nccgs 1.1.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/.claude/agents/nccgs-adversarial-reviewer.md +7 -1
  2. package/.claude/agents/nccgs-engine-programmer.md +2 -1
  3. package/.claude/agents/nccgs-gameplay-programmer.md +2 -1
  4. package/.claude/agents/nccgs-qa-engineer.md +2 -1
  5. package/.claude/agents/nccgs-ui-programmer.md +2 -1
  6. package/.claude/agents/nccgs-unity-build-specialist.md +2 -1
  7. package/.claude/agents/nccgs-unity-implementer.md +2 -1
  8. package/.claude/agents/nccgs-unity-systems-specialist.md +2 -1
  9. package/.claude/agents/nccgs-unity-ui-specialist.md +2 -1
  10. package/.claude/agents/nccgs-verification-engineer.md +2 -1
  11. package/.claude/nccgs/VERSION +1 -1
  12. package/.claude/{agents → nccgs/agent-library}/nccgs-accessibility-specialist.md +0 -1
  13. package/.claude/nccgs/agent-library/nccgs-adversarial-reviewer.md +30 -0
  14. package/.claude/{agents → nccgs/agent-library}/nccgs-ai-programmer.md +0 -1
  15. package/.claude/{agents → nccgs/agent-library}/nccgs-analytics-engineer.md +0 -1
  16. package/.claude/{agents → nccgs/agent-library}/nccgs-art-direction-lead.md +0 -1
  17. package/.claude/{agents → nccgs/agent-library}/nccgs-audio-direction-lead.md +0 -1
  18. package/.claude/{agents → nccgs/agent-library}/nccgs-creative-director.md +0 -1
  19. package/.claude/{agents → nccgs/agent-library}/nccgs-documentation-manager.md +0 -1
  20. package/.claude/{agents → nccgs/agent-library}/nccgs-economy-designer.md +0 -1
  21. package/.claude/nccgs/agent-library/nccgs-engine-programmer.md +25 -0
  22. package/.claude/{agents → nccgs/agent-library}/nccgs-game-design-lead.md +0 -1
  23. package/.claude/{agents → nccgs/agent-library}/nccgs-game-designer.md +0 -1
  24. package/.claude/nccgs/agent-library/nccgs-gameplay-programmer.md +25 -0
  25. package/.claude/{agents → nccgs/agent-library}/nccgs-level-designer.md +0 -1
  26. package/.claude/{agents → nccgs/agent-library}/nccgs-live-ops-designer.md +0 -1
  27. package/.claude/{agents → nccgs/agent-library}/nccgs-localization-lead.md +0 -1
  28. package/.claude/{agents → nccgs/agent-library}/nccgs-narrative-lead.md +0 -1
  29. package/.claude/{agents → nccgs/agent-library}/nccgs-network-programmer.md +0 -1
  30. package/.claude/{agents → nccgs/agent-library}/nccgs-performance-analyst.md +0 -1
  31. package/.claude/{agents → nccgs/agent-library}/nccgs-producer.md +0 -1
  32. package/.claude/{agents → nccgs/agent-library}/nccgs-production-coordinator.md +0 -1
  33. package/.claude/{agents → nccgs/agent-library}/nccgs-programming-lead.md +0 -1
  34. package/.claude/{agents → nccgs/agent-library}/nccgs-prototyper.md +0 -1
  35. package/.claude/nccgs/agent-library/nccgs-qa-engineer.md +25 -0
  36. package/.claude/{agents → nccgs/agent-library}/nccgs-qa-lead.md +0 -1
  37. package/.claude/{agents → nccgs/agent-library}/nccgs-release-engineer.md +0 -1
  38. package/.claude/{agents → nccgs/agent-library}/nccgs-release-lead.md +0 -1
  39. package/.claude/{agents → nccgs/agent-library}/nccgs-security-engineer.md +0 -1
  40. package/.claude/{agents → nccgs/agent-library}/nccgs-sound-designer.md +0 -1
  41. package/.claude/{agents → nccgs/agent-library}/nccgs-systems-designer.md +0 -1
  42. package/.claude/{agents → nccgs/agent-library}/nccgs-technical-architect.md +0 -1
  43. package/.claude/{agents → nccgs/agent-library}/nccgs-technical-artist.md +0 -1
  44. package/.claude/{agents → nccgs/agent-library}/nccgs-technical-director.md +0 -1
  45. package/.claude/{agents → nccgs/agent-library}/nccgs-tools-programmer.md +0 -1
  46. package/.claude/nccgs/agent-library/nccgs-ui-programmer.md +25 -0
  47. package/.claude/nccgs/agent-library/nccgs-unity-build-specialist.md +25 -0
  48. package/.claude/{agents → nccgs/agent-library}/nccgs-unity-content-specialist.md +0 -1
  49. package/.claude/nccgs/agent-library/nccgs-unity-implementer.md +25 -0
  50. package/.claude/{agents → nccgs/agent-library}/nccgs-unity-rendering-specialist.md +0 -1
  51. package/.claude/nccgs/agent-library/nccgs-unity-systems-specialist.md +25 -0
  52. package/.claude/nccgs/agent-library/nccgs-unity-ui-specialist.md +25 -0
  53. package/.claude/{agents → nccgs/agent-library}/nccgs-ux-designer.md +0 -1
  54. package/.claude/nccgs/agent-library/nccgs-verification-engineer.md +25 -0
  55. package/.claude/{agents → nccgs/agent-library}/nccgs-world-builder.md +0 -1
  56. package/.claude/{agents → nccgs/agent-library}/nccgs-writer.md +0 -1
  57. package/.claude/nccgs/constitution.md +13 -0
  58. package/.claude/nccgs/hooks/agent-audit.mjs +6 -0
  59. package/.claude/nccgs/hooks/closure-guard.mjs +34 -0
  60. package/.claude/nccgs/hooks/runtime-observation.mjs +11 -0
  61. package/.claude/nccgs/hooks/session-start.mjs +8 -1
  62. package/.claude/nccgs/pipeline.json +176 -0
  63. package/.claude/nccgs/protocols/agent-contract.md +5 -0
  64. package/.claude/nccgs/protocols/astra-claude.md +77 -0
  65. package/.claude/nccgs/protocols/evidence.md +6 -0
  66. package/.claude/nccgs/protocols/model-routing.md +27 -5
  67. package/.claude/nccgs/protocols/orchestration.md +5 -0
  68. package/.claude/nccgs/protocols/task-gates.md +66 -0
  69. package/.claude/nccgs/routing.generated.md +11 -0
  70. package/.claude/nccgs/settings.fragment.json +73 -9
  71. package/.claude/nccgs/studio.json +187 -96
  72. package/.claude/nccgs/tools/compile-policy.mjs +83 -0
  73. package/.claude/nccgs/tools/configure-models.mjs +75 -35
  74. package/.claude/nccgs/tools/gates.mjs +167 -0
  75. package/.claude/nccgs/tools/policy.mjs +62 -0
  76. package/.claude/nccgs/tools/runtime.mjs +40 -0
  77. package/.claude/nccgs/tools/task.mjs +77 -0
  78. package/.claude/nccgs/workflow-catalog.json +90 -13
  79. package/.claude/skills/accessibility-review/SKILL.md +6 -5
  80. package/.claude/skills/accessibility-review/references/astra.md +17 -0
  81. package/.claude/skills/accessibility-review/references/legacy.md +7 -0
  82. package/.claude/skills/architecture-decision/SKILL.md +6 -5
  83. package/.claude/skills/architecture-decision/references/astra.md +12 -0
  84. package/.claude/skills/architecture-decision/references/legacy.md +7 -0
  85. package/.claude/skills/asset-audit/SKILL.md +6 -5
  86. package/.claude/skills/asset-audit/references/astra.md +17 -0
  87. package/.claude/skills/asset-audit/references/legacy.md +7 -0
  88. package/.claude/skills/audit/SKILL.md +6 -7
  89. package/.claude/skills/audit/references/astra.md +17 -0
  90. package/.claude/skills/audit/references/legacy.md +9 -0
  91. package/.claude/skills/balance-review/SKILL.md +6 -5
  92. package/.claude/skills/balance-review/references/astra.md +17 -0
  93. package/.claude/skills/balance-review/references/legacy.md +7 -0
  94. package/.claude/skills/bug-triage/SKILL.md +6 -5
  95. package/.claude/skills/bug-triage/references/astra.md +20 -0
  96. package/.claude/skills/bug-triage/references/legacy.md +7 -0
  97. package/.claude/skills/closure/SKILL.md +5 -4
  98. package/.claude/skills/closure/references/astra.md +15 -0
  99. package/.claude/skills/closure/references/legacy.md +7 -0
  100. package/.claude/skills/compatibility-review/SKILL.md +6 -5
  101. package/.claude/skills/compatibility-review/references/astra.md +17 -0
  102. package/.claude/skills/compatibility-review/references/legacy.md +7 -0
  103. package/.claude/skills/context-pack/SKILL.md +5 -4
  104. package/.claude/skills/context-pack/references/astra.md +12 -0
  105. package/.claude/skills/context-pack/references/legacy.md +7 -0
  106. package/.claude/skills/dependency-review/SKILL.md +6 -5
  107. package/.claude/skills/dependency-review/references/astra.md +17 -0
  108. package/.claude/skills/dependency-review/references/legacy.md +7 -0
  109. package/.claude/skills/design/SKILL.md +6 -11
  110. package/.claude/skills/design/references/astra.md +12 -0
  111. package/.claude/skills/design/references/legacy.md +13 -0
  112. package/.claude/skills/design-review/SKILL.md +6 -5
  113. package/.claude/skills/design-review/references/astra.md +17 -0
  114. package/.claude/skills/design-review/references/legacy.md +7 -0
  115. package/.claude/skills/evidence-review/SKILL.md +6 -5
  116. package/.claude/skills/evidence-review/references/astra.md +17 -0
  117. package/.claude/skills/evidence-review/references/legacy.md +7 -0
  118. package/.claude/skills/hotfix/SKILL.md +6 -5
  119. package/.claude/skills/hotfix/references/astra.md +23 -0
  120. package/.claude/skills/hotfix/references/legacy.md +7 -0
  121. package/.claude/skills/incident-recovery/SKILL.md +6 -5
  122. package/.claude/skills/incident-recovery/references/astra.md +20 -0
  123. package/.claude/skills/incident-recovery/references/legacy.md +7 -0
  124. package/.claude/skills/localize-game/SKILL.md +6 -5
  125. package/.claude/skills/localize-game/references/astra.md +20 -0
  126. package/.claude/skills/localize-game/references/legacy.md +7 -0
  127. package/.claude/skills/migrate-project/SKILL.md +6 -16
  128. package/.claude/skills/migrate-project/references/astra.md +23 -0
  129. package/.claude/skills/migrate-project/references/legacy.md +19 -0
  130. package/.claude/skills/migrate-project/references/procedure.md +8 -0
  131. package/.claude/skills/milestone-review/SKILL.md +6 -5
  132. package/.claude/skills/milestone-review/references/astra.md +12 -0
  133. package/.claude/skills/milestone-review/references/legacy.md +7 -0
  134. package/.claude/skills/nccgs-code-review/SKILL.md +6 -4
  135. package/.claude/skills/nccgs-code-review/references/astra.md +15 -0
  136. package/.claude/skills/nccgs-code-review/references/legacy.md +7 -0
  137. package/.claude/skills/performance-audit/SKILL.md +6 -5
  138. package/.claude/skills/performance-audit/references/astra.md +17 -0
  139. package/.claude/skills/performance-audit/references/legacy.md +7 -0
  140. package/.claude/skills/plan-feature/SKILL.md +6 -5
  141. package/.claude/skills/plan-feature/references/astra.md +12 -0
  142. package/.claude/skills/plan-feature/references/legacy.md +7 -0
  143. package/.claude/skills/playtest/SKILL.md +5 -4
  144. package/.claude/skills/playtest/references/astra.md +20 -0
  145. package/.claude/skills/playtest/references/legacy.md +7 -0
  146. package/.claude/skills/project-stage/SKILL.md +5 -4
  147. package/.claude/skills/project-stage/references/astra.md +12 -0
  148. package/.claude/skills/project-stage/references/legacy.md +7 -0
  149. package/.claude/skills/prototype-feature/SKILL.md +6 -5
  150. package/.claude/skills/prototype-feature/references/astra.md +20 -0
  151. package/.claude/skills/prototype-feature/references/legacy.md +7 -0
  152. package/.claude/skills/qa-plan/SKILL.md +6 -5
  153. package/.claude/skills/qa-plan/references/astra.md +12 -0
  154. package/.claude/skills/qa-plan/references/legacy.md +7 -0
  155. package/.claude/skills/release/SKILL.md +6 -9
  156. package/.claude/skills/release/references/astra.md +23 -0
  157. package/.claude/skills/release/references/legacy.md +11 -0
  158. package/.claude/skills/release-readiness/SKILL.md +6 -5
  159. package/.claude/skills/release-readiness/references/astra.md +17 -0
  160. package/.claude/skills/release-readiness/references/legacy.md +7 -0
  161. package/.claude/skills/retrospective/SKILL.md +6 -5
  162. package/.claude/skills/retrospective/references/astra.md +12 -0
  163. package/.claude/skills/retrospective/references/legacy.md +7 -0
  164. package/.claude/skills/review/SKILL.md +6 -7
  165. package/.claude/skills/review/references/astra.md +15 -0
  166. package/.claude/skills/review/references/legacy.md +9 -0
  167. package/.claude/skills/security-audit/SKILL.md +6 -5
  168. package/.claude/skills/security-audit/references/astra.md +17 -0
  169. package/.claude/skills/security-audit/references/legacy.md +7 -0
  170. package/.claude/skills/sprint-plan/SKILL.md +6 -5
  171. package/.claude/skills/sprint-plan/references/astra.md +12 -0
  172. package/.claude/skills/sprint-plan/references/legacy.md +7 -0
  173. package/.claude/skills/status/SKILL.md +5 -6
  174. package/.claude/skills/status/references/astra.md +13 -0
  175. package/.claude/skills/status/references/legacy.md +9 -0
  176. package/.claude/skills/story-readiness/SKILL.md +5 -4
  177. package/.claude/skills/story-readiness/references/astra.md +17 -0
  178. package/.claude/skills/story-readiness/references/legacy.md +7 -0
  179. package/.claude/skills/test/SKILL.md +6 -7
  180. package/.claude/skills/test/references/astra.md +20 -0
  181. package/.claude/skills/test/references/legacy.md +9 -0
  182. package/.claude/skills/ui-review/SKILL.md +6 -5
  183. package/.claude/skills/ui-review/references/astra.md +17 -0
  184. package/.claude/skills/ui-review/references/legacy.md +7 -0
  185. package/.claude/skills/work/SKILL.md +6 -27
  186. package/.claude/skills/work/references/astra.md +20 -0
  187. package/.claude/skills/work/references/closure.md +10 -0
  188. package/.claude/skills/work/references/feature-contracts.md +4 -0
  189. package/.claude/skills/work/references/legacy.md +29 -0
  190. package/README.md +59 -25
  191. package/UPGRADING.md +37 -0
  192. package/VERSION +1 -1
  193. package/docs/ARCHITECTURE.md +30 -13
  194. package/docs/HUONG-DAN-MIGRATE-VA-SU-DUNG.md +34 -329
  195. package/docs/MIGRATION-MATRIX.md +1 -1
  196. package/docs/NCCGS-1.3.md +125 -0
  197. package/docs/PROJECT-POLICY.md +18 -3
  198. package/docs/WORKFLOWS.md +19 -13
  199. package/package.json +5 -3
  200. package/scaffold/.nccgs/gates.json +7 -0
  201. package/scaffold/.nccgs/project.yaml +6 -3
  202. package/scaffold/.nccgs/state.md +1 -1
  203. package/scaffold/.nccgs/templates/agent-handoff.md +10 -0
  204. package/scaffold/.nccgs/templates/closure-record.md +11 -0
  205. package/scaffold/.nccgs/templates/feature-contract.md +9 -0
  206. package/scaffold/.nccgs/templates/implementation-report.md +49 -0
  207. package/scripts/cli.mjs +9 -4
  208. package/scripts/doctor.mjs +27 -1
  209. package/scripts/install.mjs +4 -3
  210. package/scripts/validate.mjs +20 -7
  211. package/tests/framework.test.mjs +143 -2
  212. package/tests/gates.test.mjs +170 -0
@@ -1,341 +1,46 @@
1
- # Hướng dẫn migrate và sử dụng NCCGS 1.1.1
1
+ # Hướng dẫn migrate và sử dụng NCCGS 1.3
2
2
 
3
- NCCGS 1.1.1 là studio operating system dành cho Unity project trong Claude Code. Nó
4
- không thay thế cách chat trực tiếp; nó tự phân loại rủi ro, chọn workflow, agent và
5
- model phù hợp, sử dụng official Unity Skills, thu thập bằng chứng và áp dụng closure.
3
+ Đọc [hướng dẫn vận hành 1.3](NCCGS-1.3.md) trước khi bắt đầu task. Luồng mặc định:
4
+ Astra lập kế hoạch/tài liệu → Opus 5.5/xhigh triển khai → Fable/high review →
5
+ report cho Astra → Astra kiểm tra → bạn nghiệm thu.
6
6
 
7
- ## 1. Thành phần
7
+ ## Cài hoặc nâng cấp
8
8
 
9
- - 45 studio agents chuyên biệt.
10
- - 36 NCCGS workflows; 8 entrypoint chính.
11
- - 3 model profiles: `quality`, `balanced`, `inherit`.
12
- - 11 path-scoped rules.
13
- - 8 Node hooks cho recovery, audit và safety.
14
- - 22 official Unity Skills giữ nguyên và kiểm tra hash.
9
+ Trong từng Unity project, chạy `npx nccgs@latest update --model-profile astra-claude
10
+ --dry-run`. Đọc kết quả, bỏ `--dry-run` để áp dụng, rồi chạy `npx nccgs@latest doctor`.
11
+ Dùng CLI `scripts/cli.mjs` với `--project <UnityProject>` nếu cài từ mã nguồn.
12
+ Dùng `install` thay `update` nếu chưa cài. Update giữ profile hiện tại nếu không
13
+ truyền `--model-profile`. Cần Node.js 18+ và Claude Code tương thích các model.
15
14
 
16
- ```text
17
- Bạn
18
- -> Claude Code chính
19
- -> NCCGS router (domain + risk + model)
20
- -> studio agents cần thiết
21
- -> official Unity Skills + Unity CLI/Pipeline
22
- -> evidence + review + closure
23
- ```
15
+ ## Astra chuẩn bị migration
24
16
 
25
- Claude Code chính là orchestrator duy nhất. Agent không tự tạo thêm cây subagent.
26
- Mỗi path chỉ có một writing owner trong một batch.
17
+ Astra kiểm tra tài liệu chuẩn, `.nccgs/project.yaml`, yêu cầu kiểm chứng, artifact
18
+ và manual gate đang có. Giữ nguyên các bảo đảm hiện hành; chỉ giảm gate khi bạn đã
19
+ quyết định rõ ràng.
27
20
 
28
- ## 2. Cài mới hoặc cập nhật
21
+ Với policy cũ chứa `profile_contracts`, chuyển sang tham chiếu
22
+ `pipeline_policy: .claude/nccgs/pipeline.json`. Map đầy đủ nghĩa vụ của dự án vào
23
+ `.nccgs/gates.json` và điền hash project policy đã kiểm tra. Sau đó cung cấp plan
24
+ migration cho Claude. Không dùng fallback thay Opus/Fable trong profile này.
29
25
 
30
- Trong PowerShell:
26
+ Claude chạy `/migrate-project` theo plan của Astra, xử lý override đã được phân tích,
27
+ kiểm chứng, rồi qua Fable review. Tùy chỉnh local được bảo toàn để review; không dùng
28
+ `--force` chỉ để làm biến mất cảnh báo. Mở phiên Claude mới sau khi đổi cấu hình.
31
29
 
32
- ```powershell
33
- cd "D:\path\to\UnityProject"
34
- npx nccgs@latest install --dry-run
35
- npx nccgs@latest install
36
- ```
30
+ ## Vận hành hằng ngày
37
31
 
38
- Nếu project đã có NCCGS:
32
+ Có 10 agent lõi hoạt động mặc định, 35 vai trò tùy chọn trong thư viện. Bật/tắt vai
33
+ trò bổ sung bằng `agents --enable/--disable`; lựa chọn được giữ qua update. 36 workflow
34
+ chỉ nạp nhánh Astra hoặc legacy tương ứng với profile hiện tại.
39
35
 
40
- ```powershell
41
- npx nccgs@latest update --dry-run
42
- npx nccgs@latest update
43
- npx nccgs@latest doctor
44
- ```
36
+ Astra cung cấp plan và gate; Claude khởi tạo/bind task, triển khai và ghi bằng chứng.
37
+ Fable review độc lập trên cùng snapshot. Chỉ sau PASS mới ghi report; Astra và bạn
38
+ quyết định các bước cuối ngoài phiên Claude. `task close` kiểm tra toàn bộ chuỗi.
39
+ Schema và lệnh chi tiết có trong [hướng dẫn 1.3](NCCGS-1.3.md).
45
40
 
46
- NCCGS mặc định cài vào directory hiện tại. Bạn không cần truyền đường dẫn project;
47
- hãy mở PowerShell tại Unity project root hoặc dùng `cd` đến đó trước.
41
+ `/status` đọc trạng thái và gate còn thiếu. Cấu hình model/effort yêu cầu được phân
42
+ biệt với quan sát runtime. Thiếu bằng chứng effort thực chạy thì task chưa đủ điều
43
+ kiện bàn giao. Report là file; NCCGS chưa tự gửi giữa ứng dụng.
48
44
 
49
- Từ 1.1.1, update kiểm tra cả raw hash và hash text đã chuẩn hóa line ending. Việc Git
50
- đổi CRLF/LF không còn bị báo nhầm là sửa file. File thật sự đã customize hoặc cố ý
51
- xóa sẽ được giữ nguyên, ghi vào `.nccgs/framework-overrides.json` với trạng thái
52
- `pending_review`, còn các file an toàn khác vẫn cập nhật bình thường. Sau đó chỉ cần
53
- chạy `/migrate-project` một lần để review/rebase và phê duyệt các override. Không cần
54
- `--force`; chỉ dùng cờ đó khi thực sự muốn backup rồi loại bỏ customization.
55
-
56
- Installer sẽ:
57
-
58
- 1. validate NCCGS;
59
- 2. backup file framework/settings bị thay thế vào `.nccgs/backups/<timestamp>/`;
60
- 3. cập nhật `.claude/`;
61
- 4. chỉ tạo những scaffold file `.nccgs/` còn thiếu, không ghi đè project truth;
62
- 5. merge NCCGS hooks vào `.claude/settings.json` mà không xóa settings khác;
63
- 6. cấu hình model cho agents;
64
- 7. thêm NCCGS import vào `CLAUDE.md`.
65
-
66
- Nếu installer báo `Project migration required`, mở Claude Code session mới và chạy
67
- `/migrate-project`. `doctor` trực tiếp sẽ tiếp tục báo pending cho tới khi workflow
68
- đã review xong mọi override; đây là safety gate có chủ đích.
69
-
70
- Sau khi cài, đóng phiên Claude Code cũ và mở phiên mới tại project root.
71
-
72
- ## 3. Chọn model profile
73
-
74
- | Profile | Cách dùng |
75
- |---|---|
76
- | `quality` | Mặc định; Opus cho deep/leadership, Sonnet cho implementation, Haiku cho việc nhẹ |
77
- | `balanced` | Giữ Opus cho deep reasoning, leadership thông thường chạy Sonnet |
78
- | `inherit` | Bỏ toàn bộ model pin; agents dùng model của phiên chính |
79
-
80
- Cài với profile cụ thể:
81
-
82
- ```powershell
83
- npx nccgs@latest update --model-profile quality
84
- ```
85
-
86
- Đổi profile trong project đã cài:
87
-
88
- ```powershell
89
- node .\.claude\nccgs\tools\configure-models.mjs --project . --profile inherit
90
- ```
91
-
92
- Profile được ghi trong `.nccgs/project.yaml`. Nếu model pin không dùng được với tài
93
- khoản hoặc context mode hiện tại, dùng `inherit` hoặc cho phép inherit fallback.
94
-
95
- ## 4. Migrate project cũ
96
-
97
- Thông thường chỉ cần gọi một command:
98
-
99
- ```text
100
- /migrate-project
101
- ```
102
-
103
- NCCGS vẫn thực hiện bốn phase `review -> plan -> apply -> verify` ở bên trong một
104
- lần chạy. Nó chỉ dừng khi có quyết định Product Owner thật sự, thao tác destructive,
105
- external side effect hoặc thiếu authority. Các mode riêng dưới đây vẫn tồn tại để
106
- debug hoặc kiểm soát thủ công.
107
-
108
- ### Review
109
-
110
- ```text
111
- /migrate-project review
112
- ```
113
-
114
- Review là read-only. Nó phải tìm canonical sources, architecture, ownership,
115
- protected paths, Unity tooling, tests/baselines, reports/registers/checklists, global
116
- skills xung đột, model policy, hooks, local settings và Git state.
117
-
118
- Mỗi artifact nhận một nhãn: KEEP, ADAPT, MIGRATE, DEPRECATE, REMOVE hoặc MISSING.
119
-
120
- ### Plan
121
-
122
- ```text
123
- /migrate-project plan
124
- ```
125
-
126
- Plan phải có policy schema 2 được đề xuất, batches có rollback, model profile,
127
- departments, context packets, hook merge, Unity integration, verification, closure,
128
- Git tracking và những quyết định Product Owner cần chốt.
129
-
130
- Hai quyết định thường gặp:
131
-
132
- ```text
133
- D1: Use strict closure mode. Keep existing implementation reports, register
134
- entries, evidence, and safety checklists as required linked artifacts. They block
135
- DONE unless an item-specific Product Owner waiver exists.
136
-
137
- D2: Commit shared .claude/ and .nccgs/ framework and policy to Git. Keep
138
- .claude/settings.local.json local. Ignore only .nccgs/backups/ and .nccgs/runtime/.
139
- ```
140
-
141
- ### Apply
142
-
143
- ```text
144
- /migrate-project apply
145
- ```
146
-
147
- Claude áp dụng từng batch, xem diff, validate và cập nhật ledger trước khi sang batch
148
- tiếp theo. Xóa dữ liệu, đổi canon/gameplay, dependency/service, compatibility hoặc
149
- migration không thể hoàn tác cần bạn phê duyệt.
150
-
151
- ### Verify
152
-
153
- ```text
154
- /migrate-project verify
155
- /status full
156
- ```
157
-
158
- Verify kiểm tra schema 2, model routing/fallback, 45 agent files, 36 workflow files,
159
- hooks, context packet, official Unity Skill hashes, CLI/Pipeline, compile/tests,
160
- baseline, evidence mapping và closure gate.
161
-
162
- `VERIFIED, not DONE` không phải lỗi nếu artifact, decision hoặc PO gate còn thiếu.
163
-
164
- ## 5. Dùng NCCGS hằng ngày
165
-
166
- Bạn có thể chat như trước:
167
-
168
- ```text
169
- Implement campaign walkthrough sessions C–G from the canonical design documents.
170
- Preserve protected tuning values and verify the result in Unity.
171
- ```
172
-
173
- NCCGS sẽ tự chọn:
174
-
175
- - risk tier FAST/STANDARD/CONTROLLED;
176
- - domains và studio roles;
177
- - model theo profile;
178
- - context packet và working set;
179
- - tests, runtime/build evidence và review cần thiết;
180
- - closure artifacts và PO gates.
181
-
182
- ### Entry commands
183
-
184
- | Command | Dùng khi |
185
- |---|---|
186
- | `/work` | Implement/fix/refactor/integrate hoàn chỉnh |
187
- | `/design` | Thiết kế hoặc thay đổi player-facing semantics |
188
- | `/audit` | Chẩn đoán read-only |
189
- | `/migrate-project` | Cài/migrate/nâng cấp framework |
190
- | `/test` | Thu thập bằng chứng objective |
191
- | `/review` | Review độc lập, không sửa |
192
- | `/release` | Tạo release candidate |
193
- | `/status` | Xem trạng thái, model, agents, evidence và blockers |
194
-
195
- Các workflow chuyên biệt như `/architecture-decision`, `/nccgs-code-review`,
196
- `/performance-audit`, `/security-audit`, `/balance-review`, `/playtest`, `/hotfix`,
197
- `/incident-recovery` có thể gọi trực tiếp, nhưng thông thường `/work` tự phối hợp.
198
-
199
- ## 6. Context packet
200
-
201
- STANDARD và CONTROLLED work dùng:
202
-
203
- ```text
204
- .nccgs/context/<feature-id>.yaml
205
- ```
206
-
207
- Packet chứa link/anchor tới requirements, decisions, ownership, dependencies và
208
- verification; nó không copy toàn bộ GDD/ADR. Agent chỉ đọc full source khi summary
209
- thiếu, stale, mâu thuẫn hoặc risk yêu cầu.
210
-
211
- Nếu muốn chuẩn bị riêng:
212
-
213
- ```text
214
- /context-pack FEATURE-ID
215
- /story-readiness FEATURE-ID
216
- /plan-feature FEATURE-ID
217
- ```
218
-
219
- ## 7. Model và agents hoạt động thế nào?
220
-
221
- NCCGS chọn domain role trước rồi áp model class. Ví dụ:
222
-
223
- ```text
224
- CONTROLLED save migration
225
- -> technical architect (Opus)
226
- -> engine/network specialists (Sonnet)
227
- -> verification engineer (Sonnet)
228
- -> adversarial reviewer (Opus)
229
- ```
230
-
231
- Một bug FAST thường không gọi cả studio. Một feature UI STANDARD có thể dùng UX,
232
- accessibility, UI programmer, Unity UI specialist và verification, nhưng các phần
233
- read-only/không trùng ownership mới được chạy song song.
234
-
235
- ## 8. Evidence và closure
236
-
237
- - IMPLEMENTED: thay đổi tồn tại.
238
- - VERIFIED: bằng chứng objective chứng minh requirement.
239
- - VALIDATED: subjective gate đã được bạn chấp nhận.
240
- - DONE: mọi objective, artifact và PO gate bắt buộc đã đóng.
241
-
242
- Implementation không tự chứng minh chính nó. STANDARD work nên có independent
243
- verification; CONTROLLED work có adversarial review.
244
-
245
- Closure modes:
246
-
247
- - `lean`: closure record đủ, link khác optional;
248
- - `linked`: artifact `required` chặn DONE;
249
- - `strict`: mọi artifact/checklist khai báo chặn DONE nếu không có waiver cụ thể.
250
-
251
- Không hạ closure mode chỉ để trạng thái chuyển xanh.
252
-
253
- ## 9. Git
254
-
255
- Khuyến nghị commit:
256
-
257
- ```text
258
- .claude/
259
- .nccgs/
260
- CLAUDE.md
261
- ```
262
-
263
- Không commit:
264
-
265
- ```text
266
- .claude/settings.local.json
267
- .nccgs/backups/
268
- .nccgs/runtime/
269
- ```
270
-
271
- Nested `.nccgs/.gitignore` đã bỏ qua backup và runtime events.
272
-
273
- Sau migration:
274
-
275
- ```powershell
276
- git add .claude .nccgs CLAUDE.md
277
- git status --short
278
- git commit -m "chore: adopt NCCGS 1.1 studio workflow"
279
- ```
280
-
281
- Luôn đọc diff trước commit.
282
-
283
- ## 10. Xử lý blocker thường gặp
284
-
285
- ### Global Unity MCP skill còn hoạt động
286
-
287
- Di chuyển/xóa legacy global skill khỏi user skills directory, mở phiên Claude mới,
288
- rồi chạy `/status full`. Đây không phải 22 official Unity Skills trong project.
289
-
290
- ### Report thiếu register entry
291
-
292
- Đọc từng report, dùng report và Git history để backfill. Không đoán commit. Nếu không
293
- xác định được, ghi unknown và để item bị block cho tới khi có quyết định/waiver riêng.
294
-
295
- ### Model agent không spawn được
296
-
297
- Chuyển sang `inherit`, mở phiên mới và verify routing. Đừng coi lỗi model/context là
298
- lỗi implementation.
299
-
300
- ### `project.yaml` vẫn schema 1/template
301
-
302
- Installer không ghi đè policy. Chạy lại migration plan/apply để nâng schema và map
303
- project truth.
304
-
305
- ### Hook xung đột settings cũ
306
-
307
- Xem `.claude/settings.json` và bản backup timestamp. Installer chỉ thay các hook có
308
- command `.claude/nccgs/hooks/`, giữ nhóm hook và permission khác.
309
-
310
- ## 11. Validate và rollback
311
-
312
- Trong NCCGS source:
313
-
314
- ```powershell
315
- npm run validate
316
- npm test
317
- ```
318
-
319
- Nếu upgrade lỗi, dừng thay đổi mới, xem `.nccgs/backups/<timestamp>/`, phục hồi đúng
320
- file framework/settings hoặc Git revert commit nâng cấp, mở phiên mới, rồi chạy
321
- `/migrate-project verify`. Không dùng destructive reset khi worktree còn dữ liệu.
322
-
323
- ## 12. Checklist hoàn tất migration
324
-
325
- - [ ] Project policy dùng schema 2.
326
- - [ ] Canonical sources và ownership được map.
327
- - [ ] Model profile/fallback được quyết định.
328
- - [ ] Departments và orchestration depth được cấu hình.
329
- - [ ] Context packet mẫu hoạt động.
330
- - [ ] Managed Node hooks hoạt động.
331
- - [ ] Official Unity Skills khớp manifest.
332
- - [ ] Unity CLI/Pipeline và compile/tests đạt baseline.
333
- - [ ] D1 closure và D2 Git tracking được ghi nhận.
334
- - [ ] Legacy routing conflicts được xử lý.
335
- - [ ] Closure gate chặn đúng artifact thiếu.
336
- - [ ] Representative `/work` path thành công.
337
- - [ ] `/status full` không còn blocker ngoài ý muốn.
338
- - [ ] Framework/policy đã được commit.
339
-
340
- Sau đó quay lại feature sản phẩm có giá trị cao nhất; không tiếp tục làm framework
341
- nếu không còn blocker thực tế.
45
+ Các profile `quality`, `balanced`, `inherit` giữ quy trình cũ trong từng
46
+ `references/legacy.md`. Chọn chúng là chủ động dùng luồng legacy.
@@ -3,7 +3,7 @@
3
3
  | CCGS capability | NCCGS 1.1 treatment | Reason |
4
4
  |---|---|---|
5
5
  | Three-tier studio hierarchy | ADAPT into 44 roles and a central one-level orchestrator | Preserve specialization without recursive context chains |
6
- | Opus/Sonnet/Haiku agent pins | ADAPT into quality/balanced/inherit profiles | Preserve model routing while handling compatibility and cost |
6
+ | Opus/Sonnet/Haiku agent pins | ADAPT into astra-claude or explicit legacy profiles | Preserve model routing while handling compatibility and cost |
7
7
  | 73 large workflow skills | ADAPT into 36 composable workflows and focused references | Preserve lifecycle coverage without repeated prompt/context payload |
8
8
  | Team commands spawning departments | MIGRATE to risk/domain execution DAGs | Select roles by deliverable, not ceremony |
9
9
  | Per-file approval protocol | REMOVE for ordinary authorized implementation | Keep approval at product, compatibility, dependency and irreversible boundaries |
@@ -0,0 +1,125 @@
1
+ # NCCGS 1.3 — quy trình Astra / Claude có kiểm tra bằng mã
2
+
3
+ NCCGS dùng một nguồn cấu hình tại `.claude/nccgs/pipeline.json`:
4
+ Opus 5.5/xhigh triển khai, Fable/high review, Astra kiểm tra report và bạn nghiệm thu.
5
+ Mỗi Unity project cần chạy update để nhận bản mới; publish không tự sửa các dự án.
6
+
7
+ ## 1. Nguồn cấu hình và nhóm agent
8
+
9
+ `pipeline.json` quyết định model, effort, phiên chính, vai trò mặc định và chủ sở hữu
10
+ workflow. `npm run policy:build` sinh các bản cấu hình phụ; `npm run validate` phát
11
+ hiện nếu chúng lệch nguồn. Không chỉnh trực tiếp model trong file agent được sinh.
12
+
13
+ Mặc định chỉ có 10 agent được nạp: gameplay, engine, UI programmer, Unity implementer,
14
+ Unity systems, Unity UI, Unity build, QA, verification và adversarial reviewer.
15
+ 35 vai trò khác ở `.claude/nccgs/agent-library/`, không xuất hiện trong danh sách
16
+ agent mặc định. Astra sở hữu planning/documents; vai trò tư vấn chỉ bật khi cần.
17
+
18
+ Trong Unity project đã cài:
19
+
20
+ ```powershell
21
+ node .claude/nccgs/tools/configure-models.mjs --project . --enable nccgs-network-programmer
22
+ node .claude/nccgs/tools/configure-models.mjs --project . --disable nccgs-network-programmer
23
+ ```
24
+
25
+ Lựa chọn được lưu trong `.nccgs/agent-activation.json` và giữ qua update. File agent
26
+ đã tùy chỉnh được bảo toàn và báo để review; không âm thầm xóa hoặc ghi đè. Profile
27
+ legacy vẫn có đủ 45 vai trò. Không được tắt reviewer hoặc các agent lõi.
28
+
29
+ ## 2. Astra chuẩn bị đầu vào
30
+
31
+ Astra cung cấp plan và map các yêu cầu kiểm chứng của dự án vào `.nccgs/gates.json`:
32
+ `requiredChecks`, `requiredArtifacts`, `manualGates`. Trường `policySha256` phải là
33
+ hash của `.nccgs/project.yaml` mà Astra đã kiểm tra. Có thể lấy hash qua lệnh `ref`
34
+ dưới đây. Manifest không thay thế yêu cầu cũ: cần map đầy đủ gate/artifact đang dùng.
35
+
36
+ ```powershell
37
+ node .claude/nccgs/tools/task.mjs ref --file .nccgs/project.yaml
38
+ node .claude/nccgs/tools/task.mjs init --id feature-1 --plan .nccgs/features/feature-1.md
39
+ ```
40
+
41
+ Có thể thêm `--requirements .nccgs/features/feature-1-gates.json` để bổ sung yêu cầu
42
+ riêng của task. File dùng schemaVersion 1 và ba mảng giống gate manifest của dự án.
43
+
44
+ ## 3. Claude triển khai và Fable review
45
+
46
+ Hook SessionStart hiển thị session ID để bind task. Các lệnh `snapshot`, `ref`,
47
+ `observe`, `verify`, `record`, `check` hỗ trợ ghi bằng chứng:
48
+
49
+ ```powershell
50
+ node .claude/nccgs/tools/task.mjs bind --id feature-1 --session SESSION_ID
51
+ node .claude/nccgs/tools/task.mjs snapshot
52
+ node .claude/nccgs/tools/task.mjs verify --id feature-1 --name regression -- node scripts/run-tests.mjs
53
+ node .claude/nccgs/tools/task.mjs record --id feature-1 --stage implementation --evidence .nccgs/evidence/implementation.json
54
+ node .claude/nccgs/tools/task.mjs record --id feature-1 --stage review --evidence .nccgs/evidence/review.json
55
+ node .claude/nccgs/tools/task.mjs check --id feature-1 --target report
56
+ ```
57
+
58
+ Lệnh test ở ví dụ phải được thay bằng test runner thật của dự án. `verify` chạy
59
+ trực tiếp executable, lưu exit code/log/hash và đánh FAIL nếu test lỗi hoặc thay đổi
60
+ source. Nó không chạy qua shell để diễn giải lại chuỗi lệnh.
61
+
62
+ Report chỉ được ghi vào pipeline sau khi Fable PASS. Nếu sửa source/test/asset sau
63
+ review, cần ghi lại implementation và review; các gate sau tự bị xóa khi ghi lại
64
+ bước trước. Nội dung cũ được giữ trong history. File task nằm ở `.nccgs/tasks/` và
65
+ là bản ghi chính thức; nhãn DONE trong Markdown không thay thế bản ghi này.
66
+
67
+ ## 4. Astra kiểm tra và bạn nghiệm thu
68
+
69
+ Astra nhập kết quả kiểm tra ngoài phiên Claude. Chỉ sau quyết định nghiệm thu rõ
70
+ ràng của bạn mới nhập acceptance, kèm tham chiếu quyết định và cùng snapshot:
71
+
72
+ ```powershell
73
+ node .claude/nccgs/tools/task.mjs record --id feature-1 --stage report --evidence .nccgs/evidence/report-stage.json
74
+ node .claude/nccgs/tools/task.mjs record --id feature-1 --stage astra --evidence .nccgs/evidence/astra-stage.json
75
+ node .claude/nccgs/tools/task.mjs record --id feature-1 --stage acceptance --evidence .nccgs/evidence/acceptance-stage.json
76
+ node .claude/nccgs/tools/task.mjs check --id feature-1 --target done
77
+ node .claude/nccgs/tools/task.mjs close --id feature-1
78
+ ```
79
+
80
+ Mỗi JSON stage chứa snapshot và tham chiếu evidence `{path, sha256}`; evidence của
81
+ astra/acceptance là quyết định JSON riêng. Xem schema và thứ tự chi tiết trong
82
+ [task-gates](../.claude/nccgs/protocols/task-gates.md). Không tạo quyết định thay bạn.
83
+
84
+ ## 5. Quan sát runtime và giới hạn
85
+
86
+ Hook lưu model thực chạy khi Claude cung cấp, cả danh sách model nếu có fallback.
87
+ Effort không xuất hiện trong mọi sự kiện; trường thiếu được để null và chưa qua gate.
88
+ Có thể dùng `task observe` nhập bằng chứng từ provider log hoặc quan sát runtime
89
+ có tham chiếu. Cấu hình yêu cầu không được dùng làm chứng cứ thực chạy.
90
+
91
+ Các gate kiểm tra thứ tự, độc lập reviewer, model/effort, snapshot, hash evidence,
92
+ check bắt buộc, artifact, manual gate, Astra check và nghiệm thu. Hook chặn một số
93
+ thao tác ghi DONE trực tiếp; `task close` là đường đóng task chính thức. Đang đợi
94
+ Astra/bạn là điểm dừng hợp lệ, không ép agent chạy vô hạn.
95
+
96
+ Đây là kiểm soát quy trình local, không phải xác thực danh tính bằng mật mã. Người
97
+ có quyền sửa toàn bộ tool và evidence vẫn có thể sửa dữ liệu. Report chưa tự gửi
98
+ giữa ứng dụng. Thử nghiệm fixture không chứng minh một phiên Opus/Fable thật đã chạy.
99
+
100
+ ## 6. Cập nhật từ npm và kiểm chứng
101
+
102
+ Chạy trong thư mục gốc của từng Unity project đã cài NCCGS:
103
+
104
+ ```powershell
105
+ npx nccgs@latest update --model-profile astra-claude --dry-run
106
+ npx nccgs@latest update --model-profile astra-claude
107
+ npx nccgs@latest doctor
108
+ ```
109
+
110
+ Dùng `install` thay `update` với dự án chưa cài. Nếu bỏ `--model-profile`, update
111
+ giữ profile hiện tại. Mở phiên Claude Code mới sau khi cập nhật cấu hình.
112
+
113
+ Dùng CLI của bản nguồn này với `install` hoặc `update --model-profile astra-claude`
114
+ và `--project` trỏ đúng Unity project. Chạy `--dry-run` trước. Không cần dùng force
115
+ để bỏ qua tùy chỉnh. `doctor` kiểm tra integrity, trạng thái agent và closure hiện tại;
116
+ closure lịch sử của snapshot cũ không được dùng để duyệt code hiện tại.
117
+
118
+ ```powershell
119
+ npm run policy:check
120
+ npm run validate
121
+ npm test
122
+ ```
123
+
124
+ Mỗi workflow giờ chỉ điều hướng sang `references/astra.md` hoặc
125
+ `references/legacy.md`. Claude chỉ đọc nhánh của profile đang dùng.
@@ -8,7 +8,7 @@ verification, closure, or Unity execution for the project.
8
8
 
9
9
  - project stage and platforms;
10
10
  - enabled departments and bounded orchestration;
11
- - `quality`, `balanced`, or `inherit` model profile and fallback policy;
11
+ - `astra-claude`, `quality`, `balanced`, or `inherit` model profile and fallback policy;
12
12
  - canonical sources for product, design, architecture, planning, art, narrative,
13
13
  audio, and release;
14
14
  - protected/user-owned/generated paths and hand-tuned settings;
@@ -19,13 +19,28 @@ verification, closure, or Unity execution for the project.
19
19
 
20
20
  ## Model policy
21
21
 
22
+ The default `astra-claude` profile assigns planning and canonical documents to Astra,
23
+ implementation to pinned Opus 5.5/xhigh, and independent review to Fable/high.
24
+ The report is handed to Astra only after Fable PASS; Astra checks it before Product
25
+ Owner acceptance. All these gates apply even to FAST work and lean closure. See
26
+ [the protocol](../.claude/nccgs/protocols/astra-claude.md). No silent inherited model
27
+ or lower effort may satisfy a required stage. Legacy profile selection explicitly
28
+ opts out of this chain and ordinary updates preserve the existing selection.
29
+
22
30
  Use `quality` when result quality is primary and all model tiers are available. Use
23
31
  `balanced` when leadership coordination does not need Opus by default. Use `inherit`
24
32
  when subscription/context compatibility or explicit user control is more important
25
33
  than automatic routing.
26
34
 
27
- Project overrides may pin a specific role/class, but avoid full model IDs unless the
28
- project intentionally owns upgrade timing.
35
+ The `models.overrides` field is reserved; the configurator does not apply it. Routing
36
+ is compiled from `.claude/nccgs/pipeline.json`. The astra-claude profile intentionally
37
+ pins Opus 5.5; changing its required stage models is a Product Owner policy decision.
38
+
39
+ For the Astra profile, map the checks, artifacts and manual gates below into
40
+ `.nccgs/gates.json` and pin its `policySha256` to this project policy. Task-specific
41
+ requirements may add obligations. The executable manifest does not automatically
42
+ translate YAML conditions: Astra must preserve and map all existing safeguards.
43
+ See [task gates](../.claude/nccgs/protocols/task-gates.md) for evidence formats.
29
44
 
30
45
  ## Canonical sources and context
31
46
 
package/docs/WORKFLOWS.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # NCCGS workflows
2
2
 
3
+ The default `astra-claude` profile applies the
4
+ [Astra/Claude handoff protocol](../.claude/nccgs/protocols/astra-claude.md) to every
5
+ workflow below. Astra owns planning and documents; Claude implements with
6
+ Opus 5.5/xhigh; Fable/high independently reviews before the report goes to Astra.
7
+ Astra checks the report and the Product Owner accepts before DONE. Each dispatcher
8
+ loads only `references/astra.md` or `references/legacy.md` for the selected profile.
9
+ Task records and executable gates follow the [1.3 guide](NCCGS-1.3.md).
10
+
3
11
  ## Risk tiers
4
12
 
5
13
  | Tier | Typical work | Required structure |
@@ -11,16 +19,13 @@
11
19
  ## End-to-end work
12
20
 
13
21
  ```text
14
- request
15
- -> risk and domain routing
16
- -> context packet and readiness
17
- -> decisions/plan when needed
22
+ request -> Astra plan/documents and gate manifest
23
+ -> Claude risk/domain routing and context readiness
18
24
  -> one-owner implementation nodes
19
- -> independent verification
20
- -> adversarial review for CONTROLLED work
21
- -> evidence review
22
- -> record synchronization
23
- -> configured closure
25
+ -> verification evidence
26
+ -> independent Fable review for every code change
27
+ -> report -> Astra check -> Product Owner acceptance
28
+ -> task close after all executable gates pass
24
29
  ```
25
30
 
26
31
  The primary session composes modules automatically. Explicit specialized commands are
@@ -42,14 +47,15 @@ available when a user wants a bounded workflow or output.
42
47
 
43
48
  ## Role composition examples
44
49
 
45
- A gameplay feature may use game designer → gameplay programmer and Unity systems
50
+ Astra plans a gameplay feature; optional game-designer consultation may support it.
51
+ Implementation may use gameplay programmer and Unity systems
46
52
  specialist in parallel where ownership differs → verification engineer. A UI feature
47
53
  may use UX designer and accessibility specialist for design, UI programmer and Unity
48
54
  UI specialist for implementation/integration, then independent verification.
49
55
 
50
- CONTROLLED network-save work adds technical architect, network programmer, security
51
- engineer, compatibility review, and adversarial review. It does not automatically
52
- spawn every director or department.
56
+ CONTROLLED network-save work can enable optional technical architect, network
57
+ programmer and security engineer roles. Fable reviews FAST, STANDARD and CONTROLLED
58
+ code changes. Optional roles are activated explicitly; the default loads ten roles.
53
59
 
54
60
  ## Evidence states
55
61
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nccgs",
3
- "version": "1.1.1",
3
+ "version": "1.3.0",
4
4
  "description": "Unity-first game-studio operating system for Claude Code",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -29,8 +29,10 @@
29
29
  },
30
30
  "scripts": {
31
31
  "validate": "node scripts/validate.mjs",
32
- "test": "node --test tests/framework.test.mjs",
33
- "pack:check": "npm pack --dry-run"
32
+ "test": "node --test tests/*.test.mjs",
33
+ "pack:check": "npm pack --dry-run",
34
+ "policy:build": "node .claude/nccgs/tools/compile-policy.mjs --write",
35
+ "policy:check": "node .claude/nccgs/tools/compile-policy.mjs"
34
36
  },
35
37
  "keywords": [
36
38
  "claude-code",
@@ -0,0 +1,7 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "policySha256": null,
4
+ "requiredChecks": [],
5
+ "requiredArtifacts": [],
6
+ "manualGates": []
7
+ }
@@ -15,12 +15,15 @@ studio:
15
15
  independent_verification: true
16
16
 
17
17
  models:
18
- profile: quality
19
- allow_inherit_fallback: true
20
- allow_automatic_escalation: true
18
+ profile: astra-claude
19
+ allow_inherit_fallback: false
20
+ allow_automatic_escalation: false
21
21
  notify_on_escalation: true
22
22
  overrides: {}
23
23
 
24
+ # Profile contracts are resolved from this canonical configuration.
25
+ pipeline_policy: .claude/nccgs/pipeline.json
26
+
24
27
  workflow:
25
28
  operating_mode: solo
26
29
  autonomy: high