Skip to content

Pin App Hub 0d5b47a2 and octosense-app-contract 1.1.0 - #312

Merged
ymote merged 1 commit into
mainfrom
chore/pin-app-hub-0d5b47a
Oct 3, 2026
Merged

ymote merged 1 commit into
mainfrom
chore/pin-app-hub-0d5b47a

Conversation

@ymote

@ymote ymote commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

App Hub moves from 58c3c8ae to its main 0d5b47a2, and octosense-app-contract from 1.0.0 to 1.1.0 (crates.io, App Hub #66).

Why together

1.1.0 reserves the ids of the Makepad apps OctoSense makes native: calculator, clock, notes, reminders, weather, browser and task (App Hub #63, #64). octosense-app-policy re-exports RESERVED_NAMES from it.

The App Hub admission tests at 58c3c8ae still use an example app named weather, so with 1.1.0 they fail ("app id "weather" is reserved"). The phone workflow's "Test Home, App Hub admission and runtime policy" step runs those tests (found by #309's local CI). App Hub's main renamed that fixture to forecast. So the pin and the lock move in one change.

What App Hub 0d5b47a2 brings

App Hub's new bundle layout (App Hub #62, which #301 prepares the shell for) is not in 0d5b47a2. Installed bundles stay where the shell looks today.

What moves

  • Root Cargo.toml: the four App Hub crates.
  • native-apps.json: the apphub entry's revision. tools/native_apps.py has nothing to regenerate.
  • Cargo.lock: the App Hub sources and octosense-app-contract 1.1.0.
  • crates/ai-host/README.md: the pin it names.

Checks

  • python3 tools/native_apps.py --check and python3 tools/setup.py --check --cargo: pass.
  • From phone/, the phone workflow's test step: cargo test --locked --features mobile-apps -p octosense-shell -p octosense-home -p octosense-app-policy -p octosense-app-hub -p octosense-appcard -p octosense-ai-host: 1194 passed, 0 failed, in 19 test binaries.
  • cargo check --locked -p octosense: passes.
  • Local CI runs on the exact head before merging.

🤖 Generated with Claude Code

App Hub moves from 58c3c8ae to its main 0d5b47a2:
- #53: publisher keys come from the authenticated catalog.
- #54: an installed release launches as itself, from verified bytes.
- #63, #64: the native apps OctoSense made native are reserved
  (calculator, clock, notes, reminders, weather, browser, task); its
  example app `weather` became `forecast`.
- #61, #67: makepad repins (this workspace's [patch] wins either way).
- Docs.

octosense-app-contract 1.1.0 (App Hub #66, published to crates.io)
carries the reserved names. app-policy re-exports them, so App Hub's
admission tests at 58c3c8ae, whose fixtures still use `weather`, fail
against 1.1.0. The pin and the lock move together.

App Hub's new bundle layout (App Hub #62, which #301 prepares for) is
not in 0d5b47a2: installed bundles stay where the shell looks today.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ymote

ymote commented Oct 3, 2026

Copy link
Copy Markdown
Contributor Author

Local CI passed on 41228a7 (tools/ci-local.sh --only desktop,phone,apps --linux-host, 11m29s, Darwin arm64; the ubuntu jobs on the Linux build host, Linux x86_64).

GitHub would run for this PR: desktop.yml, phone.yml, apps.yml. Merged on this local pass (macOS runner queue); GitHub CI runs on the merge commit on main.

Job Step Result Time
ci-local / drift The local mapping fits the workflows PASS -
desktop.yml / desktop Prepare the pinned framework sources PASS 1s
desktop.yml / desktop Compile the desktop with the shared runtime PASS 2m30s
desktop.yml / desktop One copy of every shell source PASS -
desktop.yml / desktop Desktop tools and scripts PASS 9s
desktop.yml / desktop One Makepad, App Hub, octos and Rinx in the locked graph PASS 2s
desktop.yml / desktop The native apps' generated places match native-apps.json PASS 0s
phone.yml / home Prepare pinned sources and the reviewed runtime patch PASS 0s
phone.yml / home Compile Home and its bundled modules PASS 1m11s
phone.yml / home Verify the single runtime graph PASS 1s
phone.yml / home The native apps' generated places match native-apps.json PASS -
phone.yml / home The pinned octos revision PASS -
phone.yml / home Build octos (unless cached) PASS -
phone.yml / home Build Home, App Hub admission and runtime policy tests PASS 1m03s
phone.yml / home Test Home, App Hub admission and runtime policy PASS 4m11s
phone.yml / home Two-lane scenario (real kernel, scripted model) PASS 27s
apps.yml / services (linux) python3 tools/setup.py PASS 0s
apps.yml / services (linux) Kernel service PASS 10s
apps.yml / services (linux) App peers PASS 23s
apps.yml / services (linux) AI providers config PASS 3s
apps.yml / services (linux) L0 in-card chat (sys.chat, host side) PASS 8s
apps.yml / services (linux) System toolbox (workflow templates) PASS 1m28s
apps.yml / kernel-security (linux) python3 tools/setup.py PASS 1s
apps.yml / kernel-security (linux) The pinned octos revision PASS -
apps.yml / kernel-security (linux) Build octos (unless cached) PASS -
apps.yml / kernel-security (linux) Real-kernel tests PASS 31s
apps.yml / apps python3 tools/setup.py PASS 0s
apps.yml / apps Host services (Mail, AI providers, News) PASS 27s
apps.yml / apps Shell AI services (crates/ai-host) PASS 33s
apps.yml / apps AppCard runtime setup safeguards PASS 0s
apps.yml / apps AppCard clippy (own crates; shared runtime compiles) PASS 38s
apps.yml / apps AppCard transport and store PASS 10s
apps.yml / apps One Makepad, App Hub, octos and Rinx in the locked graph PASS 4s
linux-host / sandbox (linux) python3 tools/setup.py PASS 0s
linux-host / sandbox (linux) Process sandbox on Linux (Landlock, seccomp) PASS 1m18s

Notes:

  • GitHub runs Python 3.12; this run used Python 3.9.6
  • GitHub runs Python 3.12; the Linux host used Python 3.14.4

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