jev-harness 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. jev_harness-0.1.0/.github/workflows/ci.yml +34 -0
  2. jev_harness-0.1.0/.gitignore +59 -0
  3. jev_harness-0.1.0/.pre-commit-hooks.yaml +14 -0
  4. jev_harness-0.1.0/LICENSE +21 -0
  5. jev_harness-0.1.0/PKG-INFO +403 -0
  6. jev_harness-0.1.0/README.md +377 -0
  7. jev_harness-0.1.0/examples/benchmark_vs_llm.py +120 -0
  8. jev_harness-0.1.0/examples/git_pre_commit.sh +27 -0
  9. jev_harness-0.1.0/examples/mcp_servers_config.json +68 -0
  10. jev_harness-0.1.0/examples/python_sdk_usage.py +66 -0
  11. jev_harness-0.1.0/packages/ts/LICENSE +21 -0
  12. jev_harness-0.1.0/packages/ts/README.md +122 -0
  13. jev_harness-0.1.0/packages/ts/bin/cli.js +4 -0
  14. jev_harness-0.1.0/packages/ts/package.json +42 -0
  15. jev_harness-0.1.0/packages/ts/src/cli.ts +196 -0
  16. jev_harness-0.1.0/packages/ts/src/client.ts +348 -0
  17. jev_harness-0.1.0/packages/ts/src/gates.ts +234 -0
  18. jev_harness-0.1.0/packages/ts/src/index.ts +3 -0
  19. jev_harness-0.1.0/packages/ts/src/types.ts +103 -0
  20. jev_harness-0.1.0/packages/ts/tests/gates.test.ts +75 -0
  21. jev_harness-0.1.0/packages/ts/tsconfig.json +19 -0
  22. jev_harness-0.1.0/packages/ts/tsconfig.test.json +9 -0
  23. jev_harness-0.1.0/pyproject.toml +54 -0
  24. jev_harness-0.1.0/src/jev_harness/__init__.py +53 -0
  25. jev_harness-0.1.0/src/jev_harness/cli.py +361 -0
  26. jev_harness-0.1.0/src/jev_harness/client.py +412 -0
  27. jev_harness-0.1.0/src/jev_harness/gates.py +290 -0
  28. jev_harness-0.1.0/src/jev_harness/integrations/__init__.py +60 -0
  29. jev_harness-0.1.0/src/jev_harness/mcp_server.py +302 -0
  30. jev_harness-0.1.0/tests/__init__.py +1 -0
  31. jev_harness-0.1.0/tests/test_cli.py +76 -0
  32. jev_harness-0.1.0/tests/test_client.py +97 -0
  33. jev_harness-0.1.0/tests/test_gates.py +82 -0
  34. jev_harness-0.1.0/tests/test_mcp.py +154 -0
  35. jev_harness-0.1.0/tests/test_real_tracebacks.py +160 -0
