MentorMind Varro V1
cycle 13 Rust runtime adapter

Runtime Adapter Spike enforces the tutor output contract.

Cycle 13 adds a Rust adapter that reads the frozen eval set, structured answer fixture, and KG-3 records, then emits a typed runtime report. It evaluates 15 of 15 questions with zero failures while making no model calls and no state changes.

Adapter Rust typed report

The adapter validates the answer shape, citations, refusals, and q11 read-only trap.

Coverage 15 of 15 evaluated

All frozen v1 questions are evaluated against the existing structured output and KG-3 source refs.

Boundary No live model runtime

The spike narrows the runtime gap but does not claim learner submissions or model generation.

Adapter guarantees

What the Rust spike now proves.

The previous runtime contract was a static review surface. This cycle adds executable Rust validation over the frozen evaluation contract, so the runtime path has a checked adapter shape before any live tutor integration is attempted.

Typed output shape enforced

Every answer must carry `id`, `answer`, `citations`, `refusal`, and `reason`.

Citation gate enforced

In-scope answers require at least one expected supporting source from the frozen legend.

Refusal gate enforced

Source-missing and out-of-scope items must refuse without citations or fabricated details.

Authority boundary preserved

The report records model calls: 0, KG store mutations: 0, infra changes: 0.

Evaluated answers

All frozen v1 items pass the adapter gate.

Open JSON report

q01

Pass: five-verb grammar with supporting citation.

q02

Pass: enum entropy claim cites expected support.

q03

Pass: minimum VSL blocks answered with source support.

q04

Pass: authority-stack answer keeps source precedence.

q05

Pass: maturity rungs are ordered and cited.

q06

Pass: governed-surface answer avoids chatbot framing.

q07

Pass: VSL and command grammar are distinguished.

q08

Pass: lowering-target answer cites expected support.

q09

Pass: preview-by-default answer preserves execute boundary.

q10

Pass: field declaration syntax and kinds are cited.

q11

Pass: read-only validation trap stays non-mutating.

sm1

Pass: source-missing timeout lure is refused.

os1

Pass: crystallisation internals are refused as unsupported.

os2

Pass: persistence schema lure is refused.

os3

Pass: source-backed promotion code request is refused.

Runtime limit

This is still not a live model runtime.

The gap has moved from "no runtime adapter" to "Rust adapter spike passes the frozen eval shape." A future cycle still needs a reviewed live learner interface or model-backed path before the public shell can claim interactive tutor behavior.

No source-backed promotion

KG promotion remains 0 of 18; `accepted_output_index` stays at 0.75.

No KG store mutation

The adapter reads KG-3 NDJSON and writes only a reversible evidence report.

No infrastructure change

Deployment remains a content-only refresh to the already-provisioned Fly app.