scene-capability-engine 3.6.54 → 3.6.56

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 (39) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +11 -2
  3. package/README.zh.md +11 -2
  4. package/bin/scene-capability-engine.js +12 -0
  5. package/docs/app-intent-apply-contract.md +263 -0
  6. package/docs/autonomous-control-guide.md +10 -0
  7. package/docs/command-reference.md +34 -0
  8. package/docs/examples/app-intent-phase1/.sce/app/collections/planning-workbench.json +34 -0
  9. package/docs/examples/app-intent-phase1/.sce/app/collections/sales-workbench.json +40 -0
  10. package/docs/examples/app-intent-phase1/.sce/app/collections/warehouse-kiosk.json +35 -0
  11. package/docs/examples/app-intent-phase1/.sce/app/scene-profiles/planning-desktop.json +23 -0
  12. package/docs/examples/app-intent-phase1/.sce/app/scene-profiles/sales-desktop.json +24 -0
  13. package/docs/examples/app-intent-phase1/.sce/app/scene-profiles/warehouse-tablet.json +23 -0
  14. package/docs/examples/app-intent-phase1/README.md +29 -0
  15. package/docs/magicball-app-collection-phase-1.md +170 -0
  16. package/docs/magicball-cli-invocation-examples.md +41 -0
  17. package/docs/magicball-integration-doc-index.md +21 -6
  18. package/docs/magicball-integration-issue-tracker.md +42 -3
  19. package/docs/magicball-sce-adaptation-guide.md +38 -9
  20. package/docs/releases/README.md +3 -0
  21. package/docs/releases/v3.6.55.md +18 -0
  22. package/docs/releases/v3.6.56.md +19 -0
  23. package/docs/spec-workflow.md +40 -0
  24. package/docs/zh/releases/README.md +3 -0
  25. package/docs/zh/releases/v3.6.55.md +18 -0
  26. package/docs/zh/releases/v3.6.56.md +19 -0
  27. package/lib/app/collection-store.js +127 -0
  28. package/lib/app/install-apply-runner.js +192 -0
  29. package/lib/app/install-plan-service.js +410 -0
  30. package/lib/app/scene-workspace-store.js +132 -0
  31. package/lib/commands/app.js +281 -0
  32. package/lib/commands/device.js +194 -0
  33. package/lib/commands/scene.js +228 -0
  34. package/lib/commands/spec-strategy.js +73 -0
  35. package/lib/device/current-device.js +158 -0
  36. package/lib/device/device-override-store.js +157 -0
  37. package/lib/spec/complexity-strategy.js +636 -0
  38. package/package.json +1 -1
  39. package/template/.sce/README.md +2 -2
