nccgs 2.0.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.
Files changed (82) hide show
  1. package/.claude/agents/nccgs-adversarial-reviewer.md +1 -1
  2. package/.claude/agents/nccgs-engine-programmer.md +1 -1
  3. package/.claude/agents/nccgs-fast-implementer.md +1 -1
  4. package/.claude/agents/nccgs-game-designer.md +1 -1
  5. package/.claude/agents/nccgs-gameplay-programmer.md +1 -1
  6. package/.claude/agents/nccgs-qa-engineer.md +1 -1
  7. package/.claude/agents/nccgs-task-scout.md +1 -1
  8. package/.claude/agents/nccgs-ui-programmer.md +1 -1
  9. package/.claude/agents/nccgs-unity-build-specialist.md +1 -1
  10. package/.claude/agents/nccgs-unity-implementer.md +1 -1
  11. package/.claude/agents/nccgs-unity-systems-specialist.md +1 -1
  12. package/.claude/agents/nccgs-unity-ui-specialist.md +1 -1
  13. package/.claude/agents/nccgs-verification-engineer.md +1 -1
  14. package/.claude/nccgs/MEMORY.md +9 -3
  15. package/.claude/nccgs/VERSION +1 -1
  16. package/.claude/nccgs/constitution.md +187 -176
  17. package/.claude/nccgs/hooks/closure-guard.mjs +2 -0
  18. package/.claude/nccgs/hooks/unity-transport-guard.mjs +11 -0
  19. package/.claude/nccgs/pipeline.json +260 -260
  20. package/.claude/nccgs/protocols/context-packets.md +5 -0
  21. package/.claude/nccgs/protocols/model-routing.md +46 -46
  22. package/.claude/nccgs/protocols/review-handoff.md +21 -1
  23. package/.claude/nccgs/protocols/shared-workflow-context.md +33 -0
  24. package/.claude/nccgs/protocols/unity-boundary.md +20 -0
  25. package/.claude/nccgs/routing.generated.md +4 -4
  26. package/.claude/nccgs/settings.fragment.json +84 -24
  27. package/.claude/nccgs/studio.json +53 -53
  28. package/.claude/nccgs/tools/autonomy.mjs +13 -0
  29. package/.claude/nccgs/tools/command-tokens.mjs +22 -0
  30. package/.claude/nccgs/tools/compile-policy.mjs +4 -0
  31. package/.claude/nccgs/tools/configure-models.mjs +4 -0
  32. package/.claude/nccgs/tools/hook-transport.mjs +34 -0
  33. package/.claude/nccgs/tools/installation-guard.mjs +55 -0
  34. package/.claude/nccgs/tools/native-completion.mjs +10 -1
  35. package/.claude/nccgs/tools/returned-handoff.mjs +11 -2
  36. package/.claude/nccgs/tools/shared-context-guard.mjs +60 -0
  37. package/.claude/nccgs/tools/shared-context.mjs +25 -0
  38. package/.claude/nccgs/tools/tool-guard.mjs +120 -131
  39. package/.claude/nccgs/tools/unity-transport.mjs +170 -0
  40. package/.claude/nccgs/workflow-catalog.json +4 -4
  41. package/CHANGELOG.md +235 -165
  42. package/CLAUDE.md +10 -8
  43. package/MEMORY.md +109 -56
  44. package/README.md +206 -168
  45. package/UPGRADING.md +130 -112
  46. package/VERSION +1 -1
  47. package/docs/ARCHITECTURE.md +131 -131
  48. package/docs/ASSET-PRODUCTION-GRAPHIFY-PLAN.md +230 -0
  49. package/docs/HUONG-DAN-MIGRATE-VA-SU-DUNG.md +117 -87
  50. package/docs/NCCGS-1.5.md +237 -237
  51. package/docs/PROJECT-POLICY.md +94 -94
  52. package/docs/RELEASE-STATUS.md +32 -7
  53. package/docs/UNINSTALL.md +134 -0
  54. package/docs/WFK17-HOOK-REPAIR.md +71 -0
  55. package/docs/WORKFLOWS.md +85 -85
  56. package/package.json +1 -1
  57. package/scaffold/.nccgs/project.yaml +109 -108
  58. package/scripts/benchmark-v15.mjs +173 -173
  59. package/scripts/cli.mjs +11 -2
  60. package/scripts/doctor.mjs +261 -261
  61. package/scripts/install.mjs +530 -515
  62. package/scripts/recover-session.mjs +89 -0
  63. package/scripts/run.mjs +22 -9
  64. package/scripts/supervise.mjs +4 -0
  65. package/scripts/uninstall.mjs +292 -0
  66. package/scripts/validate.mjs +285 -278
  67. package/tests/autonomy.test.mjs +126 -113
  68. package/tests/design-readiness.test.mjs +199 -199
  69. package/tests/fixtures/compiler-shutdown.cs +67 -64
  70. package/tests/fixtures/native-provider.mjs +61 -0
  71. package/tests/framework.test.mjs +740 -740
  72. package/tests/hook-repair.test.mjs +106 -0
  73. package/tests/lifecycle-v15.test.mjs +346 -300
  74. package/tests/native-completion-notices.test.mjs +181 -0
  75. package/tests/phase1.test.mjs +427 -416
  76. package/tests/phase2.test.mjs +250 -250
  77. package/tests/policy-v15.test.mjs +234 -234
  78. package/tests/returned-handoff-notices.test.mjs +170 -0
  79. package/tests/runtime-v15.test.mjs +1197 -1191
  80. package/tests/task-slices.test.mjs +285 -285
  81. package/tests/uninstall.test.mjs +477 -0
  82. package/tests/unity-transport.test.mjs +348 -0
