Repository navigation
Releases
0.5.1 — optional Jev (TypeSafe System One) reviewer
Optional Jev (TypeSafe System One) reviewer engine
reviewer.engine now selects who reviews an approval request: the original LLM
route (default), or TypeSafe's Jev. Jev is a decision model — it answers one typed
question set per review over a single HTTP call, with no tool loop — and the
decision thresholds are applied in code. Everything downstream of the verdict is
shared by both engines: risk gate, breaker, cache, ledger and the Approvals tab.
Measured on this plugin's own 16-case policy set: 16/16 agreement with the
expected outcomes on jev-1.13.0, at ~0.9 s per review, against 4–12 s for the
LLM reviewer.
Configure Jev
-
Store the API key where the harness resolves credentials — the harness
credential settings, or$DSH_HOME/.envasTYPESAFE_API_KEY=…. The plugin
asks the credential store first (which layers the launch environment, the
managed store and.envfiles) and falls back to the process environment; it
re-resolves per review, so a rotated key applies to the next verdict with no
restart. -
Turn the engine on in your profile patch. An id-targeted override replaces
the whole row config, so restate any key you still want:
- id: approval-review
config:
reviewer:
engine: jev
jev:
allowEgress: true- Restart the harness (the engine is read at mount), then run
/approval-review status. It prints the engine, the access-mode gate and the
model, so a silent ledger always has a visible cause.
Two guards are deliberate: allowEgress: true is required because Jev is a
third-party endpoint (the evidence packet leaves the machine), and a reviewer
selection that does not fit the engine in force is reported rather than forwarded.
Also in this release
- The Approvals-tab picker spans both engines and a selection carries its engine:
typesafe/<model>reviews with Jev,<provider>/<model>reviews with that LLM
route for the session, anddefaultreturns to the deployment's reviewer. - Mount-time diagnostics cover a Jev misconfiguration, and
/approval-review statusreports the effective engine, the access-mode gate, and the reason codes
for requests left to the human chain. 0.5.1additionally moves the Jev mention inside the 255-character window npm
keeps for a package description, and addsjev/typesafe/system-one
keywords.
中文
reviewer.engine 现在决定由谁复核:原有 LLM 路由(默认),或 TypeSafe 的 Jev。Jev 是决策模型——一次复核就是一次 HTTP 调用,用类型化答案与概率作答,判定阈值在代码里执行;verdict 之后的风险闸门、断路器、缓存、台账与审批页签,两个引擎共用。
在插件自带的 16 例策略用例上:jev-1.13.0 16/16 符合预期,约 0.9 s/次(LLM 复核为 4–12 s)。
配置三步:
- 存密钥到 harness 能解析凭据的地方——harness 凭据设置,或
$DSH_HOME/.env里的TYPESAFE_API_KEY=…;插件先问凭据存储,取不到再回落进程环境,并且按次解析,轮换密钥无需重启。 - 打开引擎:在 profile patch 里设置
reviewer.engine: jev与reviewer.jev.allowEgress: true(按 id 覆盖会整行替换 bundle 行的 config,需重述你要保留的键)。 - 重启 harness(引擎在挂载时读取),然后运行
/approval-review status自检:它会打印引擎、访问模式门控与模型,台账为空时总有可见原因。
两条边界是有意为之:allowEgress: true 必须显式确认(Jev 是第三方端点,证据包会离开本机);与当前引擎不匹配的复核选择会被记录而不是转发。完整说明见 README.md / README-zh.md。