---
title: memhtml eval discriminate
description: "The refusable retrieval gate: every probe must outrank its own wrong-fact twins."
---

## 1. Synopsis

The refusable retrieval gate: every probe must outrank its own wrong-fact twins.

```sh
memhtml eval discriminate [options]
```

## 2. Arguments

This command takes no positional arguments.

## 3. Flags

| Flag | Type | Default | Values | Description |
| --- | --- | --- | --- | --- |
| `--mode` | string | `fake` | `fake`, `live` | `fake` is the deterministic embedder CI measures; `live` needs AWS\_BEARER\_TOKEN\_BEDROCK and refuses loudly without it. |
| `--seed` | integer | *no default* | *no fixed set* | The fixture corpus seed. A failing run is reproducible from this number. |
| `--now` | integer | *no default* | *no fixed set* | The run instant the fixture corpus anchors its stamps behind, UTC milliseconds since the epoch. The other half of reproducing a failing run: the corpus is a function of (seed, now), and the recency arm ranks on those stamps. Defaults to the clock, and rides back in the report. |
| `--size` | integer | `200` | *no fixed set* | Base memories to generate. |
| `--probes` | integer | `36` | *no fixed set* | Probes to run. Design §5 wants ≥30. |
| `--mrr-floor` | string | `0.85` | *no fixed set* | Mean-reciprocal-rank floor. Lowering it is a deliberate, visible choice. |

Every command also accepts the [global flags](/reference/global-flags/).

## 4. Response

On success the command writes one JSON envelope to stdout, and its `type` is `eval.discrimination`.

On failure it writes the failure envelope, whose `code` comes from [error codes](/reference/error-codes/).

[The JSON envelope](/reference/envelope/) gives the fields both shapes carry. [Response types](/reference/response-types/) lists every value `type` takes across the binary.

## 5. Further reading

No guide block names this command. The [guide](/reference/guide/) is the workflow prose the CLI ships beside the command table: which command to reach for, and in what order.

## 6. Provenance

A loader generates this page from `apps/cli/src/commands.ts` while the site builds, so no file in the repository holds it: the `COMMANDS` array there is the one source of argument parsing, of `memhtml manifest`, and of `AGENTS.md`. Change the registry and this page changes with it.