Iris: "remove both decisions and iris.md. I've decided to instead make decisions when planning with agents rather than after they do things, and they're both too long for me to wanna read, + don't cover all the decisions I'll wanna make about the code anyways. I'll just naturally run into things for now. Todo is important though." So docs/DECISIONS.md (850 lines) and docs/IRIS.md (1,986) are gone, and AGENTS.md now says not to start another: raise a choice while planning it with her, otherwise decide it and put the reasoning at the code it governs. The TODO lists stay. docs/SUBAGENTS_DECISIONS.md went with them -- same artefact, same reasoning, and she did not name it, so its six decisions were folded into docs/SUBAGENTS.md rather than deleted. Deleting the logs left ~30 citations dangling in code comments and docs. Each states its reason inline and cited the file only for provenance, so they now read "decided 2026-09-07" or name the module doc that carries the reasoning. The root had six things that were not a program or a document. Moved, per "I only meant top level sh files": run-tests.sh, test-wg-tunnel.sh, wg-setup-host.sh -> scripts/ rigs/ -> scripts/rigs/ xtask/ -> scripts/xtask/ A project's own scripts stayed with the project: app/*.sh, app-rust/*.sh, iris/*.sh and server/enroll-link.sh did not move. `target/` at the root is deleted and cannot come back: there was never a workspace there, and the 29 MB was only xtask's scratch space, now in scripts/xtask/target/. `cargo xtask apk` still runs from the repo root and now publishes to scripts/build/outputs/apk/<mode>/ -- one directory deep, because that is what Dev Updater's `*/build/outputs/apk/*/*.apk` discovery pattern needs, and scripts/xtask/build would have been two. Verified: ./scripts/run-tests.sh and `cd iris && cargo test` green, clippy and fmt clean everywhere, `cargo xtask apk debug --abi x86_64` builds and signs an APK carrying lib/x86_64/libai_app.so at the new publish path, and the repo root is now eleven entries with no build output among them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
78 lines
4.0 KiB
Plaintext
78 lines
4.0 KiB
Plaintext
// Read by Dev Updater. Structured as the body of the config: no outer
|
|
// parentheses, so nothing here is indented for the sake of a wrapper.
|
|
//
|
|
// This file sits at the checkout root because the project Dev Updater
|
|
// serves is the whole repository -- one checkout producing two things.
|
|
// Each component says where it lives with `cwd`, relative to this
|
|
// directory, rather than one of them reaching out of the other with `../`.
|
|
|
|
// What to call this project before there is a build to read a label from.
|
|
// A built APK wins: it is the authority on what will actually install.
|
|
label: "AI Sessions",
|
|
|
|
// Where this project's own state lives, said rather than guessed: it is
|
|
// what the Uninstall dialog offers to delete, and a plausible-looking
|
|
// path it worked out would read as "this component keeps nothing here"
|
|
// when it was wrong. `Ron` rather than `Script` because the answer is
|
|
// three constants -- there is nothing here worth spawning a process for.
|
|
resources: Ron("resources.ron"),
|
|
|
|
// The two halves this checkout produces: the server a phone talks to, and
|
|
// the app that talks to it. They are built in parallel -- this list is the
|
|
// set, not a sequence, so nothing here should be read as an order.
|
|
components: [
|
|
Server(
|
|
name: "server",
|
|
build: "cargo build --release",
|
|
cwd: "server",
|
|
// Dev Updater's own built-in service implementation, generated
|
|
// into its data directory and driven through the same interface a
|
|
// project-supplied script would be. ai-app carried a script of its
|
|
// own until 2026-08-28; it ran `target/release/ai-server` with no
|
|
// arguments and no environment, which is the generic case exactly,
|
|
// so it was two copies of one thing and the copy that could not be
|
|
// tested from here -- the OpenRC branch -- was duplicated with it.
|
|
//
|
|
// Resolved against this component's `cwd`, so this is
|
|
// `server/target/release/ai-server`.
|
|
service: Managed("target/release/ai-server"),
|
|
),
|
|
Apk(
|
|
name: "app",
|
|
// Release first: the first mode is the default, and the phone runs
|
|
// the release build -- a debuggable one runs Compose at a fraction
|
|
// of the speed. Each command below is run with the chosen mode as
|
|
// its last argument, which is exactly build-apk.sh's interface.
|
|
modes: ["release", "debug"],
|
|
// Resolved against this directory, and run in `app/` -- the script
|
|
// cds to its own directory anyway, so the cwd is here to say where
|
|
// the app is rather than because the build needs it.
|
|
build: "app/build-apk.sh",
|
|
cwd: "app",
|
|
// The Enroll button in this component's settings: prints the link
|
|
// that enrols the phone against the server built here, for the
|
|
// reinstalls -- a signing change, a new phone -- where nobody is at
|
|
// the terminal the QR would be printed on.
|
|
enroll: "server/enroll-link.sh",
|
|
),
|
|
// E5 (RUST.md): app/shellApp packaged by the xtask instead of Gradle
|
|
// (cargo ndk -> javac -> d8 -> aapt2 -> zipalign -> apksigner), signed
|
|
// with the same release key as "app" above so the two can install
|
|
// over each other -- a separate component, not a mode of "app" above,
|
|
// because it is a different applicationId (com.example.aiapp.shell)
|
|
// built by a different tool from different sources. No `cwd`: it
|
|
// defaults to this checkout's root, which both the `cargo xtask`
|
|
// alias (`.cargo/config.toml`, resolved relative to the working
|
|
// directory cargo is run from) and `cargo xtask apk`'s own publishing
|
|
// step (`scripts/build/outputs/apk/<mode>/*.apk`, matching
|
|
// discover.rs's `*/build/outputs/apk/*/*.apk` pattern -- see apk.rs's
|
|
// module doc) both need. The publish directory is `scripts/build`
|
|
// rather than `scripts/xtask/build` for exactly that reason: the
|
|
// pattern is one directory deep, and the tool moved two on 2026-09-09.
|
|
Apk(
|
|
name: "shell",
|
|
modes: ["release", "debug"],
|
|
build: "cargo xtask apk",
|
|
),
|
|
],
|