Juan Alvarado’s rea-jev pairs REA, a reverse-engineering tool server, with TypeSafe’s Jev decision model in a Claude Code plugin. Claude investigates; Jev answers narrow typed questions at four points in the workflow.
Put checks where work changes hands
- Before investigation: a prompt hook identifies the artifact and suggests a format-aware first REA tool. Code sniffs paths and file signatures before asking Jev.
- Before a tool call: local rules reject repeated inspections and non-loopback browser-debugger endpoints. Jev assesses scope and risk for runtime and file-moving calls; normal inspection skips that request.
- After a result: an evidence ledger stores REA Evidence IDs, gaps and errors. Jev can flag an instruction embedded in a result, an unresolved gap or a static finding described as runtime behavior.
- Before saying “done”: the final hook checks whether conclusions cite evidence and distinguish observation from inference. The default mode advises; enforcement is optional and capped.
The code uses the Jev API, validates typed answers and fails open when the provider is unavailable. It sends redacted excerpts of prompts, tool results and conclusions to TypeSafe or OpenRouter. Pattern-based redaction can miss sensitive content.
Verification: I inspected the README and hook/client/ledger code at commit 8ab811173178f8b8f9f65639162863edbdbf81fa. On Node v24.22.2, the offline fake-provider suite passed all 345 tests and the repository validator returned ok. I did not install the plugin, run REA or call live Jev. The author’s speed and cost estimates and the hooks’ real-world judgment quality were not reproduced; this was not a security audit.