@@ -0,0 +1,34 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main, master]
6
+ pull_request:
7
+ branches: [main, master]
8
+
9
+ jobs:
10
+ test:
11
+ name: Test on Python ${{ matrix.python-version }} (${{ matrix.os }})
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ matrix:
15
+ os: [ubuntu-latest, macos-latest, windows-latest]
16
+ python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
17
+
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+
21
+ - name: Set up Python ${{ matrix.python-version }}
22
+ uses: actions/setup-python@v5
23
+ with:
24
+ python-version: ${{ matrix.python-version }}
25
+
26
+ - name: Run unit test suite
27
+ run: |
28
+ python -m unittest discover -s tests -v
29
+
30
+ - name: Test CLI entrypoints
31
+ run: |
32
+ python src/jev_harness/cli.py status
33
+ python src/jev_harness/cli.py route --task "Fix typo in docstrings" --json --mock
34
+ echo "ModuleNotFoundError: test" | python src/jev_harness/cli.py test-gate --mock
@@ -0,0 +1,59 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ *.manifest
31
+ *.spec
32
+
33
+ # Environments
34
+ .env
35
+ .venv
36
+ env/
37
+ venv/
38
+ ENV/
39
+ env.bak/
40
+ venv.bak/
41
+
42
+ # Local Jev configs
43
+ .jev.json
44
+ credentials.env
45
+
46
+ # IDEs
47
+ .vscode/
48
+ .idea/
49
+ .cursor/
50
+ *.swp
51
+ *.swo
52
+
53
+ # Testing & coverage
54
+ .coverage
55
+ htmlcov/
56
+ .pytest_cache/
57
+ dist-test/
58
+ packages/*/dist-test/
59
+ node_modules/
@@ -0,0 +1,14 @@
1
+ - id: jev-test-gate
2
+ name: Jev Test Failure Gate
3
+ description: Triages test errors and blocks doomed commits with Jev System One
4
+ entry: jev-harness test-gate
5
+ language: python
6
+ types: [text]
7
+ pass_filenames: false
8
+
9
+ - id: jev-abort-check
10
+ name: Jev Abort & Dead-End Check
11
+ description: Detects circular refactors and unviable trajectories
12
+ entry: jev-harness abort-check
13
+ language: python
14
+ pass_filenames: false
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ISMAEL HOSNI SOILET DE LIMA
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,403 @@
1
+ Metadata-Version: 2.5
2
+ Name: jev-harness
3
+ Version: 0.1.0
4
+ Summary: Zero-dependency System One decision harness, token optimizer, and semantic guardrails for AI coding agents.
5
+ Project-URL: Homepage, https://github.com/ismaelsoilet/jev-harness
6
+ Project-URL: Documentation, https://github.com/ismaelsoilet/jev-harness#readme
7
+ Project-URL: Repository, https://github.com/ismaelsoilet/jev-harness.git
8
+ Project-URL: Issues, https://github.com/ismaelsoilet/jev-harness/issues
9
+ Author-email: Ismael Hosni Soilet de Lima <soilet.ismael@gmail.com>
10
+ License-Expression: MIT
11
+ License-File: LICENSE
12
+ Keywords: agentic-ai,claude-code,cursor,guardrails,jev,mcp,model-context-protocol,opencode,system-one,token-optimizer,typesafe
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Software Development :: Quality Assurance
23
+ Classifier: Topic :: Software Development :: Testing
24
+ Requires-Python: >=3.9
25
+ Description-Content-Type: text/markdown
26
+
27
+ # ⚡ Jev Harness: The Token Optimizer & Decision Gate for AI Coding Agents
28
+
29
+ <p align="center">
30
+ <a href="https://github.com/ismaelsoilet/jev-harness"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License MIT"></a>
31
+ <a href="https://pypi.org/project/jev-harness/"><img src="https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-brightgreen.svg" alt="Python Versions"></a>
32
+ <a href="https://typesafe.ai"><img src="https://img.shields.io/badge/powered%20by-TypeSafe%20Jev%20System%20One-orange.svg" alt="TypeSafe Jev"></a>
33
+ <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-Compatible-purple.svg" alt="MCP Compatible"></a>
34
+ <a href="#"><img src="https://img.shields.io/badge/dependencies-0%20(pure%20stdlib)-success.svg" alt="Zero Dependencies"></a>
35
+ </p>
36
+
37
+ > **Stop burning 50,000 frontier tokens on missing packages, network flakiness, and circular doom loops.**
38
+ >
39
+ > `jev-harness` is a ultra-fast, zero-dependency token optimizer, test failure triage gate, and semantic guardrail for AI coding agents (OpenCode, Command Code, Claude Code, Cursor, Antigravity IDE, Windsurf, Zed, and Pi). Powered by **TypeSafe AI's Jev System One** non-autoregressive decision model.
40
+
41
+ ---
42
+
43
+ ## 🎯 The Problem
44
+
45
+ When an autonomous coding agent encounters a test failure or compiler error, the standard reaction is to dump 500 lines of raw traceback into an expensive frontier reasoning model (GPT-6 Astra, Claude Fable 5.1).
46
+
47
+ | Failure Scenario | Without Jev Harness | With Jev Harness |
48
+ | :--- | :--- | :--- |
49
+ | **Missing dependency** (`ModuleNotFoundError`, `Cannot find module`, `TS2307`, `E0463`) | 💸 **50,000 LLM tokens burned** (~$0.50 - $2.50) + 15s delay to output `pip/npm install ...` | ⚡ **Jev triage in 90ms ($0.00004)** → Action: install package deterministically. **0 LLM tokens**. |
50
+ | **Flaky transient error** (network timeout, port busy, ECONNREFUSED) | 💸 LLM hallucinates architectural changes to "fix" an ephemeral glitch | ⚡ **Jev detects flaky transient** → Auto-retry worker once. **0 code changes**. |
51
+ | **Circular refactoring** (Doom Loop: attempting the same fix 3+ times) | 💸 **200,000+ tokens burned** in endless circular loops | 🛑 **Jev Abort Gate triggers** (`exit 1`) → Stops loop, alerts developer. |
52
+ | **Trivial typo / formatting** | 💸 Heavy reasoning frontier tier used for simple regex/typo | ⚡ **Jev Route** directs task to local script or Gemini 3.8 Flash. |
53
+
54
+ ---
55
+
56
+ ## 🏗️ How It Works: System One vs. System Two
57
+
58
+ Daniel Kahneman's cognitive paradigm applied to agentic engineering:
59
+ - **System 1 (Fast, Intuitive, Calibrated):** **Jev** makes non-autoregressive, parallel, typed decisions in **70ms to 300ms** at **$0.042 per 1M tokens** ($0 output tokens).
60
+ - **System 2 (Slow, Deliberative, Generative):** Frontier LLMs (GPT-6 Astra, Claude Fable 5.1) write code and solve deep algorithmic logic.
61
+
62
+ ```
63
+ ┌────────────────────────────────────────────────────────┐
64
+ │ AI Coding Agent Loop │
65
+ └──────────────────────────┬─────────────────────────────┘
66
+
67
+ Command/Test Execution
68
+
69
+
70
+ [Test / Step Output]
71
+
72
+ ┌────────────────────────┴────────────────────────┐
73
+ ▼ ▼
74
+ [PASS: Continue] [FAIL: Error Log]
75
+
76
+
77
+ ┌───────────────────────┐
78
+ │ jev-harness gate │
79
+ │ (Jev System One 70ms) │
80
+ └───────────┬───────────┘
81
+
82
+ ┌──────────────────────────────────┴──────────────────────────────────┐
83
+ ▼ ▼
84
+ [skip_llm = True] [skip_llm = False]
85
+ (Env missing / Flaky / Trivial) (Deep Logic Bug)
86
+ │ │
87
+ ▼ ▼
88
+ Deterministic Shell Action Dispatch Targeted
89
+ (pip/npm install or fast retry) Trace to Frontier LLM
90
+ ⚡ 0 Frontier Tokens / Instant Fix 💸 Cost Reduced by ~80%
91
+ ```
92
+
93
+ ---
94
+
95
+ ## ✨ Features
96
+
97
+ - 🛡️ **Zero External Dependencies:** Built entirely with Python's standard library (`urllib.request`, `dataclasses`, `json`). No `pip` bloat, instant startup (< 50ms).
98
+ - 🔌 **Universal MCP Server:** Exposes Jev decision tools over stdio (`jev-mcp`) for Cursor, Claude Desktop, Antigravity, Windsurf, Zed, and OpenCode.
99
+ - 🚦 **UNIX Philosophy Compliant:** Standard exit codes (`0` for safe/skip_llm, `1` for abort/logic defect, `2` for syntax error) allow clean pipe composition: `pytest | jev-harness test-gate`.
100
+ - 🔄 **Autonomous Simulation Fallback:** If offline or without an API key, an intelligent heuristic engine runs locally so your CI and scripts never crash.
101
+ - 🌐 **Multi-Provider Support:** Seamlessly connects to TypeSafe AI direct, OpenCode Zen, or OpenRouter.
102
+
103
+ ---
104
+
105
+ ## 🚀 Quickstart
106
+
107
+ ### 1. Installation
108
+
109
+ ```bash
110
+ # Via pip
111
+ pip install jev-harness
112
+
113
+ # Or via pipx (isolated global CLI)
114
+ pipx install jev-harness
115
+ ```
116
+
117
+ ### 2. Configuration (Optional)
118
+
119
+ Jev Harness automatically resolves credentials in the following priority:
120
+ 1. Environment variables (`TYPESAFE_API_KEY`, `OPENCODE_API_KEY`, or `OPENROUTER_API_KEY`)
121
+ 2. Local repository `.jev.json` or `.env`
122
+ 3. Global configuration `~/.config/jev/credentials.env`
123
+ 4. **Intelligent Offline Simulation Mode** (active by default if no key is supplied)
124
+
125
+ ```bash
126
+ export TYPESAFE_API_KEY="your-typesafe-api-key"
127
+ # Check status anytime
128
+ jev-harness status
129
+ ```
130
+
131
+ ---
132
+
133
+ ## 🛠️ CLI Usage
134
+
135
+ ### 1. Test Failure Triage (`test-gate`)
136
+ Pipe error logs directly or pass a file:
137
+
138
+ ```bash
139
+ # Pipe directly from your test runner
140
+ npm test | jev-harness test-gate
141
+ pytest | jev-harness test-gate
142
+
143
+ # Or analyze a saved log file
144
+ jev-harness test-gate --log error.log
145
+
146
+ # Or get machine-readable JSON
147
+ jev-harness test-gate --log error.log --json
148
+ ```
149
+
150
+ **Output Example:**
151
+ ```text
152
+ --- JEV TEST TRIAGE VERDICT ---
153
+ Category: ENV_MISSING
154
+ Confidence: 92.0%
155
+ Skip LLM Call: YES (Save Tokens!)
156
+ Skip Probability: 96.0%
157
+ Severity Score: 1.0 / 4.0
158
+ Recommendation: AUTO-ACTION: Install missing dependency or check environment configuration (Do NOT call LLM).
159
+ --------------------------------
160
+ ```
161
+
162
+ ### 2. Guard Against Doom Loops & Dead-Ends (`abort-check`)
163
+ Verify that a proposed plan isn't repeating a failed path:
164
+
165
+ ```bash
166
+ jev-harness abort-check \
167
+ --plan "Retry rewriting the entire database schema without backup" \
168
+ --history "Attempt 1 failed with timeout. Attempt 2 failed with circular foreign key error."
169
+ ```
170
+ *Returns exit code `1` if abort is recommended, enabling automated CI stops.*
171
+
172
+ ### 3. Model Tier Routing (`route`)
173
+ Pick the cheapest model capable of solving the task:
174
+
175
+ ```bash
176
+ jev-harness route --task "Fix typo in docstring and reformat with black"
177
+ # -> TIER: DETERMINISTIC | Model: Direct Python/Bash Script (0 LLM Tokens)
178
+
179
+ jev-harness route --task "Refactor distributed actor supervision tree across 14 modules"
180
+ # -> TIER: HEAVY_SYSTEM2 | Model: Claude Fable 5.1 / GPT-6 Astra (~$10.00 in / $50.00 out)
181
+ ```
182
+
183
+ ### 4. Step Completion Verification (`verify`)
184
+ Verify evidence against criteria with calibrated confidence:
185
+
186
+ ```bash
187
+ jev-harness verify \
188
+ --criteria "Must export format_date function and pass all 10 unit tests" \
189
+ --output "All 10 unit tests passed in 0.02s. format_date exported in index.ts."
190
+ ```
191
+
192
+ ---
193
+
194
+ ## 🤖 Universal Agent & IDE Integrations
195
+
196
+ ### 1. Cursor IDE (`.cursor/mcp.json`)
197
+ Add to `.cursor/mcp.json` (or run `jev-harness init --cursor` in your repo):
198
+
199
+ ```json
200
+ {
201
+ "mcpServers": {
202
+ "jev-harness": {
203
+ "command": "jev-mcp",
204
+ "args": []
205
+ }
206
+ }
207
+ }
208
+ ```
209
+
210
+ ### 2. Claude Desktop (`claude_desktop_config.json`)
211
+ Add to your Claude Desktop configuration:
212
+
213
+ ```json
214
+ {
215
+ "mcpServers": {
216
+ "jev-harness": {
217
+ "command": "jev-mcp",
218
+ "args": []
219
+ }
220
+ }
221
+ }
222
+ ```
223
+
224
+ ### 3. Antigravity IDE (`mcp_config.json` & `hooks.json`)
225
+ Connect as an MCP Server:
226
+ ```json
227
+ {
228
+ "mcpServers": {
229
+ "jev-harness": {
230
+ "command": "jev-mcp",
231
+ "args": []
232
+ }
233
+ }
234
+ }
235
+ ```
236
+ Or hook into the execution lifecycle in `~/.gemini/config/hooks.json`:
237
+ ```json
238
+ {
239
+ "jev-guard": {
240
+ "PreInvocation": [
241
+ {
242
+ "type": "command",
243
+ "command": "echo '{\"injectSteps\": [{\"ephemeralMessage\": \"[JEV ACTIVE] Triage test errors with jev-harness test-gate before calling LLMs. If skip_llm=true, fix deterministically.\"}]}'"
244
+ }
245
+ ]
246
+ }
247
+ }
248
+ ```
249
+
250
+ ### 4. OpenCode & Command Code
251
+ In `.opencode/config.json` or agent instructions:
252
+ ```markdown
253
+ When running tests or builds:
254
+ 1. If a command fails, execute `jev-harness test-gate` on the traceback.
255
+ 2. If `skip_llm=true`, execute the recommended deterministic action.
256
+ 3. If an error persists across 2 consecutive attempts, run `jev-harness abort-check`.
257
+ ```
258
+
259
+ ### 5. Windsurf & Zed
260
+ - **Windsurf:** Add to `~/.codeium/windsurf/mcp_config.json`.
261
+ - **Zed:** Add to `~/.config/zed/settings.json` under `context_servers`.
262
+
263
+ ---
264
+
265
+ ## 🐍 Python SDK
266
+
267
+ You can also use `jev-harness` directly in Python scripts and agent orchestration frameworks (LangChain, LlamaIndex, CrewAI, AutoGen):
268
+
269
+ ```python
270
+ from jev_harness import (
271
+ JevClient,
272
+ triage_test_failure,
273
+ should_abort_trajectory,
274
+ route_model_tier,
275
+ verify_step_completion,
276
+ )
277
+
278
+ client = JevClient()
279
+
280
+ # 1. Triage test traceback
281
+ res = triage_test_failure("ModuleNotFoundError: No module named 'scipy'", client=client)
282
+ if res.skip_llm:
283
+ print(f"Safe to fix deterministically: {res.action_recommendation}")
284
+
285
+ # 2. Check trajectory before spending tokens
286
+ abort_decision = should_abort_trajectory(
287
+ proposed_step="Tentar novamente a mesma abordagem",
288
+ recent_attempts_summary="Tentativa 1 falhou com timeout",
289
+ client=client,
290
+ )
291
+ if abort_decision.should_abort:
292
+ print("Trajectory aborted! Re-align with user.")
293
+ ```
294
+
295
+ ---
296
+
297
+ ## 🟦 TypeScript / JavaScript SDK & CLI
298
+
299
+ For Node.js, Bun, Deno, Vite, Tauri, and Next.js applications:
300
+
301
+ ```bash
302
+ # Install via npm
303
+ npm install jev-harness
304
+
305
+ # Or via bun
306
+ bun add jev-harness
307
+ ```
308
+
309
+ ### Programmatic Usage
310
+
311
+ ```typescript
312
+ import {
313
+ triageTestFailure,
314
+ shouldAbortTrajectory,
315
+ routeModelTier,
316
+ verifyStepCompletion,
317
+ JevClient,
318
+ } from "jev-harness";
319
+
320
+ // 1. Triage test failure in < 2ms locally (or sub-second remote)
321
+ const triage = await triageTestFailure(rawErrorOutput);
322
+ if (triage.skipLlm) {
323
+ console.log("Safe to fix deterministically! LLM call skipped.");
324
+ console.log("Recommended Action:", triage.actionRecommendation);
325
+ }
326
+
327
+ // 2. Prevent circular doom loops before spending frontier tokens
328
+ const abortCheck = await shouldAbortTrajectory(
329
+ "Repeat previous refactoring step",
330
+ "Step failed with: TypeError: undefined is not a function"
331
+ );
332
+ if (abortCheck.shouldAbort) {
333
+ console.error("Agent trapped in dead-end loop! Aborting.");
334
+ }
335
+
336
+ // 3. Select minimal sufficient model tier
337
+ const route = await routeModelTier("Fix typo in variable name");
338
+ console.log("Assigned Model Tier:", route.selectedTier); // deterministic
339
+ ```
340
+
341
+ ### TypeScript CLI
342
+
343
+ ```bash
344
+ # Run test triage via npx
345
+ npx jev-harness triage "Cannot find module 'lodash'"
346
+
347
+ # Trajectory abort check
348
+ npx jev-harness abort-check --plan "Try identical prompt again"
349
+
350
+ # Model router
351
+ npx jev-harness route "Architect distributed consensus protocol"
352
+ ```
353
+
354
+ ---
355
+
356
+ ## 📦 Git & CI/CD Guardrails
357
+
358
+ ### Pre-commit Hook (`.pre-commit-config.yaml`)
359
+ ```yaml
360
+ repos:
361
+ - repo: https://github.com/ismaelsoilet/jev-harness
362
+ rev: v0.1.0
363
+ hooks:
364
+ - id: jev-test-gate
365
+ ```
366
+
367
+ ### Husky Hook (`.husky/pre-commit`)
368
+ ```bash
369
+ npm test 2>&1 | jev-harness test-gate || exit 1
370
+ ```
371
+
372
+ ---
373
+
374
+ ## 📊 Economics & Benchmarks (September 2026 Frontier)
375
+
376
+ | Metric | 2026 Frontier Reasoning (GPT-6 Astra, Claude Fable 5.1) | Fast Agentic Tier (Gemini 3.8 Flash) | TypeSafe Jev System One (`jev-harness`) |
377
+ | :--- | :--- | :--- | :--- |
378
+ | **Input Pricing** | $10.00 / 1M tokens | $0.75 / 1M tokens | **$0.042 / 1M tokens (~238x cheaper)** |
379
+ | **Output Pricing** | $50.00 / 1M tokens | $3.75 / 1M tokens | **$0.00 (Free - Non-autoregressive)** |
380
+ | **Latency** | 10,000ms – 30,000ms | 1,500ms – 4,000ms | **70ms – 300ms (~100x faster)** |
381
+ | **Output Structure**| Free-form prose & streaming tokens | Structured JSON tool calls | **Strictly typed: Choice, Score, Noul** |
382
+ | **Determinism** | Stochastic reasoning | Stochastic generation | **Zero-hallucination calibrated bounds** |
383
+
384
+ ---
385
+
386
+ ## 🤝 Contributing & Submissions
387
+
388
+ Contributions are welcome!
389
+ - Submitting to **[awesome-jev](https://github.com/yibie/awesome-jev)** and **[awesome-jev-use-cases](https://github.com/whyashthakker/awesome-jev-use-cases)**.
390
+ - Open an Issue or Pull Request on GitHub.
391
+
392
+ ```bash
393
+ # Development setup
394
+ git clone https://github.com/ismaelsoilet/jev-harness.git
395
+ cd jev-harness
396
+ python -m unittest discover -s tests
397
+ ```
398
+
399
+ ---
400
+
401
+ ## 📄 License
402
+
403
+ Distributed under the **MIT License**. See [`LICENSE`](LICENSE) for more information.