qqQQ← Back to setup

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.

Do not confuse availability with enforcement.

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

  1. QQ finishes a tool operation and captures its actual result.
  2. JEV assesses that result against the task and criteria.
  3. QQ records the verdict and feeds it back to the agent.
  4. A supported step can advance. An unresolved or unavailable review is visibly blocked/unverified.
  5. 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.