nccgs 2.1.0 → 2.1.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.
- package/.claude/agents/nccgs-adversarial-reviewer.md +1 -1
- package/.claude/agents/nccgs-engine-programmer.md +1 -1
- package/.claude/agents/nccgs-fast-implementer.md +1 -1
- package/.claude/agents/nccgs-game-designer.md +1 -1
- package/.claude/agents/nccgs-gameplay-programmer.md +1 -1
- package/.claude/agents/nccgs-qa-engineer.md +1 -1
- package/.claude/agents/nccgs-task-scout.md +1 -1
- package/.claude/agents/nccgs-ui-programmer.md +1 -1
- package/.claude/agents/nccgs-unity-build-specialist.md +1 -1
- package/.claude/agents/nccgs-unity-implementer.md +1 -1
- package/.claude/agents/nccgs-unity-systems-specialist.md +1 -1
- package/.claude/agents/nccgs-unity-ui-specialist.md +1 -1
- package/.claude/agents/nccgs-verification-engineer.md +1 -1
- package/.claude/nccgs/MEMORY.md +3 -1
- package/.claude/nccgs/VERSION +1 -1
- package/.claude/nccgs/constitution.md +187 -176
- package/.claude/nccgs/hooks/closure-guard.mjs +2 -0
- package/.claude/nccgs/hooks/unity-transport-guard.mjs +11 -0
- package/.claude/nccgs/pipeline.json +260 -260
- package/.claude/nccgs/protocols/context-packets.md +5 -0
- package/.claude/nccgs/protocols/model-routing.md +46 -46
- package/.claude/nccgs/protocols/review-handoff.md +21 -1
- package/.claude/nccgs/protocols/shared-workflow-context.md +33 -0
- package/.claude/nccgs/protocols/unity-boundary.md +20 -0
- package/.claude/nccgs/routing.generated.md +4 -4
- package/.claude/nccgs/settings.fragment.json +84 -24
- package/.claude/nccgs/studio.json +53 -53
- package/.claude/nccgs/tools/autonomy.mjs +13 -0
- package/.claude/nccgs/tools/command-tokens.mjs +22 -0
- package/.claude/nccgs/tools/hook-transport.mjs +34 -0
- package/.claude/nccgs/tools/native-completion.mjs +10 -1
- package/.claude/nccgs/tools/returned-handoff.mjs +11 -2
- package/.claude/nccgs/tools/shared-context-guard.mjs +60 -0
- package/.claude/nccgs/tools/shared-context.mjs +25 -0
- package/.claude/nccgs/tools/tool-guard.mjs +120 -131
- package/.claude/nccgs/tools/unity-transport.mjs +170 -0
- package/.claude/nccgs/workflow-catalog.json +4 -4
- package/CHANGELOG.md +235 -200
- package/CLAUDE.md +10 -8
- package/MEMORY.md +109 -60
- package/README.md +206 -191
- package/UPGRADING.md +130 -118
- package/VERSION +1 -1
- package/docs/ARCHITECTURE.md +131 -131
- package/docs/ASSET-PRODUCTION-GRAPHIFY-PLAN.md +230 -0
- package/docs/HUONG-DAN-MIGRATE-VA-SU-DUNG.md +117 -116
- package/docs/NCCGS-1.5.md +237 -237
- package/docs/PROJECT-POLICY.md +94 -94
- package/docs/RELEASE-STATUS.md +17 -9
- package/docs/UNINSTALL.md +3 -3
- package/docs/WFK17-HOOK-REPAIR.md +71 -0
- package/docs/WORKFLOWS.md +85 -85
- package/package.json +1 -1
- package/scaffold/.nccgs/project.yaml +109 -108
- package/scripts/benchmark-v15.mjs +173 -173
- package/scripts/doctor.mjs +261 -261
- package/scripts/install.mjs +530 -529
- package/scripts/run.mjs +5 -4
- package/scripts/supervise.mjs +4 -0
- package/scripts/uninstall.mjs +292 -292
- package/scripts/validate.mjs +285 -280
- package/tests/autonomy.test.mjs +126 -113
- package/tests/design-readiness.test.mjs +199 -199
- package/tests/fixtures/compiler-shutdown.cs +67 -64
- package/tests/fixtures/native-provider.mjs +61 -0
- package/tests/framework.test.mjs +740 -740
- package/tests/hook-repair.test.mjs +106 -0
- package/tests/lifecycle-v15.test.mjs +346 -300
- package/tests/native-completion-notices.test.mjs +181 -0
- package/tests/phase1.test.mjs +427 -416
- package/tests/phase2.test.mjs +250 -250
- package/tests/policy-v15.test.mjs +234 -234
- package/tests/returned-handoff-notices.test.mjs +170 -0
- package/tests/runtime-v15.test.mjs +1197 -1191
- package/tests/task-slices.test.mjs +285 -285
- package/tests/unity-transport.test.mjs +348 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Optional shared Graphify context consumer
|
|
2
|
+
|
|
3
|
+
Use this protocol only when the project has adopted the external Agent Project
|
|
4
|
+
Workflow 1.7 tooling. Preserve NCCGS's existing internal execution and task gates.
|
|
5
|
+
The approved outer assignment and actual source documents remain authoritative.
|
|
6
|
+
|
|
7
|
+
Resolve the external implementation root from the accepted project workflow binding.
|
|
8
|
+
The default common configuration is `docs/workflow/workflow.config.json`; it is owned
|
|
9
|
+
by the shared workflow, not an NCCGS policy/freshness copy. Do not create it during
|
|
10
|
+
ordinary intake. A missing configuration skips context operations without installing
|
|
11
|
+
or bootstrapping Graphify.
|
|
12
|
+
|
|
13
|
+
At task entry, after required direct instruction/source reads, run:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
node .claude/nccgs/tools/shared-context.mjs --project PROJECT_ROOT --workflow-root EXTERNAL_IMPLEMENTATION_ROOT --action status
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Use `--action query --text TERM` only for suitable verified coverage. A held review
|
|
20
|
+
adds the actual `--hold HOLD_ID --secret HOLD_CAPABILITY`; queries resolve the retained
|
|
21
|
+
generation and pinned source. Preserve the hold capability as local operational state.
|
|
22
|
+
At a settled write boundary use `--action refresh` only when accepted scope covers it.
|
|
23
|
+
This consumer cannot perform setup, update or initial rebuild. Report unavailable,
|
|
24
|
+
partial/stale or recovery-required coverage and continue with original sources.
|
|
25
|
+
|
|
26
|
+
The external common adapter owns GC-01 through GC-04, one current commit and updater.
|
|
27
|
+
Do not add a private graph, native hook, model change, independent source ignore rule,
|
|
28
|
+
or copied freshness file. Link the common generation/result in the existing context
|
|
29
|
+
packet/handoff. Graph context does not provide provider execution evidence or external
|
|
30
|
+
acceptance; NCCGS internal DONE may return a candidate awaiting outer review.
|
|
31
|
+
|
|
32
|
+
This source bridge has fixture coverage. It does not certify a Claude Code/native
|
|
33
|
+
or Unity runtime session; adoption and host qualification remain explicit operations.
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Unity responsibility boundary
|
|
2
2
|
|
|
3
|
+
## Unity transport: direct CLI/Pipeline only
|
|
4
|
+
|
|
5
|
+
Use direct `unity run`, `unity test`, `unity build`, `unity command`, and the
|
|
6
|
+
approved `com.unity.pipeline` integration. Unity MCP is disabled, including
|
|
7
|
+
Coplay, AnkleBreaker, discovery/read-only calls, and the official CLI's optional
|
|
8
|
+
`unity mcp` / `unity mcp configure` mode. Never reinstall or configure a Unity MCP
|
|
9
|
+
server as a fallback when CLI, licensing or Editor connectivity fails.
|
|
10
|
+
|
|
11
|
+
`nccgs run` uses strict MCP isolation with an empty server list by default.
|
|
12
|
+
An external operator may explicitly pass a validated non-Unity MCP configuration;
|
|
13
|
+
this never permits Unity MCP or changes global configurations. Retained supervised
|
|
14
|
+
runs without the required isolation are refused rather than rewritten or refunded.
|
|
15
|
+
|
|
16
|
+
This policy takes precedence over generic vendored skill guidance, including the
|
|
17
|
+
new-project skill's optional MCP route. Upstream skills and their hash manifest
|
|
18
|
+
remain unmodified reference material. Read them for direct CLI/Pipeline mechanics.
|
|
19
|
+
Transport hooks cover ordinary tool names and shell invocations; they are not an
|
|
20
|
+
arbitrary-code or hostile-client sandbox. Existing native permissions, ownership,
|
|
21
|
+
independent review and actual execution evidence remain required.
|
|
22
|
+
|
|
3
23
|
Studio roles own player intent, architecture, subsystem boundaries, project truth,
|
|
4
24
|
test strategy, risk, acceptance, and closure. Official Unity Skills own current Unity
|
|
5
25
|
CLI/Pipeline syntax and Editor, scene, prefab, asset, package, build, test, runtime,
|
|
@@ -5,10 +5,10 @@ NCCGS runs in Claude Code. New installations use standalone execution; model ali
|
|
|
5
5
|
| Stage | Owner/model | Effort | Maximum review rounds |
|
|
6
6
|
|---|---|---|---|
|
|
7
7
|
| Intake, plan and documents | Claude Code | Routed by task | — |
|
|
8
|
-
| FAST implementation | sonnet |
|
|
9
|
-
| STANDARD implementation | opus |
|
|
10
|
-
| CONTROLLED implementation | opus |
|
|
11
|
-
| Independent review |
|
|
8
|
+
| FAST implementation | sonnet | high | 2 |
|
|
9
|
+
| STANDARD implementation | opus | high | 3 |
|
|
10
|
+
| CONTROLLED implementation | opus | xhigh | 3 |
|
|
11
|
+
| Independent review | fable | high | Shared task budget |
|
|
12
12
|
| External review | Off by default; advisory or required when configured | External evidence | — |
|
|
13
13
|
| Acceptance | Contract-defined Product Owner decision | Explicit when required | — |
|
|
14
14
|
|
|
@@ -17,20 +17,41 @@
|
|
|
17
17
|
"hooks": [
|
|
18
18
|
{
|
|
19
19
|
"type": "command",
|
|
20
|
-
"command": "node
|
|
21
|
-
"timeout": 10
|
|
20
|
+
"command": "node",
|
|
21
|
+
"timeout": 10,
|
|
22
|
+
"args": [
|
|
23
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/session-start.mjs"
|
|
24
|
+
]
|
|
22
25
|
}
|
|
23
26
|
]
|
|
24
27
|
}
|
|
25
28
|
],
|
|
26
29
|
"PreToolUse": [
|
|
30
|
+
{
|
|
31
|
+
"matcher": "*",
|
|
32
|
+
"hooks": [
|
|
33
|
+
{
|
|
34
|
+
"type": "command",
|
|
35
|
+
"command": "node",
|
|
36
|
+
"timeout": 10,
|
|
37
|
+
"args": [
|
|
38
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/unity-transport-guard.mjs"
|
|
39
|
+
],
|
|
40
|
+
"onFailure": "block"
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
},
|
|
27
44
|
{
|
|
28
45
|
"matcher": "Bash|PowerShell",
|
|
29
46
|
"hooks": [
|
|
30
47
|
{
|
|
31
48
|
"type": "command",
|
|
32
|
-
"command": "node
|
|
33
|
-
"timeout": 10
|
|
49
|
+
"command": "node",
|
|
50
|
+
"timeout": 10,
|
|
51
|
+
"args": [
|
|
52
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/protect-git.mjs"
|
|
53
|
+
],
|
|
54
|
+
"onFailure": "block"
|
|
34
55
|
}
|
|
35
56
|
]
|
|
36
57
|
},
|
|
@@ -39,8 +60,12 @@
|
|
|
39
60
|
"hooks": [
|
|
40
61
|
{
|
|
41
62
|
"type": "command",
|
|
42
|
-
"command": "node
|
|
43
|
-
"timeout": 10
|
|
63
|
+
"command": "node",
|
|
64
|
+
"timeout": 10,
|
|
65
|
+
"args": [
|
|
66
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/protect-write.mjs"
|
|
67
|
+
],
|
|
68
|
+
"onFailure": "block"
|
|
44
69
|
}
|
|
45
70
|
]
|
|
46
71
|
},
|
|
@@ -49,8 +74,13 @@
|
|
|
49
74
|
"hooks": [
|
|
50
75
|
{
|
|
51
76
|
"type": "command",
|
|
52
|
-
"command": "node
|
|
53
|
-
"timeout": 30
|
|
77
|
+
"command": "node",
|
|
78
|
+
"timeout": 30,
|
|
79
|
+
"args": [
|
|
80
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/closure-guard.mjs",
|
|
81
|
+
"pre"
|
|
82
|
+
],
|
|
83
|
+
"onFailure": "block"
|
|
54
84
|
}
|
|
55
85
|
]
|
|
56
86
|
}
|
|
@@ -61,8 +91,11 @@
|
|
|
61
91
|
"hooks": [
|
|
62
92
|
{
|
|
63
93
|
"type": "command",
|
|
64
|
-
"command": "node
|
|
65
|
-
"timeout": 10
|
|
94
|
+
"command": "node",
|
|
95
|
+
"timeout": 10,
|
|
96
|
+
"args": [
|
|
97
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/pre-compact.mjs"
|
|
98
|
+
]
|
|
66
99
|
}
|
|
67
100
|
]
|
|
68
101
|
}
|
|
@@ -73,8 +106,11 @@
|
|
|
73
106
|
"hooks": [
|
|
74
107
|
{
|
|
75
108
|
"type": "command",
|
|
76
|
-
"command": "node
|
|
77
|
-
"timeout": 10
|
|
109
|
+
"command": "node",
|
|
110
|
+
"timeout": 10,
|
|
111
|
+
"args": [
|
|
112
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/post-compact.mjs"
|
|
113
|
+
]
|
|
78
114
|
}
|
|
79
115
|
]
|
|
80
116
|
}
|
|
@@ -85,8 +121,13 @@
|
|
|
85
121
|
"hooks": [
|
|
86
122
|
{
|
|
87
123
|
"type": "command",
|
|
88
|
-
"command": "node
|
|
89
|
-
"timeout": 5
|
|
124
|
+
"command": "node",
|
|
125
|
+
"timeout": 5,
|
|
126
|
+
"args": [
|
|
127
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/agent-audit.mjs",
|
|
128
|
+
"start"
|
|
129
|
+
],
|
|
130
|
+
"onFailure": "block"
|
|
90
131
|
}
|
|
91
132
|
]
|
|
92
133
|
}
|
|
@@ -97,8 +138,13 @@
|
|
|
97
138
|
"hooks": [
|
|
98
139
|
{
|
|
99
140
|
"type": "command",
|
|
100
|
-
"command": "node
|
|
101
|
-
"timeout": 5
|
|
141
|
+
"command": "node",
|
|
142
|
+
"timeout": 5,
|
|
143
|
+
"args": [
|
|
144
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/agent-audit.mjs",
|
|
145
|
+
"stop"
|
|
146
|
+
],
|
|
147
|
+
"onFailure": "block"
|
|
102
148
|
}
|
|
103
149
|
]
|
|
104
150
|
}
|
|
@@ -109,8 +155,11 @@
|
|
|
109
155
|
"hooks": [
|
|
110
156
|
{
|
|
111
157
|
"type": "command",
|
|
112
|
-
"command": "node
|
|
113
|
-
"timeout": 10
|
|
158
|
+
"command": "node",
|
|
159
|
+
"timeout": 10,
|
|
160
|
+
"args": [
|
|
161
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/session-stop.mjs"
|
|
162
|
+
]
|
|
114
163
|
}
|
|
115
164
|
]
|
|
116
165
|
},
|
|
@@ -119,8 +168,12 @@
|
|
|
119
168
|
"hooks": [
|
|
120
169
|
{
|
|
121
170
|
"type": "command",
|
|
122
|
-
"command": "node
|
|
123
|
-
"timeout": 30
|
|
171
|
+
"command": "node",
|
|
172
|
+
"timeout": 30,
|
|
173
|
+
"args": [
|
|
174
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/closure-guard.mjs",
|
|
175
|
+
"stop"
|
|
176
|
+
]
|
|
124
177
|
}
|
|
125
178
|
]
|
|
126
179
|
}
|
|
@@ -131,8 +184,12 @@
|
|
|
131
184
|
"hooks": [
|
|
132
185
|
{
|
|
133
186
|
"type": "command",
|
|
134
|
-
"command": "node
|
|
135
|
-
"timeout": 30
|
|
187
|
+
"command": "node",
|
|
188
|
+
"timeout": 30,
|
|
189
|
+
"args": [
|
|
190
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/runtime-observation.mjs",
|
|
191
|
+
"failure"
|
|
192
|
+
]
|
|
136
193
|
}
|
|
137
194
|
]
|
|
138
195
|
}
|
|
@@ -143,8 +200,11 @@
|
|
|
143
200
|
"hooks": [
|
|
144
201
|
{
|
|
145
202
|
"type": "command",
|
|
146
|
-
"command": "node
|
|
147
|
-
"timeout": 30
|
|
203
|
+
"command": "node",
|
|
204
|
+
"timeout": 30,
|
|
205
|
+
"args": [
|
|
206
|
+
"${CLAUDE_PROJECT_DIR}/.claude/nccgs/hooks/runtime-observation.mjs"
|
|
207
|
+
]
|
|
148
208
|
}
|
|
149
209
|
]
|
|
150
210
|
}
|