pi-quiet-ask
Rule-engine layer for Pi where Jev answers closed questions (destructive? leaked key? done verified?) with packs and fail-open actions.
Overview
pi-quiet-ask makes TypeSafe Jev the Pi coding agent's quiet decision layer for closed questions the harness faces many times per session, in about 250 ms, while the main model keeps writing code. Most of the package is a small rule engine: a pack names a Pi hook, the state to send, the Jev questions and if-then rules; five packs ship built in and you can add your own as JSON.
Built-in packs: gate (destructive, exfiltration, scope and impact on bash, write and edit; shadow then warn), output (leaked secrets and failure class on bash output), intent (task kind and ambiguity), honest_finish (claims done, verified, hedged, naming the observed check) and stuck (repeated failure, naming the command). A task graph tracks workflow phase and drift, triage answers @eko24ive/pi-ask questions from context, and jev_ask and jev_choose tools let the model query directly. Every answer is recorded and everything fails open. A bundled skill teaches the agent to leave visible traces and ask only closed questions. Documentation is in English and Korean.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this command destructive? | yes · no |
| Yes / no | Did that output leak a key? | yes · no |
| Yes / no | Did the agent verify what it just claimed? | yes · no |
| Choice | Which option does the context already pick for this ask_user question? | — |
How it works
- Packs subscribe to Pi hooks.
- Send hook state and questions to Jev.
- Apply rules: warn, annotate, steer or auto-answer.
- Record every answer; fail open on errors.
Strengths
- Extensible JSON packs.
- Covers safety, honesty and stuck loops.
- Everything optional and recorded.
Caveats
- Fails open, so outages remove checks.
- Requires a TypeSafe key.
Getting started
pi install git:github.com/HyunjunJeon/pi-quiet-ask and export TYPESAFE_API_KEY.At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- Pi extension
- Has code
- yes
Use cases and integrations
How curated lists describe it
Coding agents: gives the Pi agent a quiet Jev decision layer for judgments it would otherwise hand to a chat model.
yibie/awesome-jevTypeSafe Jev as the pi coding agent's quiet decision layer.
hellogumbo/awesome-jev
Frequently asked questions
Can I add my own checks?
Yes, as JSON packs naming a hook, state, questions and rules.
Does it block by default?
The gate starts in shadow mode and warns.
What does honest_finish check?
Whether the agent claims done, whether it verified, and which observed check supports it.
Related projects
Typed judgment layer for Claude Code, Codex and Hermes Agent: deterministic facts in code, language judgments in Jev, with receipts.
ProjectbetaPythonClaude Code plugin adding typed Jev decisions to hooks: task kind, command risk, failure class, completion; never grants permissions.
PluginbetaJavaScriptSelf-hosted software factory running coding agents in microVMs with verification gates; offers optional DSPy/Jev task intake advice.
ServicebetaPythonPi extension using Jev as a tool-call gate, a bash output judge and a jev_ask tool, in shadow mode by default and failing open.
PluginbetaTypeScriptLean Pi supervisor: zero-token regex guardrails, done-check verification, per-turn routing and a Jev/Clef semantic slop gate on diffs.
ProjectbetaTypeScriptPi guardrails on pi-typesafe that steer the agent: Jev checks rule breaks, irreversible actions, stuck loops and unverified done claims.
HookbetaTypeScript