scene-capability-engine 3.3.5 → 3.3.10

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 (241) hide show
  1. package/CHANGELOG.md +130 -78
  2. package/README.md +6 -6
  3. package/README.zh.md +6 -6
  4. package/bin/scene-capability-engine.js +129 -7
  5. package/docs/331-poc-adaptation-roadmap.md +3 -3
  6. package/docs/331-poc-dual-track-integration-guide.md +8 -8
  7. package/docs/331-poc-weekly-delivery-checklist.md +6 -6
  8. package/docs/README.md +4 -0
  9. package/docs/adopt-migration-guide.md +13 -13
  10. package/docs/adoption-guide.md +28 -28
  11. package/docs/agent-hooks-analysis.md +10 -10
  12. package/docs/architecture.md +13 -13
  13. package/docs/articles/ai-driven-development-philosophy-and-practice.en.md +3 -3
  14. package/docs/articles/ai-driven-development-philosophy-and-practice.md +3 -3
  15. package/docs/autonomous-control-guide.md +35 -35
  16. package/docs/command-reference.md +192 -153
  17. package/docs/cross-tool-guide.md +7 -7
  18. package/docs/developer-guide.md +8 -8
  19. package/docs/document-governance.md +15 -15
  20. package/docs/environment-management-guide.md +6 -6
  21. package/docs/examples/add-export-command/design.md +1 -1
  22. package/docs/faq.md +13 -13
  23. package/docs/handoff-profile-integration-guide.md +3 -3
  24. package/docs/handoffs/evidence/ontology/moqui-template-baseline-2026-02-17-232922.json +7 -7
  25. package/docs/handoffs/evidence/ontology/moqui-template-baseline-2026-02-17-232922.md +1 -1
  26. package/docs/integration-modes.md +12 -12
  27. package/docs/integration-philosophy.md +11 -11
  28. package/docs/interactive-customization/331-poc-sce-integration-checklist.md +24 -24
  29. package/docs/interactive-customization/README.md +43 -43
  30. package/docs/interactive-customization/business-mode-policy-baseline.json +33 -0
  31. package/docs/interactive-customization/dual-ui-mode-integration-guide.md +1 -1
  32. package/docs/interactive-customization/moqui-adapter-interface.md +2 -2
  33. package/docs/interactive-customization/moqui-copilot-integration-guide.md +1 -1
  34. package/docs/interactive-customization/moqui-interactive-template-playbook.md +4 -4
  35. package/docs/interactive-customization/phase-acceptance-evidence.md +2 -2
  36. package/docs/knowledge-management-guide.md +6 -6
  37. package/docs/manual-workflows-guide.md +4 -4
  38. package/docs/moqui-capability-matrix.md +3 -3
  39. package/docs/moqui-standard-rebuild-guide.md +8 -8
  40. package/docs/moqui-template-core-library-playbook.md +27 -27
  41. package/docs/multi-agent-coordination-guide.md +19 -19
  42. package/docs/multi-repo-management-guide.md +17 -17
  43. package/docs/quick-start-with-ai-tools.md +7 -7
  44. package/docs/quick-start.md +2 -2
  45. package/docs/release-checklist.md +4 -4
  46. package/docs/sce-business-mode-map.md +103 -0
  47. package/docs/security-governance-default-baseline.md +12 -12
  48. package/docs/spec-collaboration-guide.md +3 -3
  49. package/docs/spec-locking-guide.md +2 -2
  50. package/docs/spec-workflow.md +3 -3
  51. package/docs/starter-kit/README.md +4 -4
  52. package/docs/starter-kit/handoff-manifest.starter.json +2 -2
  53. package/docs/starter-kit/release.workflow.sample.yml +1 -1
  54. package/docs/steering-strategy-guide.md +15 -15
  55. package/docs/team-collaboration-guide.md +69 -69
  56. package/docs/testing-strategy.md +2 -2
  57. package/docs/tools/claude-guide.md +14 -4
  58. package/docs/tools/cursor-guide.md +14 -14
  59. package/docs/tools/generic-guide.md +9 -9
  60. package/docs/tools/kiro-guide.md +4 -4
  61. package/docs/tools/vscode-guide.md +13 -13
  62. package/docs/tools/windsurf-guide.md +6 -6
  63. package/docs/troubleshooting.md +22 -22
  64. package/docs/upgrade-guide.md +8 -8
  65. package/docs/value-observability-guide.md +3 -3
  66. package/docs/zh/README.md +6 -0
  67. package/docs/zh/quick-start.md +15 -15
  68. package/docs/zh/release-checklist.md +3 -3
  69. package/docs/zh/tools/claude-guide.md +16 -6
  70. package/docs/zh/tools/cursor-guide.md +11 -11
  71. package/docs/zh/tools/generic-guide.md +13 -13
  72. package/docs/zh/tools/kiro-guide.md +2 -2
  73. package/docs/zh/tools/vscode-guide.md +11 -11
  74. package/docs/zh/tools/windsurf-guide.md +11 -11
  75. package/docs/zh/value-observability-guide.md +3 -3
  76. package/lib/adoption/adoption-logger.js +1 -1
  77. package/lib/adoption/adoption-strategy.js +28 -28
  78. package/lib/adoption/backup-manager.js +3 -3
  79. package/lib/adoption/conflict-resolver.js +2 -2
  80. package/lib/adoption/detection-engine.js +8 -8
  81. package/lib/adoption/error-formatter.js +4 -4
  82. package/lib/adoption/file-classifier.js +6 -6
  83. package/lib/adoption/progress-reporter.js +1 -1
  84. package/lib/adoption/smart-orchestrator.js +10 -10
  85. package/lib/adoption/strategy-selector.js +6 -6
  86. package/lib/adoption/summary-generator.js +1 -1
  87. package/lib/adoption/template-sync.js +8 -8
  88. package/lib/auto/autonomous-engine.js +7 -7
  89. package/lib/auto/checkpoint-manager.js +1 -1
  90. package/lib/auto/close-loop-runner.js +12 -12
  91. package/lib/auto/error-recovery-manager.js +1 -1
  92. package/lib/auto/goal-decomposer.js +1 -1
  93. package/lib/auto/moqui-recovery-sequence.js +2 -2
  94. package/lib/auto/progress-tracker.js +1 -1
  95. package/lib/auto/state-manager.js +1 -1
  96. package/lib/backup/backup-system.js +10 -10
  97. package/lib/backup/selective-backup.js +4 -4
  98. package/lib/collab/agent-registry.js +2 -2
  99. package/lib/collab/contract-manager.js +1 -1
  100. package/lib/collab/coordinator.js +2 -2
  101. package/lib/collab/dependency-manager.js +1 -1
  102. package/lib/collab/integration-manager.js +1 -1
  103. package/lib/collab/metadata-manager.js +1 -1
  104. package/lib/collab/multi-agent-config.js +2 -2
  105. package/lib/collab/spec-lifecycle-manager.js +2 -2
  106. package/lib/collab/visualizer.js +1 -1
  107. package/lib/commands/adopt.js +6 -6
  108. package/lib/commands/auto.js +56 -56
  109. package/lib/commands/collab.js +2 -2
  110. package/lib/commands/docs.js +3 -3
  111. package/lib/commands/doctor.js +1 -1
  112. package/lib/commands/knowledge.js +2 -2
  113. package/lib/commands/lock.js +1 -1
  114. package/lib/commands/ops.js +1 -1
  115. package/lib/commands/orchestrate.js +3 -3
  116. package/lib/commands/rollback.js +1 -1
  117. package/lib/commands/scene.js +135 -93
  118. package/lib/commands/session.js +139 -0
  119. package/lib/commands/spec-bootstrap.js +1 -1
  120. package/lib/commands/spec-gate.js +2 -2
  121. package/lib/commands/spec-pipeline.js +1 -1
  122. package/lib/commands/status.js +4 -4
  123. package/lib/commands/steering.js +119 -0
  124. package/lib/commands/value.js +1 -1
  125. package/lib/commands/watch.js +9 -9
  126. package/lib/commands/workspace-multi.js +1 -1
  127. package/lib/context/context-exporter.js +5 -7
  128. package/lib/context/prompt-generator.js +2 -2
  129. package/lib/environment/backup-system.js +1 -1
  130. package/lib/environment/environment-manager.js +2 -2
  131. package/lib/gitignore/gitignore-backup.js +3 -3
  132. package/lib/gitignore/gitignore-detector.js +13 -13
  133. package/lib/gitignore/gitignore-integration.js +3 -3
  134. package/lib/gitignore/gitignore-transformer.js +4 -4
  135. package/lib/gitignore/layered-rules-template.js +16 -16
  136. package/lib/governance/config-manager.js +1 -1
  137. package/lib/governance/doc-reference-checker.js +4 -4
  138. package/lib/governance/execution-logger.js +1 -1
  139. package/lib/governance/file-scanner.js +3 -3
  140. package/lib/interactive-customization/moqui-interactive-adapter.js +2 -2
  141. package/lib/knowledge/knowledge-manager.js +1 -1
  142. package/lib/lock/lock-manager.js +2 -2
  143. package/lib/lock/steering-file-lock.js +5 -5
  144. package/lib/lock/task-lock-manager.js +3 -3
  145. package/lib/operations/audit-logger.js +1 -1
  146. package/lib/operations/feedback-manager.js +1 -1
  147. package/lib/operations/operations-manager.js +3 -3
  148. package/lib/operations/permission-manager.js +2 -2
  149. package/lib/operations/template-loader.js +1 -1
  150. package/lib/orchestrator/agent-spawner.js +27 -2
  151. package/lib/orchestrator/bootstrap-prompt-builder.js +6 -6
  152. package/lib/orchestrator/orchestration-engine.js +1 -1
  153. package/lib/orchestrator/orchestrator-config.js +2 -2
  154. package/lib/repo/config-manager.js +3 -3
  155. package/lib/repo/handlers/init-handler.js +1 -1
  156. package/lib/repo/repo-manager.js +2 -2
  157. package/lib/runtime/business-mode-resolver.js +240 -0
  158. package/lib/runtime/session-store.js +207 -0
  159. package/lib/runtime/steering-contract.js +338 -0
  160. package/lib/scene-runtime/audit-emitter.js +1 -1
  161. package/lib/scene-runtime/binding-plugin-loader.js +3 -3
  162. package/lib/scene-runtime/eval-bridge.js +1 -1
  163. package/lib/scene-runtime/index.js +1 -1
  164. package/lib/scene-runtime/moqui-extractor.js +1 -1
  165. package/lib/scene-runtime/plan-compiler.js +1 -1
  166. package/lib/scene-runtime/policy-gate.js +1 -1
  167. package/lib/scene-runtime/runtime-executor.js +1 -1
  168. package/lib/scene-runtime/scene-loader.js +1 -1
  169. package/lib/spec/bootstrap/context-collector.js +1 -1
  170. package/lib/spec/pipeline/stage-adapters.js +3 -3
  171. package/lib/spec/pipeline/state-store.js +1 -1
  172. package/lib/spec-gate/policy/policy-loader.js +1 -1
  173. package/lib/spec-gate/rules/default-rules.js +6 -6
  174. package/lib/steering/adoption-config.js +1 -1
  175. package/lib/steering/compliance-error-reporter.js +3 -3
  176. package/lib/steering/context-sync-manager.js +2 -2
  177. package/lib/steering/index.js +1 -1
  178. package/lib/steering/spec-steering.js +2 -2
  179. package/lib/steering/steering-compliance-checker.js +1 -1
  180. package/lib/steering/steering-loader.js +4 -5
  181. package/lib/steering/steering-manager.js +4 -4
  182. package/lib/task/task-claimer.js +5 -5
  183. package/lib/task/task-status-store.js +2 -2
  184. package/lib/templates/content-generalizer.js +1 -1
  185. package/lib/templates/spec-reader.js +2 -2
  186. package/lib/templates/template-creator.js +1 -1
  187. package/lib/templates/template-exporter.js +3 -3
  188. package/lib/templates/template-manager.js +1 -1
  189. package/lib/upgrade/migration-engine.js +3 -3
  190. package/lib/upgrade/migrations/1.0.0-to-1.1.0.js +1 -1
  191. package/lib/utils/file-diff.js +6 -6
  192. package/lib/utils/tool-detector.js +10 -10
  193. package/lib/utils/validation.js +5 -5
  194. package/lib/value/metric-contract-loader.js +1 -1
  195. package/lib/version/version-manager.js +1 -1
  196. package/lib/watch/execution-logger.js +1 -1
  197. package/lib/watch/presets.js +8 -8
  198. package/lib/watch/watch-manager.js +2 -2
  199. package/lib/workspace/legacy-kiro-migrator.js +275 -0
  200. package/lib/workspace/multi/workspace-context-resolver.js +2 -2
  201. package/lib/workspace/multi/workspace-registry.js +2 -2
  202. package/lib/workspace/multi/workspace-state-manager.js +3 -3
  203. package/lib/workspace/workspace-manager.js +1 -1
  204. package/lib/workspace/workspace-sync.js +2 -2
  205. package/locales/en.json +4 -4
  206. package/locales/zh.json +4 -4
  207. package/package.json +9 -9
  208. package/template/{.kiro → .sce}/README.md +15 -15
  209. package/template/{.kiro → .sce}/hooks/check-spec-on-create.kiro.hook +2 -2
  210. package/template/{.kiro → .sce}/steering/CORE_PRINCIPLES.md +4 -4
  211. package/template/{.kiro → .sce}/steering/CURRENT_CONTEXT.md +1 -1
  212. package/template/{.kiro → .sce}/steering/ENVIRONMENT.md +3 -3
  213. package/template/{.kiro → .sce}/tools/backup_manager.py +3 -3
  214. package/template/{.kiro → .sce}/tools/configuration_manager.py +1 -1
  215. package/template/README.md +12 -12
  216. /package/template/{.kiro → .sce}/hooks/run-tests-on-save.kiro.hook +0 -0
  217. /package/template/{.kiro → .sce}/hooks/sync-tasks-on-edit.kiro.hook +0 -0
  218. /package/template/{.kiro → .sce}/specs/SPEC_WORKFLOW_GUIDE.md +0 -0
  219. /package/template/{.kiro → .sce}/steering/RULES_GUIDE.md +0 -0
  220. /package/template/{.kiro → .sce}/templates/operations/default/change-impact.md +0 -0
  221. /package/template/{.kiro → .sce}/templates/operations/default/deployment.md +0 -0
  222. /package/template/{.kiro → .sce}/templates/operations/default/feedback-response.md +0 -0
  223. /package/template/{.kiro → .sce}/templates/operations/default/migration-plan.md +0 -0
  224. /package/template/{.kiro → .sce}/templates/operations/default/monitoring.md +0 -0
  225. /package/template/{.kiro → .sce}/templates/operations/default/operations.md +0 -0
  226. /package/template/{.kiro → .sce}/templates/operations/default/rollback.md +0 -0
  227. /package/template/{.kiro → .sce}/templates/operations/default/tools.yaml +0 -0
  228. /package/template/{.kiro → .sce}/templates/operations/default/troubleshooting.md +0 -0
  229. /package/template/{.kiro → .sce}/tools/document_evaluator.py +0 -0
  230. /package/template/{.kiro → .sce}/tools/enhancement_logger.py +0 -0
  231. /package/template/{.kiro → .sce}/tools/error_handler.py +0 -0
  232. /package/template/{.kiro → .sce}/tools/improvement_identifier.py +0 -0
  233. /package/template/{.kiro → .sce}/tools/modification_applicator.py +0 -0
  234. /package/template/{.kiro → .sce}/tools/quality_gate_enforcer.py +0 -0
  235. /package/template/{.kiro → .sce}/tools/quality_scorer.py +0 -0
  236. /package/template/{.kiro → .sce}/tools/report_generator.py +0 -0
  237. /package/template/{.kiro → .sce}/tools/ultrawork_enhancer.py +0 -0
  238. /package/template/{.kiro → .sce}/tools/ultrawork_enhancer_refactored.py +0 -0
  239. /package/template/{.kiro → .sce}/tools/ultrawork_enhancer_v2.py +0 -0
  240. /package/template/{.kiro → .sce}/tools/ultrawork_enhancer_v3.py +0 -0
  241. /package/template/{.kiro → .sce}/tools/workflow_quality_gate.py +0 -0
