Skip to content

jevdo

Strict-allowlist shell harness where Jev walks a TOML decision tree to pick a bash command, flags and paths, confirming writes.

Projectprototype

Overview

jevdo (packaged as hsom, Harness for System One Models) lets Jev operate a bash shell under a strict allowlist. An environment.toml file defines which commands Jev may select and their structure. In one step, Jev navigates the decision tree defined by the file: command, then subcommand, then boolean or valued flags, then path slots. Commands are classified as read, write or destructive; read actions run directly, while write and destructive actions ask for confirmation with a default of no, and non-interactive sessions decline. A dry-run mode previews without executing or prompting.

Jev can be reached through TypeSafe Cloud or OpenRouter's System One API, with clear precedence rules for endpoint and key configuration, and both bare and prefixed model ids are passed through. It is aimed at users who want natural-language shell control without letting a model compose arbitrary commands.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich allowlisted command, subcommand, flags and path slots match the request?—

How it works

  1. Define allowed commands in environment.toml
  2. User states a request
  3. Jev walks the command tree to select command, flags and paths
  4. Run reads directly; confirm writes and destructive actions (default no)

Strengths

  • Model can only choose allowlisted commands
  • Confirmation for write and destructive actions
  • Dry-run preview

Caveats

  • Usefulness limited to commands you allowlist
  • Requires a TypeSafe or OpenRouter key

Getting started

pip install -e ., export TYPESAFE_API_KEY, cp environment.toml.example environment.toml.

At a glance

Type
Project
Status
prototype
Language
Python
Runtime
CLI
Has code
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

Can Jev run any shell command?

No, only commands defined in the allowlist TOML.

What about destructive commands?

They require confirmation, defaulting to no; non-interactive sessions decline.

Can I use OpenRouter?

Yes, set provider to openrouter and supply OPENROUTER_API_KEY.

Related projects

  • Discontinued DeepSeek Harness decision layer whose policies let Jev only narrow permissions and fail closed; successor is jevcore.

    ProjectprototypeTypeScript
  • Cognitive control layer for OpenCode that uses Jev to compute GO, DELIBERATE, VERIFY or BLOCK for agent actions, observing by default.

    ProjectbetaTypeScript
  • DeepSeek Harness plugin with 12 opt-in Jev or Luna Decisions judgments: skill and file selection, supervision, filtering and approval help.

    PluginbetaTypeScript
  • Claude Code PreToolUse hook that auto-approves shell commands Jev is confident are read-only, and otherwise shows the normal prompt.

    HookbetaPython
  • Open-source Jev skills for Claude Code, Codex, Cursor and Grok: one client to gate, route, guard, verify, triage, review and act.

    ProjectbetaTypeScript
  • Claude Code plugin adding typed Jev decisions to hooks: task kind, command risk, failure class, completion; never grants permissions.

    PluginbetaJavaScript