Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 23 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,33 @@

<h1 align="center">Qualixar Jev Decision Layer for AI Agents</h1>

<p align="center"><strong>A fast second opinion for the small, closed choices your AI assistant makes all day.</strong><br>
Which option fits, does this draft meet the brief, is this extracted field right, do these search results answer the question. Each answer comes back as a choice, a score or a yes/no likelihood, with a confidence and a local receipt. It never gives your assistant permission to do anything.</p>
<p align="center"><strong>Typed routing for AI agents. Local policy gates. Auditable receipts.</strong><br>
Give your assistant a bounded task, tool, skill, or review choice. TypeSafe Jev returns a typed answer with confidence; the local layer checks it and records a receipt. Your host keeps execution authority.</p>

<p align="center">
<a href="https://github.com/qualixar/jev-decision-layer/releases/tag/v1.0.13"><img src="https://img.shields.io/badge/version-1.0.13-7655d9?style=flat-square" alt="Version 1.0.13"></a>
<img src="https://img.shields.io/badge/host%20adapters-5-7655d9?style=flat-square" alt="Five host adapters; verification varies by host">
<img src="https://img.shields.io/badge/MCP%20tools-20-4f46e5?style=flat-square" alt="Twenty MCP tools">
<img src="https://img.shields.io/badge/recipes-55-0f766e?style=flat-square" alt="55 recipes">
<img src="https://img.shields.io/badge/offline%20fixtures-165-d97706?style=flat-square" alt="165 offline fixtures">
<img src="https://img.shields.io/badge/license-MIT-f97316?style=flat-square" alt="MIT license">
</p>
<p align="center"><a href="https://qualixar.com/products/jev-decision-layer">Product page</a> · <a href="docs/DEMO.md">Run the offline demo</a> · <a href="#quick-start-without-a-key">Quick start</a> · <a href="docs/WORKING_WITH_JEV.md">Docs</a> · <a href="docs/HOSTS.md">Host evidence</a> · <a href="docs/SECURITY.md">Security</a></p>

<p align="center"><a href="#what-it-is">What it is</a> · <a href="#choose-where-decisions-run-jev-laya-or-jev--laya">Jev, Laya or both</a> · <a href="#your-first-10-minutes">First 10 minutes</a> · <a href="#install-and-upgrade">Install and upgrade</a> · <a href="docs/WORKING_WITH_JEV.md">Working with Jev</a> · <a href="docs/SECURITY.md">Security</a> · <a href="CHANGELOG.md">Changelog</a></p>
<p align="center"><img src="docs/assets/jev-acquisition.svg" alt="Bounded choice flows to a typed answer, then local policy gates and a receipt. The host agent retains execution authority." width="1000"></p>

<p align="center"><img src="docs/assets/hero.svg" alt="Qualixar Jev Decision Layer: typed, advisory decisions for Claude Code, Codex, VS Code, Antigravity and Hermes, from hosted Jev, local Laya, or both" width="820"></p>
## Quick start without a key

On macOS with Python 3.11 or newer and Git, replay the shipped synthetic cases through the real local checking logic:

```sh
git clone https://github.com/qualixar/jev-decision-layer.git
cd jev-decision-layer
plugins/qualixar-jev-decision-layer/scripts/jev selftest
```

