Repository navigation
AI providers system app and the llm host service - #38
Merged
Merged
Conversation
ymote
force-pushed
the
feat/system-apps
branch
from
September 26, 2026 23:23
9bc565e to
33e9910
Compare
Link the AI providers system app from the pinned OctoSense-System-Apps (c0f2199c, which carries #1: the AI providers app, the octosense-llm-service `llm` host service and octosense-llm-config) on App Hub 3e993d4c (which has the `llm` capability), the rev both the Mail and llm services pin: one App Hub in the graph, no alias. - system-apps.json selects ai-providers. - The `app-hub` feature links octosense-llm-service and -config; register_host_services registers `llm` next to Mail with the AppCard kernel's octos home as its core dir, the desktop image picker (the open panel, filtered to PNG and JPEG) and image drops on the import sheet (src/llm_image.rs; OCTOSENSE_LLM_TEST_IMAGE answers a pick for hidden test runs). - With app-appcard linked, a change to the provider set restarts the running AppCard module so its kernel reads the new profile; without it nothing is registered as a change hook. - Start > Settings becomes Appearance plus AI providers once the build ships the app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
scripts/system_apps_remote.sh and scripts/ai_providers_remote.sh drive a hidden release build (MAKEPAD_HIDE_WINDOWS=1, --remote) with a temp OCTOSENSE_HOME, octos core dir and file vaults. The AI providers run is sandboxed with outbound HTTPS denied and uses fake keys only: the add wizard, paste, drop and picker imports of the QR-A fixture, and the phone QR export read back and compared with the saved profile. The system-apps run also treats the Card runner building an app's first Splash VM on the UI thread as a known first-open hang, as it already did for the bundle unpack. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ymote
force-pushed
the
feat/system-apps
branch
from
September 27, 2026 00:13
33e9910 to
9bb85e5
Compare
ymote
marked this pull request as ready for review
September 27, 2026 00:18
chrislearn
pushed a commit
to chrislearn/OctoSense
that referenced
this pull request
Sep 29, 2026
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
chrislearn
pushed a commit
to chrislearn/OctoSense
that referenced
this pull request
Sep 29, 2026
AI providers system app and the llm host service
chrislearn
pushed a commit
to chrislearn/OctoSense
that referenced
this pull request
Sep 29, 2026
… Hub 64bd6c01 makepad main 975c5630 adds OctoSense-org#37 (Slug text in one supersample loop), OctoSense-org#39 (cursor and glass shaders with one call site per figure and blur level), OctoSense-org#38 (PerfGraph quads) and OctoSense-org#40 + OctoSense-org#41 (in-process terminal module; its `run` needs the person's confirmation). Octoscript-Makepad#49 releases it; App Hub#21 pins the same set. The makepad-settings runtime patch reapplies unchanged on the new base (same sha256); runtime-patches.lock.json records the new base and tree. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
ymote
added a commit
that referenced
this pull request
Oct 1, 2026
… (until #204) App Hub main (58c3c8ae) includes App Hub #38: every ServiceCall carries may_prompt, and App Hub's own sheet handler refuses a sheet when it is false. Before #38 nothing read it and a sheet was always allowed. Every ServiceCall OctoSense builds (the shell's agent tool calls in script_apps.rs, and the services' tests) passes may_prompt: true, so behaviour is unchanged; no OctoSense service reads the field yet. Isolates are unchanged too: App Hub's isolate_settings now sets host_prompts true for a foreground app, so a glance tile's requests carry may_prompt true and its sheets are allowed, as today. Refusing sheets on background surfaces is #204's work. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
chrislearn
pushed a commit
to chrislearn/OctoSense
that referenced
this pull request
Oct 8, 2026
…ncy-org/Rinx#37) [skip ci] - native-apps.json pins Rinx at tag v1.0.0 (commit 0879548b), the first Rinx release; the root pin is `tag = "v1.0.0"` and Cargo.lock records the commit. From 68afcf79 this brings Rinx OctoSense-org#38 (feature parity), OctoSense-org#39 (hosted pane layouts), OctoSense-org#42 (Back at the root is the host's; sign-in in ~5 s on a fresh Android install) and OctoSense-org#43 (1.0.0). - tools/native_apps.py: a git source may carry `tag` (a release tag, vX.Y.Z or vX.Y.Z-rc.N) with the commit it names in `rev`; apps in TAGGED_RELEASES (Rinx) must; --check also reads Cargo.lock and refuses a lock whose commit for the tag differs from the manifest's (a moved tag). - Tests for each rule. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the AI providers system app to the desktop.
mainalready hosts the system apps (App Hub's Card runner, the Mail host service, runtime Octoscript-Makepad 463e3da8 / makepad cd812acd, opt-in AppCard), so this PR is now a small addition on top of it (rebased onto #46). It was rebuilt frommain: the old system-apps wiring, the runtime patch and the App Hub alias are gone.What changes
main(App Hub 3e993d4c, System-Apps c0f2199c #46) already pins OctoSense-System-Appsc0f2199c, which carries the AI providers bundle,octosense-llm-serviceandoctosense-llm-config, and App Hub3e993d4c. That App Hub rev includes thellmcapability and is the rev the Mail andllmservices pin, so there's still one App Hub and no[patch]alias.system-apps.json: addsai-providers.app-hubfeature: also linksoctosense-llm-serviceandoctosense-llm-config.register_host_services(src/apps.rs): registersllmnext to Mail with these options:OCTOS_APP_CORE_DIR, else~/octos-home/.octos);src/llm_image.rs);OCTOSENSE_LLM_TEST_IMAGEanswers a pick in hidden test runs;on_changedrestarts the running AppCard module so its kernel reads the new profile. This hook is registered only with--features app-appcard; otherwise there's nothing to restart.scripts/system_apps_remote.shandscripts/ai_providers_remote.share hidden--remoteend-to-end runs. Each uses a temp home, a temp octos dir and file vaults; the AI providers run also uses fake keys only and runs undersandbox-execwith outbound 443 denied.Verification (macOS, runtime at the lock's makepad cd812acd)
cargo check --locked --features mobile-appspasses.cargo tree -i octos-corefinds no match (host andaarch64-linux-android), so AppCard stays opt-in.cargo check --locked --workspace --features mobile-apps,app-appcardpasses.tools/setup-native.py --checkpasses, and the graph has one makepad and one App Hub source.mobile-apps, and 232 withmobile-apps,app-appcard.system_apps_remote.sh: 3 green runs out of 4. The one failure was a 439 ms hang in macOS's own theme loading (CoreUI) on the first native event, unrelated to this change. Each green run covers:storage+llm;ai_providers_remote.sh: 2 green runs of 14 steps each:_main.json, with the countdown auto-closing;Depends on (all merged)
Known gaps
🤖 Generated with Claude Code