Merge branch 'main' of git.arirex.me:iris/ai-app

This commit is contained in:
iris committed 2026-08-30 14:38:38 -04:00
commit a18a57e73e
7 files changed
+323 -18

No files matched your search

+21
View File
@@ -217,6 +217,27 @@ first if a remote spawn ever mangles an argument.
server binds wg0, which exists here but is unreachable from the emulator
(it dials 10.0.2.2). First run prints the enrollment QR/URI with the
token — capture it from the log.
- **`app/debug-transcript.sh` puts a real conversation on the emulator.**
The echo driver stays the right rig for most things and is the wrong one
for anything whose cost scales with what was actually written: a real
reply is longer, is real markdown, and carries tool calls whose input and
output are kilobytes rather than a word. Two faults were invisible until
a real transcript was loaded — a page of history landing mid-fling threw
the reader back to the newest end, and parsing one real reply took 51ms
against 4.6ms for a synthetic one. `-b` takes the biggest conversation on
the machine rather than the newest, which is what a scrolling test wants;
`--stop` takes it all down again.
It copies the transcript into `/tmp` and gives the server a `HOME` of its
own, so the import can only see the copy — importing spawns `claude
--resume`, and against the real file that is a second CLI writing to a
conversation somebody may still be in. **A transcript never goes in this
repository**: they hold whatever was said, read and written in that
session, and `~/repos` is shared with the host besides.
- **`ai-server --delay MS` holds every response back.** Over the tunnel a
phone's requests take tens to hundreds of milliseconds, and several
faults live entirely in what the app does *while* one is outstanding. On
a loopback server those windows close before anything can be observed,
so the bug looks like it is not there.
- Prefer exercising the server directly over going through the UI:
`curl --cacert ~/.config/ai-app/certs/ca.pem -H "Authorization: Bearer …" https://127.0.0.1:8443/sessions`.
The CA is wherever `--certs` put it — by default under