Repository navigation
Hosted Rinx with the shell's assistant (Rinx ADR 0007) - #50
Merged
Merged
Conversation
- Apps' assistant access: src/app_peers_host.rs gives each native module whose declared octos.* services host policy grants a scoped service from octosense-app-peers (System-Apps crates/app-peers), offered for the duration of its create and released at teardown. It is backed by ONE octos peer per app and account, owned by the system agent _main:api:octosense#system, on the shell's kernel. Modules without granted services get no peer. - Rinx (app-rinx, now in default) at hagency-org/Rinx with octosense-module only; app-rinx implies octos-core. CI checks that Rinx's standalone entry and local kernel stay out of the graph; System-Apps crates resolve to the sibling checkout (no URL aliases). - Runtime: OctoScript-Makepad c3d53ba8 (makepad db4691d0: Splash reapply_text, stateful mini-app inputs); System-Apps 4fa0f122 (app-peers). AppCard stays opt-in. Supersedes #41. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…767dd) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
chrislearn
pushed a commit
to chrislearn/OctoSense
that referenced
this pull request
Sep 29, 2026
…c4c96822 Lock Octoscript-Makepad main c4c96822 (makepad 1d3d383e); AppCard main 9e8e4898
chrislearn
pushed a commit
to chrislearn/OctoSense
that referenced
this pull request
Sep 29, 2026
Carries mobile PRs OctoSense-org#44-OctoSense-org#50 after the 0c833b4 import: native App Hub (apps/app-hub, hub:<id> identities, verified installs and updates), Maps directions on Android 9 over rustls, the swipe-start cue, generated portraits and App Hub design records. Runtime and AppCard pins were already mirrored here. Resolutions: App Hub replaces the direct octosense-appstore wiring and keeps native_mobile cfgs so OpenHarmony still links it; floating navigation stays on Android/OpenHarmony and the swipe cue is drawn in the non-floating branch; product .sources paths, setup-native.py and root CI are kept; mobile's runtime.yml and setup-native tests are not imported.
chrislearn
pushed a commit
to chrislearn/OctoSense
that referenced
this pull request
Sep 29, 2026
Hosted Rinx with the shell's assistant (Rinx ADR 0007)
ymote
added a commit
that referenced
this pull request
Oct 1, 2026
A glance card may declare `sys.digest(app:, id:)` (Octoscript #40); the glance service fills it in when it realizes the card, from the toolbox run results the host keeps for the calling app, instead of the card carrying the findings as text. - glance_digest.rs: reads `<apps root>/.host/toolbox/<app>/toolbox/runs/ <template>/<run>.json` (host-owned, outside the app's jail, so an app cannot forge a digest) and returns one template-independent record: status, topic, language, summary, retrieved_at, count, points {id, text, label, cite, citations: [source index]}, sources {id, n, title, source, url, published_at}. A source is kept only if the run's host provenance lists its id with the same http(s) URL; a point only if it still cites a kept source; model text with a URL is dropped. Caps on the file (512 KiB) and every field. Missing, expired (48 h after the run), malformed or failed digests resolve to an empty record with $state failed. - glance.rs: `app` must be the caller (its id or launcher id), never an argument's say-so; the resolved value and $status replace anything the publisher sent; a bound card expires no later than its digest; after a publish, each template folder keeps its 8 newest results plus every run a live card binds. - news-brief.card: the M4 News digest card bound to `sys.digest(app: "os.news", id: "glance")`; OCTOSENSE_GLANCE_DEMO=digest publishes it. - Repin Octoscript to 30a21b78 (Octoscript #40 merged) via Octoscript-Makepad d8bee94c (Octoscript-Makepad #50; moves to its merge commit once it merges). - glance_digest::digest_root reads under the host storage's apps root (octosense_ai_host::toolbox_root), where the toolbox writes its runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ymote
added a commit
that referenced
this pull request
Oct 1, 2026
Octoscript-Makepad #50 merged as c29cfb8402a938d68628ff737dc148bf928530c3 (the same tree as its head d8bee94c): Octoscript 30a21b78, makepad e29a0eaa. Both native-runtime.lock.json files, the root Cargo.toml and the docs naming the revision move to the merge commit. 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.
Supersedes #41. Rinx is hosted in-process with its assistant provided by the shell (Rinx ADR 0007), on current pins.
src/app_peers_host.rs,module_host.rs): before a module'screate, the shell offers the instance a scoped service fromoctosense-app-peers(System-Appscrates/app-peers) when host policy grants any of its declared exactoctos.*services. The offer is withdrawn right aftercreateand released at teardown. The service is backed by ONE octos peer per app and account, owned by the system agent_main:api:octosense#system, on the shell kernel from The octos kernel as a shell service (octos-core); APKs bundle it #48. Modules without granted services get no peer.octosense-moduleonly;app-rinxnow indefaultand impliesoctos-core). A CI guard checks that Rinx'sstandalone/octos-local/octos-remotefeatures stay out of the desktop and Android graphs and thatoctosense-app-peersis present. System-Apps crates resolve to the sibling checkout; there is nowww.github.compatch.c3d53ba8(makepaddb4691d0: Splashreapply_textLock Octoscript-Makepad main c4c96822 (makepad 1d3d383e); AppCard and Rinx main #35, stateful mini-app inputs OSM#46), System-Apps4fa0f122, App Hub46d67e51(unchanged).Validation (macOS)
python tools/setup-native.py --update/--check --cargo-manifest Cargo.tomlpass.cargo check --locked,--features mobile-appsand the new guards pass for host andaarch64-linux-android.cargo test --locked --features mobile-apps -p octosense: 233 passed. That includesapp_peers_host::…a_granted_module_gets_its_service_at_creation_and_others_get_none,…rinx_is_hosted_with_the_shells_service_and_starts_no_kernel, and the bundled-apps test creating Rinx.MAKEPAD_HIDE_WINDOWS=1, remote bridge, isolatedHOME,RINX_DATA_DIR,OCTOS_APP_CORE_DIRand anOCTOS_APP_CORE_BINbuilt from octos#2555). Rinx launched from the dock as an in-process module (wm: module instance rinx.1 … scope i2g1) with AppCard neither linked nor opened. Rinx showed its sign-in screen, and no kernel process started (the kernel starts on the first authorized request). The app was quit through the bridge.Not verified natively: a signed-in Rinx mini app talking to the system peer. That needs a Matrix account, and no credentials are used here. The Q&A and interrupt flows are covered on a real kernel in System-Apps
crates/app-peers/tests/real_kernel.rs.🤖 Generated with Claude Code