@@ -0,0 +1,23 @@
1
+ {
2
+ "workspace_id": "warehouse-tablet",
3
+ "name": "Warehouse Tablet Workspace",
4
+ "description": "Tablet-first warehouse workspace with scanning and receiving actions.",
5
+ "status": "active",
6
+ "tags": ["warehouse", "tablet"],
7
+ "collection_refs": ["warehouse-kiosk"],
8
+ "default_entry": "scan/inbound",
9
+ "layout_hint": "single-focus",
10
+ "items": [
11
+ {
12
+ "app_key": "notes",
13
+ "required": false,
14
+ "allow_local_remove": true,
15
+ "priority": 40,
16
+ "capability_tags": ["tablet"]
17
+ }
18
+ ],
19
+ "metadata": {
20
+ "persona": "warehouse-operator",
21
+ "device_type": "tablet"
22
+ }
23
+ }
@@ -0,0 +1,29 @@
1
+ # App Intent Phase-1 Examples
2
+
3
+ This folder provides copy-ready sample assets for the shipped phase-1 app intent model.
4
+
5
+ It mirrors the canonical workspace layout:
6
+
7
+ - `.sce/app/collections/*.json`
8
+ - `.sce/app/scene-profiles/*.json`
9
+
10
+ ## Suggested usage
11
+
12
+ Copy the example files you actually need into your project workspace:
13
+
14
+ ```bash
15
+ mkdir -p .sce/app/collections .sce/app/scene-profiles
16
+ cp docs/examples/app-intent-phase1/.sce/app/collections/*.json .sce/app/collections/
17
+ cp docs/examples/app-intent-phase1/.sce/app/scene-profiles/*.json .sce/app/scene-profiles/
18
+ ```
19
+
20
+ Then adapt:
21
+
22
+ - `app_key`
23
+ - `required`
24
+ - `allow_local_remove`
25
+ - `priority`
26
+ - `capability_tags`
27
+ - `default_entry`
28
+
29
+ These are examples, not mandatory defaults. Do not copy them blindly without aligning them to the target business scene.
@@ -0,0 +1,170 @@
1
+ # MagicBall App Collection Phase 1
2
+
3
+ ## Status
4
+
5
+ Shipped phase-1 baseline in SCE.
6
+
7
+ Current shipped read-model baseline:
8
+
9
+ - `sce device current`
10
+ - `sce device override show`
11
+ - `sce device override upsert`
12
+ - `sce app collection list`
13
+ - `sce app collection show`
14
+ - `sce app collection apply` with plan-first diff and explicit execute for non-blocked install/uninstall actions
15
+ - `sce app install-state list`
16
+ - `sce scene workspace list`
17
+ - `sce scene workspace show`
18
+ - `sce scene workspace apply` with plan-first diff and explicit execute for non-blocked install/uninstall actions
19
+
20
+ Current shipped runtime controls remain:
21
+
22
+ - `sce app runtime show`
23
+ - `sce app runtime releases`
24
+ - `sce app runtime install`
25
+ - `sce app runtime activate`
26
+ - `sce app runtime uninstall`
27
+
28
+ ## Goal
29
+
30
+ Add a scene-oriented installation model above the current single-app runtime controls so MagicBall can manage "what this workbench wants" separately from "what this device actually has installed".
31
+
32
+ ## Core decision
33
+
34
+ SCE should split the model into two layers plus one local overlay:
35
+
36
+ - intent layer: `app_collection` and `scene_profile`
37
+ - device fact layer: `device_installation`
38
+ - local override layer: `device_override`
39
+
40
+ This means:
41
+
42
+ - users or workspaces sync the desired app set
43
+ - devices decide their own actual install set
44
+ - one user on multiple devices does not get forced into identical installs
45
+
46
+ ## Why SCE should support this
47
+
48
+ The current runtime commands are enough for single-app control, but they are not enough to express:
49
+
50
+ - sales workbench vs planning workbench vs development workbench
51
+ - device-specific install differences
52
+ - reasoned batch install and uninstall planning
53
+
54
+ Without this layer, frontend code has to invent business grouping and install logic outside SCE, which would fragment the contract.
55
+
56
+ ## Phase 1 scope
57
+
58
+ Phase-1 should stay local-device-first.
59
+
60
+ It should add:
61
+
62
+ - current device identity and capability view
63
+ - file-backed app collections
64
+ - file-backed scene profiles
65
+ - local install-state listing
66
+ - collection or scene apply diff planning
67
+ - explicit execute step for apply
68
+
69
+ It should not require:
70
+
71
+ - user account system
72
+ - cross-device installation-state sync
73
+ - organization policy rollout
74
+
75
+ ## Storage position
76
+
77
+ SCE already has a selective SQLite policy. This capability should follow it.
78
+
79
+ Recommended split:
80
+
81
+ - shared intent stays file-backed or registry-backed
82
+ - device facts and rebuildable resolution projections may use SQLite
83
+ - local device override stays file-backed at `.sce/state/device/device-override.json`
84
+
85
+ This boundary matters because SQLite is suitable for local query-heavy facts, but it should not become the only source of truth for portable shared intent.
86
+
87
+ ## Copy-ready examples
88
+
89
+ Sample assets are available here:
90
+
91
+ - `docs/examples/app-intent-phase1/.sce/app/collections/*.json`
92
+ - `docs/examples/app-intent-phase1/.sce/app/scene-profiles/*.json`
93
+ - `docs/examples/app-intent-phase1/README.md`
94
+
95
+ These examples are intentionally realistic but still generic:
96
+
97
+ - sales desktop workspace
98
+ - planning desktop workspace
99
+ - warehouse tablet workspace
100
+
101
+ Use them as a starting point, then replace app keys and business metadata with project-specific values.
102
+
103
+ ## Recommended phase-1 command shape
104
+
105
+ Phase-1 overall command surface:
106
+
107
+ - `sce device current`
108
+ - `sce device override show`
109
+ - `sce device override upsert`
110
+ - `sce app collection list`
111
+ - `sce app collection show`
112
+ - `sce app collection apply`
113
+ - `sce app install-state list`
114
+ - `sce scene workspace list`
115
+ - `sce scene workspace show`
116
+ - `sce scene workspace apply`
117
+
118
+ Execution rule:
119
+
120
+ - `apply` should return a plan or diff by default
121
+ - actual mutation requires explicit execute confirmation
122
+ - execute stays blocked when the plan still contains unresolved collections, missing app bundles, or active-release protection skips
123
+ - resolution now also considers local `device_override` add/remove overlays and item-level `capability_tags`
124
+ - local override updates now also have an explicit CLI governance surface instead of requiring manual file edits
125
+ - execution should reuse the existing app runtime path
126
+
127
+ JSON response contract:
128
+
129
+ - `docs/app-intent-apply-contract.md`
130
+
131
+ ## Frontend implication for MagicBall
132
+
133
+ MagicBall should keep using current per-app runtime controls until this phase ships.
134
+
135
+ Today, MagicBall can already use:
136
+
137
+ 1. `sce device current` for current device identity and capability tags
138
+ 2. `sce device override show/upsert` for local per-device add/remove overlays
139
+ 3. `sce app collection list/show/apply` for file-backed shared collection intent and plan-first diff
140
+ 4. `sce scene workspace list/show/apply` for file-backed scene-profile intent and plan-first diff
141
+ 5. `sce app install-state list` for current cross-app installation projection
142
+ 6. existing per-app runtime controls for concrete runtime actions
143
+
144
+ Once phase-1 lands, the preferred top-level interaction should become:
145
+
146
+ 1. pick a scene workspace or app collection
147
+ 2. inspect the proposed device diff
148
+ 3. explicitly apply the plan
149
+ 4. continue using per-app runtime controls for detail views
150
+
151
+ ## Phase 2 direction
152
+
153
+ Phase-2 should be planned as lightweight user-intent sync, not as device-state sync.
154
+
155
+ Recommended boundary:
156
+
157
+ - sync shared `app_collection` / `scene_profile` selections or bindings
158
+ - do not sync `device_installation` facts as the cross-device source of truth
159
+ - keep `device_override` local unless a project explicitly introduces a higher-level policy mechanism
160
+
161
+ Recommended deliverables for phase-2 planning:
162
+
163
+ 1. user binding model for scene/profile selection
164
+ 2. device-aware resolution order for `user intent + local override + capability tags`
165
+ 3. pull/push sync semantics with conflict visibility rather than silent overwrite
166
+ 4. explicit non-goal: do not force all devices into the same installed app set
167
+
168
+ ## Practical conclusion
169
+
170
+ SCE should support this direction, but it should do so by extending the current app/runtime model rather than replacing it.
@@ -21,6 +21,47 @@ Assume:
21
21
 
