scene-capability-engine 3.3.4 → 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.
- package/CHANGELOG.md +151 -78
- package/README.md +6 -6
- package/README.zh.md +6 -6
- package/bin/scene-capability-engine.js +129 -7
- package/docs/331-poc-adaptation-roadmap.md +3 -3
- package/docs/331-poc-dual-track-integration-guide.md +8 -8
- package/docs/331-poc-weekly-delivery-checklist.md +6 -6
- package/docs/README.md +6 -0
- package/docs/adopt-migration-guide.md +13 -13
- package/docs/adoption-guide.md +28 -28
- package/docs/agent-hooks-analysis.md +10 -10
- package/docs/agent-runtime/agent-result-summary-contract.schema.json +50 -0
- package/docs/agent-runtime/agent-result-summary.sample.json +11 -0
- package/docs/agent-runtime/capability-mapping-report.sample.json +42 -0
- package/docs/agent-runtime/capability-mapping-report.schema.json +136 -0
- package/docs/agent-runtime/failure-taxonomy-baseline.json +99 -0
- package/docs/agent-runtime/multi-agent-coordination-policy-baseline.json +38 -0
- package/docs/agent-runtime/strategy-routing-policy-baseline.json +24 -0
- package/docs/agent-runtime/symbol-evidence.sample.json +34 -0
- package/docs/agent-runtime/symbol-evidence.schema.json +128 -0
- package/docs/architecture.md +13 -13
- package/docs/articles/ai-driven-development-philosophy-and-practice.en.md +3 -3
- package/docs/articles/ai-driven-development-philosophy-and-practice.md +3 -3
- package/docs/autonomous-control-guide.md +35 -35
- package/docs/command-reference.md +254 -151
- package/docs/cross-tool-guide.md +7 -7
- package/docs/developer-guide.md +8 -8
- package/docs/document-governance.md +15 -15
- package/docs/environment-management-guide.md +6 -6
- package/docs/examples/add-export-command/design.md +1 -1
- package/docs/faq.md +13 -13
- package/docs/handoff-profile-integration-guide.md +3 -3
- package/docs/handoffs/evidence/ontology/moqui-template-baseline-2026-02-17-232922.json +7 -7
- package/docs/handoffs/evidence/ontology/moqui-template-baseline-2026-02-17-232922.md +1 -1
- package/docs/integration-modes.md +12 -12
- package/docs/integration-philosophy.md +11 -11
- package/docs/interactive-customization/331-poc-sce-integration-checklist.md +24 -24
- package/docs/interactive-customization/README.md +43 -43
- package/docs/interactive-customization/business-mode-policy-baseline.json +33 -0
- package/docs/interactive-customization/dual-ui-mode-integration-guide.md +1 -1
- package/docs/interactive-customization/moqui-adapter-interface.md +2 -2
- package/docs/interactive-customization/moqui-copilot-integration-guide.md +1 -1
- package/docs/interactive-customization/moqui-interactive-template-playbook.md +4 -4
- package/docs/interactive-customization/phase-acceptance-evidence.md +2 -2
- package/docs/knowledge-management-guide.md +6 -6
- package/docs/manual-workflows-guide.md +4 -4
- package/docs/moqui-capability-matrix.md +3 -3
- package/docs/moqui-standard-rebuild-guide.md +8 -8
- package/docs/moqui-template-core-library-playbook.md +27 -27
- package/docs/multi-agent-coordination-guide.md +19 -19
- package/docs/multi-repo-management-guide.md +17 -17
- package/docs/quick-start-with-ai-tools.md +7 -7
- package/docs/quick-start.md +2 -2
- package/docs/release-checklist.md +4 -4
- package/docs/sce-business-mode-map.md +103 -0
- package/docs/sce-capability-matrix-e2e-example.md +94 -0
- package/docs/sce-capability-matrix-roadmap.md +48 -0
- package/docs/security-governance-default-baseline.md +12 -12
- package/docs/spec-collaboration-guide.md +3 -3
- package/docs/spec-locking-guide.md +2 -2
- package/docs/spec-workflow.md +3 -3
- package/docs/starter-kit/README.md +4 -4
- package/docs/starter-kit/handoff-manifest.starter.json +2 -2
- package/docs/starter-kit/release.workflow.sample.yml +1 -1
- package/docs/steering-strategy-guide.md +15 -15
- package/docs/team-collaboration-guide.md +69 -69
- package/docs/testing-strategy.md +2 -2
- package/docs/tools/claude-guide.md +14 -4
- package/docs/tools/cursor-guide.md +14 -14
- package/docs/tools/generic-guide.md +9 -9
- package/docs/tools/kiro-guide.md +4 -4
- package/docs/tools/vscode-guide.md +13 -13
- package/docs/tools/windsurf-guide.md +6 -6
- package/docs/troubleshooting.md +22 -22
- package/docs/upgrade-guide.md +8 -8
- package/docs/value-observability-guide.md +3 -3
- package/docs/zh/README.md +15 -0
- package/docs/zh/quick-start.md +15 -15
- package/docs/zh/release-checklist.md +3 -3
- package/docs/zh/tools/claude-guide.md +16 -6
- package/docs/zh/tools/cursor-guide.md +11 -11
- package/docs/zh/tools/generic-guide.md +13 -13
- package/docs/zh/tools/kiro-guide.md +2 -2
- package/docs/zh/tools/vscode-guide.md +11 -11
- package/docs/zh/tools/windsurf-guide.md +11 -11
- package/docs/zh/value-observability-guide.md +3 -3
- package/lib/adoption/adoption-logger.js +1 -1
- package/lib/adoption/adoption-strategy.js +28 -28
- package/lib/adoption/backup-manager.js +3 -3
- package/lib/adoption/conflict-resolver.js +2 -2
- package/lib/adoption/detection-engine.js +8 -8
- package/lib/adoption/error-formatter.js +4 -4
- package/lib/adoption/file-classifier.js +6 -6
- package/lib/adoption/progress-reporter.js +1 -1
- package/lib/adoption/smart-orchestrator.js +10 -10
- package/lib/adoption/strategy-selector.js +6 -6
- package/lib/adoption/summary-generator.js +1 -1
- package/lib/adoption/template-sync.js +8 -8
- package/lib/auto/autonomous-engine.js +7 -7
- package/lib/auto/checkpoint-manager.js +1 -1
- package/lib/auto/close-loop-runner.js +12 -12
- package/lib/auto/error-recovery-manager.js +1 -1
- package/lib/auto/goal-decomposer.js +1 -1
- package/lib/auto/moqui-recovery-sequence.js +2 -2
- package/lib/auto/progress-tracker.js +1 -1
- package/lib/auto/state-manager.js +1 -1
- package/lib/backup/backup-system.js +10 -10
- package/lib/backup/selective-backup.js +4 -4
- package/lib/collab/agent-registry.js +2 -2
- package/lib/collab/contract-manager.js +1 -1
- package/lib/collab/coordinator.js +2 -2
- package/lib/collab/dependency-manager.js +1 -1
- package/lib/collab/integration-manager.js +1 -1
- package/lib/collab/metadata-manager.js +1 -1
- package/lib/collab/multi-agent-config.js +2 -2
- package/lib/collab/spec-lifecycle-manager.js +2 -2
- package/lib/collab/visualizer.js +1 -1
- package/lib/commands/adopt.js +6 -6
- package/lib/commands/auto.js +56 -56
- package/lib/commands/collab.js +2 -2
- package/lib/commands/docs.js +3 -3
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/knowledge.js +2 -2
- package/lib/commands/lock.js +1 -1
- package/lib/commands/ops.js +1 -1
- package/lib/commands/orchestrate.js +3 -3
- package/lib/commands/rollback.js +1 -1
- package/lib/commands/scene.js +135 -93
- package/lib/commands/session.js +139 -0
- package/lib/commands/spec-bootstrap.js +1 -1
- package/lib/commands/spec-gate.js +2 -2
- package/lib/commands/spec-pipeline.js +1 -1
- package/lib/commands/status.js +4 -4
- package/lib/commands/steering.js +119 -0
- package/lib/commands/value.js +1 -1
- package/lib/commands/watch.js +9 -9
- package/lib/commands/workspace-multi.js +1 -1
- package/lib/context/context-exporter.js +5 -7
- package/lib/context/prompt-generator.js +2 -2
- package/lib/environment/backup-system.js +1 -1
- package/lib/environment/environment-manager.js +2 -2
- package/lib/gitignore/gitignore-backup.js +3 -3
- package/lib/gitignore/gitignore-detector.js +13 -13
- package/lib/gitignore/gitignore-integration.js +3 -3
- package/lib/gitignore/gitignore-transformer.js +4 -4
- package/lib/gitignore/layered-rules-template.js +16 -16
- package/lib/governance/config-manager.js +1 -1
- package/lib/governance/doc-reference-checker.js +4 -4
- package/lib/governance/execution-logger.js +1 -1
- package/lib/governance/file-scanner.js +3 -3
- package/lib/interactive-customization/moqui-interactive-adapter.js +2 -2
- package/lib/knowledge/knowledge-manager.js +1 -1
- package/lib/lock/lock-manager.js +2 -2
- package/lib/lock/steering-file-lock.js +5 -5
- package/lib/lock/task-lock-manager.js +3 -3
- package/lib/operations/audit-logger.js +1 -1
- package/lib/operations/feedback-manager.js +1 -1
- package/lib/operations/operations-manager.js +3 -3
- package/lib/operations/permission-manager.js +2 -2
- package/lib/operations/template-loader.js +1 -1
- package/lib/orchestrator/agent-spawner.js +180 -2
- package/lib/orchestrator/bootstrap-prompt-builder.js +9 -6
- package/lib/orchestrator/orchestration-engine.js +346 -2
- package/lib/orchestrator/orchestrator-config.js +2 -2
- package/lib/repo/config-manager.js +3 -3
- package/lib/repo/handlers/init-handler.js +1 -1
- package/lib/repo/repo-manager.js +2 -2
- package/lib/runtime/business-mode-resolver.js +240 -0
- package/lib/runtime/session-store.js +207 -0
- package/lib/runtime/steering-contract.js +338 -0
- package/lib/scene-runtime/audit-emitter.js +1 -1
- package/lib/scene-runtime/binding-plugin-loader.js +3 -3
- package/lib/scene-runtime/eval-bridge.js +1 -1
- package/lib/scene-runtime/index.js +1 -1
- package/lib/scene-runtime/moqui-extractor.js +1 -1
- package/lib/scene-runtime/plan-compiler.js +1 -1
- package/lib/scene-runtime/policy-gate.js +1 -1
- package/lib/scene-runtime/runtime-executor.js +1 -1
- package/lib/scene-runtime/scene-loader.js +1 -1
- package/lib/spec/bootstrap/context-collector.js +1 -1
- package/lib/spec/pipeline/stage-adapters.js +3 -3
- package/lib/spec/pipeline/state-store.js +1 -1
- package/lib/spec-gate/policy/policy-loader.js +1 -1
- package/lib/spec-gate/rules/default-rules.js +6 -6
- package/lib/steering/adoption-config.js +1 -1
- package/lib/steering/compliance-error-reporter.js +3 -3
- package/lib/steering/context-sync-manager.js +2 -2
- package/lib/steering/index.js +1 -1
- package/lib/steering/spec-steering.js +2 -2
- package/lib/steering/steering-compliance-checker.js +1 -1
- package/lib/steering/steering-loader.js +4 -5
- package/lib/steering/steering-manager.js +4 -4
- package/lib/task/task-claimer.js +5 -5
- package/lib/task/task-status-store.js +2 -2
- package/lib/templates/content-generalizer.js +1 -1
- package/lib/templates/spec-reader.js +2 -2
- package/lib/templates/template-creator.js +1 -1
- package/lib/templates/template-exporter.js +3 -3
- package/lib/templates/template-manager.js +1 -1
- package/lib/upgrade/migration-engine.js +3 -3
- package/lib/upgrade/migrations/1.0.0-to-1.1.0.js +1 -1
- package/lib/utils/file-diff.js +6 -6
- package/lib/utils/tool-detector.js +10 -10
- package/lib/utils/validation.js +5 -5
- package/lib/value/metric-contract-loader.js +1 -1
- package/lib/version/version-manager.js +1 -1
- package/lib/watch/execution-logger.js +1 -1
- package/lib/watch/presets.js +8 -8
- package/lib/watch/watch-manager.js +2 -2
- package/lib/workspace/legacy-kiro-migrator.js +275 -0
- package/lib/workspace/multi/workspace-context-resolver.js +2 -2
- package/lib/workspace/multi/workspace-registry.js +2 -2
- package/lib/workspace/multi/workspace-state-manager.js +3 -3
- package/lib/workspace/workspace-manager.js +1 -1
- package/lib/workspace/workspace-sync.js +2 -2
- package/locales/en.json +4 -4
- package/locales/zh.json +4 -4
- package/package.json +12 -9
- package/template/{.kiro → .sce}/README.md +15 -15
- package/template/{.kiro → .sce}/hooks/check-spec-on-create.kiro.hook +2 -2
- package/template/{.kiro → .sce}/steering/CORE_PRINCIPLES.md +4 -4
- package/template/{.kiro → .sce}/steering/CURRENT_CONTEXT.md +1 -1
- package/template/{.kiro → .sce}/steering/ENVIRONMENT.md +3 -3
- package/template/{.kiro → .sce}/tools/backup_manager.py +3 -3
- package/template/{.kiro → .sce}/tools/configuration_manager.py +1 -1
- package/template/README.md +12 -12
- /package/template/{.kiro → .sce}/hooks/run-tests-on-save.kiro.hook +0 -0
- /package/template/{.kiro → .sce}/hooks/sync-tasks-on-edit.kiro.hook +0 -0
- /package/template/{.kiro → .sce}/specs/SPEC_WORKFLOW_GUIDE.md +0 -0
- /package/template/{.kiro → .sce}/steering/RULES_GUIDE.md +0 -0
- /package/template/{.kiro → .sce}/templates/operations/default/change-impact.md +0 -0
- /package/template/{.kiro → .sce}/templates/operations/default/deployment.md +0 -0
- /package/template/{.kiro → .sce}/templates/operations/default/feedback-response.md +0 -0
- /package/template/{.kiro → .sce}/templates/operations/default/migration-plan.md +0 -0
- /package/template/{.kiro → .sce}/templates/operations/default/monitoring.md +0 -0
- /package/template/{.kiro → .sce}/templates/operations/default/operations.md +0 -0
- /package/template/{.kiro → .sce}/templates/operations/default/rollback.md +0 -0
- /package/template/{.kiro → .sce}/templates/operations/default/tools.yaml +0 -0
- /package/template/{.kiro → .sce}/templates/operations/default/troubleshooting.md +0 -0
- /package/template/{.kiro → .sce}/tools/document_evaluator.py +0 -0
- /package/template/{.kiro → .sce}/tools/enhancement_logger.py +0 -0
- /package/template/{.kiro → .sce}/tools/error_handler.py +0 -0
- /package/template/{.kiro → .sce}/tools/improvement_identifier.py +0 -0
- /package/template/{.kiro → .sce}/tools/modification_applicator.py +0 -0
- /package/template/{.kiro → .sce}/tools/quality_gate_enforcer.py +0 -0
- /package/template/{.kiro → .sce}/tools/quality_scorer.py +0 -0
- /package/template/{.kiro → .sce}/tools/report_generator.py +0 -0
- /package/template/{.kiro → .sce}/tools/ultrawork_enhancer.py +0 -0
- /package/template/{.kiro → .sce}/tools/ultrawork_enhancer_refactored.py +0 -0
- /package/template/{.kiro → .sce}/tools/ultrawork_enhancer_v2.py +0 -0
- /package/template/{.kiro → .sce}/tools/ultrawork_enhancer_v3.py +0 -0
- /package/template/{.kiro → .sce}/tools/workflow_quality_gate.py +0 -0
package/docs/adoption-guide.md
CHANGED
|
@@ -65,10 +65,10 @@ Adoption Plan:
|
|
|
65
65
|
📦 Creating backup... ✅ backup-20260128-143022
|
|
66
66
|
✓ Validating backup... ✅ 5 files verified
|
|
67
67
|
📝 Updating files...
|
|
68
|
-
✅ .
|
|
69
|
-
✅ .
|
|
70
|
-
✅ .
|
|
71
|
-
⏭️ .
|
|
68
|
+
✅ .sce/steering/CORE_PRINCIPLES.md
|
|
69
|
+
✅ .sce/steering/ENVIRONMENT.md
|
|
70
|
+
✅ .sce/tools/ultrawork_enhancer.py
|
|
71
|
+
⏭️ .sce/specs/ (preserved)
|
|
72
72
|
✅ Adoption completed successfully!
|
|
73
73
|
|
|
74
74
|
📊 Summary:
|
|
@@ -94,7 +94,7 @@ sce adopt --dry-run
|
|
|
94
94
|
### Automatic Detection
|
|
95
95
|
|
|
96
96
|
The system automatically detects your project state:
|
|
97
|
-
- Checks for existing `.
|
|
97
|
+
- Checks for existing `.sce/` directory
|
|
98
98
|
- Reads version information
|
|
99
99
|
- Identifies user content (specs, custom files)
|
|
100
100
|
- Detects potential conflicts
|
|
@@ -105,11 +105,11 @@ Based on detection, it chooses the optimal mode:
|
|
|
105
105
|
|
|
106
106
|
| Project State | Selected Mode | What Happens |
|
|
107
107
|
|--------------|---------------|--------------|
|
|
108
|
-
| No `.
|
|
109
|
-
| `.
|
|
110
|
-
| `.
|
|
111
|
-
| `.
|
|
112
|
-
| `.
|
|
108
|
+
| No `.sce/` | **Fresh** | Creates complete structure |
|
|
109
|
+
| `.sce/` + same version | **Skip** | Already up-to-date |
|
|
110
|
+
| `.sce/` + older version | **Smart Update** | Updates templates only |
|
|
111
|
+
| `.sce/` + newer version | **Warning** | Version mismatch alert |
|
|
112
|
+
| `.sce/` + no version | **Smart Adopt** | Full adoption with backup |
|
|
113
113
|
|
|
114
114
|
### Automatic Conflict Resolution
|
|
115
115
|
|
|
@@ -136,10 +136,10 @@ Before any modifications:
|
|
|
136
136
|
|
|
137
137
|
### 1. Fresh Adoption
|
|
138
138
|
|
|
139
|
-
**When**: No `.
|
|
139
|
+
**When**: No `.sce/` directory exists
|
|
140
140
|
|
|
141
141
|
**Actions**:
|
|
142
|
-
- Creates complete `.
|
|
142
|
+
- Creates complete `.sce/` structure
|
|
143
143
|
- Copies all template files
|
|
144
144
|
- Creates `version.json`
|
|
145
145
|
- No conflicts, no backup needed
|
|
@@ -150,7 +150,7 @@ $ sce adopt
|
|
|
150
150
|
|
|
151
151
|
Mode: Fresh
|
|
152
152
|
Actions:
|
|
153
|
-
- Create .
|
|
153
|
+
- Create .sce/ directory structure
|
|
154
154
|
- Copy template files
|
|
155
155
|
- Create version.json
|
|
156
156
|
|
|
@@ -180,7 +180,7 @@ No changes needed.
|
|
|
180
180
|
|
|
181
181
|
### 3. Smart Update
|
|
182
182
|
|
|
183
|
-
**When**: Existing `.
|
|
183
|
+
**When**: Existing `.sce/` with older version
|
|
184
184
|
|
|
185
185
|
**Actions**:
|
|
186
186
|
- Backs up files that will change
|
|
@@ -202,10 +202,10 @@ Preserved: 3 specs, CURRENT_CONTEXT.md
|
|
|
202
202
|
|
|
203
203
|
### 4. Smart Adopt
|
|
204
204
|
|
|
205
|
-
**When**: `.
|
|
205
|
+
**When**: `.sce/` exists but no version info
|
|
206
206
|
|
|
207
207
|
**Actions**:
|
|
208
|
-
- Backs up entire `.
|
|
208
|
+
- Backs up entire `.sce/` directory
|
|
209
209
|
- Adopts with full structure
|
|
210
210
|
- Preserves user content
|
|
211
211
|
- Creates version.json
|
|
@@ -392,13 +392,13 @@ Problem: Unable to create backup of existing files
|
|
|
392
392
|
|
|
393
393
|
Possible causes:
|
|
394
394
|
- Insufficient disk space
|
|
395
|
-
- Permission denied for .
|
|
395
|
+
- Permission denied for .sce/backups/
|
|
396
396
|
- File system error
|
|
397
397
|
```
|
|
398
398
|
|
|
399
399
|
**Solutions**:
|
|
400
400
|
1. Free up disk space (need ~50MB)
|
|
401
|
-
2. Check file permissions: `ls -la .
|
|
401
|
+
2. Check file permissions: `ls -la .sce/`
|
|
402
402
|
3. Try running with elevated permissions (if appropriate)
|
|
403
403
|
|
|
404
404
|
---
|
|
@@ -409,18 +409,18 @@ Possible causes:
|
|
|
409
409
|
```
|
|
410
410
|
❌ Error: Permission Denied
|
|
411
411
|
|
|
412
|
-
Problem: Cannot write to .
|
|
412
|
+
Problem: Cannot write to .sce/ directory
|
|
413
413
|
```
|
|
414
414
|
|
|
415
415
|
**Solutions**:
|
|
416
416
|
```bash
|
|
417
417
|
# Check permissions
|
|
418
|
-
ls -la .
|
|
418
|
+
ls -la .sce/
|
|
419
419
|
|
|
420
420
|
# Fix permissions (Unix/Mac)
|
|
421
|
-
chmod -R u+w .
|
|
421
|
+
chmod -R u+w .sce/
|
|
422
422
|
|
|
423
|
-
# Windows: Right-click .
|
|
423
|
+
# Windows: Right-click .sce/ → Properties → Security → Edit
|
|
424
424
|
```
|
|
425
425
|
|
|
426
426
|
---
|
|
@@ -535,8 +535,8 @@ sce version-info
|
|
|
535
535
|
|
|
536
536
|
Don't delete automatic backups immediately:
|
|
537
537
|
```bash
|
|
538
|
-
# Backups are in .
|
|
539
|
-
ls .
|
|
538
|
+
# Backups are in .sce/backups/
|
|
539
|
+
ls .sce/backups/
|
|
540
540
|
```
|
|
541
541
|
|
|
542
542
|
### 5. Use Verbose for Debugging
|
|
@@ -554,7 +554,7 @@ After adoption, your project will have:
|
|
|
554
554
|
|
|
555
555
|
```
|
|
556
556
|
your-project/
|
|
557
|
-
├── .
|
|
557
|
+
├── .sce/ # sce core directory
|
|
558
558
|
│ ├── version.json # Version tracking
|
|
559
559
|
│ ├── specs/ # Spec storage
|
|
560
560
|
│ ├── steering/ # AI behavior rules
|
|
@@ -594,18 +594,18 @@ After successful adoption:
|
|
|
594
594
|
```
|
|
595
595
|
|
|
596
596
|
4. **Read the spec workflow guide**:
|
|
597
|
-
- See `.
|
|
597
|
+
- See `.sce/specs/SPEC_WORKFLOW_GUIDE.md`
|
|
598
598
|
|
|
599
599
|
5. **Explore Ultrawork**:
|
|
600
600
|
```bash
|
|
601
|
-
sce enhance requirements .
|
|
601
|
+
sce enhance requirements .sce/specs/01-00-my-feature/requirements.md
|
|
602
602
|
```
|
|
603
603
|
|
|
604
604
|
---
|
|
605
605
|
|
|
606
606
|
## Getting Help
|
|
607
607
|
|
|
608
|
-
- **Documentation**: Check README.md in your `.
|
|
608
|
+
- **Documentation**: Check README.md in your `.sce/` directory
|
|
609
609
|
- **System Check**: `sce doctor`
|
|
610
610
|
- **Version Info**: `sce version-info`
|
|
611
611
|
- **Issues**: https://github.com/heguangyong/scene-capability-engine/issues
|
|
@@ -137,7 +137,7 @@ Hooks can perform two types of actions:
|
|
|
137
137
|
"name": "Auto-generate prompts",
|
|
138
138
|
"when": {
|
|
139
139
|
"type": "fileEdited",
|
|
140
|
-
"patterns": ["**/.
|
|
140
|
+
"patterns": ["**/.sce/specs/*/requirements.md", "**/.sce/specs/*/design.md"]
|
|
141
141
|
},
|
|
142
142
|
"then": {
|
|
143
143
|
"type": "askAgent",
|
|
@@ -306,7 +306,7 @@ Hooks can perform two types of actions:
|
|
|
306
306
|
**Goal**: Basic hook support in sce
|
|
307
307
|
|
|
308
308
|
**Tasks**:
|
|
309
|
-
1. Add hook configuration to `.
|
|
309
|
+
1. Add hook configuration to `.sce/hooks/` directory
|
|
310
310
|
2. Create hook templates for common use cases
|
|
311
311
|
3. Add `sce hooks` command group:
|
|
312
312
|
- `sce hooks list` - List all hooks
|
|
@@ -400,7 +400,7 @@ Hooks can perform two types of actions:
|
|
|
400
400
|
### Hook Storage
|
|
401
401
|
|
|
402
402
|
```
|
|
403
|
-
.
|
|
403
|
+
.sce/
|
|
404
404
|
├── hooks/
|
|
405
405
|
│ ├── auto-sync.json
|
|
406
406
|
│ ├── quality-gate.json
|
|
@@ -555,7 +555,7 @@ Watch mode provides automation for developers not using AI IDE. It monitors file
|
|
|
555
555
|
▼
|
|
556
556
|
┌─────────────────────────────────────┐
|
|
557
557
|
│ Execution Logger │
|
|
558
|
-
│ (.
|
|
558
|
+
│ (.sce/watch/execution.log) │
|
|
559
559
|
└─────────────────────────────────────┘
|
|
560
560
|
```
|
|
561
561
|
|
|
@@ -580,15 +580,15 @@ sce watch stop
|
|
|
580
580
|
|
|
581
581
|
### Configuration
|
|
582
582
|
|
|
583
|
-
Watch mode uses `.
|
|
583
|
+
Watch mode uses `.sce/watch-config.json`:
|
|
584
584
|
|
|
585
585
|
```json
|
|
586
586
|
{
|
|
587
587
|
"enabled": true,
|
|
588
588
|
"patterns": [
|
|
589
589
|
"**/tasks.md",
|
|
590
|
-
"**/.
|
|
591
|
-
"**/.
|
|
590
|
+
"**/.sce/specs/*/requirements.md",
|
|
591
|
+
"**/.sce/specs/*/design.md"
|
|
592
592
|
],
|
|
593
593
|
"actions": {
|
|
594
594
|
"**/tasks.md": {
|
|
@@ -639,7 +639,7 @@ Watch mode uses `.kiro/watch-config.json`:
|
|
|
639
639
|
**Without Automation**:
|
|
640
640
|
```bash
|
|
641
641
|
# 1. Edit tasks.md
|
|
642
|
-
vim .
|
|
642
|
+
vim .sce/specs/my-spec/tasks.md
|
|
643
643
|
|
|
644
644
|
# 2. Save file
|
|
645
645
|
|
|
@@ -662,7 +662,7 @@ sce workspace sync
|
|
|
662
662
|
sce context export my-spec
|
|
663
663
|
|
|
664
664
|
# 3. Copy to other tool
|
|
665
|
-
cat .
|
|
665
|
+
cat .sce/specs/my-spec/context-export.md
|
|
666
666
|
```
|
|
667
667
|
|
|
668
668
|
**Time**: ~1 minute per export
|
|
@@ -762,7 +762,7 @@ Start with Phase 1 (foundation) to validate the approach, then expand to Phase 2
|
|
|
762
762
|
"enabled": true,
|
|
763
763
|
"when": {
|
|
764
764
|
"type": "fileEdited",
|
|
765
|
-
"patterns": ["**/.
|
|
765
|
+
"patterns": ["**/.sce/specs/*/tasks.md"]
|
|
766
766
|
},
|
|
767
767
|
"then": {
|
|
768
768
|
"type": "askAgent",
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://scene-capability-engine.dev/contracts/agent-result-summary-contract.schema.json",
|
|
4
|
+
"title": "Agent Result Summary Contract",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"spec_id",
|
|
8
|
+
"changed_files",
|
|
9
|
+
"tests_run",
|
|
10
|
+
"tests_passed",
|
|
11
|
+
"risk_level",
|
|
12
|
+
"open_issues"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"spec_id": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"minLength": 1
|
|
18
|
+
},
|
|
19
|
+
"changed_files": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"tests_run": {
|
|
26
|
+
"type": "integer",
|
|
27
|
+
"minimum": 0
|
|
28
|
+
},
|
|
29
|
+
"tests_passed": {
|
|
30
|
+
"type": "integer",
|
|
31
|
+
"minimum": 0
|
|
32
|
+
},
|
|
33
|
+
"risk_level": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"enum": [
|
|
36
|
+
"low",
|
|
37
|
+
"medium",
|
|
38
|
+
"high",
|
|
39
|
+
"unknown"
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
"open_issues": {
|
|
43
|
+
"type": "array",
|
|
44
|
+
"items": {
|
|
45
|
+
"type": "string"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"additionalProperties": true
|
|
50
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mode": "capability-mapping-report",
|
|
3
|
+
"mapping_report": [
|
|
4
|
+
{
|
|
5
|
+
"change_id": "entity:Order",
|
|
6
|
+
"capability": "entity:order",
|
|
7
|
+
"mapped_templates": [
|
|
8
|
+
"scene-moqui-order-core"
|
|
9
|
+
],
|
|
10
|
+
"ontology_status": "covered",
|
|
11
|
+
"status": "mapped"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"change_id": "business_rule:credit-check",
|
|
15
|
+
"capability": "rule:credit-check",
|
|
16
|
+
"mapped_templates": [],
|
|
17
|
+
"ontology_status": "gap",
|
|
18
|
+
"status": "missing_template_and_ontology_gap"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"missing_capabilities": [
|
|
22
|
+
"rule:credit-check"
|
|
23
|
+
],
|
|
24
|
+
"recommended_templates": [
|
|
25
|
+
"scene-moqui-order-core"
|
|
26
|
+
],
|
|
27
|
+
"ontology_gaps": [
|
|
28
|
+
{
|
|
29
|
+
"change_id": "business_rule:credit-check",
|
|
30
|
+
"type": "business_rule",
|
|
31
|
+
"name": "credit-check",
|
|
32
|
+
"capability": "rule:credit-check"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"summary": {
|
|
36
|
+
"total_changes": 2,
|
|
37
|
+
"mapped_changes": 1,
|
|
38
|
+
"missing_capabilities": 1,
|
|
39
|
+
"ontology_gaps": 1,
|
|
40
|
+
"coverage_percent": 50
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://scene-capability-engine.dev/contracts/capability-mapping-report.schema.json",
|
|
4
|
+
"title": "Capability Mapping Report Contract",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"mode",
|
|
8
|
+
"mapping_report",
|
|
9
|
+
"missing_capabilities",
|
|
10
|
+
"recommended_templates",
|
|
11
|
+
"ontology_gaps",
|
|
12
|
+
"summary"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"mode": {
|
|
16
|
+
"const": "capability-mapping-report"
|
|
17
|
+
},
|
|
18
|
+
"mapping_report": {
|
|
19
|
+
"type": "array",
|
|
20
|
+
"items": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"required": [
|
|
23
|
+
"change_id",
|
|
24
|
+
"capability",
|
|
25
|
+
"mapped_templates",
|
|
26
|
+
"ontology_status",
|
|
27
|
+
"status"
|
|
28
|
+
],
|
|
29
|
+
"properties": {
|
|
30
|
+
"change_id": {
|
|
31
|
+
"type": "string"
|
|
32
|
+
},
|
|
33
|
+
"capability": {
|
|
34
|
+
"type": "string"
|
|
35
|
+
},
|
|
36
|
+
"mapped_templates": {
|
|
37
|
+
"type": "array",
|
|
38
|
+
"items": {
|
|
39
|
+
"type": "string"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"ontology_status": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"enum": [
|
|
45
|
+
"covered",
|
|
46
|
+
"gap"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"status": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"enum": [
|
|
52
|
+
"mapped",
|
|
53
|
+
"missing_template",
|
|
54
|
+
"missing_template_and_ontology_gap"
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"additionalProperties": false
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"missing_capabilities": {
|
|
62
|
+
"type": "array",
|
|
63
|
+
"items": {
|
|
64
|
+
"type": "string"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"recommended_templates": {
|
|
68
|
+
"type": "array",
|
|
69
|
+
"items": {
|
|
70
|
+
"type": "string"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"ontology_gaps": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"items": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"required": [
|
|
78
|
+
"change_id",
|
|
79
|
+
"type",
|
|
80
|
+
"name",
|
|
81
|
+
"capability"
|
|
82
|
+
],
|
|
83
|
+
"properties": {
|
|
84
|
+
"change_id": {
|
|
85
|
+
"type": "string"
|
|
86
|
+
},
|
|
87
|
+
"type": {
|
|
88
|
+
"type": "string"
|
|
89
|
+
},
|
|
90
|
+
"name": {
|
|
91
|
+
"type": "string"
|
|
92
|
+
},
|
|
93
|
+
"capability": {
|
|
94
|
+
"type": "string"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"additionalProperties": false
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"summary": {
|
|
101
|
+
"type": "object",
|
|
102
|
+
"required": [
|
|
103
|
+
"total_changes",
|
|
104
|
+
"mapped_changes",
|
|
105
|
+
"missing_capabilities",
|
|
106
|
+
"ontology_gaps",
|
|
107
|
+
"coverage_percent"
|
|
108
|
+
],
|
|
109
|
+
"properties": {
|
|
110
|
+
"total_changes": {
|
|
111
|
+
"type": "integer",
|
|
112
|
+
"minimum": 0
|
|
113
|
+
},
|
|
114
|
+
"mapped_changes": {
|
|
115
|
+
"type": "integer",
|
|
116
|
+
"minimum": 0
|
|
117
|
+
},
|
|
118
|
+
"missing_capabilities": {
|
|
119
|
+
"type": "integer",
|
|
120
|
+
"minimum": 0
|
|
121
|
+
},
|
|
122
|
+
"ontology_gaps": {
|
|
123
|
+
"type": "integer",
|
|
124
|
+
"minimum": 0
|
|
125
|
+
},
|
|
126
|
+
"coverage_percent": {
|
|
127
|
+
"type": "number",
|
|
128
|
+
"minimum": 0,
|
|
129
|
+
"maximum": 100
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"additionalProperties": false
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"additionalProperties": false
|
|
136
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"default_category": "unknown",
|
|
4
|
+
"categories": [
|
|
5
|
+
{
|
|
6
|
+
"id": "rate_limit",
|
|
7
|
+
"repairable": true,
|
|
8
|
+
"patterns": [
|
|
9
|
+
"429",
|
|
10
|
+
"too many requests",
|
|
11
|
+
"rate limit",
|
|
12
|
+
"retry after"
|
|
13
|
+
],
|
|
14
|
+
"default_actions": [
|
|
15
|
+
"reduce parallelism and retry with backoff",
|
|
16
|
+
"delay launch window before next execution"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "dependency",
|
|
21
|
+
"repairable": true,
|
|
22
|
+
"patterns": [
|
|
23
|
+
"cannot find module",
|
|
24
|
+
"module not found",
|
|
25
|
+
"missing dependency",
|
|
26
|
+
"no such package"
|
|
27
|
+
],
|
|
28
|
+
"default_actions": [
|
|
29
|
+
"install or restore missing dependencies",
|
|
30
|
+
"reconcile lockfile and package manifest"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "compilation",
|
|
35
|
+
"repairable": true,
|
|
36
|
+
"patterns": [
|
|
37
|
+
"syntax error",
|
|
38
|
+
"type error",
|
|
39
|
+
"compile failed",
|
|
40
|
+
"build failed"
|
|
41
|
+
],
|
|
42
|
+
"default_actions": [
|
|
43
|
+
"fix compile diagnostics at failing symbol",
|
|
44
|
+
"re-run targeted build validation"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "test_assertion",
|
|
49
|
+
"repairable": true,
|
|
50
|
+
"patterns": [
|
|
51
|
+
"expected",
|
|
52
|
+
"received",
|
|
53
|
+
"test suite failed",
|
|
54
|
+
"assertion"
|
|
55
|
+
],
|
|
56
|
+
"default_actions": [
|
|
57
|
+
"inspect failing tests and related symbols",
|
|
58
|
+
"apply minimal fix and re-run failing tests only"
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"id": "environment",
|
|
63
|
+
"repairable": true,
|
|
64
|
+
"patterns": [
|
|
65
|
+
"permission denied",
|
|
66
|
+
"enoent",
|
|
67
|
+
"timed out",
|
|
68
|
+
"network"
|
|
69
|
+
],
|
|
70
|
+
"default_actions": [
|
|
71
|
+
"verify runtime prerequisites",
|
|
72
|
+
"stabilize environment and re-run deterministic checks"
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "policy_gate",
|
|
77
|
+
"repairable": false,
|
|
78
|
+
"patterns": [
|
|
79
|
+
"policy gate",
|
|
80
|
+
"governance blocked",
|
|
81
|
+
"authorization denied",
|
|
82
|
+
"approval required"
|
|
83
|
+
],
|
|
84
|
+
"default_actions": [
|
|
85
|
+
"request required authorization or approval",
|
|
86
|
+
"switch to advisory response mode"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "unknown",
|
|
91
|
+
"repairable": false,
|
|
92
|
+
"patterns": [],
|
|
93
|
+
"default_actions": [
|
|
94
|
+
"collect diagnostics",
|
|
95
|
+
"escalate with failure summary"
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"roles": {
|
|
4
|
+
"primary_agent": [
|
|
5
|
+
"goal decomposition",
|
|
6
|
+
"policy checks",
|
|
7
|
+
"final merge decision",
|
|
8
|
+
"release readiness summary"
|
|
9
|
+
],
|
|
10
|
+
"sub_agent": [
|
|
11
|
+
"scoped implementation",
|
|
12
|
+
"targeted test execution",
|
|
13
|
+
"artifact evidence collection"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"parallelism": {
|
|
17
|
+
"default_max_parallel": 3,
|
|
18
|
+
"adaptive_on_rate_limit": true,
|
|
19
|
+
"parallel_floor": 1,
|
|
20
|
+
"cooldown_ms": 45000
|
|
21
|
+
},
|
|
22
|
+
"coordination_rules": {
|
|
23
|
+
"require_scope_manifest": true,
|
|
24
|
+
"require_result_summary": true,
|
|
25
|
+
"block_merge_on_failed_tests": true,
|
|
26
|
+
"block_merge_on_unresolved_conflicts": true
|
|
27
|
+
},
|
|
28
|
+
"result_summary_contract": {
|
|
29
|
+
"required_fields": [
|
|
30
|
+
"spec_id",
|
|
31
|
+
"changed_files",
|
|
32
|
+
"tests_run",
|
|
33
|
+
"tests_passed",
|
|
34
|
+
"risk_level",
|
|
35
|
+
"open_issues"
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"decision_actions": [
|
|
4
|
+
"answer_only",
|
|
5
|
+
"code_change",
|
|
6
|
+
"code_fix",
|
|
7
|
+
"rollback"
|
|
8
|
+
],
|
|
9
|
+
"answer_only_goal_types": [
|
|
10
|
+
"question",
|
|
11
|
+
"analysis",
|
|
12
|
+
"explain",
|
|
13
|
+
"summarize"
|
|
14
|
+
],
|
|
15
|
+
"rollback_when": {
|
|
16
|
+
"require_checkpoint": true,
|
|
17
|
+
"require_high_risk_or_explicit": true
|
|
18
|
+
},
|
|
19
|
+
"code_fix_when_tests_fail": true,
|
|
20
|
+
"notes": [
|
|
21
|
+
"default strategy is conservative and evidence-first",
|
|
22
|
+
"high-risk failures prefer rollback before iterative repair"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mode": "symbol-evidence-locate",
|
|
3
|
+
"query": "approve order",
|
|
4
|
+
"hits": [
|
|
5
|
+
{
|
|
6
|
+
"file": "src/order-service.js",
|
|
7
|
+
"line": 42,
|
|
8
|
+
"snippet": "function approveOrder(orderId, actorId) {",
|
|
9
|
+
"symbol": "approveOrder",
|
|
10
|
+
"score": 0.92,
|
|
11
|
+
"source": "symbol-heuristic"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"file": "src/order-controller.js",
|
|
15
|
+
"line": 18,
|
|
16
|
+
"snippet": "const result = orderService.approveOrder(orderId, user.id);",
|
|
17
|
+
"symbol": "approveOrder",
|
|
18
|
+
"score": 0.81,
|
|
19
|
+
"source": "text-grep"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"evidence": {
|
|
23
|
+
"confidence": "high",
|
|
24
|
+
"reliable": true,
|
|
25
|
+
"fallback_action": "allow_write",
|
|
26
|
+
"advisory": "Symbol evidence is strong enough for scoped code change."
|
|
27
|
+
},
|
|
28
|
+
"summary": {
|
|
29
|
+
"searched_files": 38,
|
|
30
|
+
"candidate_files": 12,
|
|
31
|
+
"total_hits": 6,
|
|
32
|
+
"reliable_hits": 3
|
|
33
|
+
}
|
|
34
|
+
}
|