← overview

How Mimir exercises judgment

A plain retrieval system can tell you what was said. It has no way to guarantee a governing standard actually gets applied just because a decision touches sensitive ground. Mimir's answer is to make standards un-skippable — never something an agent has to remember to load, always something thrust upon the response the moment a query or a capture matches the ground it governs. This is the page that explains why Mimir isn't a search box.

Grounded, not staged. Every mechanism on this page — compartments, the two lens kinds, tripwires, session-window accumulation, precedence, the tension flag, the three deny styles — is modelled as real columns in the live schema and enforced in the serving core's lens engine, not aspirational copy. Where a limit is honest rather than flattering — one compartment seeded, the false-negative audit not yet run — it's stated on the guide exactly as plainly as the capability.
00

One request, five stops

Every call to /query and /capture passes through all five before a caller sees anything — scope-matching, tripwire checking, session accumulation and lens injection happen exactly once, in the serving core, before the response is built.

01 · arrives

A query or a capture lands

A question at /query, or a thought landing at /capture — the same governance runs on the way in as on the way out.

02 · matched

Scope-matching + tripwires fire

Hybrid, recall-tuned matching: keywords, facet tags, and entity tripwires on any named Player, client/* tag, or dollar figure — checked against a rolling session window, not one isolated message.

03 · thrust in

Compulsory lenses inject

On a match, the compartment's compulsory lenses and questions are injected directly into the payload — an agent cannot retrieve the underlying atoms without also receiving the standards that govern them.

04 · applied

The agent answers, governed

The answer is composed under the asker's clearance and with the injected standards actually applied — precedence resolves ordering, and a genuine conflict returns both lenses with a tension flag rather than one silently winning.

05 · filed back

Filed back, with receipts

A lens_injected audit row is written per matched compartment — the reasons it fired, and whether each was a direct hit or a session-window hit. Checkable, not just plausible.

01

Two lens kinds

A lens is a standard the agent reasons with. Every lens carries a kind, a precedence integer, and a one-line enforceable rule — full text fetched on demand, cached per session since standards change rarely.

compulsory · no opt-out
Need to know Compensation firewall Cost lens Staleness

Rules meant to apply to every relevant decision — the Duck & Shark Constitution, a priority framework, a spend ceiling, a client-confidence boundary. The serving layer itself matches every request against every active compartment's scope; on a hit, the lens rides along whether the agent asked for it or not.

passive · informative, not gating
Trajectoryopt

"Report whether the thing advanced, stalled, or reversed — not just its current state." Read if relevant, useful context, never a blocker. The badge is the same shape as a compulsory lens's, deliberately — an opt tag is the only visual difference, because a passive lens still rides along on the response, it just doesn't force anything.

Precedence is explicit and ranked: constitution-level rules sit at precedence 0, outranking policy, which outranks a compartment-local rule. When two compulsory lenses genuinely conflict, neither silently wins.

Q-rank + Cost lens tension: true

Worked example, seeded live: the hiring-decision compartment carries Q-rank at precedence 10 and cost-lens at precedence 20. A hiring question fires both at once — prioritization pressure and a spend ceiling pulling in different directions on the same decision. Rather than one lens quietly suppressing the other, both return with tension: true, because a live tension between standards is valuable judgment input, not an error to hide.

02

Why phrasing can't dodge a lens

Scope-matching is a classifier, and classifiers have false negatives — a request phrased obliquely enough can slip past keyword matching alone, and a missed trigger quietly breaks the whole guarantee. Three signals close that gap today (a fourth, embedding similarity, is designed but not yet live — nothing in the Well carries a vector yet).

direct hit

"Should we hire a courier ops manager"

Fires on the keyword. The obvious case.

entity tripwire

"What do we think about bringing Po's cousin in for pipeline work"

Never says hiring. Fires because a named Player is in it — the tripwire catches what the keyword match would miss.

session-window hit

Two unrelated turns, then "walk me through your thinking on that"

No keyword, no name, no figure in the follow-up itself — still returns both lenses, because the session already tripped it. The identical sentence in a fresh session returns nothing.

03

Three ways an answer says no

Not every gap looks the same, and Mimir is built to say which kind of gap it is rather than collapsing all three into one silent shrug.

restricted

Fenced below the classification line

Some sources are marked restricted at the connector itself — a personal banking feed, a health portal — before a single row is even retrievable. Not a scope miss: material deliberately held below where any synthesis, even an authorised one, can reach it.

"nothing on this topic"

The honest empty state

nothing in the Well matches that

The zero-results case, stated plainly rather than papered over with a vague non-answer. This is a data gap, not a permissions wall — the distinction matters, and the copy says which one it is.

withheld whole

The redaction that isn't a redaction

That answer exists, but none of the atoms behind it are within your clearance.

Filtering citations after composing the answer isn't enough — the synthesis already quotes the figures. So when every cited atom sits outside the asker's clearance, the whole brief is withheld rather than served redacted: a partial answer built from what's left would imply things the evidence can't support.

04

Same query. Different seats. Different results.

The clearest illustration is the persona-world permissions demo: six askers at the same company, asking the same Well, each answer assembled under the asker's own clearance and scope rather than filtered after the fact. Nobody has to remember who is allowed to know what — the identity asking is the filter.

Founder / CEO clearance: public · internal · confidential · private — unscoped
all four tiers

Asks what the runway is, gets the runway. The private-tier partition — the one decision no one else is cleared to even know exists — resolves for her alone.

Account executive clearance: public · internal — scoped to sales, client
sales client

Asks the same question about a routing incident and gets the customer-facing half of it — the status page, not the engineering post-mortem underneath it.

3 entities withheld from this answer
Design contractor clearance: public — scoped to product
public docs

The narrowest seat in the company. Four entities resolve for him: the published console guide and component gallery. The Well tells him honestly how much it is not showing, rather than pretending the question had no more to say.

The compensation firewall makes the same point sharper: even a member cleared to confidential in general still cannot see salary, band, or equity data unless they are scoped to people specifically — clearance without scope is still a closed door, and scope without clearance is the same door from the other side.

This is the row on the comparison matrix marked for Mimir and for every other system surveyed — not because the others are worse tools, but because none of them were built to force a standard into a response whether or not anyone remembered to ask for it.