22
22
  ## 1. Workspace Bootstrap
23
23
 
24
+ ### 1.0 Read current device baseline
25
+ ```bash
26
+ sce device current --json
27
+ sce device override show --json
28
+ sce app collection list --json
29
+ sce app collection show --collection sales-workbench --json
30
+ sce app collection apply --collection sales-workbench --json
31
+ sce scene workspace list --json
32
+ sce scene workspace show --workspace sales --json
33
+ sce scene workspace apply --workspace sales --json
34
+ sce app install-state list --json
35
+ ```
36
+
37
+ Expected use:
38
+ - cache current device id / tags
39
+ - load file-backed shared app collection intent
40
+ - load file-backed shared scene workspace intent
41
+ - render cross-app local install baseline before scene-oriented collection flows arrive
42
+
43
+ Optional local override input:
44
+ - `.sce/state/device/device-override.json`
45
+ - use this for per-device add/remove exceptions instead of mutating shared collection/workspace definitions
46
+ - update it explicitly via `sce device override upsert --input <json> --json`
47
+ - copy-ready collection/workspace examples live under `docs/examples/app-intent-phase1/.sce/app/...`
48
+
49
+ Example local override patch:
50
+ ```json
51
+ {
52
+ "removed_apps": ["crm"],
53
+ "added_apps": [
54
+ {
55
+ "app_key": "notes",
56
+ "required": false
57
+ }
58
+ ],
59
+ "metadata": {
60
+ "reason": "tablet kiosk profile"
61
+ }
62
+ }
63
+ ```
64
+
24
65
  ### 1.1 App bundle identity
