From 897dd7817f9d6cf0cff01a271d122b7927ddb097 Mon Sep 17 00:00:00 2001 From: Ross Tomsic Date: Mon, 24 Aug 2026 20:08:48 -0400 Subject: [PATCH] Prepare alpha.9 candidate --- README.md | 19 ++++++++++--------- docs/STATUS.md | 36 +++++++++++++++++++----------------- gradle.properties | 4 ++-- 3 files changed, 31 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index db2c1b4..9b94671 100644 --- a/README.md +++ b/README.md @@ -13,15 +13,16 @@ connection. Alpha.6 corrects that failure and has passed independent CI, permanent signing, in-place update, and physical acceptance. Alpha.7 adds local drafting while a command runs and retained-session Home navigation. Alpha.8 adds isolated child-Bash execution for script-like commands so a strict-mode -failure does not close the persistent SSH shell. The remaining product boundary -is invited technical-alpha use sufficient to evaluate whether ten real users -can complete small remote tasks for two weeks and provide useful feedback. - -The current accepted signed build and source version are both -`0.1.0-alpha.8`. Alpha.5 is an immutable rejected artifact. On the owner's -Galaxy S25 Ultra, an isolated strict-mode failure returned exit 1, preserved the -persistent shell's state, and allowed the next persistent command to succeed. -Signed builds are shared directly with invited testers. +failure does not close the persistent SSH shell. Alpha.9 is the current source +candidate and keeps the followed transcript tail visible when the software +keyboard changes the viewport. The remaining product boundary is invited +technical-alpha use sufficient to evaluate whether ten real users can complete +small remote tasks for two weeks and provide useful feedback. + +The current accepted signed build is `0.1.0-alpha.8`; the current source +candidate is `0.1.0-alpha.9`. Alpha.5 is an immutable rejected artifact. +Alpha.9 owner-device acceptance is pending. Signed builds are shared directly +with invited testers. There is no public signed APK or GitHub prerelease while Phase 5 is open. Testers should obtain the APK and its checksum from the owner through the agreed private channel, then follow the diff --git a/docs/STATUS.md b/docs/STATUS.md index c669e9f..db7080e 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -1,6 +1,6 @@ # Threadline current status -Updated: 2026-08-17 +Updated: 2026-08-24 This is the canonical execution-status page. `PROJECT_SPEC.md` remains the normative product and technical specification. Dated investigations are historical evidence for the boundary they @@ -122,15 +122,15 @@ Galaxy S25 Ultra, and passed the retained-session Home and Return path. While a disabled. Send enabled when the shell returned to ready, and the draft then ran normally. This completes alpha.7 owner-device acceptance. -The current accepted tester build and source version are both -`0.1.0-alpha.8` (`10008`). It adds an explicit isolated execution path for -script-like commands. It runs the exact composer text in a child Bash process, -reports the child exit status in the normal command card, and leaves the -persistent shell available after strict-mode failures. Persistent Send remains -the state-carrying path. Common `set -e`, `set -u`, and long-form strict-option -prologues produce an advisory warning; isolated cards and saved history retain -their execution mode. Host-side Bash regression, JVM, Compose, Room migration, -and fixture-backed production SSH tests cover the new boundary. +The current accepted tester build is `0.1.0-alpha.8` (`10008`). It adds an +explicit isolated execution path for script-like commands. It runs the exact +composer text in a child Bash process, reports the child exit status in the +normal command card, and leaves the persistent shell available after +strict-mode failures. Persistent Send remains the state-carrying path. Common +`set -e`, `set -u`, and long-form strict-option prologues produce an advisory +warning; isolated cards and saved history retain their execution mode. +Host-side Bash regression, JVM, Compose, Room migration, and fixture-backed +production SSH tests cover the boundary. The exact merged-main candidate passed CI, permanent signing, checksum, certificate, v2/v3 signature, package identity, and 16 KiB alignment checks. @@ -142,13 +142,15 @@ The next persistent command returned the original marker and `/tmp`, with exit 0 and without reconnecting. This closes alpha.8 owner-device acceptance. See the [alpha.8 isolated-execution investigation](investigations/2026-08-17-alpha8-isolated-execution-acceptance.md). -Post-alpha.8 source work keeps a followed transcript tail anchored when the -software keyboard changes the list viewport height. A connected-session -emulator regression using the real Gboard window reproduces the prior loss of -the newest useful card, then verifies that the composer, previous result, and a -newly submitted result remain visible after the fix. Deliberate user scrolling -still disables tail-following, and the raw terminal path is unchanged. -Owner-device acceptance and the next signed tester build remain pending. +The current source candidate is `0.1.0-alpha.9` (`10009`). It keeps a followed +transcript tail anchored when the software keyboard changes the list viewport +height. A connected-session emulator regression using the real Gboard window +reproduces the prior loss of the newest useful card, then verifies that the +composer, previous result, and a newly submitted result remain visible after +the fix. CI runs the regression on an explicit Pixel 6 AVD profile. Deliberate +user scrolling still disables tail-following, and the raw terminal path is +unchanged. Exact merged-main CI, permanent signing, update installation, and +owner-device acceptance remain pending. ## Remaining Phase 5 boundaries diff --git a/gradle.properties b/gradle.properties index 36aaa1a..22df0eb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,5 +4,5 @@ org.gradle.jvmargs=-Xmx3g -Dfile.encoding=UTF-8 android.useAndroidX=true android.nonTransitiveRClass=true threadline.releaseApplicationId=io.github.r055le.threadline -threadline.versionCode=10008 -threadline.versionName=0.1.0-alpha.8 +threadline.versionCode=10009 +threadline.versionName=0.1.0-alpha.9