scene-capability-engine 3.0.8 → 3.2.0
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 +55 -0
- package/docs/331-poc-adaptation-roadmap.md +21 -2
- package/docs/331-poc-dual-track-integration-guide.md +10 -6
- package/docs/331-poc-weekly-delivery-checklist.md +5 -0
- package/docs/README.md +6 -0
- package/docs/command-reference.md +262 -4
- package/docs/handoff-profile-integration-guide.md +88 -0
- package/docs/interactive-customization/331-poc-sce-integration-checklist.md +148 -0
- package/docs/interactive-customization/README.md +362 -0
- package/docs/interactive-customization/adapter-extension-contract.md +55 -0
- package/docs/interactive-customization/adapter-extension-contract.sample.json +59 -0
- package/docs/interactive-customization/adapter-extension-contract.schema.json +192 -0
- package/docs/interactive-customization/approval-role-policy-baseline.json +36 -0
- package/docs/interactive-customization/change-intent.schema.json +72 -0
- package/docs/interactive-customization/change-plan.sample.json +41 -0
- package/docs/interactive-customization/change-plan.schema.json +125 -0
- package/docs/interactive-customization/cross-industry-replication-guide.md +49 -0
- package/docs/interactive-customization/dialogue-governance-policy-baseline.json +49 -0
- package/docs/interactive-customization/domain-pack-extension-flow.md +71 -0
- package/docs/interactive-customization/execution-record.schema.json +62 -0
- package/docs/interactive-customization/governance-alert-playbook.md +51 -0
- package/docs/interactive-customization/governance-report-template.md +46 -0
- package/docs/interactive-customization/governance-threshold-baseline.json +14 -0
- package/docs/interactive-customization/guardrail-policy-baseline.json +27 -0
- package/docs/interactive-customization/high-risk-action-catalog.json +22 -0
- package/docs/interactive-customization/moqui-adapter-interface.md +40 -0
- package/docs/interactive-customization/moqui-context-provider.sample.json +72 -0
- package/docs/interactive-customization/moqui-copilot-context-contract.json +50 -0
- package/docs/interactive-customization/moqui-copilot-integration-guide.md +100 -0
- package/docs/interactive-customization/moqui-interactive-template-playbook.md +94 -0
- package/docs/interactive-customization/non-technical-usability-report.md +57 -0
- package/docs/interactive-customization/page-context.sample.json +73 -0
- package/docs/interactive-customization/page-context.schema.json +150 -0
- package/docs/interactive-customization/phase-acceptance-evidence.md +110 -0
- package/docs/interactive-customization/runtime-mode-policy-baseline.json +99 -0
- package/docs/moqui-template-core-library-playbook.md +28 -0
- package/docs/release-checklist.md +29 -4
- package/docs/security-governance-default-baseline.md +54 -0
- package/docs/starter-kit/README.md +50 -0
- package/docs/starter-kit/handoff-manifest.starter.json +32 -0
- package/docs/starter-kit/handoff-profile-ci.sample.yml +53 -0
- package/docs/starter-kit/release.workflow.sample.yml +41 -0
- package/docs/zh/README.md +12 -0
- package/lib/auto/moqui-recovery-sequence.js +62 -0
- package/lib/commands/auto.js +245 -34
- package/lib/commands/scene.js +867 -0
- package/lib/data/moqui-capability-lexicon.json +14 -1
- package/lib/interactive-customization/change-plan-gate-core.js +201 -0
- package/lib/interactive-customization/index.js +9 -0
- package/lib/interactive-customization/moqui-interactive-adapter.js +732 -0
- package/package.json +27 -2
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"product": "moqui-poc",
|
|
3
|
+
"module": "governance-platform",
|
|
4
|
+
"page": "screen-explorer-workbench",
|
|
5
|
+
"entity": "Screen",
|
|
6
|
+
"scene_id": "sce.scene--platform-screen-explorer-assist--0.1.0",
|
|
7
|
+
"workflow_node": "screen-analysis",
|
|
8
|
+
"fields": [
|
|
9
|
+
{
|
|
10
|
+
"name": "screen_name",
|
|
11
|
+
"type": "string",
|
|
12
|
+
"sensitive": false
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "component_type",
|
|
16
|
+
"type": "enum",
|
|
17
|
+
"sensitive": false
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "api_token",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"sensitive": true
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"current_state": {
|
|
26
|
+
"screen_name": "Screen Explorer",
|
|
27
|
+
"component_type": "Entity",
|
|
28
|
+
"api_token": "tok_live_example_abc",
|
|
29
|
+
"operator": "platform_manager"
|
|
30
|
+
},
|
|
31
|
+
"scene_workspace": {
|
|
32
|
+
"scene_name": "Screen 探索场景",
|
|
33
|
+
"scene_type": "screen-analysis",
|
|
34
|
+
"screen_explorer": {
|
|
35
|
+
"active_tab": "Overview",
|
|
36
|
+
"selected_screen": "Screen Explorer",
|
|
37
|
+
"selected_component": "Entity",
|
|
38
|
+
"filters": [
|
|
39
|
+
"AI Components",
|
|
40
|
+
"Forms",
|
|
41
|
+
"Widgets"
|
|
42
|
+
],
|
|
43
|
+
"result_total": 0
|
|
44
|
+
},
|
|
45
|
+
"ontology": {
|
|
46
|
+
"entities": [
|
|
47
|
+
"Screen",
|
|
48
|
+
"Form",
|
|
49
|
+
"Widget"
|
|
50
|
+
],
|
|
51
|
+
"relations": [
|
|
52
|
+
"Screen_has_Form",
|
|
53
|
+
"Screen_has_Widget"
|
|
54
|
+
],
|
|
55
|
+
"business_rules": [
|
|
56
|
+
"screen_name_unique",
|
|
57
|
+
"component_reference_consistency",
|
|
58
|
+
"change_requires_audit_record"
|
|
59
|
+
],
|
|
60
|
+
"decision_policies": [
|
|
61
|
+
"publish_requires_risk_review",
|
|
62
|
+
"fallback_to_read_only_when_gate_non_allow"
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"assistant_panel": {
|
|
67
|
+
"session_id": "session-1771",
|
|
68
|
+
"agent_id": "codex-gpt4-1",
|
|
69
|
+
"model": "Spec-Expert",
|
|
70
|
+
"mode": "read-only",
|
|
71
|
+
"current_page_context": "Ask what should be fixed on the current page and propose actionable plan."
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://scene-capability-engine.dev/schemas/interactive/page-context.schema.json",
|
|
4
|
+
"title": "Interactive Page Context",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": true,
|
|
7
|
+
"required": [
|
|
8
|
+
"product",
|
|
9
|
+
"module",
|
|
10
|
+
"page"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"product": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"minLength": 1
|
|
16
|
+
},
|
|
17
|
+
"module": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"minLength": 1
|
|
20
|
+
},
|
|
21
|
+
"page": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"minLength": 1
|
|
24
|
+
},
|
|
25
|
+
"entity": {
|
|
26
|
+
"type": "string"
|
|
27
|
+
},
|
|
28
|
+
"scene_id": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
31
|
+
"workflow_node": {
|
|
32
|
+
"type": "string"
|
|
33
|
+
},
|
|
34
|
+
"fields": {
|
|
35
|
+
"type": "array",
|
|
36
|
+
"items": {
|
|
37
|
+
"type": "object",
|
|
38
|
+
"required": [
|
|
39
|
+
"name"
|
|
40
|
+
],
|
|
41
|
+
"properties": {
|
|
42
|
+
"name": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"minLength": 1
|
|
45
|
+
},
|
|
46
|
+
"type": {
|
|
47
|
+
"type": "string"
|
|
48
|
+
},
|
|
49
|
+
"sensitive": {
|
|
50
|
+
"type": "boolean"
|
|
51
|
+
},
|
|
52
|
+
"description": {
|
|
53
|
+
"type": "string"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"current_state": {
|
|
59
|
+
"type": "object"
|
|
60
|
+
},
|
|
61
|
+
"scene_workspace": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"additionalProperties": true,
|
|
64
|
+
"properties": {
|
|
65
|
+
"scene_name": {
|
|
66
|
+
"type": "string"
|
|
67
|
+
},
|
|
68
|
+
"scene_type": {
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
"screen_explorer": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"additionalProperties": true,
|
|
74
|
+
"properties": {
|
|
75
|
+
"active_tab": {
|
|
76
|
+
"type": "string"
|
|
77
|
+
},
|
|
78
|
+
"selected_screen": {
|
|
79
|
+
"type": "string"
|
|
80
|
+
},
|
|
81
|
+
"selected_component": {
|
|
82
|
+
"type": "string"
|
|
83
|
+
},
|
|
84
|
+
"filters": {
|
|
85
|
+
"type": "array",
|
|
86
|
+
"items": {
|
|
87
|
+
"type": "string"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"result_total": {
|
|
91
|
+
"type": "integer",
|
|
92
|
+
"minimum": 0
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"ontology": {
|
|
97
|
+
"type": "object",
|
|
98
|
+
"additionalProperties": true,
|
|
99
|
+
"properties": {
|
|
100
|
+
"entities": {
|
|
101
|
+
"type": "array",
|
|
102
|
+
"items": {
|
|
103
|
+
"type": "string"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"relations": {
|
|
107
|
+
"type": "array",
|
|
108
|
+
"items": {
|
|
109
|
+
"type": "string"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"business_rules": {
|
|
113
|
+
"type": "array",
|
|
114
|
+
"items": {
|
|
115
|
+
"type": "string"
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"decision_policies": {
|
|
119
|
+
"type": "array",
|
|
120
|
+
"items": {
|
|
121
|
+
"type": "string"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"assistant_panel": {
|
|
129
|
+
"type": "object",
|
|
130
|
+
"additionalProperties": true,
|
|
131
|
+
"properties": {
|
|
132
|
+
"session_id": {
|
|
133
|
+
"type": "string"
|
|
134
|
+
},
|
|
135
|
+
"agent_id": {
|
|
136
|
+
"type": "string"
|
|
137
|
+
},
|
|
138
|
+
"model": {
|
|
139
|
+
"type": "string"
|
|
140
|
+
},
|
|
141
|
+
"mode": {
|
|
142
|
+
"type": "string"
|
|
143
|
+
},
|
|
144
|
+
"current_page_context": {
|
|
145
|
+
"type": "string"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Interactive Phase Acceptance Evidence
|
|
2
|
+
|
|
3
|
+
This document provides stage-level acceptance evidence for the Moqui interactive customization experiment.
|
|
4
|
+
|
|
5
|
+
## Stage A (Read-only Dialogue)
|
|
6
|
+
|
|
7
|
+
Scope:
|
|
8
|
+
|
|
9
|
+
- Page context ingestion and masking.
|
|
10
|
+
- Change_Intent generation.
|
|
11
|
+
- Read-only explain output and audit trace.
|
|
12
|
+
|
|
13
|
+
Evidence:
|
|
14
|
+
|
|
15
|
+
- `scripts/interactive-context-bridge.js`
|
|
16
|
+
- `scripts/interactive-intent-build.js`
|
|
17
|
+
- `scripts/interactive-flow.js`
|
|
18
|
+
- `docs/interactive-customization/page-context.schema.json`
|
|
19
|
+
- `docs/interactive-customization/moqui-copilot-context-contract.json`
|
|
20
|
+
- `docs/interactive-customization/moqui-context-provider.sample.json`
|
|
21
|
+
- `docs/interactive-customization/moqui-copilot-integration-guide.md`
|
|
22
|
+
- `tests/unit/scripts/interactive-context-bridge.test.js`
|
|
23
|
+
- `tests/unit/scripts/interactive-intent-build.test.js`
|
|
24
|
+
- `tests/unit/scripts/interactive-flow.test.js`
|
|
25
|
+
|
|
26
|
+
Verification:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npx jest tests/unit/scripts/interactive-intent-build.test.js --runInBand
|
|
30
|
+
npx jest tests/unit/scripts/interactive-context-bridge.test.js --runInBand
|
|
31
|
+
npx jest tests/unit/scripts/interactive-flow.test.js --runInBand
|
|
32
|
+
npm run report:interactive-context-bridge
|
|
33
|
+
npm run report:interactive-intent
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Stage B (Suggestion + Approval)
|
|
37
|
+
|
|
38
|
+
Scope:
|
|
39
|
+
|
|
40
|
+
- Change_Plan generation.
|
|
41
|
+
- Guardrail gate decision (`allow/review-required/deny`).
|
|
42
|
+
- Approval workflow state machine.
|
|
43
|
+
|
|
44
|
+
Evidence:
|
|
45
|
+
|
|
46
|
+
- `scripts/interactive-plan-build.js`
|
|
47
|
+
- `scripts/interactive-change-plan-gate.js`
|
|
48
|
+
- `scripts/interactive-approval-workflow.js`
|
|
49
|
+
- `tests/unit/scripts/interactive-plan-build.test.js`
|
|
50
|
+
- `tests/unit/scripts/interactive-change-plan-gate.test.js`
|
|
51
|
+
- `tests/unit/scripts/interactive-approval-workflow.test.js`
|
|
52
|
+
|
|
53
|
+
Verification:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx jest tests/unit/scripts/interactive-plan-build.test.js tests/unit/scripts/interactive-change-plan-gate.test.js tests/unit/scripts/interactive-approval-workflow.test.js --runInBand
|
|
57
|
+
npm run report:interactive-plan
|
|
58
|
+
npm run gate:interactive-plan
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Stage C (Controlled Execute + Rollback)
|
|
62
|
+
|
|
63
|
+
Scope:
|
|
64
|
+
|
|
65
|
+
- Adapter minimal interface (`capabilities/plan/validate/apply/rollback`).
|
|
66
|
+
- Low-risk one-click apply path.
|
|
67
|
+
- Execution/rollback audit records.
|
|
68
|
+
|
|
69
|
+
Evidence:
|
|
70
|
+
|
|
71
|
+
- `lib/interactive-customization/moqui-interactive-adapter.js`
|
|
72
|
+
- `scripts/interactive-moqui-adapter.js`
|
|
73
|
+
- `docs/interactive-customization/moqui-adapter-interface.md`
|
|
74
|
+
- `tests/unit/scripts/interactive-moqui-adapter.test.js`
|
|
75
|
+
|
|
76
|
+
Verification:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
npx jest tests/unit/scripts/interactive-moqui-adapter.test.js --runInBand
|
|
80
|
+
npm run report:interactive-adapter-capabilities
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Stage D (Template Sedimentation + Extension)
|
|
84
|
+
|
|
85
|
+
Scope:
|
|
86
|
+
|
|
87
|
+
- Moqui interactive loop template package.
|
|
88
|
+
- Adapter extension contract.
|
|
89
|
+
- Domain_Pack extension flow.
|
|
90
|
+
|
|
91
|
+
Evidence:
|
|
92
|
+
|
|
93
|
+
- `.kiro/templates/scene-packages/kse.scene--moqui-interactive-customization-loop--0.1.0/scene-package.json`
|
|
94
|
+
- `.kiro/templates/scene-packages/kse.scene--moqui-interactive-customization-loop--0.1.0/scene.template.yaml`
|
|
95
|
+
- `docs/interactive-customization/moqui-interactive-template-playbook.md`
|
|
96
|
+
- `docs/interactive-customization/adapter-extension-contract.schema.json`
|
|
97
|
+
- `docs/interactive-customization/domain-pack-extension-flow.md`
|
|
98
|
+
|
|
99
|
+
Verification:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
node scripts/moqui-template-baseline-report.js --json
|
|
103
|
+
npm run report:interactive-governance
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Acceptance Conclusion
|
|
107
|
+
|
|
108
|
+
- Stage A/B/C/D evidence artifacts are present.
|
|
109
|
+
- Associated unit tests and report commands are executable.
|
|
110
|
+
- Governance and ontology baseline remain default-on without bypass flags.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"profile": "interactive-runtime-default",
|
|
4
|
+
"defaults": {
|
|
5
|
+
"runtime_mode": "ops-fix",
|
|
6
|
+
"runtime_environment": "staging"
|
|
7
|
+
},
|
|
8
|
+
"modes": {
|
|
9
|
+
"user-assist": {
|
|
10
|
+
"description": "Business user guidance mode. Prefer suggestion and controlled changes.",
|
|
11
|
+
"allow_execution_modes": [
|
|
12
|
+
"suggestion",
|
|
13
|
+
"apply"
|
|
14
|
+
],
|
|
15
|
+
"allow_mutating_apply": false,
|
|
16
|
+
"deny_action_types": [
|
|
17
|
+
"credential_export",
|
|
18
|
+
"permission_grant_super_admin",
|
|
19
|
+
"bulk_delete_without_filter"
|
|
20
|
+
],
|
|
21
|
+
"review_required_action_types": [
|
|
22
|
+
"workflow_approval_chain_change",
|
|
23
|
+
"payment_rule_change",
|
|
24
|
+
"inventory_adjustment_bulk"
|
|
25
|
+
],
|
|
26
|
+
"require_work_order": true
|
|
27
|
+
},
|
|
28
|
+
"ops-fix": {
|
|
29
|
+
"description": "Operational maintenance and bug-fix mode.",
|
|
30
|
+
"allow_execution_modes": [
|
|
31
|
+
"suggestion",
|
|
32
|
+
"apply"
|
|
33
|
+
],
|
|
34
|
+
"allow_mutating_apply": true,
|
|
35
|
+
"deny_action_types": [
|
|
36
|
+
"credential_export"
|
|
37
|
+
],
|
|
38
|
+
"review_required_action_types": [
|
|
39
|
+
"permission_grant_super_admin",
|
|
40
|
+
"bulk_delete_without_filter"
|
|
41
|
+
],
|
|
42
|
+
"require_work_order": true
|
|
43
|
+
},
|
|
44
|
+
"feature-dev": {
|
|
45
|
+
"description": "Feature development mode for controlled iterative delivery.",
|
|
46
|
+
"allow_execution_modes": [
|
|
47
|
+
"suggestion",
|
|
48
|
+
"apply"
|
|
49
|
+
],
|
|
50
|
+
"allow_mutating_apply": true,
|
|
51
|
+
"deny_action_types": [
|
|
52
|
+
"credential_export"
|
|
53
|
+
],
|
|
54
|
+
"review_required_action_types": [
|
|
55
|
+
"workflow_approval_chain_change",
|
|
56
|
+
"permission_grant_super_admin",
|
|
57
|
+
"bulk_delete_without_filter"
|
|
58
|
+
],
|
|
59
|
+
"require_work_order": true
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"environments": {
|
|
63
|
+
"dev": {
|
|
64
|
+
"allow_live_apply": true,
|
|
65
|
+
"require_dry_run_before_live_apply": false,
|
|
66
|
+
"require_password_for_apply_mutations": true,
|
|
67
|
+
"require_approval_for_risk_levels": [
|
|
68
|
+
"high"
|
|
69
|
+
],
|
|
70
|
+
"max_risk_level_for_apply": "high",
|
|
71
|
+
"max_auto_execute_risk_level": "medium",
|
|
72
|
+
"manual_review_required_for_apply": false
|
|
73
|
+
},
|
|
74
|
+
"staging": {
|
|
75
|
+
"allow_live_apply": true,
|
|
76
|
+
"require_dry_run_before_live_apply": true,
|
|
77
|
+
"require_password_for_apply_mutations": true,
|
|
78
|
+
"require_approval_for_risk_levels": [
|
|
79
|
+
"medium",
|
|
80
|
+
"high"
|
|
81
|
+
],
|
|
82
|
+
"max_risk_level_for_apply": "high",
|
|
83
|
+
"max_auto_execute_risk_level": "low",
|
|
84
|
+
"manual_review_required_for_apply": false
|
|
85
|
+
},
|
|
86
|
+
"prod": {
|
|
87
|
+
"allow_live_apply": false,
|
|
88
|
+
"require_dry_run_before_live_apply": true,
|
|
89
|
+
"require_password_for_apply_mutations": true,
|
|
90
|
+
"require_approval_for_risk_levels": [
|
|
91
|
+
"medium",
|
|
92
|
+
"high"
|
|
93
|
+
],
|
|
94
|
+
"max_risk_level_for_apply": "medium",
|
|
95
|
+
"max_auto_execute_risk_level": "low",
|
|
96
|
+
"manual_review_required_for_apply": true
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -33,6 +33,17 @@ Emergency bypass exists but is not recommended:
|
|
|
33
33
|
- `--no-require-moqui-baseline`
|
|
34
34
|
- `--no-require-capability-coverage`
|
|
35
35
|
|
|
36
|
+
Profile presets are available for external intake standardization:
|
|
37
|
+
|
|
38
|
+
- `--profile default`: baseline strict intake defaults.
|
|
39
|
+
- `--profile moqui`: explicit Moqui baseline alias (same strict defaults).
|
|
40
|
+
- `--profile enterprise`: stricter release control baseline (`max-risk-level=medium`, `require-release-gate-preflight=true`, `release-evidence-window=10`).
|
|
41
|
+
|
|
42
|
+
Default onboarding and safety baselines:
|
|
43
|
+
|
|
44
|
+
- Starter intake assets: `docs/starter-kit/README.md`
|
|
45
|
+
- Default security/governance controls: `docs/security-governance-default-baseline.md`
|
|
46
|
+
|
|
36
47
|
## Template Capability Matrix Contract
|
|
37
48
|
|
|
38
49
|
Use the baseline report as the canonical matrix contract (`.kiro/reports/moqui-template-baseline.json`):
|
|
@@ -101,6 +112,9 @@ node scripts/moqui-release-summary.js \
|
|
|
101
112
|
--fail-on-gate-fail \
|
|
102
113
|
--json
|
|
103
114
|
|
|
115
|
+
# 0.5) Weekly ops closed-loop card (handoff + gate history + governance + matrix)
|
|
116
|
+
node scripts/release-ops-weekly-summary.js --json
|
|
117
|
+
|
|
104
118
|
# 1) Handoff close-loop
|
|
105
119
|
sce auto handoff run --manifest docs/handoffs/handoff-manifest.json --json
|
|
106
120
|
|
|
@@ -142,6 +156,8 @@ Required artifacts for each intake batch:
|
|
|
142
156
|
- `.kiro/reports/release-evidence/moqui-lexicon-audit.md`
|
|
143
157
|
- `.kiro/reports/release-evidence/moqui-release-summary.json`
|
|
144
158
|
- `.kiro/reports/release-evidence/moqui-release-summary.md`
|
|
159
|
+
- `.kiro/reports/release-evidence/weekly-ops-summary.json`
|
|
160
|
+
- `.kiro/reports/release-evidence/weekly-ops-summary.md`
|
|
145
161
|
- `.kiro/reports/handoff-capability-matrix.md` (or JSON equivalent from `sce auto handoff capability-matrix`)
|
|
146
162
|
- `.kiro/reports/handoff-runs/<session>.json`
|
|
147
163
|
- `.kiro/reports/scene-package-ontology-batch.json`
|
|
@@ -180,3 +196,15 @@ sce scene package-publish-batch \
|
|
|
180
196
|
|
|
181
197
|
sce auto close-loop-batch .kiro/auto/ontology-remediation.lines --format lines --json
|
|
182
198
|
```
|
|
199
|
+
|
|
200
|
+
## Interactive Customization Template Baseline
|
|
201
|
+
|
|
202
|
+
Stage-D baseline package for the interactive business customization loop:
|
|
203
|
+
|
|
204
|
+
- `kse.scene--moqui-interactive-customization-loop--0.1.0`
|
|
205
|
+
|
|
206
|
+
This package captures:
|
|
207
|
+
|
|
208
|
+
- intent -> plan -> gate -> approval -> low-risk apply -> rollback flow
|
|
209
|
+
- ontology entities/relations for plan/decision/execution trace
|
|
210
|
+
- governance rules and decision strategy for approval and rollback constraints
|
|
@@ -31,16 +31,31 @@ node bin/scene-capability-engine.js value metrics --help
|
|
|
31
31
|
```bash
|
|
32
32
|
sce value metrics sample --out ./kpi-input.json --json
|
|
33
33
|
sce value metrics snapshot --input ./kpi-input.json --json
|
|
34
|
+
node scripts/release-ops-weekly-summary.js --json
|
|
35
|
+
node scripts/release-risk-remediation-bundle.js --gate-report .kiro/reports/release-evidence/release-gate.json --json
|
|
34
36
|
```
|
|
35
37
|
|
|
36
38
|
Expected:
|
|
37
39
|
|
|
38
40
|
- `sample` writes a valid JSON scaffold.
|
|
39
41
|
- `snapshot` returns machine-readable result with `snapshot_path` and risk metadata.
|
|
42
|
+
- `release-ops-weekly-summary` emits weekly governance risk card (`json` + `markdown`) under release-evidence.
|
|
43
|
+
- `release-risk-remediation-bundle` outputs unified weekly/drift remediation commands (`json` + `markdown` + `lines`).
|
|
40
44
|
|
|
41
45
|
---
|
|
42
46
|
|
|
43
|
-
## 3.
|
|
47
|
+
## 3. Security Governance Baseline
|
|
48
|
+
|
|
49
|
+
Confirm default baseline controls are still active:
|
|
50
|
+
|
|
51
|
+
- `docs/security-governance-default-baseline.md` is aligned with current release policy.
|
|
52
|
+
- interactive governance gate uses `--fail-on-alert` in CI/release.
|
|
53
|
+
- approval/execution ledgers are retained for audit (`interactive-approval-events.jsonl`, `interactive-execution-ledger.jsonl`).
|
|
54
|
+
- release evidence includes weekly ops summary and governance snapshot assets.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 4. Packaging Hygiene
|
|
44
59
|
|
|
45
60
|
```bash
|
|
46
61
|
npm pack --dry-run
|
|
@@ -53,7 +68,7 @@ Verify:
|
|
|
53
68
|
|
|
54
69
|
---
|
|
55
70
|
|
|
56
|
-
##
|
|
71
|
+
## 5. Documentation Consistency
|
|
57
72
|
|
|
58
73
|
Check that key docs are aligned with current version and capabilities:
|
|
59
74
|
|
|
@@ -75,7 +90,7 @@ rg -n "github.com/scene-capability-engine/sce" README.md README.zh.md docs START
|
|
|
75
90
|
|
|
76
91
|
---
|
|
77
92
|
|
|
78
|
-
##
|
|
93
|
+
## 6. Git Readiness
|
|
79
94
|
|
|
80
95
|
```bash
|
|
81
96
|
git status -sb
|
|
@@ -89,7 +104,7 @@ Verify:
|
|
|
89
104
|
|
|
90
105
|
---
|
|
91
106
|
|
|
92
|
-
##
|
|
107
|
+
## 7. Publish Readiness
|
|
93
108
|
|
|
94
109
|
Ensure:
|
|
95
110
|
|
|
@@ -115,6 +130,16 @@ Ensure:
|
|
|
115
130
|
- `KSE_RELEASE_DRIFT_PREFLIGHT_BLOCK_RATE_MIN_PERCENT`: minimum release preflight blocked rate in latest 5 known runs (default `40`)
|
|
116
131
|
- `KSE_RELEASE_DRIFT_HARD_GATE_BLOCK_STREAK_MIN`: minimum consecutive hard-gate preflight blocked streak (latest window, default `2`)
|
|
117
132
|
- `KSE_RELEASE_DRIFT_PREFLIGHT_UNAVAILABLE_STREAK_MIN`: minimum consecutive release preflight unavailable streak (latest window, default `2`)
|
|
133
|
+
- Optional: tune weekly ops release gate:
|
|
134
|
+
- `KSE_RELEASE_WEEKLY_OPS_ENFORCE`: `true|false` (default `true`)
|
|
135
|
+
- `KSE_RELEASE_WEEKLY_OPS_REQUIRE_SUMMARY`: require weekly summary artifact (`true|false`, default `true`)
|
|
136
|
+
- `KSE_RELEASE_WEEKLY_OPS_MAX_RISK_LEVEL`: `low|medium|high|unknown` (default `medium`)
|
|
137
|
+
- `KSE_RELEASE_WEEKLY_OPS_MAX_GOVERNANCE_BREACHES`: optional max breach count
|
|
138
|
+
- `KSE_RELEASE_WEEKLY_OPS_MAX_MATRIX_REGRESSION_RATE_PERCENT`: optional max regression-positive rate percent
|
|
139
|
+
- Optional: tune release asset integrity gate:
|
|
140
|
+
- `KSE_RELEASE_ASSET_INTEGRITY_ENFORCE`: `true|false` (default `true`)
|
|
141
|
+
- `KSE_RELEASE_ASSET_INTEGRITY_REQUIRE_NON_EMPTY`: `true|false` (default `true`)
|
|
142
|
+
- `KSE_RELEASE_ASSET_INTEGRITY_REQUIRED_FILES`: override required asset list (comma-separated, supports `{tag}`)
|
|
118
143
|
- Optional local dry-run for gate history index artifact:
|
|
119
144
|
- `sce auto handoff gate-index --dir .kiro/reports/release-evidence --out .kiro/reports/release-evidence/release-gate-history.json --json`
|
|
120
145
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Security Governance Default Baseline
|
|
2
|
+
|
|
3
|
+
This baseline is the default operating policy for SCE-driven delivery, including Moqui template intake and interactive customization.
|
|
4
|
+
|
|
5
|
+
## 1. Context and Data Safety
|
|
6
|
+
|
|
7
|
+
- Enforce strict context contract validation (`--context-contract`, strict mode on).
|
|
8
|
+
- Block forbidden keys (for example secrets/private keys) from UI/provider payloads.
|
|
9
|
+
- Keep payload masking enabled for business data and identity fields.
|
|
10
|
+
- Reject context payloads that exceed size budget or schema bounds.
|
|
11
|
+
|
|
12
|
+
## 2. Approval and Execution Safety
|
|
13
|
+
|
|
14
|
+
- High-risk plans must pass approval workflow before `apply`.
|
|
15
|
+
- Low-risk auto-apply is allowed only when gate result is `allow`.
|
|
16
|
+
- Runtime policy gate is mandatory before apply (`runtime_mode=ops-fix`, `runtime_environment=staging` by default).
|
|
17
|
+
- Runtime non-allow (`deny|review-required`) should block unattended apply (`--fail-on-runtime-non-allow`).
|
|
18
|
+
- Enable role-based action control when environment requires stronger separation of duties (`approval-role-policy-baseline.json` + `--actor-role`).
|
|
19
|
+
- Apply-mode mutating plans require password authorization (`authorization.password_required=true` by default).
|
|
20
|
+
- Password verifier hash must be supplied via `SCE_INTERACTIVE_AUTH_PASSWORD_SHA256` (or explicit override).
|
|
21
|
+
- Work-order artifacts (`interactive-work-order.json|.md`) are required for usage/maintenance/dev integrated auditing.
|
|
22
|
+
- Every apply/rollback must write execution ledger evidence.
|
|
23
|
+
- Stage-C adapters must keep dry-run behavior as default unless explicitly switched.
|
|
24
|
+
|
|
25
|
+
## 3. Release and Intake Gates
|
|
26
|
+
|
|
27
|
+
- Run handoff with profile baseline (`--profile moqui` or stricter).
|
|
28
|
+
- Keep scene package publish-batch gate enabled by default.
|
|
29
|
+
- Keep capability lexicon unknown count at zero.
|
|
30
|
+
- Keep release preflight hard-gate enabled for enterprise profile.
|
|
31
|
+
- Keep interactive governance weekly gate enabled (`--fail-on-alert`).
|
|
32
|
+
|
|
33
|
+
## 4. Mandatory Audit Artifacts
|
|
34
|
+
|
|
35
|
+
- `.kiro/reports/release-evidence/handoff-runs.json`
|
|
36
|
+
- `.kiro/reports/release-evidence/release-gate-history.json`
|
|
37
|
+
- `.kiro/reports/release-evidence/governance-snapshot-<tag>.json`
|
|
38
|
+
- `.kiro/reports/release-evidence/weekly-ops-summary-<tag>.json`
|
|
39
|
+
- `.kiro/reports/interactive-governance-report.json`
|
|
40
|
+
- `.kiro/reports/interactive-dialogue-governance.json`
|
|
41
|
+
- `.kiro/reports/interactive-execution-ledger.jsonl`
|
|
42
|
+
- `.kiro/reports/interactive-approval-events.jsonl`
|
|
43
|
+
|
|
44
|
+
## 5. Weekly Control Loop
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
node scripts/interactive-governance-report.js --period weekly --fail-on-alert --json
|
|
48
|
+
node scripts/release-ops-weekly-summary.js --json
|
|
49
|
+
node scripts/release-weekly-ops-gate.js
|
|
50
|
+
node scripts/release-risk-remediation-bundle.js --gate-report .kiro/reports/release-evidence/release-gate.json --json
|
|
51
|
+
node scripts/release-asset-integrity-check.js
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
If weekly ops summary risk is `high`, freeze release and run remediation before next tag.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# SCE Release-Ready Starter Kit
|
|
2
|
+
|
|
3
|
+
This starter kit is the default baseline for onboarding an external project (including Moqui-based solutions) into SCE without project-specific flags.
|
|
4
|
+
|
|
5
|
+
## Included Assets
|
|
6
|
+
|
|
7
|
+
- `handoff-manifest.starter.json`: minimal manifest contract that works with `sce auto handoff` and `sce scene package-publish-batch`.
|
|
8
|
+
- `release.workflow.sample.yml`: GitHub Actions sample for release-gate + weekly ops evidence publication.
|
|
9
|
+
- `handoff-profile-ci.sample.yml`: profile-based intake pipeline sample (`default|moqui|enterprise`).
|
|
10
|
+
- profile fixture references (for validation/testing):
|
|
11
|
+
- `tests/fixtures/handoff-profile-intake/default/*`
|
|
12
|
+
- `tests/fixtures/handoff-profile-intake/moqui/*`
|
|
13
|
+
- `tests/fixtures/handoff-profile-intake/enterprise/*`
|
|
14
|
+
|
|
15
|
+
## Quick Start
|
|
16
|
+
|
|
17
|
+
1. Prepare your manifest using `handoff-manifest.starter.json` as baseline.
|
|
18
|
+
2. Run default intake pipeline:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npx sce auto handoff capability-matrix --manifest docs/handoffs/handoff-manifest.json --profile moqui --fail-on-gap --json
|
|
22
|
+
npx sce auto handoff run --manifest docs/handoffs/handoff-manifest.json --profile moqui --json
|
|
23
|
+
node scripts/release-ops-weekly-summary.js --json
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
3. Wire release workflow using `release.workflow.sample.yml` sections:
|
|
27
|
+
- release-gate history index
|
|
28
|
+
- governance snapshot export
|
|
29
|
+
- weekly ops summary export
|
|
30
|
+
4. Optional: use `handoff-profile-ci.sample.yml` to run profile-based intake against external projects.
|
|
31
|
+
|
|
32
|
+
## Default Acceptance
|
|
33
|
+
|
|
34
|
+
- `scene package publish-batch` gate passes.
|
|
35
|
+
- capability lexicon unknown count is zero.
|
|
36
|
+
- release preflight is not blocked for hard-gate profiles.
|
|
37
|
+
- weekly ops summary risk is not `high` unless explicitly approved.
|
|
38
|
+
|
|
39
|
+
## Profile Recommendation
|
|
40
|
+
|
|
41
|
+
- `default`: generic strict baseline intake.
|
|
42
|
+
- `moqui`: preferred profile for Moqui template sedimentation.
|
|
43
|
+
- `enterprise`: production rollout profile (release preflight hard-gate enabled).
|
|
44
|
+
|
|
45
|
+
## Default Evidence Set
|
|
46
|
+
|
|
47
|
+
- `.kiro/reports/release-evidence/handoff-runs.json`
|
|
48
|
+
- `.kiro/reports/release-evidence/release-gate-history.json`
|
|
49
|
+
- `.kiro/reports/release-evidence/governance-snapshot-<tag>.json`
|
|
50
|
+
- `.kiro/reports/release-evidence/weekly-ops-summary-<tag>.json`
|