pi-verdict 0.3.0 → 0.3.1
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/README.md +4 -4
- package/README.zh-CN.md +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -65,7 +65,7 @@ pi --extension ./extensions/auto-mode.ts
|
|
|
65
65
|
- the spec accepts pi's native `--model` thinking suffix: `"zai/glm-5.3-flash:low"` sets classifier thinking to effort low (default without suffix: thinking explicitly off — the [measured](research/thinking-param-blackhole.md) default)
|
|
66
66
|
- first run generates a template at `~/.pi/agent/config/pi-verdict.json` (honors `PI_CODING_AGENT_DIR`); changes apply to new sessions
|
|
67
67
|
|
|
68
|
-
Why no built-in allowlist?
|
|
68
|
+
Why no built-in allowlist? Bypass testing of the rule layer ([writeup](research/rule-layer-security-audit.md)) showed that allowlist soundness requires shell AST analysis — every built-in "always allow" would be a security claim maintained by the author. The built-in layer only makes **deny** claims (the sound direction); allow claims are yours.
|
|
69
69
|
|
|
70
70
|
### Self-protection (the gate guards itself — [ADR-0001](docs/adr/0001-self-protection-layer.md))
|
|
71
71
|
|
|
@@ -141,7 +141,7 @@ Design decisions here are settled by measurement, and the lab notes ship with th
|
|
|
141
141
|
- [`research/thinking-param-blackhole.md`](research/thinking-param-blackhole.md) — three-layer forensic root-cause of thinking models burning the classifier budget; why the fix is `thinkingEnabled: false`
|
|
142
142
|
- [`research/rule-engine-sim`](research/rule-engine-sim/README.md) — measured a tree-sitter rule-engine port against 746 real bash calls (**absorbs 0 gray calls**) and rejected it
|
|
143
143
|
- [`research/pi-permission-landscape.md`](research/pi-permission-landscape.md) — the competitive landscape this README's positioning is checked against
|
|
144
|
-
- [`research/rule-layer-security-audit.md`](research/rule-layer-security-audit.md) —
|
|
144
|
+
- [`research/rule-layer-security-audit.md`](research/rule-layer-security-audit.md) — rule-layer bypass testing (8/8 reproduced → fixed architecturally in 0.2.0)
|
|
145
145
|
- [`research/pi-automode-convergence.md`](research/pi-automode-convergence.md) — where this project genuinely converges with pi-automode, and what remains distinct
|
|
146
146
|
- [`research/claude-code-classifier-prompts.md`](research/claude-code-classifier-prompts.md) — structural reconstruction of Claude Code's classifier design (via self-hosted Langfuse observations) that this extension's transcript contract descends from
|
|
147
147
|
|
|
@@ -149,7 +149,7 @@ Design decisions here are settled by measurement, and the lab notes ship with th
|
|
|
149
149
|
|
|
150
150
|
Prototype quality — usable, not hardened:
|
|
151
151
|
|
|
152
|
-
- no built-in allowlist by design (see the [
|
|
152
|
+
- no built-in allowlist by design (see the [bypass writeup](research/rule-layer-security-audit.md)); with an empty `allow` config most commands go to the classifier — point `--auto-mode-model` at a fast model if per-call latency matters
|
|
153
153
|
- AGENTS.md is not passed to the classifier as downweighted intent evidence (Claude Code does this)
|
|
154
154
|
- parallel gray-zone calls are adjudicated serially
|
|
155
155
|
- self-reflection means the session model adjudicates — point `--auto-mode-model` at a lighter model if verdict latency/cost matters (open question tracked in the issue tracker)
|
|
@@ -166,7 +166,7 @@ The name: the three-state **verdict** is the core concept. The UX keeps `/automo
|
|
|
166
166
|
```bash
|
|
167
167
|
bun install
|
|
168
168
|
bun run typecheck
|
|
169
|
-
bun test # 61 offline stub tests: self-protection, tamper detection, deny floor, user rules,
|
|
169
|
+
bun test # 61 offline stub tests: self-protection, tamper detection, deny floor, user rules, bypass regression, classifier retry, shadow cache, commands
|
|
170
170
|
```
|
|
171
171
|
|
|
172
172
|
Issue tracker and decision records live in the GitHub issues ("map" issue #1 indexes them).
|
package/README.zh-CN.md
CHANGED
|
@@ -65,7 +65,7 @@ pi --extension ./extensions/auto-mode.ts
|
|
|
65
65
|
- spec 支持 pi 原生 `--model` 思考级别后缀:`"zai/glm-5.3-flash:low"` 将分类器思考设为 effort low(无后缀缺省 = 显式关思考,[实测](research/thinking-param-blackhole.md)背书的默认)
|
|
66
66
|
- 首次运行自动生成模板 `~/.pi/agent/config/pi-verdict.json`(尊重 `PI_CODING_AGENT_DIR`);修改后新会话生效
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
为什么没有内置白名单?对规则层的绕过测试(见 [`research/rule-layer-security-audit.md`](research/rule-layer-security-audit.md))证明白名单的健全性需要 shell AST 分析——每条内置「永远放行」都是作者维护的安全声明。因此内置层只做 **deny** 声明(方向健全),allow 声明归你。
|
|
69
69
|
|
|
70
70
|
### 自保护(门禁守护自身——[ADR-0001](docs/adr/0001-self-protection-layer.md))
|
|
71
71
|
|
|
@@ -140,7 +140,7 @@ tool_call
|
|
|
140
140
|
- [`research/thinking-param-blackhole.md`](research/thinking-param-blackhole.md) —— 思考模型烧尽分类器预算的三层取证,以及为什么修复是 `thinkingEnabled: false`
|
|
141
141
|
- [`research/rule-engine-sim`](research/rule-engine-sim/README.md) —— 用 746 条真实 bash 调用实测 tree-sitter 规则引擎移植(**灰区吸收 0 条**)并否决
|
|
142
142
|
- [`research/pi-permission-landscape.md`](research/pi-permission-landscape.md) —— 本 README 定位所对照的竞品全景
|
|
143
|
-
- [`research/rule-layer-security-audit.md`](research/rule-layer-security-audit.md) ——
|
|
143
|
+
- [`research/rule-layer-security-audit.md`](research/rule-layer-security-audit.md) —— 规则层绕过测试(8/8 复现 → 0.2.0 架构性修复)
|
|
144
144
|
- [`research/pi-automode-convergence.md`](research/pi-automode-convergence.md) —— 与 pi-automode 何处真正收敛、何处仍然不同
|
|
145
145
|
- [`research/claude-code-classifier-prompts.md`](research/claude-code-classifier-prompts.md) —— Claude Code 分类器设计的结构化还原(基于自托管 Langfuse 观测),本扩展 transcript 契约的血统来源
|
|
146
146
|
|
|
@@ -148,7 +148,7 @@ tool_call
|
|
|
148
148
|
|
|
149
149
|
原型质量 —— 可用,未硬化:
|
|
150
150
|
|
|
151
|
-
- 设计上无内置白名单(见[
|
|
151
|
+
- 设计上无内置白名单(见[绕过测试](research/rule-layer-security-audit.md)与[用户规则](#用户规则configpi-verdictjson));allow 配置为空时大多数命令进分类器 —— 延迟敏感可 `--auto-mode-model` 指向轻量模型
|
|
152
152
|
- AGENTS.md 未作为降权意图证据传入分类器(Claude Code 有此设计)
|
|
153
153
|
- 并行灰区调用串行裁决
|
|
154
154
|
- 自省意味着会话模型亲自裁决 —— 若延迟/成本敏感,用 `--auto-mode-model` 指向轻量模型(开放问题见 issue tracker)
|
|
@@ -165,7 +165,7 @@ tool_call
|
|
|
165
165
|
```bash
|
|
166
166
|
bun install
|
|
167
167
|
bun run typecheck
|
|
168
|
-
bun test # 61 个离线桩测试:自保护 / 变更检测 / deny floor / 用户规则 /
|
|
168
|
+
bun test # 61 个离线桩测试:自保护 / 变更检测 / deny floor / 用户规则 / 绕过回归 / 分类器重试 / 影子缓存 / 命令
|
|
169
169
|
```
|
|
170
170
|
|
|
171
171
|
Issue tracker 与决策记录在 GitHub issues(「地图」issue #1 为索引)。
|