Skip to content

chore(release): all four lanes — mobile/hub/host 2026.730.1231-alpha, desktop 2026.730.1242 - #481

Merged
physercoe merged 2 commits into
mainfrom
release-mobile-2026.730.1231
Jul 30, 2026
Merged

chore(release): all four lanes — mobile/hub/host 2026.730.1231-alpha, desktop 2026.730.1242#481
physercoe merged 2 commits into
mainfrom
release-mobile-2026.730.1231

Conversation

@physercoe

@physercoe physercoe commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Cuts all four release lanes. Mobile, hub and host share one version (2026.730.1231-alpha); the desktop workbench has its own CalVer (2026.730.1242).

Mobile — mobile-v2026.730.1231-alpha

Eleven commits since mobile-v2026.727.206-alpha: env profiles on the phone (spawn-sheet picker + management screen + fail-closed review fixes, #402/#403), client-side env-secret sealing KAT-locked across Rust/Dart/Go with a host-key fingerprint short code (#409/#410/#413), session teleport (#428), the run report's Issues sheet (#439), the streaming-transcript perf work (#440/#442), and the flutter_markdown_plus migration (#443).

Hub + host — hub-v… / host-v…

Last tagged at 2026.724.335, so these ship 51 commits:

  • Env profiles E1–E3 (ADR-056) — the entity + CRUD, env vars materialized into the spawn spec, setup_script, project inherit + MCP schema; then the sealing chain: X25519 sealed-box core with AAD binding, host identity via capabilities, the env_secret_envelope column with presence-enforcement 422s, and host-side unseal + injection into the child's real process environment for M4/exec and M1/M2 stdio — never the command string, spawn spec, temp files, or logs (D-5).
  • Session teleport (ADR-057) — chunked-manifest bundle transport, worktree and non-worktree (capped directory tar) handoff, engine-state snapshot/restore for claude-code and kimi-code-ts, session_handoff_pack/unpack, heterogeneous-host path portability, the endpoint with pause-first orchestration, secrets re-sealed to the target.
  • Datasets (ADR-060)datasetmeta for both LeRobot generations, the entity + REST CRUD + host read verbs, per-episode series reader + endpoint, uniform per-episode video paths, run→dataset provenance.
  • Detached host jobs (ADR-058) + the dataset_export_rrd kind, blob lifetime (ADR-061), runs.env_ref (environments E0, feat(hub,desktop): env_ref on runs + episodes (environments E0) #478), and P5 A1 session-integrity issues folded into the digest.
  • Fixes including: plain env vars no longer shadow a same-key secret; teleport refuses a secret-bearing session until it can re-seal; a queued host job heartbeats so the stale sweep can't fail a healthy backlog; a backup survives a blob vanishing mid-walk; the session read-repair write moved to the writer pool; team guarded against path traversal.

⚠️ Operators must redeploy the hub and host-runner binaries — including the host.update fixes the 2026.727.206 section described as waiting on exactly this.

Desktop — electron-v2026.730.1242-alpha

52 commits, the largest desktop cut so far, because five plans reached their shipping wedges at once:

  • J8 Replay, end to end — dataset library + digest card + episodes table, Open in Replay from Inspect, the episode player (channel plots + multi-camera video grid over a range-serving media scheme), URDF reader + forward kinematics + robot manifest driving a 3D pose panel, the Rerun companion (launch policy, manager, export, remote .rrd over the director's own SSH session), a run's episodes one step from the player, remote roots reading video over SFTP.
  • Architecture graph W1–W5 — hybrid linear-attention classification, honest hybrid KV sizing, heterogeneous-stack layout + pattern strip, zoom/annotate/SVG-PNG export, and compare-against-another-config over a pure diffArchCards.
  • Agent browser bridge W1–W3 — read-only webtabs → action tools behind a per-spawn opt-in with an audit trail → hub-relayed remote driving with approval cards.
  • Split pane S1–S3 and UI context + pointing D1–D2.
  • SSH parity with mobile (ProxyJump + SOCKS5, ssh_config round-trip), the app-level assistant dock, ⌘K palette, Issues drawer.
  • Fix worth naming: the vault detail pane could carry the previous item's secret across a selection change.

After merge — four tags on the merge commit

mobile-v2026.730.1231-alpha    → release.yml (APK) + release-ios.yml (IPA), non-prerelease, owns releases/latest
hub-v2026.730.1231-alpha       → release-server.yml (hub-server tarballs), prerelease
host-v2026.730.1231-alpha      → release-server.yml (host-runner tarballs), prerelease
electron-v2026.730.1242-alpha  → desktop-electron-release.yml, unsigned alpha, prerelease

Verification

  • All 10 CI lints + lint-openapi.sh clean; desktop tsc --noEmit clean; package.json and package-lock.json agree on the version; hub builds with the new Version constant.
  • The mobile build number 3459631 is minutes-since-2020-01-01 UTC; CI recomputes it from the tag for the Android versionCode.
  • Flutter is not installed on the authoring host — flutter analyze / flutter test / the APK build are CI's to prove (they passed on the first commit of this branch).

🤖 Generated with Claude Code

Ubuntu and others added 2 commits July 30, 2026 12:34
…eleport on mobile

Mobile lane cut. Eleven commits of mobile work since
mobile-v2026.727.206-alpha (2026-07-27 02:12 UTC):

- env profiles reach the phone — spawn-sheet picker + management screen,
  plus the E1/E2 review fixes that make attachment fail closed (#402,
  #403)
- client-side env-secret sealing, KAT-locked across Rust/Dart/Go, with a
  host-key fingerprint short code and a fix for pinned host env-keys
  being dropped on a vault round-trip (ADR-056; #409, #410, #413)
- teleport a paused session to another host and resume it there
  (ADR-057 T2c; #428)
- transcript P5: an Issues sheet on the run report (#439), and the
  streaming path stops re-parsing the whole message per chunk (#440,
  #442) — settled blocks cached as widget instances, split only at
  boundaries where independent parsing cannot change meaning
- flutter_markdown → flutter_markdown_plus, the maintained continuation
  of a package the Flutter team discontinued (#443)

Version files bumped in lockstep via `make bump` (pubspec.yaml
2026.730.1231-alpha+3459631, buildinfo.go Version). The build number is
minutes-since-2020-01-01 UTC; CI recomputes the same value from the tag
for the Android versionCode.

Mobile lane only. Hub and host share this version and can be cut at the
same <ver> when the hub is next redeployed — the changelog section says
so, because 47 hub commits have landed since 2026.727.206 and none of
them take effect until that deploy.

Verified: all 10 CI lints + openapi validation clean; hub builds with
the new Version constant. Flutter is not installed on this host, so
analyze/test/APK are CI's to prove.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…1242

Extends the mobile cut to all four lanes.

Hub + host share the mobile version and were last tagged at 2026.724.335,
so they ship 51 commits: env profiles E1-E3 with X25519 sealed-box
env-secret envelopes injected into the child's real process environment
(ADR-056), session teleport end to end — bundle transport, worktree and
non-worktree handoff, engine-state snapshot/restore, heterogeneous-host
path portability, re-seal to the target (ADR-057), the datasets entity
with host read verbs and per-episode series (ADR-060), detached host
jobs and the .rrd export kind (ADR-058), blob lifetime (ADR-061), and
runs.env_ref (environments E0). Plus the host.update fixes the
2026.727.206 section described as waiting on a redeploy — the changelog
now says so, and says operators must redeploy for any of it to matter.

Desktop cuts on its own CalVer at 2026.730.1242 — 52 commits, the
largest desktop cut so far, because five plans reached their shipping
wedges at once: J8 Replay end to end (library, player, video grid, URDF
+ 3D pose, Rerun companion, remote roots over SFTP), the hybrid-aware
architecture graph (W1-W5), the agent browser bridge (W1-W3), the split
pane (S1-S3), and UI context + pointing (D1-D2). One fix worth naming:
the vault detail pane could carry the previous item's secret across a
selection change.

Version files: pubspec.yaml + buildinfo.go already bumped in this
branch's first commit; desktop/package.json + package-lock.json bumped
here (CI stamps desktop/electron/package.json from the former).

Tags to push on the merge commit: mobile-v2026.730.1231-alpha,
hub-v2026.730.1231-alpha, host-v2026.730.1231-alpha,
electron-v2026.730.1242-alpha.

Verified: all 10 CI lints + openapi validation clean; desktop tsc clean;
package.json and package-lock.json agree on the version.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@physercoe physercoe changed the title chore(release): 2026.730.1231-alpha — env profiles, sealed secrets, teleport on mobile chore(release): all four lanes — mobile/hub/host 2026.730.1231-alpha, desktop 2026.730.1242 Jul 30, 2026
@physercoe
physercoe merged commit e60c83f into main Jul 30, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant