ably-labs / jev-pong
“Pong where the ball moves one step per model decision. Jev vs LLMs via Vercel AI Gateway, every player and agent on an Ably channel.”
Jev Integrations rank #56In Integration #20
- 0Stars
- —Stars Δ / 1d
- —Stars Δ / 7d
- —Stars Δ / 30d
- 2Forks
- 0Watchers
GitHub ↗Official docs ↗Back to ranking
TL;DR
ably-labs/jev-pong showed up as Jev / System One related work: Larger product that integrates TypeSafe Jev / System One.
The author describes it as: “Pong where the ball moves one step per model decision. Jev vs LLMs via Vercel AI Gateway, every player and agent on an Ably channel.” That is their claim, not a bench this site ran.
Who it’s for
- Agent / harness authors who need a typed gate, route, or prune step
- Anyone who needs the unofficial line: jev.pro does not issue keys and is not TypeSafe
What’s inside
Top-level entries on GitHub at generation time: .claude, .env.example, .gitignore, .ignore, AGENTS.md, CLAUDE.md, LICENSE, README.md, app, components, design, eslint.config.mjs, lib, next.config.ts. Read those before you trust a one-line install.
How to use
- Clone and follow the author’s TypeScript toolchain. Do not invent a package name.
git clone https://github.com/ably-labs/jev-pong.git
cd jev-pong
- If the project calls hosted Jev, you still need a TypeSafe console key or a documented gateway.
- Send a complete
stateand typed questions. Code owns control flow after the probabilities.
Hosted Jev still looks like a function call — wrapper or not:
{
model: "jev-1.13.0",
state: { source: "ably-labs/jev-pong", brief: "..." },
questions: {
gate: { type: "noul", instructions: "Should we act on this state?" },
route: { type: "choice", instructions: "Pick one next system.", criteria: ["code", "review", "human"] },
},
}
Try this
Put Jev on one real brief
Wire ably-labs/jev-pong so one real state (ticket, diff, or utterance) becomes a Choice plus a Noul. Do not ask Jev to write the user-facing reply.
Schema-safe ≠ correct
On a case ably-labs/jev-pong gets wrong, write down the schema-legal answer it returned and the human label. Do not “fix” it by asking Jev to generate an explanation.
FAQ
Does this replace the TypeSafe SDK?
Only if the author implemented a full client. Most harnesses still call the vendor SDK or raw HTTP.
Are the star chips live?
Star, fork, and watcher chips refresh from the public GitHub API via a scheduled job. The prose on this page is editorial.
Sources
Public repository metadata and TypeSafe documentation. No private claims.