@@ -1,94 +1,94 @@
1
- # Project policy
2
-
3
- `.nccgs/project.yaml` adapts NCCGS to one project. Keep generic framework behavior out
4
- of this file; record only choices that change routing, authority, ownership, context,
5
- verification, closure, or Unity execution for the project.
6
-
7
- ## Required decisions
8
-
9
- - project stage and platforms;
10
- - enabled departments and bounded orchestration;
11
- - execution policy and external/manual acceptance obligations;
12
- - `claude-standalone`, `astra-claude`, `quality`, `balanced`, or `inherit` model profile and fallback policy;
13
- - canonical sources for product, design, architecture, planning, art, narrative,
14
- audio, and release;
15
- - protected/user-owned/generated paths and hand-tuned settings;
16
- - architecture constraints, packages and services;
17
- - Unity version, render/UI/input systems and CLI/Pipeline preference;
18
- - test/build/runtime baselines and recurring Product Owner gates;
19
- - closure mode, linked artifacts, completion rules and waiver policy.
20
-
21
- ## Model policy
22
-
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.
33
-
34
- Use `quality` when result quality is primary and all model tiers are available. Use
35
- `balanced` when leadership coordination does not need Opus by default. Use `inherit`
36
- when subscription/context compatibility or explicit user control is more important
37
- than automatic routing.
38
-
39
- The `models.overrides` field is reserved; the configurator does not apply it. Routing
40
- is compiled from `.claude/nccgs/pipeline.json`. The astra-claude profile intentionally
41
- pins task routes through `contract.taskTiers`; changing required stage models or risk policy is a Product Owner decision.
42
-
43
- For the Astra profile, map the checks, artifacts and manual gates below into
44
- `.nccgs/gates.json` and pin its `policySha256` to this project policy. Task-specific
45
- requirements may add obligations. The executable manifest does not automatically
46
- translate YAML conditions: Astra must preserve and map all existing safeguards.
47
- See [task gates](../.claude/nccgs/protocols/task-gates.md) for evidence formats.
48
-
49
- `contract.taskTiers` selects each task's implementation class and review limit.
50
- Compatibility `task init --risk` defaults to STANDARD; standalone intake uses its
51
- classifier and explicit risk evidence. FAST allows two recorded reviews and
52
- STANDARD/CONTROLLED allow three. Re-recording implementation does not reset the
53
- counter. Only an explicit external `task extend-review` decision adds rounds.
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.
56
-
57
- ## Canonical sources and context
58
-
59
- Map existing documents where they live. Workflows address semantic roles, not fixed
60
- folder names. Context packets refer to exact sections and source revisions; they do
61
- not replace canonical documents.
62
-
63
- ## Closure example
64
-
65
- ```yaml
66
- closure:
67
- mode: strict
68
- canonical_record: ".nccgs/closures/{feature_id}.md"
69
- required_artifacts:
70
- - id: implementation-report
71
- type: report
72
- path_pattern: "project-docs/reports/{feature_id}*.md"
73
- required: true
74
- completion_rule: exists
75
- - id: implementation-register
76
- type: register_entry
77
- path_pattern: "project-docs/implementation-register.md"
78
- required: true
79
- completion_rule: entry_present
80
- - id: deletion-gate
81
- type: checklist
82
- path_pattern: "project-docs/gates/{feature_id}*.md"
83
- required: true
84
- completion_rule: all_conditions
85
- expected_conditions: 7
86
- done_requires:
87
- - implementation
88
- - objective_verification
89
- - required_artifacts
90
- - applicable_manual_gates
91
- ```
92
-
93
- Start migration with the strongest live safeguard and weaken it only through an
94
- explicit Product Owner decision after the replacement has proven its purpose.
1
+ # Project policy
2
+
3
+ `.nccgs/project.yaml` adapts NCCGS to one project. Keep generic framework behavior out
4
+ of this file; record only choices that change routing, authority, ownership, context,
5
+ verification, closure, or Unity execution for the project.
6
+
7
+ ## Required decisions
8
+
9
+ - project stage and platforms;
10
+ - enabled departments and bounded orchestration;
11
+ - execution policy and external/manual acceptance obligations;
12
+ - `claude-standalone`, `astra-claude`, `quality`, `balanced`, or `inherit` model profile and fallback policy;
13
+ - canonical sources for product, design, architecture, planning, art, narrative,
14
+ audio, and release;
15
+ - protected/user-owned/generated paths and hand-tuned settings;
16
+ - architecture constraints, packages and services;
17
+ - Unity version, render/UI/input systems and CLI/Pipeline preference;
18
+ - test/build/runtime baselines and recurring Product Owner gates;
19
+ - closure mode, linked artifacts, completion rules and waiver policy.
20
+
21
+ ## Model policy
22
+
23
+ New installations use standalone execution with `claude-standalone`: Sonnet/high
24
+ for FAST, Opus/high for STANDARD, Opus/xhigh for CONTROLLED/leadership and Fable/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.
33
+
34
+ Use `quality` when result quality is primary and all model tiers are available. Use
35
+ `balanced` when leadership coordination does not need Opus by default. Use `inherit`
36
+ when subscription/context compatibility or explicit user control is more important
37
+ than automatic routing.
38
+
39
+ The `models.overrides` field is reserved; the configurator does not apply it. Routing
40
+ is compiled from `.claude/nccgs/pipeline.json`. The astra-claude profile intentionally
41
+ pins task routes through `contract.taskTiers`; changing required stage models or risk policy is a Product Owner decision.
42
+
43
+ For the Astra profile, map the checks, artifacts and manual gates below into
44
+ `.nccgs/gates.json` and pin its `policySha256` to this project policy. Task-specific
45
+ requirements may add obligations. The executable manifest does not automatically
46
+ translate YAML conditions: Astra must preserve and map all existing safeguards.
47
+ See [task gates](../.claude/nccgs/protocols/task-gates.md) for evidence formats.
48
+
49
+ `contract.taskTiers` selects each task's implementation class and review limit.
50
+ Compatibility `task init --risk` defaults to STANDARD; standalone intake uses its
51
+ classifier and explicit risk evidence. FAST allows two recorded reviews and
52
+ STANDARD/CONTROLLED allow three. Re-recording implementation does not reset the
53
+ counter. Only an explicit external `task extend-review` decision adds rounds.
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.
56
+
57
+ ## Canonical sources and context
58
+
59
+ Map existing documents where they live. Workflows address semantic roles, not fixed
60
+ folder names. Context packets refer to exact sections and source revisions; they do
61
+ not replace canonical documents.
62
+
63
+ ## Closure example
64
+
65
+ ```yaml
66
+ closure:
67
+ mode: strict
68
+ canonical_record: ".nccgs/closures/{feature_id}.md"
69
+ required_artifacts:
70
+ - id: implementation-report
71
+ type: report
72
+ path_pattern: "project-docs/reports/{feature_id}*.md"
73
+ required: true
74
+ completion_rule: exists
75
+ - id: implementation-register
76
+ type: register_entry
77
+ path_pattern: "project-docs/implementation-register.md"
78
+ required: true
79
+ completion_rule: entry_present
80
+ - id: deletion-gate
81
+ type: checklist
82
+ path_pattern: "project-docs/gates/{feature_id}*.md"
83
+ required: true
84
+ completion_rule: all_conditions
85
+ expected_conditions: 7
86
+ done_requires:
87
+ - implementation
88
+ - objective_verification
89
+ - required_artifacts
90
+ - applicable_manual_gates
91
+ ```
92
+
93
+ Start migration with the strongest live safeguard and weaken it only through an
94
+ explicit Product Owner decision after the replacement has proven its purpose.
@@ -1,10 +1,35 @@
1
- # NCCGS 2.0.0 stable preparation
2
-
3
- Prepared stable package: **2.0.0**, unpublished. No npm publication or tag mutation
4
- has occurred. The release directory contains the exact local archive, SHA-256,
5
- regression/install/upgrade results and a separate maintenance review.
6
-
7
- ## Current evidence boundary
1
+ # NCCGS release status
2
+
3
+ Current local source: **2.1.1**, prepared and unpublished. The registry already
4
+ contains a different 2.1.0 artifact; the accepted local R11 r05 source is retained
5
+ unchanged as the qualification baseline. This release variant changes package
6
+ identity and current documentation, with no runtime, policy, model-route, role,
7
+ gate, quota or budget changes. Exact artifact checks and the subsequent release
8
+ review are recorded in separate receipts. No registry publication or tag update
9
+ is performed by preparation.
10
+
11
+ The accepted baseline accounts for 353 passing top-level cases; one top-level
12
+ and 12 nested link/junction cases remain host-skipped, not PASS. Its independent
13
+ Fable static review returned PASS with no conditions. New version-sensitive
14
+ framework/policy and packaged-install checks qualify the separate patch artifact;
15
+ the receipts identify fresh executions versus inherited unchanged scopes.
16
+ Effective native effort remains UNKNOWN. The earlier guarded headless managed
17
+ smoke was blocked before dispatch and remains unclosed; no new Unity run is claimed.
18
+ Earlier negative verdicts and consumed allowances are preserved.
19
+
20
+ Version **2.0.0** was published on 2026-10-28 after exact-archive qualification.
21
+ The frozen publication receipt verified npm metadata and downloaded bytes,
22
+ fresh consumer installation and all 472 packaged files. Its archive SHA-256 is
23
+ `008df044b2486b273dbd0716782823b60da9750a676fa41cd4651a0e2f149cf3`.
24
+ Its maintenance audit and native Unity case completed with independent PASS;
25
+ the Unity case retained all 28 criteria/385 assertions, handoff, repair and the
26
+ unsaved-scene guard. Detailed private task/provider/cost receipts stay outside
27
+ the public package. That evidence does not transfer to this 2.1.1 artifact automatically.
28
+
29
+ ## Historical 2.0.0 preparation evidence
30
+
31
+ The preparation-time notes below are retained for context. Their pending stable
32
+ run/publication statements were superseded by the exact 2.0.0 completion above.
8
33
 
