Live demos¶
Two recordings for the two product surfaces — the console and the
language. Both run the real surfaces against DeepSeek; the agent demo also
hits the live web through the host search tool. They are generated from
versioned VHS tapes, not hand-edited terminal captures.
Agent: natural-language commissioning¶
The agent recording is a free-language, multi-turn session:
- Raise the session cost budget (
/budget) so the live path has room. - Ask in natural language to
RUN news_searchfor this week's open-source AI models with a short linked brief — the brain commissions the workspace machine and requests host capability consent forsearch(or a turn-budget continue) once; the tape answersalways yesso further session confirms stay unattended. - After the sourced brief, chain a follow-up turn that distills a one-line takeaway — no slash commands involved for the work itself.
Language: gates, tools, and the reasoning loop¶
The language recording walks the recommended CLI path on react.mkl:
mklang check— schema + semantic OK.mklang lint --strict— zero findings.mklang run— a real reason → act (calchost tool) → observe loop. Gates route on natural-language conditions, the tool observation re-enters the context, the stepbudgetbounds the loop, andfinalizeescalates to thereasoningtier. The result is the arithmetic answer (153).
More flows — the console's stdlib fan-out, over:/call: composition, HITL
suspend/resume, and keyless scenario tests — are covered in the guides and the
runnable examples/.
Reproducibility and review¶
The canonical sources are demos/tapes/
and scripts/demo_assets.py.
The pinned toolchain installs and verifies JetBrains Mono before rendering. The
script renders WebM recordings, derives compact GIF previews, validates
dimensions, duration, size, transcripts, and secret leakage, then records exact
source, toolchain, and asset hashes in manifest.json.
Regeneration runs through the Demo assets GitHub Actions workflow, on the first of each month and on demand, because it performs live provider calls. It skips the render entirely when nothing is stale. The workflow opens or updates a review PR, where a human reviewer confirms readability, pacing, accuracy, and the absence of sensitive information.
Two of those hashes are checked differently, and the difference is deliberate:
- Asset hashes block.
demo_assets.py check-driftfails if a published recording does not match the manifest — the guarantee that nothing here was edited by hand. - Source hashes do not. A moved source means these recordings might be out of
date; only a person or a re-render can say whether they are.
check-driftreports it and passes,demo_assets.py stalenessanswers the same question for the scheduled workflow, anddemo_assets.py manifestre-pins offline when the answer is "these are still accurate".
What replaces the blocking source check is a claim the schedule can keep: the recordings
are never older than MAX_AGE_DAYS. The manifest's generated_at moves only when an
asset actually changes, so re-pinning cannot quietly reset that clock.