Skip to content

Close HUB-03, CAL-01 and RUNTIME-01; trim HUB-05 - #231

Merged
ymote merged 2 commits into
mainfrom
fix/backlog-hub-cal-runtime
Oct 1, 2026
Merged

ymote merged 2 commits into
mainfrom
fix/backlog-hub-cal-runtime

Conversation

@guofoo

@guofoo guofoo commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Brings four phone/BACKLOG.md items up to date with main (4e88b7d).

HUB-03: closed, with the missing test

The fix landed in 930f1b2 (2026-09-26): find_app's binary-name fallback skips bin == "card" rows. The acceptance's test was never added.

  • The lookup is split into find_app_in(&[AppDef], id), so the test can pass it rows; find_app calls it with registry().
  • the_card_binary_names_no_card_runner_app (crates/shell/src/clients.rs) checks two things: "card" finds none of the Card runner rows, and another binary still resolves.
  • With the bin != "card" guard removed, the test fails and returns hub:demo.

HUB-05: trimmed

Two points remain, with the current crates/shell paths:

  • apps::is_linked is only called by its test.
  • android is always false in mobile_surface.rs's non-floating navigation branch (mobile_navigation::ENABLED).

Recorded as done:

  • launch_module_as logs <id> names no app for the card runner.
  • bundled_catalog() filters its rows once, through catalog_visible.

CAL-01: closed as obsolete

  • First-party apps ship as contained script apps (home ADR 0004).
  • A native app needs a reviewed native-apps.json entry (ADR 0004).
  • The native Calendar source the item links is no longer on OctoScript-App-Design-Flow main.

A calendar would be a new script app.

RUNTIME-01: closed as obsolete as written

The entry records that the framework call is unchanged. At makepad a1c81312, AppleGameInput::init still calls setShouldMonitorBackgroundEvents: without checking the thread, so a new off-main-thread test on macOS 14 would trap again.

Checks

  • cargo test --locked -p octosense-shell: 604 passed.
  • From phone/, cargo test --locked --features mobile-apps -p octosense-shell: 629 passed.
  • python3 tools/setup.py --check --cargo: OK.
  • rom/tests/test_no_local_paths.py: OK.

guofoo and others added 2 commits September 30, 2026 14:53
HUB-03's fix (930f1b2) had no test. The binary-name lookup moves into
find_app_in, which takes the rows, and
the_card_binary_names_no_card_runner_app checks that "card" names no Card
runner app while another binary still resolves; it fails with the
bin != "card" guard removed.

CAL-01 is obsolete: first-party apps are script apps (home ADR 0004), a
native app needs a reviewed native-apps.json entry (ADR 0004), and the
native Calendar source is gone from OctoScript-App-Design-Flow main.

RUNTIME-01 is obsolete as written: Maps' native crate and its isolate
tests went in #113, and no test or workflow here calls init_cx_os() or
skips for it. The entry records that AppleGameInput::init is unchanged
at makepad a1c81312.

HUB-05 keeps its two open points (is_linked only used by its test; dead
android conditions in mobile_surface.rs) with current paths; the
launch_module_as log and the duplicate card filter are done.
@ymote

ymote commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Local CI passed on 4d57447 (tools/ci-local.sh --only desktop,phone,apps, 22m19s, Darwin arm64).

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 0s
desktop.yml / desktop Compile the desktop with the shared runtime PASS 3m26s
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 5s
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 2m28s
phone.yml / home Verify the single runtime graph PASS 11s
phone.yml / home The native apps' generated places match native-apps.json PASS 0s
phone.yml / home The pinned octos revision PASS 0s
phone.yml / home Build octos (unless cached) PASS -
phone.yml / home Build Home, App Hub admission and runtime policy tests PASS 3m06s
phone.yml / home Test Home, App Hub admission and runtime policy PASS 6m53s
phone.yml / home Two-lane scenario (real kernel, scripted model) PASS 30s
apps.yml / services python3 tools/setup.py PASS 1s
apps.yml / services Kernel service PASS 10s
apps.yml / services App peers PASS 17s
apps.yml / services AI providers config PASS 2s
apps.yml / services System toolbox (workflow templates) PASS 1m17s
apps.yml / kernel-security python3 tools/setup.py PASS 1s
apps.yml / kernel-security The pinned octos revision PASS 0s
apps.yml / kernel-security Build octos (unless cached) PASS -
apps.yml / kernel-security Real-kernel tests PASS 35s
apps.yml / apps python3 tools/setup.py PASS 0s
apps.yml / apps Host services (Mail, AI providers, News) PASS 58s
apps.yml / apps Shell AI services (crates/ai-host) PASS 1m42s
apps.yml / apps AppCard runtime setup safeguards PASS 0s
apps.yml / apps AppCard clippy (own crates; shared runtime compiles) PASS 13s
apps.yml / apps AppCard transport and store PASS 10s
apps.yml / apps One Makepad, App Hub, octos and Rinx in the locked graph PASS 5s

Notes:

  • GitHub runs Python 3.12; this run used Python 3.9.6
  • apps.yml:services runs on ubuntu-latest in GitHub; here on macOS, so #[cfg(target_os = "linux")] code in it is not exercised
  • apps.yml:kernel-security runs on ubuntu-latest in GitHub; here on macOS, so #[cfg(target_os = "linux")] code in it is not exercised

@ymote
ymote merged commit 85a84e7 into main Oct 1, 2026
0 of 5 checks passed
@guofoo
guofoo deleted the fix/backlog-hub-cal-runtime branch October 1, 2026 23:06
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.

2 participants