9
34
  - Exact RC4 archive SHA-256: a1db9783f3f4077c742cbc346d0fa935c438fdd783e13c058e13b0bd0521bbf6.
10
35
  The 2026-10-28 native Claude Code case qualified dirty-scene refusal, subsequent
@@ -0,0 +1,134 @@
1
+ # Remove NCCGS from a project
2
+
3
+ `uninstall` is available in the **unpublished 2.1.1 package**. The published
4
+ 2.0.0 CLI does not have this command. Use the local 2.1.1 archive (or its source
5
+ CLI) to remove an existing 2.0.0 installation; no preliminary update is needed.
6
+
7
+ Close Claude Code sessions and let managed workers/verification finish first.
8
+ Run from an external terminal. The command checks recorded process ownership,
9
+ dispatches, runs and jobs; it never kills processes, settles jobs or closes tasks.
10
+ Sessions launched directly with `claude`, or with older launchers, may have no
11
+ session record, so they must also be closed by the operator.
12
+
13
+ ## Preview and remove
14
+
15
+ ```powershell
16
+ $NccgsArchive = "D:\path\to\nccgs-2.1.1.tgz"
17
+ npx --yes --package "$NccgsArchive" nccgs uninstall --project "D:\path\to\UnityProject" --dry-run
18
+ npx --yes --package "$NccgsArchive" nccgs uninstall --project "D:\path\to\UnityProject"
19
+ ```
20
+
21
+ From this source checkout, use `node scripts/cli.mjs uninstall --project DIR`
22
+ with the same options. Always name the intended project. The package refuses
23
+ to uninstall its own source directory.
24
+
25
+ The preview writes nothing and lists files to remove, shared files to edit and
26
+ modified/unknown inventoried files to preserve. There is no `--force` or history
27
+ purge option. A repeated uninstall reports `NOT_INSTALLED` after successful removal.
28
+
29
+ | Item | Result |
30
+ |---|---|
31
+ | Unchanged inventoried NCCGS/Unity skills, agents, protocols and tools | Removed after fingerprint checks |
32
+ | Optional generated NCCGS agents | Removed only if their recorded fingerprints still match |
33
+ | Customized or unknown managed files; unrelated files in `.claude` | Kept in place |
34
+ | Exact NCCGS hooks and canonical import in `CLAUDE.md` | Removed; unrelated hooks and owner text kept |
35
+ | Unchanged NCCGS bootstrap `CLAUDE.md` | Removed |
36
+ | Game source, scenes, prefabs, packages and project settings | Unchanged |
37
+ | `.nccgs` policy, task history, reviews, evidence, budgets and prior backups | Kept byte for byte |
38
+ | Generic Claude permission/model preferences | Kept; older installers did not track their ownership |
39
+
40
+ A retained custom NCCGS skill or agent may still be discoverable by Claude and
41
+ may refer to removed tools. The output identifies those files for manual review;
42
+ they are not silently deleted. Unknown non-inventoried owner files are never
43
+ claimed as NCCGS-owned. Customized compound hooks/imports must be separated by
44
+ the owner before removal, because automatically editing them could lose behavior.
45
+
46
+ ## Backup and recovery
47
+
48
+ Removal prints an `id` and saves a manifest plus original file bytes beneath
49
+ `.nccgs/uninstall/<id>/`. Keep that directory if you may need recovery.
50
+
51
+ ```powershell
52
+ npx --yes --package "$NccgsArchive" nccgs uninstall --project "D:\path\to\UnityProject" --rollback "PRINTED-UUID" --dry-run
53
+ npx --yes --package "$NccgsArchive" nccgs uninstall --project "D:\path\to\UnityProject" --rollback "PRINTED-UUID"
54
+ npx --yes --package "$NccgsArchive" nccgs doctor --project "D:\path\to\UnityProject"
55
+ ```
56
+
57
+ Use the same package for recovery. All backup hashes and destination files are
58
+ checked before restoration; a later edit or damaged backup causes refusal. The
59
+ receipt and history remain after restoration. A write failure attempts automatic
60
+ restoration; an interrupted operation requires inspection and explicit rollback.
61
+ New launch/install/update operations refuse an incomplete uninstall receipt.
62
+ Do not delete locks or receipts merely to bypass this check.
63
+
64
+ Agent reconfiguration, execution migration and policy regeneration also participate
65
+ in the uninstall admission lock. New cooperating operations cannot register a
66
+ session while removal/rollback holds this lock. A refusal before any managed file
67
+ is changed leaves a `cancelled` receipt with its diagnostic and backups; it does
68
+ not require rollback. After changes begin, normal ownership checks still apply to
69
+ restoration. Unrecorded/older concurrent operations require operator inspection.
70
+ Failure to remove an empty directory is a warning after successful removal; the
71
+ result still returns the backup path and rollback ID.
72
+
73
+ Two launches/configuration commands can briefly contend for the admission lock.
74
+ This reports `installation admission is busy or unverified`, rather than claiming
75
+ an uninstall is running. Retry once the other operation finishes; the command
76
+ does not retry automatically or take over a live/unverified lock.
77
+ Empty, incomplete, unreadable or disappearing lock records also produce the
78
+ busy/unverified diagnostic, retaining the original cause for inspection. They
79
+ never authorize admission or automatic recovery. A holder that releases before
80
+ the error recheck still results in refusal; retry explicitly once work settles.
81
+
82
+ ## Recover a crashed launcher lease
83
+
84
+ Closing a terminal forcibly or a crash can leave a `nccgs run` lease in
85
+ `.nccgs/sessions/<UUID>.lock`. An unmanaged child's descendants cannot be proven
86
+ stopped merely because its launcher and child PIDs are dead. Uninstall therefore
87
+ continues to refuse this unknown state automatically.
88
+
89
+ The external operator can explicitly reconcile **only that launcher lease**:
90
+
91
+ ```powershell
92
+ npx --yes --package "$NccgsArchive" nccgs recover-session --project "D:\path\to\UnityProject" --id "SESSION-UUID" --dry-run
93
+ ```
94
+
95
+ Independently inspect and stop the entire session process tree first, including
96
+ any child that spawned before its PID was recorded. Rebooting the host and checking
97
+ that the session has not restarted is one way to establish that boundary. Only
98
+ when this is true, use the preview's SHA-256 and record how it was confirmed:
99
+
100
+ ```powershell
101
+ npx --yes --package "$NccgsArchive" nccgs recover-session --project "D:\path\to\UnityProject" --id "SESSION-UUID" --sha256 "HASH-FROM-PREVIEW" --confirm-process-tree-stopped --reason "Describe how the full session tree was confirmed stopped"
102
+ ```
103
+
104
+ This is a human/operator attestation, **not automatic descendant proof**. The
105
+ command refuses live/unverified recorded PIDs, a foreign host, changed hashes,
106
+ wrong operation, unsafe IDs and invocation inside Claude Code. It archives the
107
+ exact original lease and a receipt with the operator's reason under
108
+ `.nccgs/session-recoveries/<id>/`. It never kills a process or edits task/job/run
109
+ locks, verdicts, history or budgets. Other active/unknown work still blocks
110
+ uninstall. A missing child PID during `spawning` explicitly remains unobserved
111
+ in the receipt; the operator must establish shutdown independently before confirming.
112
+ Keep the receipts and retry the original uninstall/rollback only after all work
113
+ has settled. There is no age-based or automatic eviction of unknown leases.
114
+
115
+ Each recovery writes an immutable `receipt.json` with status `pending` before
116
+ moving the lease, then a separate `outcome.json` with status `completed` or
117
+ `failed`. The outcome identifies the pending receipt by SHA-256. A rename failure
118
+ leaves the original lease in place and records the error; it is not a successful
119
+ recovery. If a crash or write failure leaves no valid outcome, completion remains
120
+ unconfirmed: inspect both the original lease and the archive, retaining every
121
+ record. The lease may already have moved if recording completion failed. A pending
122
+ receipt alone never proves success, and the command does not report success when
123
+ it cannot record completion. Retrying a failed move creates a new receipt; it
124
+ does not overwrite the earlier attempt.
125
+
126
+ Reinstalling later reuses retained policy and task records. It does not replenish
127
+ spent money, turns, reviews or time. Restoring an old uninstall must not overwrite
128
+ a subsequent installation. Removal/rollback is a maintenance action, not a task
129
+ PASS, independent review, acceptance decision or a new allowance.
130
+
131
+ The command removes the project integration only. It does not uninstall Claude
132
+ Code, Unity, Node.js, global npm packages or npm's cache, and makes no provider
133
+ calls. Symlinks/junctions, malformed records and uncertain process ownership fail
134
+ closed rather than permitting deletion outside the checked project.
@@ -0,0 +1,71 @@
1
+ # WFK17 R04 local hook/context repair
2
+
3
+ This is an unpublished local candidate based on NCCGS 2.1.0. Its archive SHA-256
4
+ and the outer R04 identity distinguish it from the original package. It is not an
5
+ npm release, rollout or acceptance of full NCCGS orchestration. The common
6
+ workflow R03 remains frozen and unchanged.
7
+
8
+ ## Runtime scope
9
+
10
+ The qualification target is Claude Code 2.1.316 on the named Windows host.
11
+ Earlier CLI versions are not qualified for this candidate. Direct executable
12
+ hook arguments and `onFailure: block` must be supported; do not use this fragment
13
+ on an older CLI that silently ignores those settings. The local runner checks
14
+ the tested version before calling the native launcher.
15
+
16
+ All twelve managed command hooks invoke Node directly through `command`/`args`.
17
+ They retain their existing scripts, matchers, arguments and timeouts. PreToolUse
18
+ and subagent integrity hooks block when their transport/runtime fails. No native
19
+ model, design, dispatch, review or closure obligation is removed. Hook identity
20
+ includes its script and phase; unrelated custom Node hooks remain owner-owned.
21
+ The installer migrates exact legacy hooks, doctor checks argv and failure policy,
22
+ and uninstall removes only recognized managed hooks.
23
+
24
+ ## Optional shared context reads
25
+
26
+ The external operator can bind a session to an already accepted common workflow:
27
+
28
+ - `NCCGS_SHARED_WORKFLOW_ROOT`: its absolute tools root;
29
+ - `NCCGS_SHARED_WORKFLOW_MANIFEST_SHA256`: SHA-256 of its exact
30
+ `implementation/ARTIFACT_MANIFEST.json`.
31
+
32
+ These are process-local trust anchors, not a second project configuration or
33
+ graph. The common project configuration remains
34
+ `docs/workflow/workflow.config.json`. Native read admission verifies the installed
35
+ bridge fingerprint and all pinned workflow-manifest files before accepting only:
36
+
37
+ ```text
38
+ node .claude/nccgs/tools/shared-context.mjs --project PROJECT --workflow-root ROOT --action status
39
+ node .claude/nccgs/tools/shared-context.mjs --project PROJECT --workflow-root ROOT --action query --text Restore
40
+ node ROOT/tools/workflow.mjs status --config PROJECT/docs/workflow/workflow.config.json
41
+ ```
42
+
43
+ The exact current project/root are mandatory. Queries allow only bounded plain
44
+ text. This coordinator admission denies setup, refresh, update, hold secrets,
45
+ duplicate/unknown options, foreign roots, modified readers and shell composition.
46
+ An absent binding grants no shell permission. Worker reservations and native task
47
+ obligations are unchanged. Arbitrary audit shell execution remains denied; do not
48
+ change task mode or create a worker just to obtain context-read permission.
49
+
50
+ Use PowerShell natively on this Windows fixture because its Git Bash/MSYS host
51
+ cannot create the required named object. This changes the tool transport and
52
+ keeps the same Bash|PowerShell integrity matcher. It is not a way around a
53
+ native denial. Semantic Graphify coverage remains unavailable without an approved
54
+ backend, and original documents still require direct reads.
55
+
56
+ For the tested foreground Windows session, set the process-local variables
57
+ `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` and
58
+ `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER=1`. The second uses direct PowerShell
59
+ instead of the cmd.exe lifecycle launcher; background tasks remain disabled by
60
+ NCCGS. The default launcher returned tool error 5 after producing correct JSON
61
+ on this restricted host. A diagnostic suppressing experimental warnings did not
62
+ fix it and is not part of the final profile. Do not translate that error into a
63
+ successful semantic or process exit status.
64
+
65
+ The user's optional mcpmarket-me plugin has its own Bash startup hook. The
66
+ qualification fixture disables only that plugin at local scope, using Claude's
67
+ plugin CLI. Global plugins/settings remain unchanged. The candidate package does
68
+ not automatically disable user plugins in other projects.
69
+
70
+ References: https://code.claude.com/docs/en/hooks#exec-form-and-shell-form and
71
+ https://code.claude.com/docs/en/env-vars .
package/docs/WORKFLOWS.md CHANGED
@@ -1,85 +1,85 @@
1
- # NCCGS workflows — 2.0.0
2
-
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).
13
-
14
- ## Risk tiers
15
-
16
- | Tier | Typical work | Required structure |
17
- |---|---|---|
18
- | FAST | Local, unambiguous, easy rollback | One lightweight implementer; concise plan/report; targeted evidence; 2 review rounds |
19
- | STANDARD | Ordinary feature or coordinated change | Contract, context packet, one standard implementer, independent verification, closure; 3 review rounds |
20
- | CONTROLLED | Architecture, compatibility, dependency, migration, security, release | One deep implementation lead, impact/decision record, relevant specialists, rollback, full gates; 3 review rounds |
21
-
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.
28
-
29
- Stop when criteria and relevant checks pass without actionable blockers. Avoid
30
- speculative scope expansion, duplicate reviewers, and repeated green checks.
31
- Rerun only for changed inputs, failures, or new evidence. Subjective questions go
32
- to a playable test. Exhausted review rounds require an evidence-backed stop or an
33
- explicit external `task extend-review`; re-recording implementation does not reset
34
- them. Configured dispatch, supervised session and verification limits remain effective;
35
- advisory planning estimates never extend them or waive a gate.
36
-
37
- ## End-to-end work
38
-
39
- ```text
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
45
- -> task close after all executable gates pass
46
- ```
47
-
48
- The primary session composes modules automatically. Explicit specialized commands are
49
- available when a user wants a bounded workflow or output.
50
-
51
- ## Workflow families
52
-
53
- - **Planning/context**: `project-stage`, `context-pack`, `story-readiness`,
54
- `plan-feature`, `sprint-plan`, `milestone-review`, `retrospective`.
55
- - **Design**: `design`, `design-review`, `balance-review`, `accessibility-review`,
56
- `ui-review`, `prototype-feature`, `playtest`.
57
- - **Technical**: `architecture-decision`, `dependency-review`,
58
- `compatibility-review`, `nccgs-code-review`, `performance-audit`, `security-audit`.
59
- - **Implementation/quality**: `work`, `qa-plan`, `test`, `bug-triage`,
60
- `evidence-review`, `review`, `asset-audit`, `closure`.
61
- - **Delivery/recovery**: `release-readiness`, `release`, `hotfix`,
62
- `incident-recovery`, `localize-game`, `migrate-project`.
63
- - **Visibility**: `audit`, `status`.
64
-
65
- ## Role composition examples
66
-
67
- The standalone coordinator routes feature design to the game designer and obtains
68
- independent design review before dependent implementation when required.
69
- One gameplay programmer owns implementation; a Unity systems specialist may support
70
- a separate bounded concern where needed, followed by verification. A UI feature
71
- has one UI implementation owner; UX, accessibility, or Unity UI specialists join only
72
- for a concrete question or distinct deliverable, followed by independent verification.
73
-
74
- CONTROLLED network-save work can enable optional technical architect, network
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.
77
-
78
- ## Evidence states
79
-
80
- - IMPLEMENTED: change exists.
81
- - VERIFIED: objective evidence proves approved criteria.
82
- - VALIDATED: applicable subjective gate accepted.
83
- - DONE: all configured objective, artifact and subjective gates closed.
84
-
85
- Status labels are evidence claims, not progress decoration.
1
+ # NCCGS workflows — 2.0.0
2
+
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).
13
+
14
+ ## Risk tiers
15
+
16
+ | Tier | Typical work | Required structure |
17
+ |---|---|---|
18
+ | FAST | Local, unambiguous, easy rollback | One lightweight implementer; concise plan/report; targeted evidence; 2 review rounds |
19
+ | STANDARD | Ordinary feature or coordinated change | Contract, context packet, one standard implementer, independent verification, closure; 3 review rounds |
20
+ | CONTROLLED | Architecture, compatibility, dependency, migration, security, release | One deep implementation lead, impact/decision record, relevant specialists, rollback, full gates; 3 review rounds |
21
+
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 Fable/high.
28
+
29
+ Stop when criteria and relevant checks pass without actionable blockers. Avoid
30
+ speculative scope expansion, duplicate reviewers, and repeated green checks.
31
+ Rerun only for changed inputs, failures, or new evidence. Subjective questions go
32
+ to a playable test. Exhausted review rounds require an evidence-backed stop or an
33
+ explicit external `task extend-review`; re-recording implementation does not reset
34
+ them. Configured dispatch, supervised session and verification limits remain effective;
35
+ advisory planning estimates never extend them or waive a gate.
36
+
37
+ ## End-to-end work
38
+
39
+ ```text
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
45
+ -> task close after all executable gates pass
46
+ ```
47
+
48
+ The primary session composes modules automatically. Explicit specialized commands are
49
+ available when a user wants a bounded workflow or output.
50
+
51
+ ## Workflow families
52
+
53
+ - **Planning/context**: `project-stage`, `context-pack`, `story-readiness`,
54
+ `plan-feature`, `sprint-plan`, `milestone-review`, `retrospective`.
55
+ - **Design**: `design`, `design-review`, `balance-review`, `accessibility-review`,
56
+ `ui-review`, `prototype-feature`, `playtest`.
57
+ - **Technical**: `architecture-decision`, `dependency-review`,
58
+ `compatibility-review`, `nccgs-code-review`, `performance-audit`, `security-audit`.
59
+ - **Implementation/quality**: `work`, `qa-plan`, `test`, `bug-triage`,
60
+ `evidence-review`, `review`, `asset-audit`, `closure`.
61
+ - **Delivery/recovery**: `release-readiness`, `release`, `hotfix`,
62
+ `incident-recovery`, `localize-game`, `migrate-project`.
63
+ - **Visibility**: `audit`, `status`.
64
+
65
+ ## Role composition examples
66
+
67
+ The standalone coordinator routes feature design to the game designer and obtains
68
+ independent design review before dependent implementation when required.
69
+ One gameplay programmer owns implementation; a Unity systems specialist may support
70
+ a separate bounded concern where needed, followed by verification. A UI feature
71
+ has one UI implementation owner; UX, accessibility, or Unity UI specialists join only
72
+ for a concrete question or distinct deliverable, followed by independent verification.
73
+
74
+ CONTROLLED network-save work can enable optional technical architect, network
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.
77
+
78
+ ## Evidence states
79
+
80
+ - IMPLEMENTED: change exists.
81
+ - VERIFIED: objective evidence proves approved criteria.
82
+ - VALIDATED: applicable subjective gate accepted.
83
+ - DONE: all configured objective, artifact and subjective gates closed.
84
+
85
+ Status labels are evidence claims, not progress decoration.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nccgs",
3
- "version": "2.0.0",
3
+ "version": "2.1.1",
4
4
  "description": "Unity-first game-studio operating system for Claude Code",
5
5
  "license": "MIT",
6
6
  "type": "module",