Skip to content

Commit 6902f80

Browse files
committed
chore: archive P2 local action contracts to history
1 parent 4174490 commit 6902f80

6 files changed

Lines changed: 36 additions & 2 deletions

File tree

.sopify-skills/blueprint/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
## 当前焦点
1414

1515
<!-- sopify:auto:focus:start -->
16-
- 当前活动 plan:暂无。
17-
- history 归档:已可用;最近归档为 `../history/2026-05/20260506_p15_verifier_normative_slice`
16+
- 当前活动 plan:暂无(P2 已归档;下一里程碑 P3a 待开)
17+
- history 归档:已可用;最近归档为 `../history/2026-05/20260506_p2_local_action_contracts`
1818
<!-- sopify:auto:focus:end -->
1919

2020
## 深入阅读入口

.sopify-skills/plan/20260506_p2_local_action_contracts/background.md renamed to .sopify-skills/history/2026-05/20260506_p2_local_action_contracts/background.md

File renamed without changes.

.sopify-skills/plan/20260506_p2_local_action_contracts/design.md renamed to .sopify-skills/history/2026-05/20260506_p2_local_action_contracts/design.md

File renamed without changes.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Receipt: P2 Local Action Contracts — Admission Closure
2+
3+
outcome: passed
4+
date: 2026-05-07
5+
6+
## Summary
7+
8+
P2 闭合局部动作 admission contract。在 P1 subject binding + P1.5 授权脊柱基础上,完成三层收口:
9+
10+
1. **Subject binding 泛化** — modify_files / checkpoint_response 纳入 bound-subject actions(缺 plan_subject → REJECT);cancel_flow 条件性 binding
11+
2. **side_effect_delta schema** — modify_files 可选携带 file-level 变更清单(workspace scoping by validator)
12+
3. **Action-effect canonical pairing** — 每个 action_type 有且仅有一个合法 side_effect,不匹配 → REJECT
13+
14+
Gate schema 同步(canonical_for 映射)消除宿主侧 contract drift。合入 main(PR #28, merge commit 4174490)。
15+
16+
## Key Decisions
17+
18+
1. D9: 1:1 canonical pairing,mismatch → hard REJECT(不 downgrade)。防止 action_type 退化为纯标签
19+
2. D10: side_effect_delta = [] 归一化为 None。空列表 ≠ "声明无变更"
20+
3. D11: P2 scope = admission contract only。Execution routing 收敛属 P3a
21+
22+
## Verification
23+
24+
- 670 tests passed, 0 regression
25+
- 11 新增测试(10 pairing + 1 schema canonical_for)
26+
- 3 个假覆盖测试修复(原命中 bound_subject_missing 而非 pairing)
27+
- 之前合法的危险组合(modify_files+none, checkpoint_response+execute_command, cancel_flow+write_files)全部 REJECT
28+
29+
## Impact on Blueprint
30+
31+
- protocol.md: §7 Applicability Matrix 增 canonical side_effect 列
32+
- design.md: 新增 Action-Effect Canonical Pairing 段落 + P2 scope 边界声明
33+
- tasks.md: P2 更新 + P3a execution routing 收敛护栏

.sopify-skills/plan/20260506_p2_local_action_contracts/tasks.md renamed to .sopify-skills/history/2026-05/20260506_p2_local_action_contracts/tasks.md

File renamed without changes.

.sopify-skills/history/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
## 索引
66

7+
- `2026-05-07` [`20260506_p2_local_action_contracts`](2026-05/20260506_p2_local_action_contracts/) - standard - P2 Local Action Contracts: subject binding 泛化 + side_effect_delta schema + action-effect canonical pairing(admission contract 闭合)
78
- `2026-05-06` [`20260506_p15_verifier_normative_slice`](2026-05/20260506_p15_verifier_normative_slice/) - standard - P1.5-D Verifier Minimum Normative Slice: protocol §6 升格 normative(verdict/evidence/source MUST)+ 消费路径 contract + design.md 引用修正
89
- `2026-05-06` [`20260506_p15_authorization_contract_spec`](2026-05/20260506_p15_authorization_contract_spec/) - standard - P1.5-B Authorization Contract Spec: ExecutionAuthorizationReceipt 8-field normative + generate_proposal_id + stale detection fail-closed
910
- `2026-05-06` [`20260506_p15_reject_surface`](2026-05/20260506_p15_reject_surface/) - standard - P1.5-A DECISION_REJECT Surface 收口: reject 从 consult 伪装剥离为独立 non-family surface proposal_rejected

0 commit comments

Comments
 (0)