Demo recordings¶
Three terminal recordings made on 2026-10-23 on one clean Lima VM (Lima 2.2.1, template:docker: Ubuntu 26.04.1, 2 CPU, 4 GiB, 30 GiB, Docker 29.9.2 rootless, Compose 5.6.1, no host mounts, every port forward ignored), from main at 581b4a8, with the InHouseCloud names throughout (ihc-app, /opt/inhousecloud, *.cloud.localhost). They replace the recordings of 2026-10-20, made before the two renames. Play one with asciinema play docs/demo/<file>.cast, or render it with agg (agg <file>.cast <file>.gif).
| File | What it shows | Real time | Recording |
|---|---|---|---|
agent-install.cast |
A coding agent installs the cloud on a box with nothing of it, from a layperson's request in Portuguese | 468 s of agent time, the install 381 s of it | 2 min 12 s |
agent-first-app.cast, agent-first-app.gif |
On that box, a new agent session gets "create an internal expense log app and put it on the air", then a check by hand: /health 200, / sent to the sign-in, the sign-in page |
324 s, request to report | 1 min 46 s |
first-app-cli.cast |
The same by hand, as in ../try-it.md step 5: ihc-app new --push, wait, the checks, ihc-app list |
16 s from new to the air |
19 s |
How they were made¶
The agent recordings repeat the method of ../first-run.md ("Cold install run" and "Cold agent run"): claude -p (Claude Opus 5.5) on the host, in a fresh clone of this repository, with no MCP servers, no user settings (--setting-sources project), skills off, and tools limited to Read, Glob, Grep, Bash(ssh:*) and Bash(scp:*). It reached the VM only through ssh. Each line of its output (--output-format stream-json) was recorded with its arrival time, and a small renderer turned that into the cast: the agent's messages in full, each tool call in one line, and the last lines of its result. The person was simulated with --resume: the request, then the answers to its questions (a fictitious bakery, a fictitious email, only this machine, backup on the same disk, no file storage, admin tools yes), then "sim, pode instalar". The commands of the hand checks and of first-app-cli.cast ran on the VM through ssh and were recorded the same way; the typing is replayed at a steady speed.
Install run. The agent read the contract and the playbook, checked the box, copied the repository onto it (scp -r, after a tar | ssh pipe was refused by the tool limits), asked the same 5 groups of questions as the earlier cold runs with a recommended default for each, wrote the config, created /opt/inhousecloud with sudo (and said so with the plan), ran --plan, and installed after the yes. Result: completed, 17 of 17 services healthy, smoke tests 23 passed, 0 failed, 2 skipped, the first backup done. Its report gave the port-80 tunnel for a laptop and the commands that print the sign-in password and the backup key on the person's own screen, and left the web terminal off until the person says yes.
App run. 25 turns: ihc-app new despesas, an app on the shared Postgres where each person sees only their own expenses, two MCP tools, push, ihc-app wait, a test row in and out through the container, removed afterwards. The deploy run was green. The agent wrote the app in Python instead of the template's Node: the tool limits refused its ssh commands that carried a heredoc with braces and quotes, and it said so in the report. Its report also named the file it created on the box for the push credential (~/.cache/ihc-askpass.sh, which reads the token from .env without printing it).
What was edited¶
- Pauses. Every pause over 1.5 s was cut to 1.5 s, and a pause over 20 s is marked on screen where it happened ("… 6 min 22 s pass here"). The agent's longer messages scroll at reading speed. Nothing was reordered or removed.
- Masked strings. Paths of the recording machine, the user name of the VM and the name and email of the signed-in account were replaced (
/tmp/scratch,/home/you,you,you@example.com). As in the earlier cold runs, the agent offered the account's email and a company name from the environment as default answers; those two suggestions are masked asyou@example.comandacme. The person's answers replaced them. - Secrets. None to mask: the installer never prints a password, and the agent never printed a value from
.env. Checked after recording: none of the 22 password, token, secret and key values in the VM's.envappears in any.castfile (one path,WETTY_KEY_DIR, matched by its name and is not a secret). The VM was deleted afterwards.