nccgs 2.0.0-rc.1 → 2.0.0-rc.3
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/nccgs/MEMORY.md +1 -1
- package/.claude/nccgs/VERSION +1 -1
- package/.claude/nccgs/constitution.md +1 -1
- package/.claude/nccgs/protocols/bounded-repair.md +1 -1
- package/.claude/nccgs/protocols/model-routing.md +2 -2
- package/.claude/nccgs/protocols/standalone-gates.md +4 -4
- package/.claude/nccgs/protocols/standalone-pilot.md +4 -1
- package/.claude/nccgs/protocols/standalone.md +1 -1
- package/.claude/nccgs/protocols/task-gates.md +1 -1
- package/CHANGELOG.md +28 -0
- package/MEMORY.md +1 -1
- package/README.md +14 -10
- package/UPGRADING.md +103 -191
- package/VERSION +1 -1
- package/docs/BOUNDED-REPAIR.md +1 -1
- package/docs/HUONG-DAN-MIGRATE-VA-SU-DUNG.md +45 -46
- package/docs/NCCGS-1.3.md +5 -0
- package/docs/NCCGS-1.4.1.md +5 -0
- package/docs/NCCGS-1.4.md +5 -0
- package/docs/NCCGS-1.5-IMPLEMENTATION-PLAN.md +4 -1
- package/docs/NCCGS-1.5-PILOT.md +4 -1
- package/docs/NCCGS-1.5.md +4 -1
- package/docs/PHASE-1-OPERATIONS.md +3 -3
- package/docs/PHASE-2-OPERATIONS.md +3 -3
- package/docs/PROJECT-POLICY.md +16 -11
- package/docs/RELEASE-STATUS.md +44 -0
- package/docs/UPGRADE-QUALIFICATION.md +45 -0
- package/docs/WORKFLOWS.md +28 -23
- package/package.json +1 -1
- package/scripts/install.mjs +10 -0
- package/tests/framework.test.mjs +38 -0
package/.claude/nccgs/MEMORY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# NCCGS — portable framework decisions
|
|
2
2
|
|
|
3
3
|
NCCGS means **New Claude Code Game Studio** and targets **Claude Code**.
|
|
4
|
-
This is the public 2.0.0-rc.
|
|
4
|
+
This is the public 2.0.0-rc.3 release candidate, distributed through npm's next tag.
|
|
5
5
|
It is not stable promotion. The package README and changelog describe release scope.
|
|
6
6
|
Project-specific authorizations, provider sessions, budgets and internal development
|
|
7
7
|
history are retained separately, outside the public package. Nothing in this file
|
package/.claude/nccgs/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.0.0-rc.
|
|
1
|
+
2.0.0-rc.3
|
|
@@ -38,7 +38,7 @@ Explicit migration archives configuration and does not rewrite task history.
|
|
|
38
38
|
|
|
39
39
|
Task records under `.nccgs/tasks/` are authoritative and `task close` enforces all
|
|
40
40
|
stages. Markdown DONE labels cannot replace them. Read routes from `pipeline.json`;
|
|
41
|
-
load only the selected execution workflow.
|
|
41
|
+
load only the selected execution workflow. Thirteen roles are active by default; enable
|
|
42
42
|
optional specialists when their expertise changes the next action.
|
|
43
43
|
|
|
44
44
|
For meaningful project work:
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
NCCGS runs in Claude Code. Resolve execution obligations independently of models.
|
|
4
4
|
`pipeline.json` is the routing source; generated catalog/frontmatter and
|
|
5
|
-
[routing.generated.md](../routing.generated.md) must match it.
|
|
6
|
-
load by default;
|
|
5
|
+
[routing.generated.md](../routing.generated.md) must match it. Thirteen roles
|
|
6
|
+
load by default; 34 optional specialists remain in `agent-library/` until needed.
|
|
7
7
|
|
|
8
8
|
## Standalone default
|
|
9
9
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# NCCGS
|
|
1
|
+
# NCCGS 2.0 RC — implementation and operation
|
|
2
2
|
|
|
3
|
-
Version: **2.0.0-rc.
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Version: **2.0.0-rc.3**. Target executor: **Claude Code**.
|
|
4
|
+
Framework tests and scoped native delivery evidence exist. Fresh end-to-end
|
|
5
|
+
qualification of this exact RC and published-1.3 upgrade qualification are pending. Read [MEMORY.md](../MEMORY.md) before interpreting evaluation results.
|
|
6
6
|
|
|
7
7
|
## Policies and migration
|
|
8
8
|
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
> Historical development/reference document. Version, status, commands and plans
|
|
2
|
+
> below describe their original scope, not the current package defaults. Read
|
|
3
|
+
> [current release guidance](../MEMORY.md) before use. Research/benchmark proposals
|
|
4
|
+
> do not automatically add requirements to a delivery contract.
|
|
2
5
|
|
|
3
6
|
# Claude Code pilot and benchmark protocol
|
|
4
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Executable task gates
|
|
2
2
|
|
|
3
3
|
This document specifies compatibility/schema-1 gates. For standalone/schema-2
|
|
4
|
-
contracts and payloads use [the
|
|
4
|
+
contracts and payloads use [the standalone gate guide](standalone-gates.md) and
|
|
5
5
|
[standalone execution](standalone.md). Existing tasks retain their original gates.
|
|
6
6
|
|
|
7
7
|
Run the installed tool as `node .claude/nccgs/tools/task.mjs COMMAND ...`, or use
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.0-rc.3 — 2026-10-07
|
|
4
|
+
|
|
5
|
+
Published-1.3.0 upgrade correction on next; latest remains unchanged.
|
|
6
|
+
|
|
7
|
+
- Fixed false overrides when a role generated by a 1.3.0 profile becomes a managed
|
|
8
|
+
file in 2.0. Existing generated fingerprints now identify unchanged agent files;
|
|
9
|
+
later user edits and explicit overrides still require review.
|
|
10
|
+
- RC2 qualification exposed the issue in quality, balanced and inherit profiles.
|
|
11
|
+
The astra-claude path was unaffected. Original failed results are retained.
|
|
12
|
+
- Release qualification uses the published 1.3.0 archive and the exact candidate
|
|
13
|
+
archive across four model profiles, owner settings and open task history,
|
|
14
|
+
override preservation, dry runs, explicit execution migration, rollback and
|
|
15
|
+
refusal of changed configuration/backups. See docs/UPGRADE-QUALIFICATION.md.
|
|
16
|
+
- A new task executed by Claude Code through this exact release remains pending;
|
|
17
|
+
this correction does not promote stable or change the frozen game evaluation.
|
|
18
|
+
|
|
19
|
+
## 2.0.0-rc.2 — 2026-10-07
|
|
20
|
+
|
|
21
|
+
Release documentation follow-up on next; latest remains unchanged.
|
|
22
|
+
|
|
23
|
+
- Unified current version labels and exact-version npm install, doctor, run and migration commands.
|
|
24
|
+
- Replaced the obsolete Vietnamese Astra/Fable-default guide with standalone RC instructions.
|
|
25
|
+
- Separated file update, explicit execution migration and guarded rollback; documented that rollback is not a full package downgrade.
|
|
26
|
+
- Corrected active role counts and current workflow/project-policy guidance.
|
|
27
|
+
- Added a release-status matrix and visible historical labels instead of hidden comments.
|
|
28
|
+
- Retained RC1, frozen evaluation evidence and internal history. No runtime JavaScript, game source, model routing or acceptance threshold changed.
|
|
29
|
+
- Packaging validation covers public contents, local documentation links, version consistency and fresh install/doctor. Published-1.3.0 upgrade qualification and a fresh exact-RC task remain pending.
|
|
30
|
+
|
|
3
31
|
## 2.0.0-rc.1 — 2026-10-07
|
|
4
32
|
|
|
5
33
|
Release channel: next. This candidate does not replace the stable/latest tag.
|
package/MEMORY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# NCCGS — portable framework decisions
|
|
2
2
|
|
|
3
3
|
NCCGS means **New Claude Code Game Studio** and targets **Claude Code**.
|
|
4
|
-
This is the public 2.0.0-rc.
|
|
4
|
+
This is the public 2.0.0-rc.3 release candidate, distributed through npm's next tag.
|
|
5
5
|
It is not stable promotion. See README.md and CHANGELOG.md for release scope.
|
|
6
6
|
Project-specific authorizations, provider sessions, budgets and internal development
|
|
7
7
|
history are retained separately, outside the public package. Nothing in this file
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# NCCGS — New Claude Code Game Studio
|
|
2
2
|
|
|
3
|
-
**2.0.0-rc.
|
|
3
|
+
**2.0.0-rc.3** is a release candidate for standalone game-development orchestration
|
|
4
4
|
in **Claude Code**, published on npm's **next** channel. The stable/latest channel
|
|
5
5
|
is not promoted by this release.
|
|
6
6
|
|
|
@@ -21,8 +21,9 @@ and negative findings remain preserved in the development evidence.
|
|
|
21
21
|
The release source includes the reviewed fixes to reviewer capacity, handoff schema
|
|
22
22
|
guidance and standalone command syntax. The game case used a frozen framework with
|
|
23
23
|
a session-only reviewer capacity override. This exact RC has not yet completed a
|
|
24
|
-
fresh full game task
|
|
25
|
-
|
|
24
|
+
fresh full game task. Published-1.3.0 upgrade scope is documented in
|
|
25
|
+
[upgrade qualification](docs/UPGRADE-QUALIFICATION.md). Use a disposable
|
|
26
|
+
project or backed-up copy while evaluating it. See [release status](docs/RELEASE-STATUS.md), [Vietnamese quick start](docs/HUONG-DAN-MIGRATE-VA-SU-DUNG.md), [release notes](CHANGELOG.md),
|
|
26
27
|
[upgrading](UPGRADING.md), [delivery acceptance](.claude/nccgs/protocols/delivery-acceptance.md)
|
|
27
28
|
and [portable framework decisions](MEMORY.md).
|
|
28
29
|
|
|
@@ -69,14 +70,14 @@ Requirements: Claude Code and Node.js 18+. Unity CLI/Pipeline is needed for live
|
|
|
69
70
|
Unity operations. Run against a disposable Unity project first:
|
|
70
71
|
|
|
71
72
|
```powershell
|
|
72
|
-
npx --yes nccgs@2.0.0-rc.
|
|
73
|
-
npx --yes nccgs@2.0.0-rc.
|
|
74
|
-
npx --yes nccgs@2.0.0-rc.
|
|
73
|
+
npx --yes nccgs@2.0.0-rc.3 install --project "D:\path\to\UnityProject" --dry-run
|
|
74
|
+
npx --yes nccgs@2.0.0-rc.3 install --project "D:\path\to\UnityProject"
|
|
75
|
+
npx --yes nccgs@2.0.0-rc.3 doctor --project "D:\path\to\UnityProject"
|
|
75
76
|
```
|
|
76
77
|
|
|
77
78
|
Use nccgs@next to follow candidate releases, or pin the exact version above for
|
|
78
79
|
repeatability. Use update for an existing installation only after reviewing its
|
|
79
|
-
dry run and backup.
|
|
80
|
+
dry run and backup. See [the tested upgrade matrix](docs/UPGRADE-QUALIFICATION.md) and its limits.
|
|
80
81
|
The installer preserves customized files and unrelated Claude settings, records
|
|
81
82
|
overrides and backs up replacements. Do not use --force as an ordinary update path.
|
|
82
83
|
|
|
@@ -84,7 +85,7 @@ New installs default to standalone with `claude-standalone`. Existing installati
|
|
|
84
85
|
without execution.json remain compatibility. To migrate explicitly:
|
|
85
86
|
|
|
86
87
|
```powershell
|
|
87
|
-
|
|
88
|
+
npx --yes nccgs@2.0.0-rc.3 migrate-execution --project "D:\path\to\UnityProject" --to standalone --model-profile claude-standalone --dry-run
|
|
88
89
|
```
|
|
89
90
|
|
|
90
91
|
Inspect the dry run, then remove `--dry-run`. Omitting `--model-profile` preserves
|
|
@@ -96,7 +97,7 @@ task handling. Updating files never converts an old approval into a new one.
|
|
|
96
97
|
Start a task session with native permissions already selected:
|
|
97
98
|
|
|
98
99
|
```powershell
|
|
99
|
-
|
|
100
|
+
npx --yes nccgs@2.0.0-rc.3 run --project "D:\path\to\UnityProject"
|
|
100
101
|
```
|
|
101
102
|
|
|
102
103
|
New installations default to task autonomy `full`. Existing installations keep
|
|
@@ -131,7 +132,10 @@ Independent review uses Opus/high. These aliases are requested routes. Real Clau
|
|
|
131
132
|
model resolution and provider access must be verified in the target session.
|
|
132
133
|
Historical `astra-claude` routes remain available under compatibility execution.
|
|
133
134
|
|
|
134
|
-
##
|
|
135
|
+
## Maintainer verification and limits
|
|
136
|
+
|
|
137
|
+
These commands run from a source/package checkout. They are not extra steps for
|
|
138
|
+
users installing with npx, and do not initiate a Claude Code game run.
|
|
135
139
|
|
|
136
140
|
```text
|
|
137
141
|
npm run policy:build
|
package/UPGRADING.md
CHANGED
|
@@ -1,197 +1,109 @@
|
|
|
1
|
-
# Upgrading NCCGS
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
migrate
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
are updated. Preserve the frozen failed game cases and test in a fresh copy.
|
|
26
|
-
|
|
27
|
-
## Task autonomy (unreleased source change)
|
|
28
|
-
|
|
29
|
-
New installs select `.nccgs/autonomy.json` mode `full`; updates preserve existing
|
|
30
|
-
policy, including `guarded` for older projects without that file. Use
|
|
31
|
-
`nccgs update --autonomy full` for the owner's requested change, then launch/resume
|
|
32
|
-
with `nccgs run`. Native permission selection is session scoped; global settings
|
|
33
|
-
are unchanged. Existing deny rules, destructive-action guards and evidence gates
|
|
34
|
-
remain in force. Hook commands now resolve from the project root even after
|
|
35
|
-
outside-directory work; updates replace their legacy relative form once.
|
|
36
|
-
|
|
37
|
-
Autonomy policy is a canonical task input. Existing open tasks need input refresh
|
|
38
|
-
and fresh affected evidence after this update; their history and spent quotas
|
|
39
|
-
are not reset. Preserve frozen benchmark installations/results separately.
|
|
40
|
-
|
|
41
|
-
## 1.5.0-preview.1: explicit standalone migration
|
|
42
|
-
|
|
43
|
-
Read [the v1.5 guide](docs/NCCGS-1.5.md). Use this checkout's CLI or a locally packed
|
|
44
|
-
archive; this preview has not been published to npm. New installs use standalone
|
|
45
|
-
Claude Code execution. Existing installs without execution.json remain compatibility;
|
|
46
|
-
ordinary update preserves model profile, execution obligations, tasks and evidence.
|
|
47
|
-
|
|
48
|
-
After updating managed files, preview `migrate-execution --to standalone --dry-run`.
|
|
49
|
-
It changes execution policy only. Add `--model-profile claude-standalone` when also
|
|
50
|
-
changing model routes. Apply by removing `--dry-run`. Review the reported archive
|
|
51
|
-
under `.nccgs/backups/execution/<ID>` and reopen Claude Code after settings changes.
|
|
52
|
-
|
|
53
|
-
`migrate-execution --rollback ID --dry-run` previews restoration; removing
|
|
54
|
-
`--dry-run` restores only when current configuration and backup hashes still match.
|
|
55
|
-
Later user edits or altered archives block rollback. Caught migration failures
|
|
56
|
-
restore captured configuration. An OS kill can leave a prepared archive requiring
|
|
57
|
-
manual recovery; this is not a crash-atomic multi-file transaction.
|
|
58
|
-
|
|
59
|
-
Schema-1 tasks keep their original gates/history. Do not reinterpret them as schema-2
|
|
60
|
-
or clone them to reset consumed budgets. Finish them under compatibility configuration,
|
|
61
|
-
or retain them as blocked/history and open explicitly scoped new work with recorded
|
|
62
|
-
lineage. Fresh benchmarks must not reuse contaminated CP0 solutions.
|
|
63
|
-
|
|
64
|
-
The sections below describe historical versions and their original defaults.
|
|
65
|
-
|
|
66
|
-
## 1.4.1: input freshness, durable evidence and installation safety
|
|
67
|
-
|
|
68
|
-
Follow the [1.4.1 guide](docs/NCCGS-1.4.1.md). Map governing inputs and generated
|
|
69
|
-
build destinations in `.nccgs/inputs.json`. Runtime observations and raw sources
|
|
70
|
-
now live under `.nccgs/evidence/runtime/`; temporary bindings remain local.
|
|
71
|
-
|
|
72
|
-
For an open 1.4 task, run `task migrate-evidence --id ID`, then
|
|
73
|
-
`task refresh-inputs --id ID --reason TEXT` and record fresh stage evidence.
|
|
74
|
-
History, risk and consumed review rounds are preserved. A refresh cannot waive
|
|
75
|
-
review or acceptance. Closed old records remain historical and doctor reports
|
|
76
|
-
missing evidence. Keep original task/evidence files for rollback.
|
|
77
|
-
|
|
78
|
-
This patch keeps the existing Astra/Fable/Product Owner chain. The proposed
|
|
79
|
-
standalone architecture belongs to 1.5.
|
|
80
|
-
|
|
81
|
-
## 1.4.0: risk-based implementation and bounded review
|
|
82
|
-
|
|
83
|
-
Read the [1.4 guide](docs/NCCGS-1.4.md). Routing now comes from
|
|
84
|
-
`.claude/nccgs/pipeline.json`; generated files are checked for drift. Twelve core
|
|
85
|
-
agents are active by default; 35 additional roles are available through `agents
|
|
86
|
-
--enable`. Project customizations are preserved for explicit migration review.
|
|
87
|
-
|
|
88
|
-
Astra must map existing checks, closure artifacts and manual decisions into
|
|
89
|
-
`.nccgs/gates.json`, referencing the current project policy hash. A 1.2 policy with
|
|
90
|
-
embedded `profile_contracts` needs migration to the canonical `pipeline_policy`
|
|
91
|
-
reference. Do not discard project requirements during this migration.
|
|
92
|
-
|
|
93
|
-
Task records now enforce implementation -> independent review -> report -> Astra
|
|
94
|
-
check -> Product Owner acceptance. Missing observed effort blocks the gate; requested
|
|
95
|
-
settings alone do not prove runtime behavior. Each workflow loads only its selected
|
|
96
|
-
Astra or legacy branch. The legacy instructions later in this document apply only
|
|
97
|
-
to explicitly selected legacy profiles.
|
|
98
|
-
|
|
99
|
-
Version 1.4 adds FAST/STANDARD/CONTROLLED implementation routes and two core roles:
|
|
100
|
-
`nccgs-fast-implementer` and the read-only `nccgs-task-scout`. The existing Unity
|
|
101
|
-
implementer becomes the deep CONTROLLED lead. The library now has 47 roles.
|
|
102
|
-
Review limits are enforced at 2/3/3 rounds; re-recording implementation preserves
|
|
103
|
-
the counter. An explicit external `task extend-review --id ID --reason TEXT
|
|
104
|
-
--rounds N` can add rounds without waiving review or acceptance. Context/time
|
|
105
|
-
budgets are advisory; they are not automatic stop timers.
|
|
106
|
-
|
|
107
|
-
Old task records without `risk`, `implementationRoute`, or `reviewBudget` cannot
|
|
108
|
-
continue through the new gates. Keep them as history, initialize a new task with
|
|
109
|
-
the appropriate `--risk` (default STANDARD), and record fresh stage evidence.
|
|
110
|
-
Do not copy prior approvals into the new task or recreate a current task to reset
|
|
111
|
-
an exhausted budget. Reopen Claude Code after updating model settings and verify
|
|
112
|
-
the actual selected implementation model/effort.
|
|
113
|
-
|
|
114
|
-
## Astra / Opus / Fable routing
|
|
115
|
-
|
|
116
|
-
New installations default to `astra-claude`: Astra plans and owns documents;
|
|
117
|
-
Sonnet/medium handles FAST, Opus 5.5/medium handles STANDARD, and Opus 5.5/high handles CONTROLLED; Fable/high reviews; Claude hands the reviewed report to
|
|
118
|
-
Astra; Astra checks it; the Product Owner accepts before DONE. See the
|
|
119
|
-
[handoff protocol](.claude/nccgs/protocols/astra-claude.md).
|
|
120
|
-
|
|
121
|
-
Existing projects keep their profile unless explicitly changed. In each Unity
|
|
122
|
-
project, run `npx nccgs@latest update --model-profile astra-claude --dry-run`, inspect
|
|
123
|
-
it, then remove `--dry-run`. Source checkouts can use `node <NCCGS>/scripts/cli.mjs`
|
|
124
|
-
instead of `npx nccgs@latest`. Publishing alone does not update installed projects.
|
|
125
|
-
Use `install` instead of `update` for a new installation. Require Claude Code
|
|
126
|
-
2.1.280+ and access to Sonnet, Opus 5.5, and Fable. Review any
|
|
127
|
-
preserved agent/settings overrides so the observed model and effort match policy.
|
|
128
|
-
The configurator preserves unrelated shared settings and backs up replacements;
|
|
129
|
-
existing sessions and local/environment overrides still require a runtime check.
|
|
130
|
-
|
|
131
|
-
## Earlier update behavior
|
|
1
|
+
# Upgrading NCCGS 2.0 RC
|
|
2
|
+
|
|
3
|
+
Current candidate: **2.0.0-rc.3** on npm **next**. `latest` remains on the stable
|
|
4
|
+
release line. Pin an exact version when reproducing an installation.
|
|
5
|
+
Read [release status](docs/RELEASE-STATUS.md) for what has and has not been verified.
|
|
6
|
+
|
|
7
|
+
## Choose the operation
|
|
8
|
+
|
|
9
|
+
| Situation | Operation | Effect |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| No NCCGS installation | `install` | Adds framework and initial project policy |
|
|
12
|
+
| Existing NCCGS installation | `update` | Updates managed files; preserves project-owned policy and customizations |
|
|
13
|
+
| Intentionally adopt standalone execution | `migrate-execution --to standalone` | Explicitly changes execution configuration; separate from updating files |
|
|
14
|
+
| Resume work | `run` | Launches Claude Code with the project's configured obligations |
|
|
15
|
+
|
|
16
|
+
**Published-1.3.0 upgrade qualification is covered for the tested fixture matrix.**
|
|
17
|
+
See [upgrade qualification](docs/UPGRADE-QUALIFICATION.md) for scope and the RC2
|
|
18
|
+
issue corrected in RC3. Try a complete copy before applying an RC to active work.
|
|
19
|
+
|
|
20
|
+
## New installation
|
|
21
|
+
|
|
22
|
+
Requirements: Node.js 18+, Claude Code with access to the selected models, and a
|
|
23
|
+
Unity project with Assets, Packages and ProjectSettings. Live Unity operations
|
|
24
|
+
also require the appropriate Unity Editor/CLI integration.
|
|
132
25
|
|
|
133
26
|
```powershell
|
|
134
|
-
|
|
135
|
-
npx nccgs@
|
|
136
|
-
npx nccgs@
|
|
137
|
-
npx nccgs@latest doctor
|
|
27
|
+
npx --yes nccgs@2.0.0-rc.3 install --project "D:\path\to\UnityProject" --dry-run
|
|
28
|
+
npx --yes nccgs@2.0.0-rc.3 install --project "D:\path\to\UnityProject"
|
|
29
|
+
npx --yes nccgs@2.0.0-rc.3 doctor --project "D:\path\to\UnityProject"
|
|
138
30
|
```
|
|
139
31
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
NCCGS 1.1.1 also names its specialized review command `/nccgs-code-review` to avoid
|
|
156
|
-
colliding with Claude Code's built-in `/code-review` command.
|
|
157
|
-
|
|
158
|
-
When the installer reports that project migration is required, open a new Claude
|
|
159
|
-
Code session and run one command:
|
|
160
|
-
|
|
161
|
-
```text
|
|
162
|
-
/migrate-project
|
|
163
|
-
/status full
|
|
32
|
+
New installations select standalone execution and the claude-standalone model
|
|
33
|
+
profile. External review is off by default; manual/project acceptance obligations
|
|
34
|
+
still apply when required. New task autonomy defaults to full, activated by `run`;
|
|
35
|
+
OS restrictions, explicit deny rules and evidence/destructive-action guards remain.
|
|
36
|
+
|
|
37
|
+
## Update an existing installation
|
|
38
|
+
|
|
39
|
+
Back up the complete project first, including .claude, .nccgs, source, settings,
|
|
40
|
+
open task records and evidence. Stop active NCCGS sessions before applying an
|
|
41
|
+
update. Do not update a frozen evaluation in place.
|
|
42
|
+
|
|
43
|
+
```powershell
|
|
44
|
+
npx --yes nccgs@2.0.0-rc.3 update --project "D:\path\to\ProjectCopy" --dry-run
|
|
45
|
+
npx --yes nccgs@2.0.0-rc.3 update --project "D:\path\to\ProjectCopy"
|
|
46
|
+
npx --yes nccgs@2.0.0-rc.3 doctor --project "D:\path\to\ProjectCopy"
|
|
164
47
|
```
|
|
165
48
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
`.
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
49
|
+
Inspect the dry-run changes before the second command. Ordinary updates preserve
|
|
50
|
+
model profile, execution policy and project customizations. A project with no
|
|
51
|
+
execution.json retains compatibility obligations; selecting a model profile alone
|
|
52
|
+
does not migrate its execution policy. Existing autonomy settings are preserved.
|
|
53
|
+
|
|
54
|
+
Changed or intentionally missing managed files are recorded in
|
|
55
|
+
`.nccgs/framework-overrides.json`. Resolve pending overrides through the project's
|
|
56
|
+
reviewed migration workflow; do not use `--force` just to make doctor green. Keep
|
|
57
|
+
the project's canonical requirements and applicable gates. Reopen Claude Code
|
|
58
|
+
after changing hooks, settings or managed agents.
|
|
59
|
+
|
|
60
|
+
If update reports that NCCGS is not installed, use the exact RC `install` command
|
|
61
|
+
above after checking the target. Some legacy CLI messages mention `@latest`;
|
|
62
|
+
that selects the stable channel and does not select this RC.
|
|
63
|
+
|
|
64
|
+
## Optional execution-policy migration
|
|
65
|
+
|
|
66
|
+
After installing/updating, migrate only when the owner intends to adopt standalone.
|
|
67
|
+
Review any active task's pinned obligations before changing policy.
|
|
68
|
+
|
|
69
|
+
```powershell
|
|
70
|
+
npx --yes nccgs@2.0.0-rc.3 migrate-execution --project "D:\path\to\ProjectCopy" --to standalone --model-profile claude-standalone --dry-run
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Inspect the result, then repeat without `--dry-run` to apply. Omit
|
|
74
|
+
`--model-profile` to preserve model routes. An update alone does not perform this
|
|
75
|
+
migration. Schema-1 tasks retain their original gates/history; do not relabel them
|
|
76
|
+
as schema-2, reuse stale approvals or reset consumed attempts. A changed pipeline can block resuming an old task. Finish it before upgrading,
|
|
77
|
+
or explicitly scope subsequent work with retained lineage/evidence; updating or
|
|
78
|
+
rolling back execution settings does not re-approve an old task.
|
|
79
|
+
|
|
80
|
+
The command archives configuration under `.nccgs/backups/execution/<ID>`. To
|
|
81
|
+
preview restoration of that execution migration:
|
|
82
|
+
|
|
83
|
+
```powershell
|
|
84
|
+
npx --yes nccgs@2.0.0-rc.3 migrate-execution --project "D:\path\to\ProjectCopy" --rollback "MIGRATION_UUID" --dry-run
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Use the actual printed UUID; remove `--dry-run` only after reviewing the preview.
|
|
88
|
+
Rollback refuses changed current configuration or altered backup hashes and
|
|
89
|
+
requires a compatible framework version. It restores execution configuration,
|
|
90
|
+
**not a complete package downgrade**. A full recovery uses the complete project
|
|
91
|
+
backup. Do not install 1.3.0 over an RC project and assume task-schema downgrade
|
|
92
|
+
is safe. Caught migration failures restore captured configuration; an OS kill is
|
|
93
|
+
not an atomic transaction and may require manual recovery.
|
|
94
|
+
|
|
95
|
+
## Start and review work
|
|
96
|
+
|
|
97
|
+
```powershell
|
|
98
|
+
npx --yes nccgs@2.0.0-rc.3 run --project "D:\path\to\UnityProject"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Use `/status` in Claude Code to inspect obligations. Use `/migrate-project` when
|
|
102
|
+
the installer/doctor reports project migration or override review is required.
|
|
103
|
+
Installation and doctor checks prove package/setup integrity, not Claude execution,
|
|
104
|
+
game quality, completion of a task or human acceptance.
|
|
105
|
+
|
|
106
|
+
Existing projects that intentionally use Astra/Fable keep their configured chain.
|
|
107
|
+
See [compatibility gates](.claude/nccgs/protocols/task-gates.md). Historical 1.4/1.5
|
|
108
|
+
guides describe their original versions; this document governs the current RC's
|
|
109
|
+
installation commands and release status.
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.0.0-rc.
|
|
1
|
+
2.0.0-rc.3
|
package/docs/BOUNDED-REPAIR.md
CHANGED
|
@@ -1,60 +1,59 @@
|
|
|
1
|
-
# Hướng dẫn
|
|
1
|
+
# Hướng dẫn cài đặt và sử dụng NCCGS 2.0 RC
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Bản hiện tại: **2.0.0-rc.3**, kênh npm **next**. `latest` là kênh stable riêng.
|
|
4
|
+
Đây là ứng viên phát hành. Nâng cấp từ npm 1.3.0 đã được kiểm chứng trong phạm vi
|
|
5
|
+
[các tình huống thử](UPGRADE-QUALIFICATION.md); chạy trọn một đầu việc mới bằng
|
|
6
|
+
chính RC này vẫn là bước riêng chưa hoàn tất. Xem [trạng thái phát hành](RELEASE-STATUS.md).
|
|
6
7
|
|
|
7
|
-
## Cài
|
|
8
|
+
## Cài mới vào bản sao dự án
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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.
|
|
10
|
+
Cần Node.js 18+, Claude Code và Unity project có Assets, Packages, ProjectSettings.
|
|
11
|
+
Chức năng điều khiển Unity cần thêm Editor/CLI phù hợp. Thay đường dẫn ví dụ bằng
|
|
12
|
+
dự án của bạn; đọc kết quả xem trước rồi mới áp dụng:
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
```powershell
|
|
15
|
+
npx --yes nccgs@2.0.0-rc.3 install --project "D:\path\to\UnityProject" --dry-run
|
|
16
|
+
npx --yes nccgs@2.0.0-rc.3 install --project "D:\path\to\UnityProject"
|
|
17
|
+
npx --yes nccgs@2.0.0-rc.3 doctor --project "D:\path\to\UnityProject"
|
|
18
|
+
```
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
Có thể dùng `nccgs@next` để theo RC mới nhất; dùng số phiên bản cụ thể để tái lập.
|
|
21
|
+
Cài mới mặc định dùng Claude Code standalone, không yêu cầu Astra/Fable. Dự án cũ
|
|
22
|
+
vẫn giữ nghĩa vụ đã cấu hình; không tự bỏ một bước duyệt chỉ vì cài RC.
|
|
20
23
|
|
|
21
|
-
|
|
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 tự thay model/effort của route đã chọn hoặc Fable trong profile này.
|
|
24
|
+
## Dự án đã cài NCCGS
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
`--force` chỉ để
|
|
26
|
+
Sao lưu toàn bộ dự án và dừng phiên đang chạy. Dùng `update` thay `install`, luôn
|
|
27
|
+
xem `--dry-run` trên bản sao trước. Update giữ cấu hình dự án và các tùy chỉnh;
|
|
28
|
+
không dùng `--force` chỉ để xóa cảnh báo. Đọc [hướng dẫn nâng cấp](../UPGRADING.md)
|
|
29
|
+
để xử lý override, task đang mở, chuyển execution policy và khôi phục.
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
Nâng cấp file và chuyển sang standalone là hai thao tác riêng. Nếu muốn chuyển
|
|
32
|
+
execution policy, dùng `migrate-execution --to standalone --dry-run` theo hướng dẫn.
|
|
33
|
+
Không tự đổi task cũ, xóa lịch sử hay đặt lại số lượt đã dùng. Sau thay hook/cấu hình,
|
|
34
|
+
mở lại phiên Claude Code.
|
|
31
35
|
|
|
32
|
-
|
|
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.
|
|
36
|
+
## Bắt đầu một đầu việc rõ ràng
|
|
35
37
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
Schema và lệnh chi tiết có trong [hướng dẫn 1.4](NCCGS-1.4.md).
|
|
38
|
+
```powershell
|
|
39
|
+
npx --yes nccgs@2.0.0-rc.3 run --project "D:\path\to\UnityProject"
|
|
40
|
+
```
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
từ ngoài phiên Claude qua `task extend-review` mới cho phép review thêm. Các mốc
|
|
45
|
-
context/thời gian là hướng dẫn, không phải giới hạn được tool tự thực thi.
|
|
42
|
+
Trong Claude Code, cung cấp mục tiêu, phạm vi, yêu cầu cố định, phần được phép sửa
|
|
43
|
+
và điều kiện nghiệm thu. NCCGS lập hợp đồng công việc, phân loại mức rủi ro, gọi
|
|
44
|
+
worker phù hợp, thu bằng chứng kiểm tra và yêu cầu review độc lập trước khi đóng.
|
|
46
45
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
- `/work`: triển khai thay đổi.
|
|
47
|
+
- `/design`: làm rõ thiết kế/yêu cầu; tính năng có design gate phải được review trước.
|
|
48
|
+
- `/audit`: kiểm tra mà không sửa source.
|
|
49
|
+
- `/test`, `/review`: kiểm chứng và review theo hợp đồng.
|
|
50
|
+
- `/status`: xem trạng thái, bằng chứng và việc còn chặn.
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
Có 47 vai trò trong thư viện, 13 vai trò bật mặc định. FAST yêu cầu Sonnet/medium;
|
|
53
|
+
STANDARD Opus/medium; CONTROLLED Opus/high; reviewer Opus/high. Đây là cấu hình
|
|
54
|
+
mong muốn, không phải bằng chứng model thực chạy. Chỉ gọi chuyên gia khi cần.
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
Các profile `quality`, `balanced`, `inherit` giữ quy trình cũ trong từng
|
|
60
|
-
`references/legacy.md`. Chọn chúng là chủ động dùng luồng legacy.
|
|
56
|
+
Đạt test chưa tự động nghĩa là DONE. Phải có bằng chứng đúng source/contract,
|
|
57
|
+
review hợp lệ và mọi gate áp dụng đều đạt. Nghiệm thu kỹ thuật và quyết định nghiệm
|
|
58
|
+
thu của người dùng được ghi riêng. Một lượt thất bại phải được giữ cùng chi phí,
|
|
59
|
+
nguyên nhân và kết quả sửa lại.
|
package/docs/NCCGS-1.3.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
> Historical development/reference document. Version, status, commands and plans
|
|
2
|
+
> below describe their original scope, not the current package defaults. Read
|
|
3
|
+
> [current release guidance](RELEASE-STATUS.md) before use. Research/benchmark proposals
|
|
4
|
+
> do not automatically add requirements to a delivery contract.
|
|
5
|
+
|
|
1
6
|
# NCCGS 1.3 — tài liệu phiên bản trước
|
|
2
7
|
|
|
3
8
|
Hướng dẫn đang dùng đã chuyển sang [NCCGS 1.4](NCCGS-1.4.md). Đường dẫn này được
|
package/docs/NCCGS-1.4.1.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
> Historical development/reference document. Version, status, commands and plans
|
|
2
|
+
> below describe their original scope, not the current package defaults. Read
|
|
3
|
+
> [current release guidance](RELEASE-STATUS.md) before use. Research/benchmark proposals
|
|
4
|
+
> do not automatically add requirements to a delivery contract.
|
|
5
|
+
|
|
1
6
|
# NCCGS 1.4.1 — reliable inputs and evidence
|
|
2
7
|
|
|
3
8
|
This patch strengthens installation, verification and historical evidence. It keeps
|
package/docs/NCCGS-1.4.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
> Historical development/reference document. Version, status, commands and plans
|
|
2
|
+
> below describe their original scope, not the current package defaults. Read
|
|
3
|
+
> [current release guidance](RELEASE-STATUS.md) before use. Research/benchmark proposals
|
|
4
|
+
> do not automatically add requirements to a delivery contract.
|
|
5
|
+
|
|
1
6
|
# NCCGS 1.4 — chọn model theo rủi ro và giới hạn vòng review
|
|
2
7
|
|
|
3
8
|
NCCGS dùng một nguồn cấu hình tại `.claude/nccgs/pipeline.json`:
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
> Historical development/reference document. Version, status, commands and plans
|
|
2
|
+
> below describe their original scope, not the current package defaults. Read
|
|
3
|
+
> [current release guidance](RELEASE-STATUS.md) before use. Research/benchmark proposals
|
|
4
|
+
> do not automatically add requirements to a delivery contract.
|
|
2
5
|
|
|
3
6
|
# Kế hoạch triển khai NCCGS 1.5 và đánh giá điều kiện phát hành 2.0
|
|
4
7
|
|
package/docs/NCCGS-1.5-PILOT.md
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
> Historical development/reference document. Version, status, commands and plans
|
|
2
|
+
> below describe their original scope, not the current package defaults. Read
|
|
3
|
+
> [current release guidance](RELEASE-STATUS.md) before use. Research/benchmark proposals
|
|
4
|
+
> do not automatically add requirements to a delivery contract.
|
|
2
5
|
|
|
3
6
|
# Claude Code pilot and benchmark protocol
|
|
4
7
|
|
package/docs/NCCGS-1.5.md
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
> Historical development/reference document. Version, status, commands and plans
|
|
2
|
+
> below describe their original scope, not the current package defaults. Read
|
|
3
|
+
> [current release guidance](RELEASE-STATUS.md) before use. Research/benchmark proposals
|
|
4
|
+
> do not automatically add requirements to a delivery contract.
|
|
2
5
|
|
|
3
6
|
# NCCGS 1.5 preview — implementation and operation
|
|
4
7
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Phase 1: durable verification and bounded continuation
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
These verification and continuation mechanisms originated in the 1.5 preview
|
|
4
|
+
and are included in 2.0 RC. Historical test descriptions below retain their original
|
|
5
|
+
scope. See [current release status](RELEASE-STATUS.md) for completed and pending checks.
|
|
6
6
|
|
|
7
7
|
## Run a verification once
|
|
8
8
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Phase 2: measured acceptance and a protected repair cycle
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
These acceptance and dispatch mechanisms originated in the 1.5 preview and are
|
|
4
|
+
included in 2.0 RC. They do not tune a game or rewrite frozen evaluations. See
|
|
5
|
+
[current release status](RELEASE-STATUS.md) for validation scope.
|
|
6
6
|
|
|
7
7
|
The owner revised the evaluation scope on 2026-10-04: NCCGS must support delivery
|
|
8
8
|
from brief through implementation, testing and acceptance. Product balance research
|
package/docs/PROJECT-POLICY.md
CHANGED
|
@@ -8,7 +8,8 @@ verification, closure, or Unity execution for the project.
|
|
|
8
8
|
|
|
9
9
|
- project stage and platforms;
|
|
10
10
|
- enabled departments and bounded orchestration;
|
|
11
|
-
-
|
|
11
|
+
- execution policy and external/manual acceptance obligations;
|
|
12
|
+
- `claude-standalone`, `astra-claude`, `quality`, `balanced`, or `inherit` model profile and fallback policy;
|
|
12
13
|
- canonical sources for product, design, architecture, planning, art, narrative,
|
|
13
14
|
audio, and release;
|
|
14
15
|
- protected/user-owned/generated paths and hand-tuned settings;
|
|
@@ -19,13 +20,16 @@ verification, closure, or Unity execution for the project.
|
|
|
19
20
|
|
|
20
21
|
## Model policy
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
FAST
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
New installations use standalone execution with `claude-standalone`: Sonnet/medium
|
|
24
|
+
for FAST, Opus/medium for STANDARD, Opus/high for CONTROLLED and Opus/high for
|
|
25
|
+
independent review. These are requested aliases and effort, not runtime observations.
|
|
26
|
+
Execution policy lives separately in `.nccgs/execution.json`; changing a model
|
|
27
|
+
profile does not remove task gates or migrate compatibility execution.
|
|
28
|
+
|
|
29
|
+
Existing compatibility projects selecting `astra-claude` retain Astra planning,
|
|
30
|
+
Fable review and their configured approval chain. See the
|
|
31
|
+
[compatibility protocol](../.claude/nccgs/protocols/astra-claude.md). Ordinary
|
|
32
|
+
updates preserve existing selections and obligations.
|
|
29
33
|
|
|
30
34
|
Use `quality` when result quality is primary and all model tiers are available. Use
|
|
31
35
|
`balanced` when leadership coordination does not need Opus by default. Use `inherit`
|
|
@@ -43,11 +47,12 @@ translate YAML conditions: Astra must preserve and map all existing safeguards.
|
|
|
43
47
|
See [task gates](../.claude/nccgs/protocols/task-gates.md) for evidence formats.
|
|
44
48
|
|
|
45
49
|
`contract.taskTiers` selects each task's implementation class and review limit.
|
|
46
|
-
`task init --risk` defaults to STANDARD;
|
|
50
|
+
Compatibility `task init --risk` defaults to STANDARD; standalone intake uses its
|
|
51
|
+
classifier and explicit risk evidence. FAST allows two recorded reviews and
|
|
47
52
|
STANDARD/CONTROLLED allow three. Re-recording implementation does not reset the
|
|
48
53
|
counter. Only an explicit external `task extend-review` decision adds rounds.
|
|
49
|
-
An exhausted budget is not acceptance.
|
|
50
|
-
|
|
54
|
+
An exhausted budget is not acceptance. Planning estimates do not extend configured
|
|
55
|
+
dispatch/session/check limits. Read the active execution policy and actual ledger.
|
|
51
56
|
|
|
52
57
|
## Canonical sources and context
|
|
53
58
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# NCCGS 2.0 RC release status
|
|
2
|
+
|
|
3
|
+
Current candidate: **2.0.0-rc.3**. Release channel: **next**. Latest/stable is not
|
|
4
|
+
promoted by this candidate. Pin the exact version for reproducible evaluation.
|
|
5
|
+
|
|
6
|
+
## What the evidence supports
|
|
7
|
+
|
|
8
|
+
| Check | Status and scope |
|
|
9
|
+
|---|---|
|
|
10
|
+
| Framework functional regression | Previous maintained source: 183 PASS, 0 FAIL, 6 Windows symlink skips across 189 tests. RC3 changes installer recognition of previously generated agents and adds a focused regression. Installer/policy suites and exact-archive upgrade qualification are rerun for this change. |
|
|
11
|
+
| Scoped native delivery V2 case | 24/24 criteria,137 EditMode,52 PlayMode and independent unconditional Claude Code PASS. Operator-assisted; used a frozen framework with a session-only reviewer capacity override. |
|
|
12
|
+
| RC package integrity | Release procedure verifies version consistency, public contents, documentation links, and install/doctor on a fresh disposable fixture using the packed archive. This is not an upgrade or provider task test. |
|
|
13
|
+
| Upgrade from published npm 1.3.0 | Qualified within the disposable fixture matrix; RC2 exposed a generated-agent issue corrected in RC3. See [scope and limits](UPGRADE-QUALIFICATION.md). |
|
|
14
|
+
| Fresh task through this exact RC | PENDING — separate qualification step. Earlier delivery evidence is not attributed to a new run. |
|
|
15
|
+
| Human third-party acceptance | Separate decision; not supplied by installation, tests or this release status. |
|
|
16
|
+
| Broad game quality/productivity | Not established. No universal quality, balance, cost or efficiency claim. |
|
|
17
|
+
|
|
18
|
+
## Public package boundary
|
|
19
|
+
|
|
20
|
+
The package contains the CLI, framework roles/protocols/hooks, project scaffold,
|
|
21
|
+
public guidance, tests and attributed third-party assets. Root and installed
|
|
22
|
+
MEMORY.md contain portable operating principles only. Project-specific permission
|
|
23
|
+
statements, account/session details, provider budgets, raw game/evaluation files
|
|
24
|
+
and internal closeout history are retained outside the npm package.
|
|
25
|
+
|
|
26
|
+
Historical 1.3/1.4/1.5 documents are explicitly labeled as historical. Their old
|
|
27
|
+
version names, pending states, proposed research and compatibility commands do not
|
|
28
|
+
change current defaults or add new delivery gates. Current installation guidance
|
|
29
|
+
is in [UPGRADING.md](../UPGRADING.md) and the
|
|
30
|
+
[Vietnamese quick start](HUONG-DAN-MIGRATE-VA-SU-DUNG.md).
|
|
31
|
+
|
|
32
|
+
## RC3 change scope
|
|
33
|
+
|
|
34
|
+
RC1 already standardized package metadata and removed private memory. RC2 finishes
|
|
35
|
+
public documentation: current standalone defaults, exact-version npm commands,
|
|
36
|
+
separate update/migration/rollback instructions, current role counts and visible
|
|
37
|
+
historical boundaries. Those RC2 documentation edits changed no runtime JavaScript, model routing, game
|
|
38
|
+
code, acceptance threshold or frozen evaluation. RC3 changes the installer only
|
|
39
|
+
and adds its regression; no game or frozen evaluation is changed. See [changelog](../CHANGELOG.md).
|
|
40
|
+
|
|
41
|
+
The major candidate communicates standalone defaults and explicit policy migration
|
|
42
|
+
from the older compatibility workflow. Existing task obligations are retained.
|
|
43
|
+
RC3 corrects one installer defect exposed by upgrade qualification. The exact-RC
|
|
44
|
+
Claude Code task remains pending; stable is not promoted.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Published 1.3.0 upgrade qualification
|
|
2
|
+
|
|
3
|
+
Target: **2.0.0-rc.3**. This is installation/configuration qualification on Windows
|
|
4
|
+
with Node.js 24.12.0 using the published npm 1.3.0 archive and the exact RC3 archive.
|
|
5
|
+
It does not establish Node 18, macOS/Linux, provider execution or gameplay results.
|
|
6
|
+
|
|
7
|
+
## Tested scope
|
|
8
|
+
|
|
9
|
+
- Fresh 1.3.0 installations with astra-claude, quality, balanced and inherit profiles;
|
|
10
|
+
update dry run, actual update, doctor and repeat update without content drift.
|
|
11
|
+
- Owner source, project policy, custom Claude instructions/agents, local settings,
|
|
12
|
+
explicit permissions, environment and custom hooks sharing a managed hook group.
|
|
13
|
+
- A task created by the real 1.3.0 CLI, with explicitly synthetic history/allowance
|
|
14
|
+
sentinels: task bytes and evidence are retained; an incomplete task cannot close.
|
|
15
|
+
- Edited and deleted managed files are preserved and require migration review.
|
|
16
|
+
A successful update exit does not waive a failing doctor or approve overrides.
|
|
17
|
+
- Malformed settings are rejected before project writes.
|
|
18
|
+
- Explicit standalone migration, dry runs and exact restoration of captured
|
|
19
|
+
configuration; later edits and altered backup hashes prevent rollback.
|
|
20
|
+
- Recovery from a complete pre-upgrade project backup, verified by file hashes and
|
|
21
|
+
the old doctor. Execution rollback alone is not a framework downgrade.
|
|
22
|
+
|
|
23
|
+
## RC2 finding and correction
|
|
24
|
+
|
|
25
|
+
RC2 falsely treated nccgs-game-designer as a local override when upgrading clean
|
|
26
|
+
quality, balanced or inherit installations. The old profile had generated that
|
|
27
|
+
agent outside its managed-file list; RC2 started managing it but ignored the
|
|
28
|
+
recorded generation fingerprint. RC3 accepts unchanged recorded generated bytes
|
|
29
|
+
as an update baseline. Real edits and explicit override records remain protected.
|
|
30
|
+
|
|
31
|
+
Use RC3 directly from a backed-up 1.3.0 installation. If RC2 already recorded a
|
|
32
|
+
pending override, review/rebase it through the documented migration workflow or
|
|
33
|
+
recover the complete pre-upgrade backup before retrying RC3. Do not use --force
|
|
34
|
+
or approve all overrides merely to suppress this warning.
|
|
35
|
+
|
|
36
|
+
## Limits that still apply
|
|
37
|
+
|
|
38
|
+
Ordinary update preserves model selection and compatibility obligations; adopting
|
|
39
|
+
standalone is explicit. Preserving task bytes does not make old approvals current.
|
|
40
|
+
The new pipeline can block an old task from resuming; finish before upgrading or
|
|
41
|
+
create explicitly scoped continuation work while retaining history and evidence.
|
|
42
|
+
|
|
43
|
+
Fixtures have Unity directory markers and sentinel source files. No Unity Editor
|
|
44
|
+
or Claude worker is launched. The native exact-RC task is a separate pending step.
|
|
45
|
+
Automated fixture results are not third-party human acceptance.
|
package/docs/WORKFLOWS.md
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
# NCCGS workflows
|
|
1
|
+
# NCCGS workflows — 2.0 RC
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
New installations use standalone Claude Code execution with the claude-standalone
|
|
4
|
+
model profile. The coordinator owns intake, planning, dispatch, verification and
|
|
5
|
+
reporting; a separate Claude Code reviewer owns the verdict. External/manual
|
|
6
|
+
acceptance is required only by the configured policy and approved contract.
|
|
7
|
+
See [standalone execution](../.claude/nccgs/protocols/standalone.md) and
|
|
8
|
+
[standalone gates](../.claude/nccgs/protocols/standalone-gates.md).
|
|
9
|
+
|
|
10
|
+
Existing compatibility projects retain their Astra/Fable or legacy chain; select
|
|
11
|
+
obligations from execution.json before model routing. Updates do not silently
|
|
12
|
+
convert those projects. See [upgrading](../UPGRADING.md).
|
|
10
13
|
|
|
11
14
|
## Risk tiers
|
|
12
15
|
|
|
@@ -16,28 +19,29 @@ Task records and executable gates follow the [1.4 guide](NCCGS-1.4.md).
|
|
|
16
19
|
| STANDARD | Ordinary feature or coordinated change | Contract, context packet, one standard implementer, independent verification, closure; 3 review rounds |
|
|
17
20
|
| CONTROLLED | Architecture, compatibility, dependency, migration, security, release | One deep implementation lead, impact/decision record, relevant specialists, rollback, full gates; 3 review rounds |
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
Standalone intake is classified conservatively; ready local fixes may use FAST,
|
|
23
|
+
ordinary features STANDARD, and cross-system/high-risk work CONTROLLED. Compatibility
|
|
24
|
+
tasks also support explicit risk. FAST uses nccgs-fast-implementer; CONTROLLED uses
|
|
25
|
+
nccgs-unity-implementer as its deep lead. Use the read-only task scout only for a
|
|
26
|
+
specific missing fact. All tiers retain independent review and applicable contract
|
|
27
|
+
gates; standalone review requests Opus/high.
|
|
24
28
|
|
|
25
29
|
Stop when criteria and relevant checks pass without actionable blockers. Avoid
|
|
26
30
|
speculative scope expansion, duplicate reviewers, and repeated green checks.
|
|
27
31
|
Rerun only for changed inputs, failures, or new evidence. Subjective questions go
|
|
28
32
|
to a playable test. Exhausted review rounds require an evidence-backed stop or an
|
|
29
33
|
explicit external `task extend-review`; re-recording implementation does not reset
|
|
30
|
-
them.
|
|
34
|
+
them. Configured dispatch, supervised session and verification limits remain effective;
|
|
35
|
+
advisory planning estimates never extend them or waive a gate.
|
|
31
36
|
|
|
32
37
|
## End-to-end work
|
|
33
38
|
|
|
34
39
|
```text
|
|
35
|
-
request ->
|
|
36
|
-
-> Claude
|
|
37
|
-
->
|
|
38
|
-
->
|
|
39
|
-
->
|
|
40
|
-
-> report -> Astra check -> Product Owner acceptance
|
|
40
|
+
request -> approved contract, mode, risk and design readiness
|
|
41
|
+
-> reserved Claude Code worker with bounded ownership
|
|
42
|
+
-> verification tied to current source and contract
|
|
43
|
+
-> independent reviewer verdict
|
|
44
|
+
-> report and configured external/manual acceptance
|
|
41
45
|
-> task close after all executable gates pass
|
|
42
46
|
```
|
|
43
47
|
|
|
@@ -60,15 +64,16 @@ available when a user wants a bounded workflow or output.
|
|
|
60
64
|
|
|
61
65
|
## Role composition examples
|
|
62
66
|
|
|
63
|
-
|
|
67
|
+
The standalone coordinator routes feature design to the game designer and obtains
|
|
68
|
+
independent design review before dependent implementation when required.
|
|
64
69
|
One gameplay programmer owns implementation; a Unity systems specialist may support
|
|
65
70
|
a separate bounded concern where needed, followed by verification. A UI feature
|
|
66
71
|
has one UI implementation owner; UX, accessibility, or Unity UI specialists join only
|
|
67
72
|
for a concrete question or distinct deliverable, followed by independent verification.
|
|
68
73
|
|
|
69
74
|
CONTROLLED network-save work can enable optional technical architect, network
|
|
70
|
-
programmer and security engineer roles.
|
|
71
|
-
|
|
75
|
+
programmer and security engineer roles. The standalone reviewer reviews all three
|
|
76
|
+
risk tiers. Optional roles are activated explicitly; the default loads 13 of 47 roles.
|
|
72
77
|
|
|
73
78
|
## Evidence states
|
|
74
79
|
|
package/package.json
CHANGED
package/scripts/install.mjs
CHANGED
|
@@ -88,6 +88,7 @@ const overrideManifestPath = projectPath(".nccgs/framework-overrides.json");
|
|
|
88
88
|
// even when a pre-existing file would otherwise be preserved or skipped.
|
|
89
89
|
for (const relative of ["CLAUDE.md", ".claude/settings.json", ".nccgs/project.yaml", ".nccgs/execution.json", ".nccgs/backups", ".nccgs/agent-activation.json"]) projectPath(relative);
|
|
90
90
|
const previousInstallState = readJsonIfPresent(installStatePath, "NCCGS install state");
|
|
91
|
+
const previousActivation = readJsonIfPresent(projectPath(".nccgs/agent-activation.json"), "NCCGS agent activation state");
|
|
91
92
|
const executionFile = projectPath(".nccgs/execution.json");
|
|
92
93
|
const previousExecution = readJsonIfPresent(executionFile, "NCCGS execution policy");
|
|
93
94
|
const existingProjectPolicy = fs.existsSync(projectPath(".nccgs/project.yaml"));
|
|
@@ -308,6 +309,15 @@ function planFrameworkFile(item) {
|
|
|
308
309
|
}
|
|
309
310
|
if (equivalentFiles(item.source, item.destination)) return { ...item, action: "current", override: null };
|
|
310
311
|
if (!force && previous && matchesFingerprint(item.destination, previous)) return { ...item, action: "replace", override: null };
|
|
312
|
+
// Older profiles could generate optional agents outside install-state.files.
|
|
313
|
+
// When a later package starts managing one, its recorded generated bytes are
|
|
314
|
+
// a valid baseline. Real local edits and explicit overrides still need review.
|
|
315
|
+
const generated = previousActivation?.schemaVersion === 1 && item.relative.startsWith(".claude/agents/")
|
|
316
|
+
? { sha256: previousActivation.generated?.[item.relative], canonicalSha256: previousActivation.generatedCanonical?.[item.relative] }
|
|
317
|
+
: null;
|
|
318
|
+
if (!force && previousInstallState && !previous && !existingOverride && matchesFingerprint(item.destination, generated)) {
|
|
319
|
+
return { ...item, action: "replace", override: null };
|
|
320
|
+
}
|
|
311
321
|
if (force) return { ...item, action: "force-replace", override: null };
|
|
312
322
|
return { ...item, action: "preserve", override: buildOverride(item, existingOverride, upstream, "preserve") };
|
|
313
323
|
}
|
package/tests/framework.test.mjs
CHANGED
|
@@ -459,6 +459,44 @@ test("update replaces untouched files, preserves local overrides, and doctor gat
|
|
|
459
459
|
}
|
|
460
460
|
});
|
|
461
461
|
|
|
462
|
+
test("update adopts unchanged generated agents newly tracked by the package, preserving real edits", () => {
|
|
463
|
+
const f = safetyFixture("nccgs-generated-adoption-");
|
|
464
|
+
try {
|
|
465
|
+
const installed = f.run("install", "--model-profile", "quality");
|
|
466
|
+
assert.equal(installed.status, 0, installed.stderr || installed.stdout);
|
|
467
|
+
const relative = ".claude/agents/nccgs-game-designer.md";
|
|
468
|
+
const file = path.join(f.project, relative);
|
|
469
|
+
const stateFile = path.join(f.project, ".claude/nccgs/install-state.json");
|
|
470
|
+
const generatedFile = path.join(f.project, ".nccgs/agent-activation.json");
|
|
471
|
+
const original = fs.readFileSync(file, "utf8");
|
|
472
|
+
// Older packages can generate a profile's optional agent without listing it
|
|
473
|
+
// in install-state.files. A later package can make that agent a core file.
|
|
474
|
+
const state = JSON.parse(fs.readFileSync(stateFile, "utf8"));
|
|
475
|
+
state.files = state.files.filter(item => item.relative !== relative);
|
|
476
|
+
fs.writeFileSync(stateFile, JSON.stringify(state));
|
|
477
|
+
const update = f.run("update");
|
|
478
|
+
assert.equal(update.status, 0, update.stderr || update.stdout);
|
|
479
|
+
const doctor = f.run("doctor");
|
|
480
|
+
assert.equal(doctor.status, 0, doctor.stderr || doctor.stdout);
|
|
481
|
+
assert.equal(fs.readFileSync(file, "utf8"), original);
|
|
482
|
+
assert.ok(JSON.parse(fs.readFileSync(stateFile)).files.some(item => item.relative === relative));
|
|
483
|
+
|
|
484
|
+
// A stored generated hash alone must never authorize replacing later edits.
|
|
485
|
+
const nextState = JSON.parse(fs.readFileSync(stateFile, "utf8"));
|
|
486
|
+
nextState.files = nextState.files.filter(item => item.relative !== relative);
|
|
487
|
+
fs.writeFileSync(stateFile, JSON.stringify(nextState));
|
|
488
|
+
assert.ok(JSON.parse(fs.readFileSync(generatedFile)).generated[relative]);
|
|
489
|
+
const customized = original + "\nOwner instruction: keep the custom design rule.\n";
|
|
490
|
+
fs.writeFileSync(file, customized);
|
|
491
|
+
const preserved = f.run("update");
|
|
492
|
+
assert.equal(preserved.status, 0, preserved.stderr || preserved.stdout);
|
|
493
|
+
assert.equal(fs.readFileSync(file, "utf8"), customized);
|
|
494
|
+
const manifest = JSON.parse(fs.readFileSync(path.join(f.project, ".nccgs/framework-overrides.json")));
|
|
495
|
+
assert.equal(manifest.overrides.find(item => item.path === relative).status, "pending_review");
|
|
496
|
+
assert.equal(f.run("doctor").status, 1);
|
|
497
|
+
} finally { f.dispose(); }
|
|
498
|
+
});
|
|
499
|
+
|
|
462
500
|
test("doctor accepts a legacy CRLF raw hash after Git normalizes the file to LF", () => {
|
|
463
501
|
const temp = fs.mkdtempSync(path.join(os.tmpdir(), "nccgs-eol-test-"));
|
|
464
502
|
try {
|