Integration guide / September 18
QQ works.
Review must be enforced.
QQ can use Astra through a Codex subscription and call the JEV companion through MCP. That connection has been exercised locally. Mandatory review after every tool and task is a separate runtime change in progress.
The MCP recipe below exposes a reviewer to the agent. It does not force use. It is a developer integration, not the finished mandatory-review product.
1. Install the local companion
Use Node.js 22.23.2. Download the tested archive and install it in a dedicated folder you control.
Download JEV companion ↓npm install --ignore-scripts ./jev-assessor-0.1.0.tgz
Archive SHA-256:
aa5d7878ce132a6ef8b9227a64ecc73eae21e246008d015a5a88146b2d1818ce
2. Supply your TypeSafe key locally
Set TYPESAFE_API_KEY through your shell or secret
manager. Do not store its value in the QQ configuration, paste it into
an agent prompt, or put it in Git.
TypeSafe API documentation ↗
The companion sends selected claims, criteria and evidence to TypeSafe. It does not authenticate evidence or establish zero data retention. Review selected data before using it.
3. Configure QQ’s MCP connection
Use the configuration directory reported by
qq config paths. Merge this stanza into your existing
configuration rather than overwriting it. Replace the two absolute
paths with your actual Node executable and the installed companion.
Never insert the key itself.
(
version: 1,
mcp: {
"jev": Stdio(
command: "/ABSOLUTE/PATH/TO/node",
args: ["/ABSOLUTE/PATH/TO/node_modules/@mondello-research/jev-assessor/dist/mcp.js"],
env: ["TYPESAFE_API_KEY", "JEV_DB_PATH"],
eager: false,
allow: ["jev_assess"],
call_timeout_seconds: 10,
max_concurrent_calls: 1,
),
},
)
Run qq config sources and
qq config check before starting the agent. Inspect every
loaded layer. Workspace MCP declarations require trust; an approval
grant does not isolate a process. This recipe was checked with source
build c404ae53; it is not a compatibility claim for every release.
4. Confirm a real call
In QQ, request mcp__jev__jev_assess with a small,
non-sensitive claim, explicit acceptance criteria and evidence.
Inspect the tool result. An unavailable response is a failed
review—not approval. In read-only mode, MCP calls are denied; review
the applicable approval policy before allowing the JEV tool.
The companion workbench explains the supported, partial, contradicted and insufficient-evidence labels using recorded synthetic examples. Recorded examples are not a live agent run.
Required continuous flow
- QQ finishes a tool operation and captures its actual result.
- JEV assesses that result against the task and criteria.
- QQ records the verdict and feeds it back to the agent.
- A supported step can advance. An unresolved or unavailable review is visibly blocked/unverified.
- The same gate applies to child-task and final-task completion.
This mandatory runtime is under implementation. A green notice will mean JEV supports the supplied evidence, not that a classifier has mathematically proven correctness. Actual test results remain separate.
When something goes wrong
Keep the failed tool output and JEV result. Do not rephrase the same evidence repeatedly to obtain a green label. Fix the issue or gather genuinely new evidence, then review the changed result. A post-tool denial cannot undo an action already performed.