@@ -1,4 +1,4 @@
1
- const path = require('path');
1
+ const path = require('path');
2
2
  const zlib = require('zlib');
3
3
  const crypto = require('crypto');
4
4
  const { spawnSync } = require('child_process');
@@ -36,7 +36,7 @@ const TASK_PRIORITIES = new Set(['critical', 'high', 'medium', 'low']);
36
36
  const EVAL_CONFIG_TEMPLATE_PROFILES = new Set(['default', 'erp', 'ops', 'robot']);
37
37
  const ROUTE_POLICY_TEMPLATE_PROFILES = new Set(['default', 'erp', 'hybrid', 'robot']);
38
38
  const ROUTE_POLICY_SUGGEST_MAX_ADJUSTMENT_DEFAULT = 6;
39
- const SCENE_ROUTE_POLICY_ROLLOUT_DEFAULT_DIR = '.kiro/releases/scene-route-policy';
39
+ const SCENE_ROUTE_POLICY_ROLLOUT_DEFAULT_DIR = '.sce/releases/scene-route-policy';
40
40
  const SCENE_ROUTE_POLICY_DIFF_KEYS = [
41
41
  'weights.valid_manifest',
42
42
  'weights.invalid_manifest',
@@ -60,7 +60,7 @@ const SCENE_PACKAGE_KINDS = new Set([
60
60
  ]);
61
61
  const SCENE_PACKAGE_RISK_LEVELS = new Set(['low', 'medium', 'high', 'critical']);
62
62
  const SCENE_PACKAGE_TEMPLATE_API_VERSION = 'sce.scene.template/v0.1';
63
- const SCENE_PACKAGE_TEMPLATE_DEFAULT_DIR = '.kiro/templates/scene-packages';
63
+ const SCENE_PACKAGE_TEMPLATE_DEFAULT_DIR = '.sce/templates/scene-packages';
64
64
  const SCENE_MOQUI_BASELINE_DEFAULT_MATCH = '(moqui|erp|suite|playbook|runbook|decision|action|governance)';
65
65
  const SCENE_MOQUI_BASELINE_DEFAULT_MIN_SCORE = 70;
66
66
  const SCENE_MOQUI_BASELINE_DEFAULT_MIN_VALID_RATE = 100;
@@ -166,7 +166,7 @@ function registerSceneCommands(program) {
166
166
  sceneCmd
167
167
  .command('validate')
168
168
  .description('Validate scene manifest from spec or file path')
169
- .option('-s, --spec <spec-name>', 'Spec name under .kiro/specs')
169
+ .option('-s, --spec <spec-name>', 'Spec name under .sce/specs')
170
170
  .option('-m, --manifest <path>', 'Path to scene manifest file (yaml/json)')
171
171
  .option('--spec-manifest <relative-path>', 'Manifest path inside spec folder', 'custom/scene.yaml')
172
172
  .option('--json', 'Print validation summary as JSON')
@@ -177,7 +177,7 @@ function registerSceneCommands(program) {
177
177
  sceneCmd
178
178
  .command('doctor')
179
179
  .description('Diagnose scene policy, plan, and adapter readiness before run')
180
- .option('-s, --spec <spec-name>', 'Spec name under .kiro/specs')
180
+ .option('-s, --spec <spec-name>', 'Spec name under .sce/specs')
181
181
  .option('-m, --manifest <path>', 'Path to scene manifest file (yaml/json)')
182
182
  .option('--spec-manifest <relative-path>', 'Manifest path inside spec folder', 'custom/scene.yaml')
183
183
  .option('--mode <mode>', 'Policy evaluation mode (dry_run|commit)', 'dry_run')
@@ -192,7 +192,7 @@ function registerSceneCommands(program) {
192
192
  .option('--moqui-config <path>', 'Path to moqui-adapter.json config file for runtime bindings')
193
193
  .option('--binding-plugin-dir <path>', 'Binding plugin directory for runtime handler loading')
194
194
  .option('--binding-plugin-manifest <path>', 'Binding plugin manifest JSON path')
195
- .option('--no-binding-plugin-auto-discovery', 'Disable runtime binding plugin auto-discovery under .kiro')
195
+ .option('--no-binding-plugin-auto-discovery', 'Disable runtime binding plugin auto-discovery under .sce')
196
196
  .option('--no-binding-plugin-manifest-load', 'Disable runtime binding plugin manifest loading')
197
197
  .option('--todo-out <path>', 'Write remediation checklist markdown to file')
198
198
  .option('--task-out <path>', 'Write suggested task draft markdown to file')
@@ -206,7 +206,7 @@ function registerSceneCommands(program) {
206
206
  sceneCmd
207
207
  .command('scaffold')
208
208
  .description('Create starter scene manifest in target spec')
209
- .option('-s, --spec <spec-name>', 'Target spec name under .kiro/specs')
209
+ .option('-s, --spec <spec-name>', 'Target spec name under .sce/specs')
210
210
  .option('-t, --type <type>', 'Starter template type (erp|hybrid)', 'erp')
211
211
  .option('--template <path>', 'Custom template path (yaml/json), overrides --type')
212
212
  .option('--output <relative-path>', 'Manifest path within spec directory', 'custom/scene.yaml')
@@ -222,7 +222,7 @@ function registerSceneCommands(program) {
222
222
  sceneCmd
223
223
  .command('run')
224
224
  .description('Run scene runtime by spec or manifest path')
225
- .option('-s, --spec <spec-name>', 'Spec name under .kiro/specs')
225
+ .option('-s, --spec <spec-name>', 'Spec name under .sce/specs')
226
226
  .option('-m, --manifest <path>', 'Path to scene manifest file (yaml/json)')
227
227
  .option('--spec-manifest <relative-path>', 'Manifest path inside spec folder', 'custom/scene.yaml')
228
228
  .option('--mode <mode>', 'Run mode (dry_run|commit)', 'dry_run')
@@ -236,7 +236,7 @@ function registerSceneCommands(program) {
236
236
  .option('--moqui-config <path>', 'Path to moqui-adapter.json config file for runtime bindings')
237
237
  .option('--binding-plugin-dir <path>', 'Binding plugin directory for runtime handler loading')
238
238
  .option('--binding-plugin-manifest <path>', 'Binding plugin manifest JSON path')
239
- .option('--no-binding-plugin-auto-discovery', 'Disable runtime binding plugin auto-discovery under .kiro')
239
+ .option('--no-binding-plugin-auto-discovery', 'Disable runtime binding plugin auto-discovery under .sce')
240
240
  .option('--no-binding-plugin-manifest-load', 'Disable runtime binding plugin manifest loading')
241
241
  .option('--plan-out <path>', 'Write compiled plan JSON to file')
242
242
  .option('--result-out <path>', 'Write execution result JSON to file')
@@ -252,7 +252,7 @@ function registerSceneCommands(program) {
252
252
  .option('-f, --feedback <path>', 'Path to doctor feedback template markdown')
253
253
  .option('-t, --target <path>', 'Path to evaluation target JSON')
254
254
  .option('-o, --out <path>', 'Write evaluation report JSON to file')
255
- .option('-s, --spec <spec-name>', 'Target spec name under .kiro/specs (for task sync)')
255
+ .option('-s, --spec <spec-name>', 'Target spec name under .sce/specs (for task sync)')
256
256
  .option('--spec-manifest <relative-path>', 'Manifest path inside spec folder for profile inference', 'custom/scene.yaml')
257
257
  .option('--sync-spec-tasks', 'Append evaluation recommendations into target spec tasks.md')
258
258
  .option('--task-policy <path>', 'Path to eval task sync policy JSON')
@@ -270,7 +270,7 @@ function registerSceneCommands(program) {
270
270
  sceneCmd
271
271
  .command('eval-policy-template')
272
272
  .description('Create default eval task sync policy template JSON')
273
- .option('-o, --out <path>', 'Output JSON path', '.kiro/templates/scene-eval-task-policy.json')
273
+ .option('-o, --out <path>', 'Output JSON path', '.sce/templates/scene-eval-task-policy.json')
274
274
  .option('--force', 'Overwrite existing policy template file')
275
275
  .option('--json', 'Print summary as JSON')
276
276
  .action(async (options) => {
@@ -280,7 +280,7 @@ function registerSceneCommands(program) {
280
280
  sceneCmd
281
281
  .command('eval-config-template')
282
282
  .description('Create unified scene eval config template JSON')
283
- .option('-o, --out <path>', 'Output JSON path', '.kiro/templates/scene-eval-config.json')
283
+ .option('-o, --out <path>', 'Output JSON path', '.sce/templates/scene-eval-config.json')
284
284
  .option('-p, --profile <profile>', 'Template profile (default|erp|ops|robot)', 'default')
285
285
  .option('--force', 'Overwrite existing config template file')
286
286
  .option('--json', 'Print summary as JSON')
@@ -291,7 +291,7 @@ function registerSceneCommands(program) {
291
291
  sceneCmd
292
292
  .command('eval-profile-rules-template')
293
293
  .description('Create eval profile inference rules template JSON')
294
- .option('-o, --out <path>', 'Output JSON path', '.kiro/templates/scene-eval-profile-rules.json')
294
+ .option('-o, --out <path>', 'Output JSON path', '.sce/templates/scene-eval-profile-rules.json')
295
295
  .option('--force', 'Overwrite existing rules template file')
296
296
  .option('--json', 'Print summary as JSON')
297
297
  .action(async (options) => {
@@ -334,7 +334,7 @@ function registerSceneCommands(program) {
334
334
  sceneCmd
335
335
  .command('route-policy-template')
336
336
  .description('Create scene route policy template JSON')
337
- .option('-o, --out <path>', 'Output JSON path', '.kiro/templates/scene-route-policy.json')
337
+ .option('-o, --out <path>', 'Output JSON path', '.sce/templates/scene-route-policy.json')
338
338
  .option('-p, --profile <profile>', 'Template profile (default|erp|hybrid|robot)', 'default')
339
339
  .option('--force', 'Overwrite existing route policy template file')
340
340
  .option('--json', 'Print summary as JSON')
@@ -361,7 +361,7 @@ function registerSceneCommands(program) {
361
361
  .command('route-policy-rollout')
362
362
  .description('Build auditable rollout package from route policy suggestion payload')
363
363
  .requiredOption('-s, --suggestion <path>', 'Path to route policy suggestion payload JSON')
364
- .option('--target-policy <path>', 'Target runtime route policy path', '.kiro/config/scene-route-policy.json')
364
+ .option('--target-policy <path>', 'Target runtime route policy path', '.sce/config/scene-route-policy.json')
365
365
  .option('--name <rollout-name>', 'Rollout package name (defaults to generated timestamp slug)')
366
366
  .option('--out-dir <path>', 'Rollout package root directory', SCENE_ROUTE_POLICY_ROLLOUT_DEFAULT_DIR)
367
367
  .option('--force', 'Overwrite rollout package directory if it already exists')
@@ -373,7 +373,7 @@ function registerSceneCommands(program) {
373
373
  sceneCmd
374
374
  .command('package-template')
375
375
  .description('Create scene package contract template JSON')
376
- .option('-s, --spec <spec-name>', 'Target spec name under .kiro/specs')
376
+ .option('-s, --spec <spec-name>', 'Target spec name under .sce/specs')
377
377
  .option('-o, --out <path>', 'Output path (relative; defaults by context)')
378
378
  .option('--kind <kind>', 'Package kind (scene-template|scene-instance|scene-capability|scene-domain-profile|scene-policy-profile)', 'scene-template')
379
379
  .option('--group <group>', 'Package group', 'sce.scene')
@@ -388,7 +388,7 @@ function registerSceneCommands(program) {
388
388
  sceneCmd
389
389
  .command('package-validate')
390
390
  .description('Validate scene package contract JSON')
391
- .option('-s, --spec <spec-name>', 'Spec name under .kiro/specs')
391
+ .option('-s, --spec <spec-name>', 'Spec name under .sce/specs')
392
392
  .option('-p, --package <path>', 'Path to scene package contract JSON')
393
393
  .option('--spec-package <relative-path>', 'Package path inside spec folder', 'custom/scene-package.json')
394
394
  .option('--json', 'Print validation payload as JSON')
@@ -400,7 +400,7 @@ function registerSceneCommands(program) {
400
400
  sceneCmd
401
401
  .command('package-publish')
402
402
  .description('Publish scene package template assets into template library')
403
- .requiredOption('-s, --spec <spec-name>', 'Source spec name under .kiro/specs')
403
+ .requiredOption('-s, --spec <spec-name>', 'Source spec name under .sce/specs')
404
404
  .option('--spec-package <relative-path>', 'Package path inside source spec', 'custom/scene-package.json')
405
405
  .option('--scene-manifest <relative-path>', 'Scene manifest path inside source spec', 'custom/scene.yaml')
406
406
  .option('--out-dir <path>', 'Template library output root', SCENE_PACKAGE_TEMPLATE_DEFAULT_DIR)
@@ -463,7 +463,7 @@ function registerSceneCommands(program) {
463
463
  .command('package-instantiate')
464
464
  .description('Instantiate new spec from published scene package template')
465
465
  .requiredOption('-t, --template <path>', 'Template manifest JSON path')
466
- .requiredOption('-s, --target-spec <spec-name>', 'Target spec name under .kiro/specs')
466
+ .requiredOption('-s, --target-spec <spec-name>', 'Target spec name under .sce/specs')
467
467
  .option('-v, --values <path>', 'Template parameter values JSON path')
468
468
  .option('--force', 'Overwrite existing target spec files when they already exist')
469
469
  .option('--json', 'Print instantiate payload as JSON')
@@ -485,7 +485,7 @@ function registerSceneCommands(program) {
485
485
  sceneCmd
486
486
  .command('package-gate-template')
487
487
  .description('Create scene package quality gate policy template JSON')
488
- .option('-o, --out <path>', 'Output path for gate policy template', '.kiro/templates/scene-package-gate-policy.json')
488
+ .option('-o, --out <path>', 'Output path for gate policy template', '.sce/templates/scene-package-gate-policy.json')
489
489
  .option('--profile <profile>', 'Gate policy profile (baseline|three-layer)', 'baseline')
490
490
  .option('--force', 'Overwrite output policy file when it already exists')
491
491
  .option('--json', 'Print gate policy payload as JSON')
@@ -497,8 +497,8 @@ function registerSceneCommands(program) {
497
497
  .command('package-gate')
498
498
  .description('Evaluate scene package registry against quality gate policy')
499
499
  .requiredOption('-r, --registry <path>', 'Registry JSON path (output of scene package-registry)')
500
- .option('-p, --policy <path>', 'Gate policy JSON path', '.kiro/templates/scene-package-gate-policy.json')
501
- .option('-s, --spec <spec-name>', 'Target spec name under .kiro/specs (for task sync)')
500
+ .option('-p, --policy <path>', 'Gate policy JSON path', '.sce/templates/scene-package-gate-policy.json')
501
+ .option('-s, --spec <spec-name>', 'Target spec name under .sce/specs (for task sync)')
502
502
  .option('--task-out <path>', 'Write gate task draft markdown to file')
503
503
  .option('--runbook-out <path>', 'Write remediation execution runbook markdown to file')
504
504
  .option('--sync-spec-tasks', 'Append failed gate checks into target spec tasks.md')
@@ -544,8 +544,8 @@ function registerSceneCommands(program) {
544
544
  .command('moqui-baseline')
545
545
  .description('Generate Moqui template baseline scorecard from scene package library')
546
546
  .option('--template-dir <path>', 'Template root directory', SCENE_PACKAGE_TEMPLATE_DEFAULT_DIR)
547
- .option('--out <path>', 'JSON report output path', '.kiro/reports/moqui-template-baseline.json')
548
- .option('--markdown-out <path>', 'Markdown report output path', '.kiro/reports/moqui-template-baseline.md')
547
+ .option('--out <path>', 'JSON report output path', '.sce/reports/moqui-template-baseline.json')
548
+ .option('--markdown-out <path>', 'Markdown report output path', '.sce/reports/moqui-template-baseline.md')
549
549
  .option('--match <regex>', 'Template selector regex', SCENE_MOQUI_BASELINE_DEFAULT_MATCH)
550
550
  .option('--include-all', 'Disable selector filter and score all templates')
551
551
  .option('--min-score <number>', 'Baseline minimum semantic score (0-100)', String(SCENE_MOQUI_BASELINE_DEFAULT_MIN_SCORE))
@@ -566,6 +566,9 @@ function registerSceneCommands(program) {
566
566
  .option('--user-id <id>', 'User identifier')
567
567
  .option('--session-id <id>', 'Session identifier')
568
568
  .option('--execution-mode <mode>', 'suggestion|apply', 'suggestion')
569
+ .option('--business-mode <mode>', 'Business operating mode (user-mode|ops-mode|dev-mode)')
570
+ .option('--business-mode-policy <path>', 'Business mode policy override path')
571
+ .option('--allow-mode-override', 'Allow option overrides that conflict with selected business mode preset')
569
572
  .option('--policy <path>', 'Guardrail policy override path')
570
573
  .option('--catalog <path>', 'High-risk catalog override path')
571
574
  .option('--dialogue-policy <path>', 'Dialogue governance policy override path')
@@ -637,6 +640,9 @@ function registerSceneCommands(program) {
637
640
  .option('--user-id <id>', 'User identifier')
638
641
  .option('--session-id <id>', 'Session identifier')
639
642
  .option('--execution-mode <mode>', 'suggestion|apply', 'suggestion')
643
+ .option('--business-mode <mode>', 'Business operating mode (user-mode|ops-mode|dev-mode)')
644
+ .option('--business-mode-policy <path>', 'Business mode policy override path')
645
+ .option('--allow-mode-override', 'Allow option overrides that conflict with selected business mode preset')
640
646
  .option('--policy <path>', 'Guardrail policy override path')
641
647
  .option('--catalog <path>', 'High-risk catalog override path')
642
648
  .option('--dialogue-policy <path>', 'Dialogue governance policy override path')
@@ -719,7 +725,7 @@ function registerSceneCommands(program) {
719
725
  .command('publish')
720
726
  .description('Publish scene package tarball to local registry')
721
727
  .requiredOption('-p, --package <path>', 'Path to scene package directory')
722
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
728
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
723
729
  .option('--dry-run', 'Preview publish without writing files')
724
730
  .option('--force', 'Overwrite existing version in registry')
725
731
  .option('--json', 'Print publish payload as JSON')
@@ -732,7 +738,7 @@ function registerSceneCommands(program) {
732
738
  .description('Remove a published scene package version from local registry')
733
739
  .requiredOption('-n, --name <name>', 'Package name to unpublish')
734
740
  .requiredOption('-v, --version <version>', 'Package version to unpublish')
735
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
741
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
736
742
  .option('--json', 'Print unpublish payload as JSON')
737
743
  .action(async (options) => {
738
744
  await runSceneUnpublishCommand(options);
@@ -744,7 +750,7 @@ function registerSceneCommands(program) {
744
750
  .requiredOption('-n, --name <name>', 'Package name to install')
745
751
  .option('-v, --version <version>', 'Package version (default: latest)')
746
752
  .option('-o, --out <dir>', 'Target output directory')
747
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
753
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
748
754
  .option('--force', 'Overwrite existing installation')
749
755
  .option('--dry-run', 'Preview install without writing files')
750
756
  .option('--json', 'Print install payload as JSON')
@@ -755,7 +761,7 @@ function registerSceneCommands(program) {
755
761
  sceneCmd
756
762
  .command('list')
757
763
  .description('List all packages in the local scene registry')
758
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
764
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
759
765
  .option('--json', 'Print result as JSON')
760
766
  .action(async (options) => {
761
767
  await runSceneListCommand(options);
@@ -765,7 +771,7 @@ function registerSceneCommands(program) {
765
771
  .command('search')
766
772
  .description('Search packages in the local scene registry')
767
773
  .requiredOption('-q, --query <term>', 'Search term (substring match on name, description, group)')
768
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
774
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
769
775
  .option('--json', 'Print result as JSON')
770
776
  .action(async (options) => {
771
777
  await runSceneSearchCommand(options);
@@ -788,7 +794,7 @@ function registerSceneCommands(program) {
788
794
  .requiredOption('-n, --name <name>', 'Package name')
789
795
  .requiredOption('-f, --from <version>', 'Source version')
790
796
  .requiredOption('-t, --to <version>', 'Target version')
791
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
797
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
792
798
  .option('--json', 'Print result as JSON')
793
799
  .option('--stat', 'Show only file change summary')
794
800
  .action(async (options) => {
@@ -799,7 +805,7 @@ function registerSceneCommands(program) {
799
805
  .command('info')
800
806
  .description('Display detailed information about a scene package in the local registry')
801
807
  .requiredOption('-n, --name <name>', 'Package name')
802
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
808
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
803
809
  .option('--json', 'Print result as JSON')
804
810
  .option('--versions-only', 'Show only version list')
805
811
  .action(async (options) => {
@@ -812,7 +818,7 @@ function registerSceneCommands(program) {
812
818
  .requiredOption('-n, --name <name>', 'Package name')
813
819
  .option('-v, --version <version>', 'Specific version to deprecate')
814
820
  .option('-m, --message <msg>', 'Deprecation message')
815
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
821
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
816
822
  .option('--json', 'Print result as JSON')
817
823
  .option('--undo', 'Remove deprecation marker')
818
824
  .action(async (options) => {
@@ -822,7 +828,7 @@ function registerSceneCommands(program) {
822
828
  sceneCmd
823
829
  .command('audit')
824
830
  .description('Audit local scene package registry health')
825
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
831
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
826
832
  .option('--json', 'Print result as JSON')
827
833
  .option('--fix', 'Auto-fix orphaned tarballs and missing entries')
828
834
  .action(async (options) => {
@@ -839,7 +845,7 @@ function registerSceneCommands(program) {
839
845
  .requiredOption('-n, --name <name>', 'Package name')
840
846
  .option('-o, --owner <owner>', 'Owner name to set')
841
847
  .option('--remove', 'Remove owner from package')
842
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
848
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
843
849
  .option('--json', 'Print result as JSON')
844
850
  .action(async (options) => {
845
851
  await runSceneOwnerCommand({ ...options, action: 'set' });
@@ -849,7 +855,7 @@ function registerSceneCommands(program) {
849
855
  .command('show')
850
856
  .description('Show the current owner of a package')
851
857
  .requiredOption('-n, --name <name>', 'Package name')
852
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
858
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
853
859
  .option('--json', 'Print result as JSON')
854
860
  .action(async (options) => {
855
861
  await runSceneOwnerCommand({ ...options, action: 'show' });
@@ -859,7 +865,7 @@ function registerSceneCommands(program) {
859
865
  .command('list')
860
866
  .description('List all packages owned by a specific owner')
861
867
  .requiredOption('-o, --owner <owner>', 'Owner name to filter by')
862
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
868
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
863
869
  .option('--json', 'Print result as JSON')
864
870
  .action(async (options) => {
865
871
  await runSceneOwnerCommand({ ...options, action: 'list' });
@@ -871,7 +877,7 @@ function registerSceneCommands(program) {
871
877
  .requiredOption('-n, --name <name>', 'Package name')
872
878
  .requiredOption('--from <owner>', 'Current owner')
873
879
  .requiredOption('--to <owner>', 'New owner')
874
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
880
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
875
881
  .option('--json', 'Print result as JSON')
876
882
  .action(async (options) => {
877
883
  await runSceneOwnerCommand({ ...options, action: 'transfer' });
@@ -888,7 +894,7 @@ function registerSceneCommands(program) {
888
894
  .requiredOption('-n, --name <name>', 'Package name')
889
895
  .requiredOption('-t, --tag <tag>', 'Tag name')
890
896
  .requiredOption('-v, --version <version>', 'Version to tag')
891
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
897
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
892
898
  .option('--json', 'Print result as JSON')
893
899
  .action(async (options) => {
894
900
  await runSceneTagCommand({ ...options, action: 'add' });
@@ -899,7 +905,7 @@ function registerSceneCommands(program) {
899
905
  .description('Remove a distribution tag from a package')
900
906
  .requiredOption('-n, --name <name>', 'Package name')
901
907
  .requiredOption('-t, --tag <tag>', 'Tag name to remove')
902
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
908
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
903
909
  .option('--json', 'Print result as JSON')
904
910
  .action(async (options) => {
905
911
  await runSceneTagCommand({ ...options, action: 'rm' });
@@ -909,7 +915,7 @@ function registerSceneCommands(program) {
909
915
  .command('ls')
910
916
  .description('List all distribution tags for a package')
911
917
  .requiredOption('-n, --name <name>', 'Package name')
912
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
918
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
913
919
  .option('--json', 'Print result as JSON')
914
920
  .action(async (options) => {
915
921
  await runSceneTagCommand({ ...options, action: 'ls' });
@@ -919,7 +925,7 @@ function registerSceneCommands(program) {
919
925
  sceneCmd
920
926
  .command('stats')
921
927
  .description('Show aggregate statistics about the local scene package registry')
922
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
928
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
923
929
  .option('--json', 'Print result as JSON')
924
930
  .action(async (options) => {
925
931
  await runSceneStatsCommand(options);
@@ -935,7 +941,7 @@ function registerSceneCommands(program) {
935
941
  .description('Lock a specific version of a package')
936
942
  .requiredOption('-n, --name <name>', 'Package name')
937
943
  .requiredOption('-v, --version <version>', 'Version to lock')
938
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
944
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
939
945
  .option('--json', 'Print result as JSON')
940
946
  .action(async (options) => {
941
947
  await runSceneLockCommand({ ...options, action: 'set' });
@@ -946,7 +952,7 @@ function registerSceneCommands(program) {
946
952
  .description('Unlock a specific version of a package')
947
953
  .requiredOption('-n, --name <name>', 'Package name')
948
954
  .requiredOption('-v, --version <version>', 'Version to unlock')
949
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
955
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
950
956
  .option('--json', 'Print result as JSON')
951
957
  .action(async (options) => {
952
958
  await runSceneLockCommand({ ...options, action: 'rm' });
@@ -956,7 +962,7 @@ function registerSceneCommands(program) {
956
962
  .command('ls')
957
963
  .description('List all locked versions for a package')
958
964
  .requiredOption('-n, --name <name>', 'Package name')
959
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
965
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
960
966
  .option('--json', 'Print result as JSON')
961
967
  .action(async (options) => {
962
968
  await runSceneLockCommand({ ...options, action: 'ls' });
@@ -967,7 +973,7 @@ function registerSceneCommands(program) {
967
973
  .command('connect')
968
974
  .description('Test connectivity and authentication to a Moqui ERP instance')
969
975
  .option('-c, --config <path>', 'Path to moqui-adapter.json config file')
970
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
976
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
971
977
  .option('--json', 'Print result as JSON')
972
978
  .action(async (options) => {
973
979
  await runSceneConnectCommand(options);
@@ -1029,7 +1035,7 @@ function registerSceneCommands(program) {
1029
1035
  .command('contribute')
1030
1036
  .description('Validate, lint, score, and publish a scene package in one step')
1031
1037
  .option('-p, --package <path>', 'Path to scene package directory', '.')
1032
- .option('-r, --registry <path>', 'Registry root directory', '.kiro/registry')
1038
+ .option('-r, --registry <path>', 'Registry root directory', '.sce/registry')
1033
1039
  .option('--dry-run', 'Preview contribution without publishing')
1034
1040
  .option('--strict', 'Treat lint warnings as errors')
1035
1041
  .option('--skip-lint', 'Skip lint and score stages')
@@ -1217,7 +1223,7 @@ function normalizeEvalOptions(options = {}) {
1217
1223
 
1218
1224
  function normalizeEvalPolicyTemplateOptions(options = {}) {
1219
1225
  return {
1220
- out: options.out || '.kiro/templates/scene-eval-task-policy.json',
1226
+ out: options.out || '.sce/templates/scene-eval-task-policy.json',
1221
1227
  force: options.force === true,
1222
1228
  json: options.json === true
1223
1229
  };
@@ -1225,7 +1231,7 @@ function normalizeEvalPolicyTemplateOptions(options = {}) {
1225
1231
 
1226
1232
  function normalizeEvalConfigTemplateOptions(options = {}) {
1227
1233
  return {
1228
- out: options.out || '.kiro/templates/scene-eval-config.json',
1234
+ out: options.out || '.sce/templates/scene-eval-config.json',
1229
1235
  profile: options.profile ? String(options.profile).trim().toLowerCase() : 'default',
1230
1236
  force: options.force === true,
1231
1237
  json: options.json === true
@@ -1234,7 +1240,7 @@ function normalizeEvalConfigTemplateOptions(options = {}) {
1234
1240
 
1235
1241
  function normalizeEvalProfileRulesTemplateOptions(options = {}) {
1236
1242
  return {
1237
- out: options.out || '.kiro/templates/scene-eval-profile-rules.json',
1243
+ out: options.out || '.sce/templates/scene-eval-profile-rules.json',
1238
1244
  force: options.force === true,
1239
1245
  json: options.json === true
1240
1246
  };
@@ -1275,7 +1281,7 @@ function normalizeRouteOptions(options = {}) {
1275
1281
 
1276
1282
  function normalizeRoutePolicyTemplateOptions(options = {}) {
1277
1283
  return {
1278
- out: options.out || '.kiro/templates/scene-route-policy.json',
1284
+ out: options.out || '.sce/templates/scene-route-policy.json',
1279
1285
  profile: options.profile ? String(options.profile).trim().toLowerCase() : 'default',
1280
1286
  force: options.force === true,
1281
1287
  json: options.json === true
@@ -1318,7 +1324,7 @@ function normalizeRoutePolicySuggestOptions(options = {}) {
1318
1324
  function normalizeRoutePolicyRolloutOptions(options = {}) {
1319
1325
  return {
1320
1326
  suggestion: options.suggestion ? String(options.suggestion).trim() : undefined,
1321
- targetPolicy: options.targetPolicy ? String(options.targetPolicy).trim() : '.kiro/config/scene-route-policy.json',
1327
+ targetPolicy: options.targetPolicy ? String(options.targetPolicy).trim() : '.sce/config/scene-route-policy.json',
1322
1328
  name: options.name ? String(options.name).trim() : undefined,
1323
1329
  outDir: options.outDir ? String(options.outDir).trim() : SCENE_ROUTE_POLICY_ROLLOUT_DEFAULT_DIR,
1324
1330
  force: options.force === true,
@@ -1331,7 +1337,7 @@ function normalizeScenePackageTemplateOptions(options = {}) {
1331
1337
 
1332
1338
  return {
1333
1339
  spec: hasSpec ? String(options.spec).trim() : undefined,
1334
- out: options.out ? String(options.out).trim() : (hasSpec ? 'custom/scene-package.json' : '.kiro/templates/scene-package.json'),
1340
+ out: options.out ? String(options.out).trim() : (hasSpec ? 'custom/scene-package.json' : '.sce/templates/scene-package.json'),
1335
1341
  kind: options.kind ? String(options.kind).trim().toLowerCase() : 'scene-template',
1336
1342
  group: options.group ? String(options.group).trim() : 'sce.scene',
1337
1343
  name: options.name ? String(options.name).trim() : undefined,
@@ -1450,7 +1456,7 @@ function normalizeScenePackageRegistryOptions(options = {}) {
1450
1456
 
1451
1457
  function normalizeScenePackageGateTemplateOptions(options = {}) {
1452
1458
  return {
1453
- out: options.out ? String(options.out).trim() : '.kiro/templates/scene-package-gate-policy.json',
1459
+ out: options.out ? String(options.out).trim() : '.sce/templates/scene-package-gate-policy.json',
1454
1460
  profile: options.profile ? String(options.profile).trim().toLowerCase() : 'baseline',
1455
1461
  force: options.force === true,
1456
1462
  json: options.json === true
@@ -1460,7 +1466,7 @@ function normalizeScenePackageGateTemplateOptions(options = {}) {
1460
1466
  function normalizeScenePackageGateOptions(options = {}) {
1461
1467
  return {
1462
1468
  registry: options.registry ? String(options.registry).trim() : undefined,
1463
- policy: options.policy ? String(options.policy).trim() : '.kiro/templates/scene-package-gate-policy.json',
1469
+ policy: options.policy ? String(options.policy).trim() : '.sce/templates/scene-package-gate-policy.json',
1464
1470
  spec: options.spec ? String(options.spec).trim() : undefined,
1465
1471
  taskOut: options.taskOut ? String(options.taskOut).trim() : undefined,
1466
1472
  runbookOut: options.runbookOut ? String(options.runbookOut).trim() : undefined,
@@ -2202,7 +2208,7 @@ function buildDoctorSuggestions(report, sceneManifest) {
2202
2208
  suggestions.push(createDoctorSuggestion(
2203
2209
  'binding-plugin-manifest-missing',
2204
2210
  'Provide binding plugin manifest or disable manifest load',
2205
- 'Create manifest via `.kiro/config/scene-binding-plugins.json` or rerun doctor with `--no-binding-plugin-manifest-load`.',
2211
+ 'Create manifest via `.sce/config/scene-binding-plugins.json` or rerun doctor with `--no-binding-plugin-manifest-load`.',
2206
2212
  'medium'
2207
2213
  ));
2208
2214
  }
@@ -3722,7 +3728,7 @@ function createScenePackageTemplate(options = {}) {
3722
3728
 
3723
3729
  function resolveScenePackageTemplateOutputPath(options = {}, projectRoot = process.cwd()) {
3724
3730
  if (options.spec) {
3725
- return path.join(projectRoot, '.kiro', 'specs', options.spec, options.out);
3731
+ return path.join(projectRoot, '.sce', 'specs', options.spec, options.out);
3726
3732
  }
3727
3733
 
3728
3734
  return resolvePath(projectRoot, options.out);
@@ -3730,7 +3736,7 @@ function resolveScenePackageTemplateOutputPath(options = {}, projectRoot = proce
3730
3736
 
3731
3737
  function resolveScenePackageValidateInputPath(options = {}, projectRoot = process.cwd()) {
3732
3738
  if (options.spec) {
3733
- return path.join(projectRoot, '.kiro', 'specs', options.spec, options.specPackage);
3739
+ return path.join(projectRoot, '.sce', 'specs', options.spec, options.specPackage);
3734
3740
  }
3735
3741
 
3736
3742
  return resolvePath(projectRoot, options.packagePath);
@@ -3742,7 +3748,7 @@ function deriveScenePackagePublishSourceFromManifestEntry(entry = {}) {
3742
3748
  if (!normalized) {
3743
3749
  return null;
3744
3750
  }
3745
- const marker = '.kiro/specs/';
3751
+ const marker = '.sce/specs/';
3746
3752
  const markerIndex = normalized.indexOf(marker);
3747
3753
  if (markerIndex < 0) {
3748
3754
  return null;
@@ -4113,7 +4119,7 @@ function buildScenePackageGateRemediationPlan(evaluation = {}) {
4113
4119
  priority: 'high',
4114
4120
  title: `Increase valid template count by at least ${gap || 1}`,
4115
4121
  recommendation: 'Promote additional template packages via package-publish until gate threshold is met.',
4116
- command_hint: 'sce scene package-registry --template-dir .kiro/templates/scene-packages --json'
4122
+ command_hint: 'sce scene package-registry --template-dir .sce/templates/scene-packages --json'
4117
4123
  }, checkId);
4118
4124
  continue;
4119
4125
  }
@@ -4124,7 +4130,7 @@ function buildScenePackageGateRemediationPlan(evaluation = {}) {
4124
4130
  priority: 'high',
4125
4131
  title: 'Reduce invalid template count to gate threshold',
4126
4132
  recommendation: 'Repair or deprecate invalid templates and rerun registry validation.',
4127
- command_hint: 'sce scene package-registry --template-dir .kiro/templates/scene-packages --strict --json'
4133
+ command_hint: 'sce scene package-registry --template-dir .sce/templates/scene-packages --strict --json'
4128
4134
  }, checkId);
4129
4135
  continue;
4130
4136
  }
@@ -4521,7 +4527,7 @@ async function loadSceneEvalProfileRules(options = {}, projectRoot, fileSystem =
4521
4527
  const defaultRules = createDefaultSceneEvalProfileRulesTemplate();
4522
4528
 
4523
4529
  const explicitRulesPath = options.profileRules ? resolvePath(projectRoot, options.profileRules) : null;
4524
- const implicitRulesPath = path.join(projectRoot, '.kiro', 'config', 'scene-eval-profile-rules.json');
4530
+ const implicitRulesPath = path.join(projectRoot, '.sce', 'config', 'scene-eval-profile-rules.json');
4525
4531
  const hasExplicitRulesPath = !!explicitRulesPath;
4526
4532
 
4527
4533
  let rulesPath = null;
@@ -4534,7 +4540,7 @@ async function loadSceneEvalProfileRules(options = {}, projectRoot, fileSystem =
4534
4540
  try {
4535
4541
  if (await pathExists(implicitRulesPath)) {
4536
4542
  rulesPath = implicitRulesPath;
4537
- rulesSource = '.kiro/config/scene-eval-profile-rules.json';
4543
+ rulesSource = '.sce/config/scene-eval-profile-rules.json';
4538
4544
  }
4539
4545
  } catch (error) {
4540
4546
  warnings.push(`profile rules path check failed: ${error.message}`);
@@ -4811,7 +4817,7 @@ function collectManifestDiscoveryCandidates(preferredPath = 'custom/scene.yaml')
4811
4817
  }
4812
4818
 
4813
4819
  async function discoverSpecSceneManifestPath(projectRoot, specName, preferredPath = 'custom/scene.yaml', fileSystem = fs) {
4814
- const specRoot = path.join(projectRoot, '.kiro', 'specs', specName);
4820
+ const specRoot = path.join(projectRoot, '.sce', 'specs', specName);
4815
4821
  const pathExists = typeof fileSystem.pathExists === 'function'
4816
4822
  ? fileSystem.pathExists.bind(fileSystem)
4817
4823
  : fs.pathExists.bind(fs);
@@ -5015,7 +5021,7 @@ function matchesSceneCatalogFilters(entry, options) {
5015
5021
  }
5016
5022
 
5017
5023
  async function listSpecDirectoryNames(projectRoot, fileSystem = fs) {
5018
- const specsPath = path.join(projectRoot, '.kiro', 'specs');
5024
+ const specsPath = path.join(projectRoot, '.sce', 'specs');
5019
5025
  const readDirectory = typeof fileSystem.readdir === 'function'
5020
5026
  ? fileSystem.readdir.bind(fileSystem)
5021
5027
  : fs.readdir.bind(fs);
@@ -5046,7 +5052,7 @@ async function buildSceneCatalog(options = {}, dependencies = {}) {
5046
5052
  : await listSpecDirectoryNames(projectRoot, fileSystem);
5047
5053
 
5048
5054
  if (options.spec) {
5049
- const specPath = path.join(projectRoot, '.kiro', 'specs', options.spec);
5055
+ const specPath = path.join(projectRoot, '.sce', 'specs', options.spec);
5050
5056
  if (!await pathExists(specPath)) {
5051
5057
  throw new Error(`target spec not found: ${options.spec}`);
5052
5058
  }
@@ -5083,7 +5089,7 @@ async function buildSceneCatalog(options = {}, dependencies = {}) {
5083
5089
 
5084
5090
  summary.manifests_discovered += 1;
5085
5091
 
5086
- const manifestAbsolutePath = path.join(projectRoot, '.kiro', 'specs', specName, manifestPath);
5092
+ const manifestAbsolutePath = path.join(projectRoot, '.sce', 'specs', specName, manifestPath);
5087
5093
  let sceneManifest = {};
5088
5094
  let validationErrors = [];
5089
5095
 
@@ -5666,7 +5672,7 @@ async function appendSceneEvalRecommendationsToSpecTasks(options, report, projec
5666
5672
  throw new Error('--sync-spec-tasks requires --spec source');
5667
5673
  }
5668
5674
 
5669
- const tasksPath = path.join(projectRoot, '.kiro', 'specs', options.spec, 'tasks.md');
5675
+ const tasksPath = path.join(projectRoot, '.sce', 'specs', options.spec, 'tasks.md');
5670
5676
  const tasksExists = await fileSystem.pathExists(tasksPath);
5671
5677
 
5672
5678
  if (!tasksExists) {
@@ -5822,7 +5828,7 @@ async function appendDoctorSuggestionsToSpecTasks(options, report, projectRoot,
5822
5828
  throw new Error('--sync-spec-tasks requires --spec source');
5823
5829
  }
5824
5830
 
5825
- const tasksPath = path.join(projectRoot, '.kiro', 'specs', options.spec, 'tasks.md');
5831
+ const tasksPath = path.join(projectRoot, '.sce', 'specs', options.spec, 'tasks.md');
5826
5832
  const tasksExists = await fileSystem.pathExists(tasksPath);
5827
5833
 
5828
5834
  if (!tasksExists) {
@@ -6151,7 +6157,7 @@ async function appendScenePackageGateChecksToSpecTasks(options, payload, project
6151
6157
  throw new Error('--sync-spec-tasks requires --spec source');
6152
6158
  }
6153
6159
 
6154
- const tasksPath = path.join(projectRoot, '.kiro', 'specs', options.spec, 'tasks.md');
6160
+ const tasksPath = path.join(projectRoot, '.sce', 'specs', options.spec, 'tasks.md');
6155
6161
  const tasksExists = await fileSystem.pathExists(tasksPath);
6156
6162
 
6157
6163
  if (!tasksExists) {
@@ -6792,7 +6798,7 @@ function resolveScaffoldTemplatePath(options, projectRoot) {
6792
6798
  }
6793
6799
 
6794
6800
  function resolveScaffoldOutputPath(projectRoot, options) {
6795
- return path.join(projectRoot, '.kiro', 'specs', options.spec, options.output);
6801
+ return path.join(projectRoot, '.sce', 'specs', options.spec, options.output);
6796
6802
  }
6797
6803
 
6798
6804
  function applyScaffoldOverrides(manifest, options) {
@@ -7550,7 +7556,7 @@ async function runScenePackageTemplateCommand(rawOptions = {}, dependencies = {}
7550
7556
  overwritten: outputExists,
7551
7557
  spec: options.spec || null,
7552
7558
  output_path: options.spec
7553
- ? normalizeRelativePath(path.join('.kiro', 'specs', options.spec, options.out))
7559
+ ? normalizeRelativePath(path.join('.sce', 'specs', options.spec, options.out))
7554
7560
  : normalizeRelativePath(options.out),
7555
7561
  output_abs_path: outputPath,
7556
7562
  package_contract: payload,
@@ -7806,7 +7812,7 @@ async function runScenePackagePublishCommand(rawOptions = {}, dependencies = {})
7806
7812
  : fs.writeFile.bind(fs);
7807
7813
 
7808
7814
  try {
7809
- const specRoot = path.join(projectRoot, '.kiro', 'specs', options.spec);
7815
+ const specRoot = path.join(projectRoot, '.sce', 'specs', options.spec);
7810
7816
  const specExists = await pathExists(specRoot);
7811
7817
  if (!specExists) {
7812
7818
  throw new Error(`source spec not found: ${options.spec}`);
@@ -9133,7 +9139,7 @@ async function runScenePackageOntologyBackfillBatchCommand(rawOptions = {}, depe
9133
9139
  }
9134
9140
 
9135
9141
  const specPackagePath = source.specPackage || options.specPackagePath;
9136
- const packagePath = path.join(projectRoot, '.kiro', 'specs', spec, specPackagePath);
9142
+ const packagePath = path.join(projectRoot, '.sce', 'specs', spec, specPackagePath);
9137
9143
  const packagePathDisplay = normalizeRelativePath(path.relative(projectRoot, packagePath)) || normalizeRelativePath(packagePath);
9138
9144
 
9139
9145
  try {
@@ -9315,7 +9321,7 @@ async function runScenePackageInstantiateCommand(rawOptions = {}, dependencies =
9315
9321
  options.targetSpec
9316
9322
  );
9317
9323
 
9318
- const targetSpecRoot = path.join(projectRoot, '.kiro', 'specs', options.targetSpec);
9324
+ const targetSpecRoot = path.join(projectRoot, '.sce', 'specs', options.targetSpec);
9319
9325
  const artifacts = isPlainObject(packageContract.artifacts) ? packageContract.artifacts : {};
9320
9326
  const targetSceneManifestRelative = normalizeRelativePath(artifacts.entry_scene || 'custom/scene.yaml') || 'custom/scene.yaml';
9321
9327
  const targetPackageContractRelative = 'custom/scene-package.json';
@@ -9825,7 +9831,7 @@ async function runSceneScaffoldCommand(rawOptions = {}, dependencies = {}) {
9825
9831
  }
9826
9832
 
9827
9833
  try {
9828
- const specPath = path.join(projectRoot, '.kiro', 'specs', options.spec);
9834
+ const specPath = path.join(projectRoot, '.sce', 'specs', options.spec);
9829
9835
  const specExists = await fileSystem.pathExists(specPath);
9830
9836
  if (!specExists) {
9831
9837
  throw new Error(`target spec not found: ${options.spec}`);
@@ -11161,6 +11167,9 @@ function normalizeSceneInteractiveFlowOptions(options = {}) {
11161
11167
  userId: options.userId ? String(options.userId).trim() : undefined,
11162
11168
  sessionId: options.sessionId ? String(options.sessionId).trim() : undefined,
11163
11169
  executionMode: options.executionMode ? String(options.executionMode).trim() : 'suggestion',
11170
+ businessMode: options.businessMode ? String(options.businessMode).trim().toLowerCase() : undefined,
11171
+ businessModePolicy: options.businessModePolicy ? String(options.businessModePolicy).trim() : undefined,
11172
+ allowModeOverride: options.allowModeOverride === true,
11164
11173
  policy: options.policy ? String(options.policy).trim() : undefined,
11165
11174
  catalog: options.catalog ? String(options.catalog).trim() : undefined,
11166
11175
  dialoguePolicy: options.dialoguePolicy ? String(options.dialoguePolicy).trim() : undefined,
@@ -11236,6 +11245,12 @@ function validateSceneInteractiveFlowOptions(options) {
11236
11245
  if (!['suggestion', 'apply'].includes(String(options.executionMode || '').trim())) {
11237
11246
  return '--execution-mode must be suggestion or apply';
11238
11247
  }
11248
+ if (
11249
+ options.businessMode !== undefined &&
11250
+ !['user-mode', 'ops-mode', 'dev-mode'].includes(String(options.businessMode).trim().toLowerCase())
11251
+ ) {
11252
+ return '--business-mode must be one of: user-mode, ops-mode, dev-mode';
11253
+ }
11239
11254
  const dialogueProfile = String(options.dialogueProfile || 'business-user').trim().toLowerCase();
11240
11255
  if (!['business-user', 'system-maintainer'].includes(dialogueProfile)) {
11241
11256
  return '--dialogue-profile must be one of: business-user, system-maintainer';
@@ -11289,6 +11304,9 @@ function normalizeSceneInteractiveLoopOptions(options = {}) {
11289
11304
  userId: options.userId ? String(options.userId).trim() : undefined,
11290
11305
  sessionId: options.sessionId ? String(options.sessionId).trim() : undefined,
11291
11306
  executionMode: options.executionMode ? String(options.executionMode).trim() : 'suggestion',
11307
+ businessMode: options.businessMode ? String(options.businessMode).trim().toLowerCase() : undefined,
11308
+ businessModePolicy: options.businessModePolicy ? String(options.businessModePolicy).trim() : undefined,
11309
+ allowModeOverride: options.allowModeOverride === true,
11292
11310
  policy: options.policy ? String(options.policy).trim() : undefined,
11293
11311
  catalog: options.catalog ? String(options.catalog).trim() : undefined,
11294
11312
  dialoguePolicy: options.dialoguePolicy ? String(options.dialoguePolicy).trim() : undefined,
@@ -11345,6 +11363,12 @@ function validateSceneInteractiveLoopOptions(options) {
11345
11363
  if (!['suggestion', 'apply'].includes(String(options.executionMode || '').trim())) {
11346
11364
  return '--execution-mode must be suggestion or apply';
11347
11365
  }
11366
+ if (
11367
+ options.businessMode !== undefined &&
11368
+ !['user-mode', 'ops-mode', 'dev-mode'].includes(String(options.businessMode).trim().toLowerCase())
11369
+ ) {
11370
+ return '--business-mode must be one of: user-mode, ops-mode, dev-mode';
11371
+ }
11348
11372
  const dialogueProfile = String(options.dialogueProfile || 'business-user').trim().toLowerCase();
11349
11373
  if (!['business-user', 'system-maintainer'].includes(dialogueProfile)) {
11350
11374
  return '--dialogue-profile must be one of: business-user, system-maintainer';
@@ -11384,8 +11408,8 @@ function normalizeSceneMoquiBaselineOptions(options = {}) {
11384
11408
  const minValidRate = Number(options.minValidRate);
11385
11409
  return {
11386
11410
  templateDir: options.templateDir ? String(options.templateDir).trim() : SCENE_PACKAGE_TEMPLATE_DEFAULT_DIR,
11387
- out: options.out ? String(options.out).trim() : '.kiro/reports/moqui-template-baseline.json',
11388
- markdownOut: options.markdownOut ? String(options.markdownOut).trim() : '.kiro/reports/moqui-template-baseline.md',
11411
+ out: options.out ? String(options.out).trim() : '.sce/reports/moqui-template-baseline.json',
11412
+ markdownOut: options.markdownOut ? String(options.markdownOut).trim() : '.sce/reports/moqui-template-baseline.md',
11389
11413
  match: options.match ? String(options.match).trim() : SCENE_MOQUI_BASELINE_DEFAULT_MATCH,
11390
11414
  includeAll: options.includeAll === true,
11391
11415
  minScore: Number.isFinite(minScore) ? minScore : SCENE_MOQUI_BASELINE_DEFAULT_MIN_SCORE,
@@ -11635,6 +11659,15 @@ async function runSceneInteractiveFlowCommand(rawOptions = {}, dependencies = {}
11635
11659
  args.push('--goal-file', options.goalFile);
11636
11660
  }
11637
11661
  args.push('--execution-mode', options.executionMode);
11662
+ if (options.businessMode) {
11663
+ args.push('--business-mode', options.businessMode);
11664
+ }
11665
+ if (options.businessModePolicy) {
11666
+ args.push('--business-mode-policy', options.businessModePolicy);
11667
+ }
11668
+ if (options.allowModeOverride) {
11669
+ args.push('--allow-mode-override');
11670
+ }
11638
11671
  if (options.userId) {
11639
11672
  args.push('--user-id', options.userId);
11640
11673
  }
@@ -11881,6 +11914,15 @@ async function runSceneInteractiveLoopCommand(rawOptions = {}, dependencies = {}
11881
11914
  args.push('--goal-file', options.goalFile);
11882
11915
  }
11883
11916
  args.push('--execution-mode', options.executionMode);
11917
+ if (options.businessMode) {
11918
+ args.push('--business-mode', options.businessMode);
11919
+ }
11920
+ if (options.businessModePolicy) {
11921
+ args.push('--business-mode-policy', options.businessModePolicy);
11922
+ }
11923
+ if (options.allowModeOverride) {
11924
+ args.push('--allow-mode-override');
11925
+ }
11884
11926
  if (options.userId) {
11885
11927
  args.push('--user-id', options.userId);
11886
11928
  }
@@ -12843,7 +12885,7 @@ async function removeFromRegistry(name, version, registryRoot, fileSystem) {
12843
12885
  function normalizeScenePackageRegistryPublishOptions(options = {}) {
12844
12886
  return {
12845
12887
  package: options.package ? String(options.package).trim() : undefined,
12846
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
12888
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
12847
12889
  dryRun: options.dryRun === true,
12848
12890
  force: options.force === true,
12849
12891
  json: options.json === true
@@ -13027,7 +13069,7 @@ function normalizeSceneUnpublishOptions(options = {}) {
13027
13069
  return {
13028
13070
  name: options.name ? String(options.name).trim() : undefined,
13029
13071
  version: options.version ? String(options.version).trim() : undefined,
13030
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
13072
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
13031
13073
  json: options.json === true
13032
13074
  };
13033
13075
  }
@@ -13050,7 +13092,7 @@ function normalizeSceneInstallOptions(options = {}) {
13050
13092
  name: options.name ? String(options.name).trim() : undefined,
13051
13093
  version: options.version ? String(options.version).trim() : undefined,
13052
13094
  out: options.out ? String(options.out).trim() : undefined,
13053
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
13095
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
13054
13096
  force: options.force === true,
13055
13097
  dryRun: options.dryRun === true,
13056
13098
  json: options.json === true
@@ -13277,7 +13319,7 @@ function filterRegistryPackages(packageList, query) {
13277
13319
 
13278
13320
  function normalizeSceneListOptions(options = {}) {
13279
13321
  return {
13280
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
13322
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
13281
13323
  json: options.json === true
13282
13324
  };
13283
13325
  }
@@ -13337,7 +13379,7 @@ function printSceneListSummary(options, payload, projectRoot = process.cwd()) {
13337
13379
  function normalizeSceneSearchOptions(options = {}) {
13338
13380
  return {
13339
13381
  query: options.query ? String(options.query).trim() : '',
13340
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
13382
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
13341
13383
  json: options.json === true
13342
13384
  };
13343
13385
  }
@@ -13652,7 +13694,7 @@ function normalizeSceneDiffOptions(options = {}) {
13652
13694
  name: options.name ? String(options.name).trim() : undefined,
13653
13695
  from: options.from ? String(options.from).trim() : undefined,
13654
13696
  to: options.to ? String(options.to).trim() : undefined,
13655
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
13697
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
13656
13698
  json: options.json === true,
13657
13699
  stat: options.stat === true
13658
13700
  };
@@ -13772,7 +13814,7 @@ async function runSceneDiffCommand(rawOptions = {}, dependencies = {}) {
13772
13814
  function normalizeSceneInfoOptions(options = {}) {
13773
13815
  return {
13774
13816
  name: options.name ? String(options.name).trim() : undefined,
13775
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
13817
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
13776
13818
  json: options.json === true,
13777
13819
  versionsOnly: options.versionsOnly === true
13778
13820
  };
@@ -13870,7 +13912,7 @@ function normalizeSceneDeprecateOptions(options = {}) {
13870
13912
  name: options.name ? String(options.name).trim() : undefined,
13871
13913
  version: options.version ? String(options.version).trim() : undefined,
13872
13914
  message: options.message ? String(options.message).trim() : undefined,
13873
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
13915
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
13874
13916
  json: options.json === true,
13875
13917
  undo: options.undo === true
13876
13918
  };
@@ -13981,7 +14023,7 @@ async function runSceneDeprecateCommand(rawOptions = {}, dependencies = {}) {
13981
14023
 
13982
14024
  function normalizeSceneAuditOptions(options = {}) {
13983
14025
  return {
13984
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
14026
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
13985
14027
  json: options.json === true,
13986
14028
  fix: options.fix === true
13987
14029
  };
@@ -14251,7 +14293,7 @@ function normalizeSceneOwnerOptions(options = {}) {
14251
14293
  from: options.from ? String(options.from).trim() : undefined,
14252
14294
  to: options.to ? String(options.to).trim() : undefined,
14253
14295
  remove: options.remove === true,
14254
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
14296
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
14255
14297
  json: options.json === true
14256
14298
  };
14257
14299
  }
@@ -14420,7 +14462,7 @@ function normalizeSceneTagOptions(options = {}) {
14420
14462
  name: options.name ? String(options.name).trim() : undefined,
14421
14463
  tag: options.tag ? String(options.tag).trim() : undefined,
14422
14464
  version: options.version ? String(options.version).trim() : undefined,
14423
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
14465
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
14424
14466
  json: options.json === true
14425
14467
  };
14426
14468
  }
@@ -14560,7 +14602,7 @@ function printSceneTagSummary(options, payload) {
14560
14602
 
14561
14603
  function normalizeSceneStatsOptions(options = {}) {
14562
14604
  return {
14563
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
14605
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
14564
14606
  json: options.json === true
14565
14607
  };
14566
14608
  }
@@ -14669,7 +14711,7 @@ function normalizeSceneLockOptions(options = {}) {
14669
14711
  action: options.action ? String(options.action).trim() : undefined,
14670
14712
  name: options.name ? String(options.name).trim() : undefined,
14671
14713
  version: options.version ? String(options.version).trim() : undefined,
14672
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
14714
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
14673
14715
  json: options.json === true
14674
14716
  };
14675
14717
  }
@@ -14809,7 +14851,7 @@ function printSceneLockSummary(options, payload) {
14809
14851
  function normalizeSceneConnectOptions(options = {}) {
14810
14852
  return {
14811
14853
  config: options.config ? String(options.config).trim() : undefined,
14812
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
14854
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
14813
14855
  json: options.json === true
14814
14856
  };
14815
14857
  }
@@ -15044,7 +15086,7 @@ function normalizeSceneExtractOptions(options = {}) {
15044
15086
  config: options.config ? String(options.config).trim() : undefined,
15045
15087
  type: options.type ? String(options.type).trim() : undefined,
15046
15088
  pattern: options.pattern ? String(options.pattern).trim() : undefined,
15047
- out: options.out ? String(options.out).trim() : '.kiro/templates/extracted',
15089
+ out: options.out ? String(options.out).trim() : '.sce/templates/extracted',
15048
15090
  dryRun: options.dryRun === true,
15049
15091
  json: options.json === true
15050
15092
  };
@@ -15322,7 +15364,7 @@ function printSceneScoreSummary(options, payload, projectRoot = process.cwd()) {
15322
15364
  function normalizeSceneContributeOptions(options = {}) {
15323
15365
  return {
15324
15366
  package: options.package ? String(options.package).trim() : '.',
15325
- registry: options.registry ? String(options.registry).trim() : '.kiro/registry',
15367
+ registry: options.registry ? String(options.registry).trim() : '.sce/registry',
15326
15368
  dryRun: options.dryRun === true,
15327
15369
  strict: options.strict === true,
15328
15370
  json: options.json === true,