{% extends "base.html" %} {% block title %}Run log · modelpass bench{% endblock %} {% block body %}
One line per completed run, newest first, from {{ path }}.
This is the durable answer to how do I know it was the subscription? —
the terminal event proves it to whoever is holding the stream at the time; this file
is what remains afterwards.
The last three columns are what tickets 1.5, 1.7 and 1.12 made askable of a stored history: were the cache breakpoints I wrote actually honoured, was this run at the sampling its config says, and is this failure worth trying again. The retry verdict is computed from the row's own runtime and terminal status by the same function the library gives your loop — modelpass never retries for you.
A ledger, not a transcript: no prompts, no responses, no credential. The full
argument, including the live falsification experiment behind it, is in
docs/subscription-proof-2026-08-17.md — along with the check that
does not depend on modelpass at all: your vendor's usage page should show no charge
for any run recorded here as subscription.
[settings] runLog = false in your connection file. Runs completed
while it is off are not recorded and cannot be recovered later.
{% if exists %} The log file exists but has no readable records yet. {% else %} Nothing recorded yet. The file appears after the first completed run. {% endif %}
| when (UTC) | connection | auth mode | runtime | model | tokens | status | guards | cache | sampling | retry |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ r.timestamp }} |
{{ r.connection }}
{% if r.failed_over_from %}
failed over from {{ r.failed_over_from }}
{% endif %}
|
{% if r.auth_mode == 'subscription' %} subscription {% else %} {{ r.auth_mode }} {% endif %} | {{ r.runtime }} | {{ r.model or '—' }} |
{{ '{:,}'.format(r.total_tokens or 0) }}
{{ '{:,}'.format(r.input_tokens or 0) }} in /
{{ '{:,}'.format(r.output_tokens or 0) }} out
|
{{ r.status }}
{% if r.timed_out %}
the bound this call was given ran out; the
tokens beside it are what was spent before it did
{% endif %}
|
{% if r.guards_configured %} configured {% else %} none {% endif %} |
{% if r.cache_breakpoints_requested or r.cache_breakpoints_honoured %}
{{ r.cache_breakpoints_honoured }}/{{ r.cache_breakpoints_requested }}
{% if r.cache_breakpoints_dropped %}
breakpoints written that never reached the
vendor — this run paid for a prefix it thought it had cached
{% else %}
breakpoints honoured
{% endif %}
{% else %}
—
{% endif %}
|
{% if r.sampling_requested or r.sampling_applied %}
{% for k, v in r.sampling_applied.items() %}{{ k }}={{ v }}{% if not loop.last %}, {% endif %}{% endfor %}
{% if r.sampling_moved %}
not as requested
asked: {% for k, v in r.sampling_requested.items() %}{{ k }}={{ v }}{% if not loop.last %}, {% endif %}{% endfor %}
{% endif %}
{% for n in r.sampling_notes %}
{{ n }}
{% endfor %}
{% else %}
—
{% endif %}
|
{% if r.retry_verdict %}
{{ r.retry_verdict }}
{% if r.retry_note %}
{{ r.retry_note }}
{% endif %}
{% else %}
—
{% endif %}
|
Showing the most recent {{ records | length }} record(s). The file itself is
append-only JSON Lines — readable with jq, a spreadsheet, or
five lines of Python, which is what makes it evidence rather than decoration.