Skip to content

pi-typesafe

Advisory Jev sidecar for Pi: four pre-flight hazard checks before bash/write/edit and four diff-quality checks after edits.

Pluginbeta

Overview

pi-typesafe (twilwa) is a TypeSafe Jev coding-assist sidecar for Pi. It runs four pre-flight hazard checks before bash, write and edit, and four diff-quality checks after successful write and edit, with each phase's questions sharing one System One request. Jev returns typed values and the extension applies thresholds and writes fixed feedback text.

Advisory mode is the default: it records assessments and appends qualifying feedback after execution without blocking tools. Blocking requires explicit opt-in, and shadow mode records assessments without changing model-visible results. Missing credentials or any judge failure leaves tools untouched. Assessments are stored as jev-assessment custom session entries. It is pinned to Pi 0.85.1 and tested with 0.87.0, uses Node 24 for tests, and the README suggests trialling it in a disposable Git repository.

What the decision model decides

TypeQuestionAnswers
Yes / noPre-flight hazard check for this bash/write/edit call(inferred)yes · no
Yes / noDiff-quality check after a successful edit(inferred)yes · no

How it works

  1. Before bash, write or edit, ask four hazard questions in one request.
  2. After successful edits, ask four diff-quality questions.
  3. Apply thresholds and append fixed feedback (advisory).
  4. Record assessments; block only if opted in.

Strengths

  • Non-blocking by default.
  • One request per phase.
  • Fails open on missing keys or errors.

Caveats

  • Advisory feedback can be ignored by the model.
  • Specific check questions not listed in the excerpt.

Getting started

npm ci && npm run check && pi -e ./src/extension.ts with TYPESAFE_API_KEY set.

At a glance

Type
Plugin
Status
beta
Language
TypeScript
Runtime
Pi extension
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

Does it block tool calls?

Not by default; blocking is opt-in.

What happens without a key?

Tool calls are untouched.

Where are assessments recorded?

In jev-assessment custom session entries.

Related projects

  • Coding-agent hook that asks Jev one yes/no per project rule on every edit or turn and makes the agent fix any violation.

    HookbetaTypeScript
  • Advisor for coding agents: git and Stop hooks flag test tampering, secrets and skipped hooks, with optional Jev review findings.

    Hookbeta
  • Fuzzy linter CLI that checks a code tree against plain-language rules in one markdown file, judged by Jev via a swappable interface.

    ProjectbetaTypeScript
  • Semantic code linter that reads each method with its callers and callees and asks decision models about defects, kind, line and severity.

    CLIbetaTypeScript
  • Pi extension that checks proposed code edits against repository Markdown rules with Jev, reporting rule text and line ranges.

    ProjectbetaTypeScript
  • Rust code-review gate asking Jev small typed questions about functions and tests, failing CI only on rules measured 80% right.

    CLIproductionRust