Document separate benchmark publication repo

This commit is contained in:
iris committed 2026-09-09 16:23:38 -04:00
1 parent f5183af306
commit e212ed8d02
3 files changed
+22 -22

No files matched your search

+3 -14
View File
@@ -17,9 +17,9 @@ label: "AI Sessions",
// three constants -- there is nothing here worth spawning a process for. // three constants -- there is nothing here worth spawning a process for.
resources: Ron("resources.ron"), resources: Ron("resources.ron"),
// The server and three independently installable app surfaces this checkout // The two halves this checkout produces: the server a phone talks to, and
// produces. They are built in parallel -- this list is the set, not a // the app that talks to it. They are built in parallel -- this list is the
// sequence, so nothing here should be read as an order. // set, not a sequence, so nothing here should be read as an order.
components: [ components: [
Server( Server(
name: "server", name: "server",
@@ -55,17 +55,6 @@ components: [
// the terminal the QR would be printed on. // the terminal the QR would be printed on.
enroll: "server/enroll-link.sh", enroll: "server/enroll-link.sh",
), ),
// The deterministic Rust/iris transcript benchmark. Its release build
// is arm64 by default and signed with the same machine-local key as the
// Compose app.
// `cwd` scopes APK discovery to app-rust, while commands containing a
// slash resolve from the project root, per Dev Updater's command model.
Apk(
name: "iris-bench",
modes: ["release", "debug"],
build: "app-rust/build-apk.sh",
cwd: "app-rust",
),
// E5 (RUST.md): app/shellApp packaged by the xtask instead of Gradle // E5 (RUST.md): app/shellApp packaged by the xtask instead of Gradle
// (cargo ndk -> javac -> d8 -> aapt2 -> zipalign -> apksigner), signed // (cargo ndk -> javac -> d8 -> aapt2 -> zipalign -> apksigner), signed
// with the same release key as "app" above so the two can install // with the same release key as "app" above so the two can install
+12 -7
View File
@@ -148,12 +148,14 @@ Module-by-module intent is in `docs/PLAN.md`'s "Backend layout".
pans, flings or lays out a long list. pans, flings or lays out a long list.
- `.dev-updater.ron` — what Dev Updater builds here: the server (run as - `.dev-updater.ron` — what Dev Updater builds here: the server (run as
`service: Managed(…)`, supervised by Dev Updater's own implementation `service: Managed(…)`, supervised by Dev Updater's own implementation
rather than a script kept here), the Compose app, the Rust/iris benchmark rather than a script kept here), the Compose app and the shell APK, in
APK, and the shell APK, in parallel. The iris benchmark is its own parallel. **It does not publish either benchmark APK.** Phone benchmark
`iris-bench` component rooted at `app-rust/`; its release mode is the arm64 builds live in the separate `~/repos/ai-app-bench` repository: build here,
phone build with the `transcript-screen bench` features. The file points at copy the verified artifact to that repo's `compose/` or `iris/` Gradle-shaped
`resources.ron`, which is *ours* rather than path, then commit and push that repo. Dev Updater pulls the committed APK
Dev Updater's — it names from there; pushing `ai-app-2` alone cannot update its benchmark card. This
file points at
`resources.ron`, which is *ours* rather than Dev Updater's — it names
`~/.local/share/ai-app` and `~/.config/ai-app` so the Uninstall dialog can `~/.local/share/ai-app` and `~/.config/ai-app` so the Uninstall dialog can
offer them. Note what deleting the config directory takes with it: the CA offer them. Note what deleting the config directory takes with it: the CA
under `certs`, which is the one-way door. **Stop** on the server card stops under `certs`, which is the one-way door. **Stop** on the server card stops
@@ -378,7 +380,10 @@ Each exists because something was invisible without it.
build/install/tap/read-report cycle stops being retyped by hand each build/install/tap/read-report cycle stops being retyped by hand each
time (docs/RUST.md's P0 box). It passes `--no-default-features`, so time (docs/RUST.md's P0 box). It passes `--no-default-features`, so
`--features` alone decides what is in the `.so`; that is what keeps the `--features` alone decides what is in the `.so`; that is what keeps the
1.9 MB bench fixture out of a build that did not ask for `bench`. 1.9 MB bench fixture out of a build that did not ask for `bench`. A phone
build is published only by replacing
`~/repos/ai-app-bench/iris/build/outputs/apk/release/iris-bench-arm64.apk`
and pushing the **bench repository**, not this checkout.
- **iris's three test layers** (docs/RUST.md's "Three test layers" has - **iris's three test layers** (docs/RUST.md's "Three test layers" has
the commands and what each cannot answer): test at the cheapest one the commands and what each cannot answer): test at the cheapest one
that can answer the question. `cd app-rust && cargo test` runs the real that can answer the question. `cd app-rust && cargo test` runs the real
+7 -1
View File
@@ -788,7 +788,13 @@ device.
no server, driving the same scroll loop and streaming phase, and no server, driving the same scroll loop and streaming phase, and
printing the same report fields. AGENTS.md's "The rigs" is the printing the same report fields. AGENTS.md's "The rigs" is the
current description; `app-rust/build-apk.sh` and `run-bench.sh` are current description; `app-rust/build-apk.sh` and `run-bench.sh` are
how it is run. how it is run. The build source is this repository, but the Dev Updater
publication is the separate `~/repos/ai-app-bench` repository, whose
`iris-bench` component serves a committed APK with no build step. After
an arm64 release build, replace its
`iris/build/outputs/apk/release/iris-bench-arm64.apk` and push that
repository; adding the component here or pushing only `ai-app-2` is the
wrong delivery path.
- [ ] **P1 — session screen parity.** **Started 2026-09-06, on Iris's - [ ] **P1 — session screen parity.** **Started 2026-09-06, on Iris's
word**: "just continue with the plan for now; try to move towards word**: "just continue with the plan for now; try to move towards