Skip to content

Releases

0.5.1 — optional Jev (TypeSafe System One) reviewer

Choose a tag to compare

@LAwLi3tCoding LAwLi3tCoding released this 20 Sep 11:07

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

  1. Store the API key where the harness resolves credentials — the harness
    credential settings, or $DSH_HOME/.env as TYPESAFE_API_KEY=…. The plugin
    asks the credential store first (which layers the launch environment, the
    managed store and .env files) and falls back to the process environment; it
    re-resolves per review, so a rotated key applies to the next verdict with no
    restart.

  2. 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
  1. 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, and default returns to the deployment's reviewer.
  • Mount-time diagnostics cover a Jev misconfiguration, and /approval-review status reports the effective engine, the access-mode gate, and the reason codes
    for requests left to the human chain.
  • 0.5.1 additionally moves the Jev mention inside the 255-character window npm
    keeps for a package description, and adds jev / 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)。

配置三步:

  1. 存密钥到 harness 能解析凭据的地方——harness 凭据设置,或 $DSH_HOME/.env 里的 TYPESAFE_API_KEY=…;插件先问凭据存储,取不到再回落进程环境,并且按次解析,轮换密钥无需重启。
  2. 打开引擎:在 profile patch 里设置 reviewer.engine: jev 与 reviewer.jev.allowEgress: true(按 id 覆盖会整行替换 bundle 行的 config,需重述你要保留的键)。
  3. 重启 harness(引擎在挂载时读取),然后运行 /approval-review status 自检:它会打印引擎、访问模式门控与模型,台账为空时总有可见原因。

两条边界是有意为之:allowEgress: true 必须显式确认(Jev 是第三方端点,证据包会离开本机);与当前引擎不匹配的复核选择会被记录而不是转发。完整说明见 README.md / README-zh.md。