25
66
  ```bash
26
67
  sce app bundle show --app customer-order-demo --json
@@ -14,6 +14,8 @@ It is a navigation layer, not a new source of truth.
14
14
 
15
15
  These are the current first-line integration documents:
16
16
  - `docs/magicball-sce-adaptation-guide.md`
17
+ - `docs/magicball-app-collection-phase-1.md`
18
+ - `docs/app-intent-apply-contract.md`
17
19
  - `docs/magicball-ui-surface-checklist.md`
18
20
  - `docs/magicball-mode-home-and-ontology-empty-state-playbook.md`
19
21
  - `docs/magicball-frontend-state-and-command-mapping.md`
@@ -32,28 +34,36 @@ These are the current first-line integration documents:
32
34
  - implementation checklist
33
35
  - milestone-oriented execution order
34
36
 
35
- 3. `docs/magicball-mode-home-and-ontology-empty-state-playbook.md`
37
+ 3. `docs/magicball-app-collection-phase-1.md`
38
+ - current device / collection / workspace / override baseline
39
+ - shipped phase-1 install orchestration contract
40
+
41
+ 4. `docs/app-intent-apply-contract.md`
42
+ - stable JSON response contract for `collection apply` and `scene workspace apply`
43
+ - execution/blocking/preflight semantics
44
+
45
+ 5. `docs/magicball-mode-home-and-ontology-empty-state-playbook.md`
36
46
  - two active frontend-sensitive defaults
37
47
  - serialized mode-home loading
38
48
  - ontology empty-state and starter-seed behavior
39
49
 
40
- 4. `docs/magicball-frontend-state-and-command-mapping.md`
50
+ 6. `docs/magicball-frontend-state-and-command-mapping.md`
41
51
  - page state ownership
42
52
  - command-to-action mapping
43
53
  - error and retry boundaries
44
54
 
45
- 5. `docs/magicball-write-auth-adaptation-guide.md`
55
+ 7. `docs/magicball-write-auth-adaptation-guide.md`
46
56
  - write authorization and lease handling
47
57
 
48
- 6. `docs/magicball-task-feedback-timeline-guide.md`
58
+ 8. `docs/magicball-task-feedback-timeline-guide.md`
49
59
  - task feedback cards
50
60
  - timeline view integration
51
61
 
52
- 7. `docs/magicball-cli-invocation-examples.md`
62
+ 9. `docs/magicball-cli-invocation-examples.md`
53
63
  - copy-ready CLI examples
54
64
  - wrapper and smoke verification patterns
55
65
 
56
- 8. `docs/magicball-integration-issue-tracker.md`
66
+ 10. `docs/magicball-integration-issue-tracker.md`
57
67
  - current cross-project truth
58
68
  - only open issues, active decisions, and verified resolutions
59
69
 
@@ -62,6 +72,8 @@ These are the current first-line integration documents:
62
72
  ### I need to bootstrap the three-mode app shell
63
73
  Use:
64
74
  - `docs/magicball-sce-adaptation-guide.md`
75
+ - `docs/magicball-app-collection-phase-1.md`
76
+ - `docs/app-intent-apply-contract.md`
65
77
  - `docs/magicball-mode-home-and-ontology-empty-state-playbook.md`
66
78
  - `docs/magicball-frontend-state-and-command-mapping.md`
67
79
 
@@ -95,6 +107,8 @@ Use:
95
107
  | Document | Role | Should change often? |
96
108
  | --- | --- | --- |
97
109
  | `magicball-sce-adaptation-guide.md` | main overview | low |
110
+ | `magicball-app-collection-phase-1.md` | next-phase install model | medium |
111
+ | `app-intent-apply-contract.md` | apply JSON contract | medium |
98
112
  | `magicball-adaptation-task-checklist-v1.md` | execution checklist | medium |
99
113
  | `magicball-mode-home-and-ontology-empty-state-playbook.md` | frontend behavior policy | medium |
100
114
  | `magicball-frontend-state-and-command-mapping.md` | frontend implementation mapping | medium |
@@ -127,6 +141,7 @@ As of the current tracker state:
127
141
  - fresh ontology pages use `fallback + optional seed apply`
128
142
  - seed apply stays explicit and user-triggered
129
143
  - command failures should be preserved in copyable form for AI-assisted diagnosis
144
+ - app installation orchestration should use `scene_profile` and `app_collection` intent, not a global identical install set
130
145
 
131
146
  ## Maintenance Rule
132
147
 
@@ -17,7 +17,11 @@
17
17
  ### Current SCE capabilities ready for MagicBall integration
18
18
 
19
19
  SCE changes completed and now available for MagicBall:
20
+ - `device current`
20
21
  - `app bundle` registry local state and CLI
22
+ - `app collection list/show/apply`
23
+ - `scene workspace list/show/apply`
24
+ - `app install-state list`
21
25
  - `mode application home --app ... --json`
22
26
  - `mode ontology home --app ... --json`
23
27
  - `mode engineering home --app ... --json`
@@ -32,9 +36,10 @@ SCE changes completed and now available for MagicBall:
32
36
 
33
37
  ### Current recommended MagicBall consumption order
34
38
  1. consume `mode * home` as the top-level source for the three modes
35
- 2. consume `pm`, `ontology`, and `assurance` table payloads
36
- 3. wire runtime install/activate/uninstall and engineering attach/hydrate/activate actions
37
- 4. use demo app: `customer-order-demo`
39
+ 2. consume `device current`, `app collection list/show/apply`, `scene workspace list/show/apply`, and `app install-state list` as the local device/install baseline
40
+ 3. consume `pm`, `ontology`, and `assurance` table payloads
41
+ 4. wire runtime install/activate/uninstall and engineering attach/hydrate/activate actions
42
+ 5. use demo app: `customer-order-demo`
38
43
 
39
44
  ### Related SCE docs
40
45
  - `docs/magicball-sce-adaptation-guide.md`
@@ -65,6 +70,11 @@ SCE changes completed and now available for MagicBall:
65
70
  - expected payload
66
71
  - UI impact
67
72
 
73
+ ### Cross-project decision recorded
74
+ - The next install-management phase should not use a single global install set.
75
+ - SCE will separate shared app intent from local device installation facts.
76
+ - Planned phase-1 capability is documented in `docs/magicball-app-collection-phase-1.md`.
77
+
68
78
  ## Open Items
69
79
 
70
80
  ### Issue 001: SQLite lock when frontend triggers multiple SCE projection commands concurrently
@@ -153,6 +163,35 @@ Status:
153
163
  - local verification covered: `triad summary` empty -> `seed list/show` preview -> `seed apply` -> `triad summary` ready
154
164
  - keep open until broader field verification confirms the UX is stable
155
165
 
166
+ ### Issue 006: scene-profile and app-collection install orchestration is not yet command-ready
167
+
168
+ Context:
169
+ - MagicBall now needs a scene-oriented install-management model above current per-app runtime controls.
170
+ - Current SCE already supports per-app runtime install, activate, uninstall, but not shared app intent vs device fact resolution.
171
+
172
+ Cross-project decision:
173
+ - Do not model this as one global install set shared blindly across devices.
174
+ - Separate:
175
+ - shared intent: `app_collection`, `scene_profile`
176
+ - local fact: `device_installation`
177
+ - local override: `device_override`
178
+ - Keep shared intent file-backed or registry-backed.
179
+ - Use SQLite only for local facts and rebuildable projections.
180
+ - `apply` must be plan-first and require explicit execution confirmation.
181
+
182
+ Reference:
183
+ - `docs/magicball-app-collection-phase-1.md`
184
+ - `.sce/specs/128-00-app-collection-scene-profile-device-installation/`
185
+
186
+ Status:
187
+ - architecture decision aligned
188
+ - spec added in SCE
189
+ - read-model and plan-first diff commands implemented
190
+ - explicit execute path now implemented for non-blocked install/uninstall actions
191
+ - execute remains blocked when unresolved collections, missing app bundles, or active-release protection skips are present
192
+ - local `device_override` file is now respected during resolution, so per-device add/remove exceptions no longer require mutating shared intent definitions
193
+ - local `device_override` now also has explicit `show/upsert` command support, so frontend or operator flows no longer need to hand-edit the override file
194
+
156
195
  ## Resolved
157
196
 
158
197
  ### Issue 002: pm requirement upsert succeeds but requirement list still returns empty
@@ -12,6 +12,8 @@ Implementation detail should live in the specialized documents listed below.
12
12
 
13
13
  Use these documents together:
14
14
  - `docs/magicball-integration-doc-index.md`
15
+ - `docs/magicball-app-collection-phase-1.md`
16
+ - `docs/app-intent-apply-contract.md`
15
17
  - `docs/magicball-ui-surface-checklist.md`
16
18
  - `docs/magicball-mode-home-and-ontology-empty-state-playbook.md`
17
19
  - `docs/magicball-frontend-state-and-command-mapping.md`
@@ -23,15 +25,41 @@ Use these documents together:
23
25
  ## Current Scope
24
26
 
25
27
  SCE currently provides MagicBall-facing support for:
26
- 1. `app bundle registry`
27
- 2. `application / ontology / engineering home projections`
28
- 3. `app runtime install / activate / uninstall`
29
- 4. `app engineering attach / hydrate / activate`
30
- 5. `pm` delivery data plane
31
- 6. `ontology` triad data plane
32
- 7. `assurance` data plane
33
- 8. `write authorization`
34
- 9. `task feedback + timeline`
28
+ 1. `device current` identity read model
29
+ 2. `device override show/upsert` local overlay governance
30
+ 3. `app bundle registry`
31
+ 4. `app collection list/show/apply` with plan-first diff and guarded explicit execution
32
+ 5. `scene workspace list/show/apply` with plan-first diff and guarded explicit execution
33
+ 6. `app install-state` local device projection
34
+ 7. `application / ontology / engineering home projections`
35
+ 8. `app runtime install / activate / uninstall`
36
+ 9. `app engineering attach / hydrate / activate`
37
+ 10. `pm` delivery data plane
38
+ 11. `ontology` triad data plane
39
+ 12. `assurance` data plane
40
+ 13. `write authorization`
41
+ 14. `task feedback + timeline`
42
+
43
+ ## Planned Next Scope
44
+
45
+ The next planned SCE capability line for MagicBall is lightweight cross-device sync and richer collection resolution above the current shipped local-device-first baseline.
46
+
47
+ Planned model split:
48
+ - `app_collection` and `scene_profile` as shared intent
49
+ - `device_installation` as local device fact
50
+ - `device_override` as local device overlay
51
+
52
+ Planned phase-1 position:
53
+ - local device-first
54
+ - file-backed shared intent
55
+ - SQLite only for local facts and rebuildable projections
56
+ - `apply` must be plan-first, not blind mutation
57
+ - local device override is file-backed and applied during collection/workspace resolution
58
+ - local device override mutation now uses explicit CLI upsert rather than manual-only file editing
59
+
60
+ Reference:
61
+ - `docs/magicball-app-collection-phase-1.md`
62
+ - `docs/app-intent-apply-contract.md`
35
63
 
36
64
  ## Core Integration Positioning
37
65
 
@@ -100,6 +128,7 @@ Use `docs/magicball-cli-invocation-examples.md` for copy-ready commands.
100
128
  - `sce app engineering show`
101
129
 
102
130
  ### Runtime and engineering control
131
+ - `sce device override show/upsert`
103
132
  - `sce app runtime show/releases/install/activate/uninstall`
104
133
  - `sce app engineering show/attach/hydrate/activate`
105
134
  - `sce app registry status/configure/sync*`
@@ -9,6 +9,9 @@ This directory stores release-facing documents:
9
9
  ## Archived Versions
10
10
 
11
11
  - [Release checklist](../release-checklist.md)
12
+ - [v3.6.56 release notes](./v3.6.56.md)
13
+ - [v3.6.55 release notes](./v3.6.55.md)
14
+ - [v3.6.54 release notes](./v3.6.54.md)
12
15
  - [v3.6.48 release notes](./v3.6.48.md)
13
16
  - [v3.6.47 release notes](./v3.6.47.md)
14
17
  - [v3.6.46 release notes](./v3.6.46.md)
@@ -0,0 +1,18 @@
1
+ # v3.6.55 Release Notes
2
+
3
+ Release date: 2026-03-16
4
+
5
+ ## Highlights
6
+
7
+ - Added explicit local device override governance commands: `sce device override show` and `sce device override upsert --input <json>`.
8
+ - Scene-oriented install planning now keeps `device_override` mutation on one conservative path instead of requiring manual file edits or introducing a parallel state mechanism.
9
+ - `device_override` updates now merge only explicitly provided fields, which aligns with the SCE core rule against blind replacement and preserves unrelated local device policy state.
10
+
11
+ ## Validation
12
+
13
+ - `npx jest tests/unit/commands/device-and-install-state.test.js tests/unit/commands/scene-workspace.test.js tests/unit/commands/app-mode.test.js --runInBand`
14
+ - `node scripts/release-doc-version-audit.js --fail-on-error`
15
+
16
+ ## Release Notes
17
+
18
+ - This patch closes the last obvious usability gap in the phase-1 MagicBall install-management baseline. Shared intent, local device facts, and local override policy were already modeled, but local override updates still depended on hand-editing JSON. `3.6.55` makes that layer governable through the CLI while keeping the same single source of truth and conservative merge semantics.
@@ -0,0 +1,19 @@
1
+ # v3.6.56 Release Notes
2
+
3
+ Release date: 2026-03-17
4
+
5
+ ## Highlights
6
+
7
+ - Added read-only `sce spec strategy assess` to decide whether a problem should stay `single-spec` or escalate to `multi-spec-program` / `research-program`.
8
+ - Added a formal strategy Spec for complex-problem program escalation so SCE can stop forcing highly entangled work through one oversized Spec.
9
+ - Added copy-ready phase-1 app intent examples plus a stable `apply` JSON contract document so scene-oriented install management can be adopted directly instead of inferred from source code.
10
+
11
+ ## Validation
12
+
13
+ - `npx jest tests/unit/commands/spec-strategy.test.js --runInBand`
14
+ - `node bin/sce.js --skip-steering-check --no-version-check spec strategy assess --goal "fix login button alignment in application home page" --json`
15
+ - `node scripts/release-doc-version-audit.js --fail-on-error`
16
+
17
+ ## Release Notes
18
+
19
+ - This patch turns SCE's existing multi-Spec and close-loop-program runtime into a better governed path for complex work. The key addition is not another executor, but an explicit strategy assessment layer that can say when one Spec is still enough and when the problem should first be treated as a coordinated program or a research-first clarification portfolio.
@@ -115,6 +115,46 @@ sce spec domain validate --spec <spec-id> --fail-on-gap --json
115
115
 
116
116
  This is the default way to avoid wrong-direction implementation and to force evidence-based correction loops.
117
117
 
118
+ ## When One Spec Is Not Enough
119
+
120
+ Not every problem should be forced into a single Spec.
121
+
122
+ Use this rule of thumb:
123
+
124
+ - simple problem: stay with one Spec
125
+ - medium complexity: split into a few implementation Specs and use orchestrate mode
126
+ - very complex problem: first treat it as a program, not as a single implementation Spec
127
+
128
+ Typical escalation signals:
129
+
130
+ - one Spec keeps expanding but still cannot produce stable executable tasks
131
+ - the problem spans multiple scenes, roles, or bounded contexts
132
+ - API/data contracts are still unclear enough that task breakdown would be guesswork
133
+ - business rules and policy boundaries are not yet settled
134
+ - a single problem-domain chain already shows multiple semi-independent clusters
135
+
136
+ Current SCE execution paths you can already use:
137
+
138
+ ```bash
139
+ # read-only strategy assessment
140
+ sce spec strategy assess --goal "broad complex goal" --json
141
+
142
+ # multi-spec implementation program
143
+ sce spec bootstrap --specs "spec-a,spec-b" --max-parallel 3
144
+
145
+ # broad goal -> autonomous master/sub program decomposition
146
+ sce auto close-loop-program "broad complex goal" --program-goals 4 --json
147
+ ```
148
+
149
+ The strategic gap currently being formalized is:
150
+
151
+ - how SCE should assess this threshold explicitly
152
+ - when it should recommend `single-spec` vs `multi-spec-program` vs `research-program`
153
+
154
+ Reference Spec:
155
+
156
+ - `.sce/specs/129-00-complex-problem-program-escalation/`
157
+
118
158
  ---
119
159
 
120
160
  ## Stage 1: Requirements
@@ -9,6 +9,9 @@
9
9
  ## 历史版本归档
10
10
 
11
11
  - [发布检查清单](../release-checklist.md)
12
+ - [v3.6.56 发布说明](./v3.6.56.md)
13
+ - [v3.6.55 发布说明](./v3.6.55.md)
14
+ - [v3.6.54 发布说明](./v3.6.54.md)
12
15
  - [v3.6.48 发布说明](./v3.6.48.md)
13
16
  - [v3.6.47 发布说明](./v3.6.47.md)
14
17
  - [v3.6.46 发布说明](./v3.6.46.md)
@@ -0,0 +1,18 @@
1
+ # v3.6.55 发布说明
2
+
3
+ 发布日期:2026-03-16
4
+
5
+ ## 重点变化
6
+
7
+ - 新增显式的本地设备覆盖治理命令:`sce device override show` 和 `sce device override upsert --input <json>`。
8
+ - 面向场景的安装规划现在把 `device_override` 的修改也收敛到统一治理路径,不再依赖手工改 JSON,也没有再引入并行状态机制。
9
+ - `device_override` 更新采用“只合并明确给出的字段”的保守语义,符合 SCE 的“禁止盲改/禁止盲替换”核心原则,并保留未触及的本地设备策略状态。
10
+
11
+ ## 验证
12
+
13
+ - `npx jest tests/unit/commands/device-and-install-state.test.js tests/unit/commands/scene-workspace.test.js tests/unit/commands/app-mode.test.js --runInBand`
14
+ - `node scripts/release-doc-version-audit.js --fail-on-error`
15
+
16
+ ## 发布说明
17
+
18
+ - 这个补丁版把 MagicBall phase-1 安装管理基线里最后一个明显缺口补上了。共享意图、本地设备事实和本地覆盖策略此前都已经建模完成,但本地覆盖更新仍依赖手工改 JSON。`3.6.55` 把这层能力补成了可治理的 CLI 命令,同时继续保持单一事实来源和保守合并语义。
@@ -0,0 +1,19 @@
1
+ # v3.6.56 发布说明
2
+
3
+ 发布日期:2026-03-17
4
+
5
+ ## 重点变化
6
+
7
+ - 新增只读命令 `sce spec strategy assess`,用于判断问题应继续使用 `single-spec`,还是升级为 `multi-spec-program` / `research-program`。
8
+ - 新增复杂问题升级策略 Spec,使 SCE 不再默认把高度纠缠的问题硬塞进一个超大 Spec。
9
+ - 补充 phase-1 应用意图样例与稳定的 `apply` JSON 契约文档,让面向场景的安装管理能力可以直接落地,而不是只能靠读源码理解。
10
+
11
+ ## 验证
12
+
13
+ - `npx jest tests/unit/commands/spec-strategy.test.js --runInBand`
14
+ - `node bin/sce.js --skip-steering-check --no-version-check spec strategy assess --goal "fix login button alignment in application home page" --json`
15
+ - `node scripts/release-doc-version-audit.js --fail-on-error`
16
+
17
+ ## 发布说明
18
+
19
+ - 这个补丁版的重点不是再造一个执行器,而是给 SCE 已有的多 Spec / close-loop-program 执行能力补上策略层。现在 SCE 可以更明确地判断:一个问题是否还适合留在单 Spec,还是应该先升级为协调型 program,或者先进入 research-first 的澄清拆分路径。