How disler/ten-levels-of-jev works
10 Levels of Jev is an interactive lab demonstrating thirty JSON-based decision-making use cases, from simple code-level judgments to Jev tools and hooks in a coding agent. The main workflow is to choose a level and option in the web lab, submit input to the server, run the selected example, and stream decisions and Jev-call events back to the UI. The server can also launch interactive pi sessions for agent-oriented levels. The README documents all ten levels; sampled source confirms the server, client, selected examples, and session lifecycle, but not every level’s internal wiring.
Main entry points: server.mjs Lab HTTP server · client.ts Jev client · LevelView.vue Level views · agent-session.mjs Agent sessions
Components 26
Web Lab
- Vue lab
apps/ten-levels/web/src/App.vue - Web API client
apps/ten-levels/web/src/lib/api.ts - Agent API client
apps/ten-levels/web/src/lib/agent-api.ts - Level views
apps/ten-levels/web/src/views/LevelView.vue - Run visualizations
apps/ten-levels/web/src/components/RunVisual.vue
Demo Runtime
- Lab HTTP server
apps/ten-levels/server/server.mjs - Scenario registry
apps/ten-levels/server/scenarios.mjs - Terminal demo
apps/ten-levels/src/demo.ts - Jev client
apps/ten-levels/src/core/client.ts - Offline mock
apps/ten-levels/src/core/mock.ts
Decision Levels
- Single decisions
apps/ten-levels/src/levels/level01/index.ts - Multiple choice
apps/ten-levels/src/levels/level02/index.ts - Composite scoring
apps/ten-levels/src/levels/level03/index.ts - Confidence gates
apps/ten-levels/src/levels/level04/index.ts - Intent routing
apps/ten-levels/src/levels/level05/index.ts - Guardrail hooks
apps/ten-levels/src/levels/level06/index.ts - Compaction decisions
apps/ten-levels/src/levels/level07/index.ts - Single-file judgments
apps/ten-levels/src/levels/level08/index.ts - File-scale judgments
apps/ten-levels/src/levels/level09/index.ts - Agentic Jev
apps/ten-levels/src/levels/level10/index.ts
Agent Integration
- Agent extensions
apps/ten-levels/extensions/ask-jev.ts - Agent sessions
apps/ten-levels/server/agent-session.mjs
Other components
- Lab user
- pi coding agent
- TypeSafe API
- OpenRouter API
Connections 30
- Lab user → Vue lab: uses
- Vue lab → Level views: shows levels
- Level views → Web API client: requests runs
- Level views → Agent API client: controls sessions
- Web API client → Lab HTTP server: calls API
- Agent API client → Lab HTTP server: calls agent API
- Lab HTTP server → Scenario registry: selects options
- Lab HTTP server → Run visualizations: streams events
- Lab HTTP server → Jev client: reads status
- Lab HTTP server → Agent sessions: starts sessions
- Lab HTTP server → Single decisions: runs option
- Lab HTTP server → Multiple choice: runs option
- Lab HTTP server → Composite scoring: runs option
- Lab HTTP server → Confidence gates: runs option
- Lab HTTP server → Intent routing: runs option
- Lab HTTP server → Guardrail hooks: runs option
- Lab HTTP server → Compaction decisions: runs option
- Lab HTTP server → Single-file judgments: runs option
- Lab HTTP server → File-scale judgments: runs option
- Lab HTTP server → Agentic Jev: runs option
- Intent routing → Jev client: calls decisions
- Composite scoring → Jev client: calls decisions
- Terminal demo → Jev client: uses client
- Jev client → Offline mock: runs mock
- Jev client → TypeSafe API: sends requests
- Jev client → OpenRouter API: sends requests
- Agent sessions → pi coding agent: spawns and controls
- Agent sessions → Agent extensions: loads extension
- pi coding agent → Agent extensions: dispatches hooks
- Agent extensions → Jev client: requests decisions