From 9de4fb7d4068c71d3350a6a2100c0e7f9bbefa56 Mon Sep 17 00:00:00 2001 From: kris Date: Mon, 6 Apr 2026 09:00:20 +0800 Subject: [PATCH] docs: scope conflict actions to the active project folder --- ...-gui-cli-capability-and-conflict-design.md | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/docs/superpowers/specs/2026-04-06-device-gui-cli-capability-and-conflict-design.md b/docs/superpowers/specs/2026-04-06-device-gui-cli-capability-and-conflict-design.md index aba47e5..233270d 100644 --- a/docs/superpowers/specs/2026-04-06-device-gui-cli-capability-and-conflict-design.md +++ b/docs/superpowers/specs/2026-04-06-device-gui-cli-capability-and-conflict-design.md @@ -105,7 +105,7 @@ Boss 当前的设备执行主链已经稳定在: - `禁止` - `允许本次` - `永久放行` -7. `允许本次 / 永久放行` 必须是**项目文件夹/线程级**,不是全局开关。 +7. 这三个动作都必须是**当前异常项目文件夹/线程级**,不是全局开关。 8. 整套冲突检测应尽量基于规则层完成,避免持续消耗 token。 ### 3.2 非目标 @@ -202,9 +202,9 @@ Boss 必须支持三种状态共存,而不是互斥二选一。 - `allow_once` - `allow_always` -### 5.3 永久放行粒度 +### 5.3 冲突动作生效粒度 -`永久放行` 必须是**局部策略**,不是全局策略。 +这次风险警告上的所有动作都必须是**局部策略**,不是全局策略。 推荐主键: @@ -216,6 +216,12 @@ Boss 必须支持三种状态共存,而不是互斥二选一。 对于单线程项目,本质上仍然是该线程所在 folder/project 级别策略,而不是全账号或全设备策略。 +也就是说: + +- `禁止` 只表示当前这个异常项目/文件夹继续维持阻断 +- `允许本次` 只放行当前这个异常项目/文件夹的一次执行 +- `永久放行` 只放行当前这个异常项目/文件夹后续同类冲突 + ## 6. 并行冲突检测 ## 6.1 冲突定义 @@ -283,12 +289,14 @@ Boss 必须支持三种状态共存,而不是互斥二选一。 警告卡必须提供三个动作: 1. `禁止` - - 本次不继续 - - 保持默认阻断 + - 当前这个异常项目/文件夹本次不继续 + - 当前这个异常项目/文件夹保持默认阻断 + - 不影响其他项目/文件夹 2. `允许本次` - - 只放行当前这一次执行 - - 不改变后续默认策略 + - 只放行当前这个异常项目/文件夹的当前这一次执行 + - 不改变当前项目/文件夹后续默认策略 + - 不影响其他项目/文件夹 3. `永久放行` - 仅对当前异常项目/文件夹生效 @@ -400,6 +408,13 @@ Boss 必须支持三种状态共存,而不是互斥二选一。 `allow_once` 应在当前任务完成或取消后自动清空。 +这些策略更新都只允许作用在当前冲突对象上: + +- 同一 `deviceId + folderKey` +- 或退化到同一 `deviceId + projectId` + +不得写成设备级或全局级默认行为。 + ### 10.3 冲突事件 建议在 SSE / APP 状态流里补一类事件: @@ -472,6 +487,6 @@ Boss 必须支持三种状态共存,而不是互斥二选一。 - `禁止` - `允许本次` - `永久放行` -7. **永久放行只对当前项目文件夹/线程生效,不做全局开关。** +7. **这三个动作都只对当前项目文件夹/线程生效,不做全局开关。** 这套方案既符合 Codex GUI/CLI 的真实关系,也能最大程度避免“主 Agent 与人工开发同时写同一项目”带来的实际风险。