This makes no provider call and needs no key or enrolled workspace. A passing self-test verifies gate contracts; it does not measure provider accuracy, latency, token savings, or host interception. [Run twenty recipe examples](docs/DEMO.md), then [install for your host](#install-and-upgrade) and approve a workspace in the private setup page.

## What it is

Your AI assistant (Claude, Codex, Copilot and others) makes many small decisions on your behalf: which of three formats suits this post, whether a draft meets the brief, which team a request belongs to, whether a search result really answers the question. Qualixar Jev Decision Layer lets the assistant hand one of those **closed questions** to a small, fast decision model and get back a typed answer: one of the options you gave, a position on a scale you defined, or a yes/no likelihood. Every answer carries a confidence and a local receipt ID, and every answer is advice. Your assistant still decides, and still asks you before it acts.

It is an open-source (MIT) plugin and local MCP server. The decision model is either hosted [TypeSafe Jev](https://docs.typesafe.ai/introduction/coding-agents) (directly or through OpenRouter) or [Laya](https://github.com/mizorewww/laya-mlx), which runs on your own Mac. Nothing is sent anywhere until you approve a folder in a private setup page on your computer.

[![Version 1.0.13](https://img.shields.io/badge/version-1.0.13-3B82F6?style=flat-square)](https://github.com/qualixar/jev-decision-layer/releases/tag/v1.0.13)

**Current release: 1.0.13** — 20 MCP tools, 55 recipes for bounded decisions, 165 synthetic offline fixtures, and five host adapters. This release is supported and verified on macOS. Linux is experimental and unverified. Windows is disabled: its runtime entry points refuse to start because the native private-state contract did not pass CI. Local Laya needs an Apple-Silicon Mac. See the [host evidence](docs/HOSTS.md) and the [changelog](CHANGELOG.md).

Built by **Varun Pratap Bhardwaj** under **Qualixar**. This is an independent open-source integration, not an official TypeSafe, OpenAI, Anthropic, Google, Microsoft, or Laya product.
Expand Down Expand Up @@ -409,3 +414,9 @@ No. Jev returns a typed recommendation for a bounded question. The host still co
## Build on it

The source is MIT-licensed. Add a data-only recipe with explicit input fields, a typed question, synthetic normal/uncertain/adversarial fixtures, and an honest limitation; see [CONTRIBUTING.md](CONTRIBUTING.md). Adding a host means writing one adapter against that host's hook contract and its own hook file — never editing another host's. The [rollback guide](docs/ROLLBACK.md) removes the plugin without deleting your project. Upstream code and model rights remain with their authors; see [third-party notices](plugins/qualixar-jev-decision-layer/THIRD_PARTY_NOTICES.md). No Jev or Laya model weights are included.

## Related Qualixar projects

- [Bounded Loops](https://github.com/qualixar/bounded-loops): independent completion gates for agent loops.
- [AgentAssert](https://github.com/qualixar/agentassert-abc): behavioral contracts for AI agents.
- [Qualixar OS](https://github.com/qualixar/qualixar-os): agent orchestration runtime.
15 changes: 15 additions & 0 deletions docs/DEMO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Twenty bounded decisions: inspect the gate before connecting a model

The offline demo replays recorded, synthetic answers through Jev Decision Layer's real local gates. For each of twenty shipped recipes, it checks a nominal, uncertain and adversarial case. No API key, provider call, workspace enrollment or confidential input is needed.

After the README quick start, run with Node.js 20 or newer:

```sh
node tools/demo.mjs
```

The final line is `PASS: 20 recipe examples, 60 synthetic gate checks`. Each preceding JSON row identifies the recipe, scenario, raw gate and experimental live-policy result. A recipe that has not been evaluated on real model outputs retains its verification requirement.

[Recorded output](launch/offline-demo-output.txt) is a reproducible gate-contract artifact. It is not a transcript of model inference, a prediction of accuracy, or a cost/latency benchmark. Run it yourself to confirm your checkout behaves the same way.

To evaluate a real decision, install for your host, approve a folder and provider in the private setup page, then use a public input and inspect its confidence and receipt. Review [host evidence](HOSTS.md) and [security boundaries](SECURITY.md). Hosted providers bill under their own terms. Local Laya needs Apple Silicon and a separately verified installation.
72 changes: 6 additions & 66 deletions docs/GITHUB_DISCOVERY.md
Original file line number Diff line number Diff line change
@@ -1,71 +1,11 @@
# GitHub repository discovery
# GitHub discovery settings

Use this page to record GitHub repository metadata and the social-preview specification for `qualixar/jev-decision-layer`. This file does not change the live topics or preview image.
Canonical product page: https://qualixar.com/products/jev-decision-layer

## Repository description
Metadata is owned by the Qualixar website's `data/products.json`. Stable descriptions contain no release counts. This repository links to that definition instead of maintaining another changing metadata specification.

**Current verified repository description (checked 2026-09-28):**
The acquisition artwork uses dark slate #0B0D13, cobalt #3B82F6, warm amber #F59E0B and white. Upload `docs/assets/jev-social-preview.png` in GitHub Settings → Social preview after reviewing this PR. The PNG is 1280×640, under 1 MB, and includes no claims about host parity, accuracy or savings. Its vector source is `docs/assets/jev-acquisition.svg`.

> Typed decision layer for Codex, Claude Code, VS Code, Hermes and Antigravity. TypeSafe Jev or optional local Laya with policy gates, receipts and 36 recipes.
An image committed to Git is not proof that GitHub serves it. After upload, verify the Settings preview and the public repository's `og:image`. GitHub's current [social preview instructions](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/customizing-your-repositorys-social-media-preview) describe the upload requirement.

This is the verified live repository description as of 2026-09-28; it reflects the 1.0.7 public repository state. Update it for 1.0.9 after the release checks pass. Keep the canonical repository URL stable.

## Suggested 1.0.9 description

> Open-source AI agent decision layer for Codex, Claude Code, Hermes, Antigravity and VS Code. TypeSafe Jev MCP routing, 55 recipes, local gates and receipts; optional Laya-MLX on Apple Silicon.

Use this as a metadata update after the 1.0.9 candidate is verified. GitHub description text is a discovery aid, not a ranking or star guarantee.

## Topics

Suggested GitHub topics (20):

`jev` · `typesafe-ai` · `system-one` · `typed-decisions` · `decision-model` · `coding-agents` · `ai-agents` · `agent-routing` · `tool-selection` · `laya` · `laya-mlx` · `local-ai` · `apple-silicon` · `mcp` · `model-context-protocol` · `claude-code` · `openai-codex` · `vscode` · `hermes` · `antigravity`

Topics help classify a repository; they do not guarantee search placement or stars. See GitHub's [repository topics guide](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics).

## Social preview

Upload [`docs/assets/social-preview.png`](assets/social-preview.png), the checked-in **1280 × 640 PNG**. Before using it, inspect the rendered file and confirm its wording and palette match these constraints:

- Headline: **ONE DECISION LAYER. FIVE AGENT HARNESSES.**
- Supporting line: **TypeSafe Jev · optional local Laya · typed answers · local gates · receipts**
- Count line: **20 tools · 55 recipes · 165 offline fixtures**
- Use a developer-focused violet, warm amber, and neutral palette. Do not use Qualixar green or cyan.
- Do not imply that all five hosts have verified live turns. Host evidence differs and is listed in the README.
- Keep execution authority with the host; do not depict Jev or Laya executing shell, browser, deployment, or publishing actions.

GitHub describes the [social preview image setting](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/customizing-your-repositorys-social-media-preview). The current image should be visually checked before a metadata update; a filename or dimensions alone do not establish that the artwork meets this specification.

## README vocabulary

Use these terms naturally in the title, opening, headings, and explanatory text where they fit:

- TypeSafe Jev and System One;
- typed decisions and decision layer;
- coding agents and agent harnesses;
- Codex, Claude Code, VS Code, Hermes, and Antigravity;
- Laya and Laya-MLX;
- MCP, tool selection, retry decisions, context selection, and output relevance;
- local policy gate, `act / verify / ignore`, workspace scope, and receipts.

The first screen should show one bounded decision, explain what the layer adds beyond a direct Jev call, and state that host permissions remain authoritative. Link the host evidence table beside any five-host claim. Do not lead with the earlier Laya-MLX threshold sample: its labeled rows and reproduction script are absent from this repository, so it cannot justify a provider-specific gate floor.

## Working article title

**Jev + Laya for Coding Agents: Why We Built One Typed Decision Layer Across Five Harnesses**

This is a working title for the canonical educational article, not confirmation that the article has been published.

## Machine-readable discovery

Keep [`llms.txt`](../llms.txt) as a reading index for agents. It is not a ranking guarantee. When README headings or document locations change, check its links; it currently points to the README, host guide, capabilities manifest, first-use guide, use cases, security boundary, rollback guide, changelog, contributor guide, license, and third-party notices.

## Claim boundaries

- Say **one shared runtime with adapters for five hosts**; do not say all five are equally verified.
- Describe shipped thresholds as unvalidated defaults; do not imply provider calibration or an independently measured confidence signal.
- Treat 165 offline fixtures as tests of the shipped local gate contract, not provider-accuracy evidence.
- Do not claim token, subscription-cost, API-cost, or task-time savings without matched accepted-task trials.
- Say the model returns advice and local policy metadata; the host retains execution authority.
- Keep upstream model ownership and license notices separate; this is an independent integration, not an official TypeSafe, Laya, OpenAI, Anthropic, Google, or Microsoft product.
Run [the demo](DEMO.md) to inspect local gate behavior. The synthetic cases are not model-accuracy evidence. Host claims must retain the qualifications in [HOSTS.md](HOSTS.md). Never claim measured token, cost or time savings without matched accepted-task trials.
1 change: 1 addition & 0 deletions docs/assets/jev-acquisition.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/jev-hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/assets/jev-hero.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/jev-social-preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 20 additions & 0 deletions docs/launch/claim-ledger.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Acquisition claim ledger — checked 2026-10-01

| Claim | Source / verification | Boundary |
| --- | --- | --- |
| Open-source MIT decision layer | LICENSE, released README at 6d9d897 | Integration license, not model-weight license |
| Typed choice, score and yes/no questions | Official TypeSafe coding-agent documentation; public runtime question contracts | Decision primitive, not code generation |
| Policy gates and local receipts | Released runtime and Security/HOSTS docs | Advisory; no native permission grant |
| 55 recipes / 165 offline cases | Executed scripts/jev selftest at 6d9d897; all_passed true | Synthetic gate contract, not model accuracy |
| 20 examples / 60 checks | Executed node tools/demo.mjs; all checks passed | Recorded synthetic answers through real gates |
| macOS supported; Linux experimental; Windows disabled | Released README and docs/HOSTS.md | Host adapters differ in verification evidence |
| Optional Laya on Apple Silicon | Released README installation and security sections | Separate verified installation; no Jev-only fallback |
| No accepted-task savings measurement | No matched experiment performed in this task | No speed, cost or token-reduction claim in acquisition copy |

Sources:

- https://github.com/qualixar/jev-decision-layer/blob/6d9d897cea8c0d852b2549750bacaf9fda741d84/README.md
- https://github.com/qualixar/jev-decision-layer/blob/6d9d897cea8c0d852b2549750bacaf9fda741d84/docs/HOSTS.md
- https://docs.typesafe.ai/introduction/coding-agents

Mechanical text audit passed for the new launch brief, demo guide and README opening. Independent code/source review found no blockers. This is prepared acquisition material for review; no social post was published and no spoken performance was generated.
Loading
Loading