PhaseDrift.

Jev reference

Request limits, troubleshooting and data handling for Jev analysis.

For the short setup guide, see Analyze reports with Jev. This reference covers controls, troubleshooting and the report data sent for analysis.

What it does

PhaseDrift sends one saved report to TypeSafe and asks four questions in one request:

QuestionWhat you get
Did the work finish?Completed, partial, blocked or unknown
How much friction occurred?None, minor, substantial, blocked or unknown
What probably caused it?Access, tooling, complexity, requirements, documentation or unknown
What kind of change might help?Configure, add or remove a tool; improve instructions, refactor, add tests or no action

These classifications feed the feedback trend in Agent work → Reports, and classified suggestions under Improvements. Open a report's Analysis tab to inspect its saved Jev analysis alongside the agent's original account.

Jev supplies categories and probabilities. The agent writes the report and concrete suggestions; PhaseDrift can turn those suggestions into proposals without Jev. To establish whether a fix helped, try one change and collect comparable evidence.

1. Add your key to the connected project

Create a key in the TypeSafe dashboard. In the repository you connected to PhaseDrift, add this to .env.local:

TYPESAFE_API_KEY=your-key-here

Use the project root, beside its AGENTS.md. For a tracker connected to your app, the key belongs in your app's repo, not the website or PhaseDrift installation directory. Ensure .env.local is ignored by Git. Keep the key server-side; don't prefix it with NEXT_PUBLIC_ or put it in a report or agent prompt.

The managed tracker uses Bun and starts from this project directory. Restart it after adding or changing the key:

phasedrift status
phasedrift restart
phasedrift learning status

Check analysis.credentialPresent is true. This checks the running tracker, without displaying the key or making a provider call. It does not establish that the provider will accept the key. If status reports a different project or ownership conflict, resolve that connection first; don't restart an unrelated preview.

2. Choose a budget and enable analysis

Setup with your agent includes activation when you supply a key. With the CLI, connect and enable it in one command (default: ten requests per UTC day; existing limits preserved):

phasedrift init --analysis

The init result includes Jev readiness or the missing key step. For older CLI releases without this flag, use the policy command below. To inspect the current allowance:

phasedrift learning analysis policy

Run this only when you want to authorize provider requests for this project. This example allows one job per worker batch, at most ten dispatches per UTC day, and one concurrent job:

phasedrift learning analysis policy --stdin <<'JSON'
{"enabled":true,"perRun":1,"perDay":10,"concurrency":1}
JSON

The worker checks roughly every 15 seconds while the tracker runs. It processes saved reports, including an existing backlog, within the policy limits. New reports join the queue automatically. Agents don't need to call Jev themselves.

These limits cap requests, not dollars. TypeSafe billing applies. Changing the key or limits doesn't reset recorded daily usage. Matching saved results are reused.

3. Check the result

phasedrift learning status
phasedrift learning analysis jobs
StatusMeaning
analysis.configured: trueKey loaded and policy enabled
analysis.cached increasesReports have saved classifications
Queued jobs remainWaiting for capacity, credentials or the daily allowance
Failed or uncertain jobsInspect the recorded error before acting

Configuration is ready when both switches are on. A succeeded job and saved classification prove an actual request completed. An uncertain dispatch may have been billed; don't blindly resubmit it.

To stop future dispatches, keep your chosen limits and set enabled to false:

phasedrift learning analysis policy --stdin <<'JSON'
{"enabled":false,"perRun":1,"perDay":10,"concurrency":1}
JSON

Already-dispatched requests may finish. Reports and saved analyses stay available.

Ask your setup agent

Check optional Jev analysis for this connected project using phasedrift status and phasedrift learning status. Tell me whether the running tracker has a key loaded, whether analysis is enabled, its limits, and whether any reports have saved classifications. Do not print credentials. If I have supplied a key, enable report analysis with a new allowance of ten requests per UTC day, one per batch and concurrency one, preserving existing explicit limits. If the key is missing, show its local file location. Follow the Jev guide and verify a saved classification before claiming provider success.

What leaves your machine

The current integration uses jev-latest at api.typesafe.ai/v1/systemone. It sends the report's prose, limited to 8,000 characters, an evidence-scope label and the four classification questions. It does not send the whole repository, scan artifacts or native session transcripts for this request. Anything included in the report text is included in that payload, so keep reports free of secrets.

Results, probabilities, resolved model and token usage are saved locally. Unknown answers remain unknown. A confident classification of a report is not independent verification of its claims.

Privacy and costs · TypeSafe API reference

On this page