Repository navigation
Repin makepad to main 68d1f4ec and Octoscript-Makepad to aa80f72c - #349
Merged
Merged
Conversation
Merged
ymote
added a commit
that referenced
this pull request
Oct 7, 2026
OctosCode (octos-org/octoscode-app) is itself an octos client. Inside OctoSense it gets no listener, no token and no pairing. Instead it opens a kernel port that the shell's router holds to a coding scope (ADR 0003, item 9; the person chose this over host authority and over a new octos token). - makepad #101 (in makepad main 68d1f4ec, #349): Makepad's `OctosUiPort`, parked for the host the way a peer link is. - Kernel router: scoped consumers. - Each request of a scoped consumer is checked first, and a refused one is answered by the router (`scope_denied`) and logged. - A session's frames wait for the scope's preparation (its exact tool list). - The consumer hears only its own sessions; a host-only frame about one of them goes to the shell instead. - Results pass the scope's filter, and so do the notifications it lets through (`Scope::rewrite`): octos repeats an opened session as a `session/open` notification with its whole capability list. - The consumer may answer only the kernel requests it was sent. - `serve_scoped` runs a port on the kernel's runtime, with `Reset` on a kernel restart. - Shell: the module host claims ports per isolate, as it does peer links. native-apps.json `kernel: "coding"` grants one; any other port is closed with the reason. The coding scope (`coding_scope.rs`): - own sessions: `_main:api:code-<id>`, no topic, profile `_main`; - folders: its jail, or under a granted read-write root (home on a desktop), never OctoSense's or the kernel's data, a hidden top-level folder, or a folder holding any of them; - a coding client's methods only, and every list of supported methods it is told is trimmed to those; - each session's tool list is octos's external-turn list, so no command runs. - Module host: point the preludes' `theme` at `mod.theme` before a module registers. A styled isolate's diverged, so a module's own theme roles never reached its widgets. - OctosCode's entry: octoscode-app main 8039d44c (#4, built against octos 39e22d45 like this repository, #350), default on desktop and phone, `home:rw`, `kernel: coding`. octoscript-render is patched to `.sources` like the rest of Octoscript-Makepad, whose pin #349 moved. - Docs: ADR 0003 item 9; the architecture guides (App ↔ kernel, the native apps table); the README dependency table; AGENTS.md. Tests: - router 11, coding scope 4, module ports 2, kernel 62; tools 115; - desktop shell 857 passed; phone shell 946 passed, including the reserved-name test (App Hub 7bb63ff9's contract reserves `octoscode`). Verified in a hidden desktop shell (octos 39e22d45, OctosCode 8039d44c): - the port was granted; both `session/open` frames list 53 methods; - a `code-…` session in the picked folder ran read_file; - answers streamed in full and the strip returned to Ready; - the model picker lists the providers' models but cannot switch them (`profile/llm/select` changes the profile's model; Setup owns it). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The org-wide makepad release after makepad #99-#101, through Octoscript-Makepad aa80f72c (#78): - #99 and #100 are the Calculator relayout and the Terminal's own agent this repository carried as runtime patches. Their patches go: makepad main now has them, byte for byte. - #101 adds ai-services' ui_port, the kernel port an app that is itself an octos client opens. Nothing here uses it yet; #341 does. Octoscript-Makepad main now carries the Mail draft and review capabilities this repository already pinned by branch (#75, Octoscript 2e37d9e6, OctoScript #58), and OctosCode's measured-design lowering (#77). #77 gives the L0 node attributes a right inset, so AppCard's evaluator reads `padright` too. The remaining stacked patches reapply unchanged; the stack's tree is 07accf83. AppCard's own native-runtime.lock.json, which still named 2cc5ef37, names the same release as the root again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ymote
force-pushed
the
chore/runtime-makepad-68d1f4ec
branch
from
October 7, 2026 00:49
52932fd to
2bb2e29
Compare
Contributor
Author
|
Merged as a two-PR train (#349, then #350) on local CI. |
ymote
added a commit
that referenced
this pull request
Oct 7, 2026
OctosCode (octos-org/octoscode-app) is itself an octos client. Inside OctoSense it gets no listener, no token and no pairing. Instead it opens a kernel port that the shell's router holds to a coding scope (ADR 0003, item 9; the person chose this over host authority and over a new octos token). - makepad #101 (in makepad main 68d1f4ec, #349): Makepad's `OctosUiPort`, parked for the host the way a peer link is. - Kernel router: scoped consumers. - Each request of a scoped consumer is checked first, and a refused one is answered by the router (`scope_denied`) and logged. - A session's frames wait for the scope's preparation (its exact tool list). - The consumer hears only its own sessions; a host-only frame about one of them goes to the shell instead. - Results pass the scope's filter, and so do the notifications it lets through (`Scope::rewrite`): octos repeats an opened session as a `session/open` notification with its whole capability list. - The consumer may answer only the kernel requests it was sent. - `serve_scoped` runs a port on the kernel's runtime, with `Reset` on a kernel restart. - Shell: the module host claims ports per isolate, as it does peer links. native-apps.json `kernel: "coding"` grants one; any other port is closed with the reason. The coding scope (`coding_scope.rs`): - own sessions: `_main:api:code-<id>`, no topic, profile `_main`; - folders: its jail, or under a granted read-write root (home on a desktop), never OctoSense's or the kernel's data, a hidden top-level folder, or a folder holding any of them; - a coding client's methods only, and every list of supported methods it is told is trimmed to those; - each session's tool list is octos's external-turn list, so no command runs. - Module host: point the preludes' `theme` at `mod.theme` before a module registers. A styled isolate's diverged, so a module's own theme roles never reached its widgets. - OctosCode's entry: octoscode-app main f8561625 (#4; #7 builds it on the same makepad, Octoscript-Makepad, Octoscript and octos as this repository), default on desktop and phone, `home:rw`, `kernel: coding`. octoscript-render is patched to `.sources` like the rest of Octoscript-Makepad, whose pin #349 moved. - Docs: ADR 0003 item 9; the architecture guides (App ↔ kernel, the native apps table); the README dependency table; AGENTS.md. Tests: - router 11, coding scope 4, module ports 2, kernel 62; tools 115; - desktop shell 857 passed; phone shell 946 passed, including the reserved-name test (App Hub 7bb63ff9's contract reserves `octoscode`). Verified in a hidden desktop shell (octos 39e22d45, OctosCode f8561625): - the port was granted; both `session/open` frames list 53 methods; - a `code-…` session in the picked folder ran read_file; - answers streamed in full and the strip returned to Ready; - the model picker lists the providers' models but cannot switch them (`profile/llm/select` changes the profile's model; Setup owns it). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ymote
added a commit
that referenced
this pull request
Oct 7, 2026
…d1f4ec rom docs: the runtime's Makepad and Octoscript-Makepad hashes after #349
ymote
added a commit
that referenced
this pull request
Oct 7, 2026
OctosCode (octos-org/octoscode-app) is itself an octos client. Inside OctoSense it gets no listener, no token and no pairing. Instead it opens a kernel port that the shell's router holds to a coding scope (ADR 0003, item 9; the person chose this over host authority and over a new octos token). - makepad #101 (in makepad main 68d1f4ec, #349): Makepad's `OctosUiPort`, parked for the host the way a peer link is. - Kernel router: scoped consumers. - Each request of a scoped consumer is checked first, and a refused one is answered by the router (`scope_denied`) and logged. - A session's frames wait for the scope's preparation (its exact tool list). - The consumer hears only its own sessions; a host-only frame about one of them goes to the shell instead. - Results pass the scope's filter, and so do the notifications it lets through (`Scope::rewrite`): octos repeats an opened session as a `session/open` notification with its whole capability list. - The consumer may answer only the kernel requests it was sent. - `serve_scoped` runs a port on the kernel's runtime, with `Reset` on a kernel restart. - Shell: the module host claims ports per isolate, as it does peer links. native-apps.json `kernel: "coding"` grants one; any other port is closed with the reason. The coding scope (`coding_scope.rs`): - own sessions: `_main:api:code-<id>`, no topic, profile `_main`; - folders: its jail, or under a granted read-write root (home on a desktop), never OctoSense's or the kernel's data, a hidden top-level folder, or a folder holding any of them; - a coding client's methods only, and every list of supported methods it is told is trimmed to those; - each session's tool list is octos's external-turn list, so no command runs. - Module host: point the preludes' `theme` at `mod.theme` before a module registers. A styled isolate's diverged, so a module's own theme roles never reached its widgets. - OctosCode's entry: octoscode-app main f8561625 (#4; #7 builds it on the same makepad, Octoscript-Makepad, Octoscript and octos as this repository), default on desktop and phone, `home:rw`, `kernel: coding`. octoscript-render is patched to `.sources` like the rest of Octoscript-Makepad, whose pin #349 moved. - Docs: ADR 0003 item 9; the architecture guides (App ↔ kernel, the native apps table); the README dependency table; AGENTS.md. Tests: - router 11, coding scope 4, module ports 2, kernel 62; tools 115; - desktop shell 857 passed; phone shell 946 passed, including the reserved-name test (App Hub 7bb63ff9's contract reserves `octoscode`). Verified in a hidden desktop shell (octos 39e22d45, OctosCode f8561625): - the port was granted; both `session/open` frames list 53 methods; - a `code-…` session in the picked folder ran read_file; - answers streamed in full and the strip returned to Ready; - the model picker lists the providers' models but cannot switch them (`profile/llm/select` changes the profile's model; Setup owns it). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ymote
added a commit
that referenced
this pull request
Oct 8, 2026
OctosCode (octos-org/octoscode-app) is itself an octos client. Inside OctoSense it gets no listener, no token and no pairing. Instead it opens a kernel port that the shell's router holds to a coding scope (ADR 0003, item 9; the person chose this over host authority and over a new octos token). - makepad #101 (in makepad main 68d1f4ec, #349): Makepad's `OctosUiPort`, parked for the host the way a peer link is. - Kernel router: scoped consumers. - Each request of a scoped consumer is checked first, and a refused one is answered by the router (`scope_denied`) and logged. - A session's frames wait for the scope's preparation (its exact tool list). - The consumer hears only its own sessions; a host-only frame about one of them goes to the shell instead. - Results pass the scope's filter, and so do the notifications it lets through (`Scope::rewrite`): octos repeats an opened session as a `session/open` notification with its whole capability list. - The consumer may answer only the kernel requests it was sent. - `serve_scoped` runs a port on the kernel's runtime, with `Reset` on a kernel restart. - Shell: the module host claims ports per isolate, as it does peer links. native-apps.json `kernel: "coding"` grants one; any other port is closed with the reason. The coding scope (`coding_scope.rs`): - own sessions: `_main:api:code-<id>`, no topic, profile `_main`; - folders: its jail, or under a granted read-write root (home on a desktop), never OctoSense's or the kernel's data, a hidden top-level folder, or a folder holding any of them; - a coding client's methods only, and every list of supported methods it is told is trimmed to those; - each session's tool list is octos's external-turn list, so no command runs. - Module host: point the preludes' `theme` at `mod.theme` before a module registers. A styled isolate's diverged, so a module's own theme roles never reached its widgets. - OctosCode's entry: octoscode-app main f8561625 (#4; #7 builds it on the same makepad, Octoscript-Makepad, Octoscript and octos as this repository), default on desktop and phone, `home:rw`, `kernel: coding`. octoscript-render is patched to `.sources` like the rest of Octoscript-Makepad, whose pin #349 moved. - Docs: ADR 0003 item 9; the architecture guides (App ↔ kernel, the native apps table); the README dependency table; AGENTS.md. Tests: - router 11, coding scope 4, module ports 2, kernel 62; tools 115; - desktop shell 857 passed; phone shell 946 passed, including the reserved-name test (App Hub 7bb63ff9's contract reserves `octoscode`). Verified in a hidden desktop shell (octos 39e22d45, OctosCode f8561625): - the port was granted; both `session/open` frames list 53 methods; - a `code-…` session in the picked folder ran read_file; - answers streamed in full and the strip returned to Ready; - the model picker lists the providers' models but cannot switch them (`profile/llm/select` changes the profile's model; Setup owns it). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ymote
added a commit
that referenced
this pull request
Oct 8, 2026
OctosCode (octos-org/octoscode-app) is itself an octos client. Inside OctoSense it gets no listener, no token and no pairing. Instead it opens a kernel port that the shell's router holds to a coding scope (ADR 0003, item 9; the person chose this over host authority and over a new octos token). - makepad #101 (in makepad main 68d1f4ec, #349): Makepad's `OctosUiPort`, parked for the host the way a peer link is. - Kernel router: scoped consumers. - Each request of a scoped consumer is checked first, and a refused one is answered by the router (`scope_denied`) and logged. - A session's frames wait for the scope's preparation (its exact tool list). - The consumer hears only its own sessions; a host-only frame about one of them goes to the shell instead. - Results pass the scope's filter, and so do the notifications it lets through (`Scope::rewrite`): octos repeats an opened session as a `session/open` notification with its whole capability list. - The consumer may answer only the kernel requests it was sent. - `serve_scoped` runs a port on the kernel's runtime, with `Reset` on a kernel restart. - Shell: the module host claims ports per isolate, as it does peer links. native-apps.json `kernel: "coding"` grants one; any other port is closed with the reason. The coding scope (`coding_scope.rs`): - own sessions: `_main:api:code-<id>`, no topic, profile `_main`; - folders: its jail, or under a granted read-write root (home on a desktop), never OctoSense's or the kernel's data, a hidden top-level folder, or a folder holding any of them; - a coding client's methods only, and every list of supported methods it is told is trimmed to those; - each session's tool list is octos's external-turn list, so no command runs. - Module host: point the preludes' `theme` at `mod.theme` before a module registers. A styled isolate's diverged, so a module's own theme roles never reached its widgets. - OctosCode's entry: octoscode-app main f8561625 (#4; #7 builds it on the same makepad, Octoscript-Makepad, Octoscript and octos as this repository), default on desktop and phone, `home:rw`, `kernel: coding`. octoscript-render is patched to `.sources` like the rest of Octoscript-Makepad, whose pin #349 moved. - Docs: ADR 0003 item 9; the architecture guides (App ↔ kernel, the native apps table); the README dependency table; AGENTS.md. Tests: - router 11, coding scope 4, module ports 2, kernel 62; tools 115; - desktop shell 857 passed; phone shell 946 passed, including the reserved-name test (App Hub 7bb63ff9's contract reserves `octoscode`). Verified in a hidden desktop shell (octos 39e22d45, OctosCode f8561625): - the port was granted; both `session/open` frames list 53 methods; - a `code-…` session in the picked folder ran read_file; - answers streamed in full and the strip returned to Ready; - the model picker lists the providers' models but cannot switch them (`profile/llm/select` changes the profile's model; Setup owns it). 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
…ctoSense-org#349 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.
Moves the runtime from makepad c155f61d to makepad main 68d1f4ec, through Octoscript-Makepad aa80f72c (Octoscript-Makepad #78). The new makepad changes:
ui_port, the kernel port an app opens to its host when it is itself an octos client. Nothing here uses it yet; OctosCode as a native app: a kernel port in the coding scope #341 does.#99 and #100 were already here as runtime patches. Each makepad PR's tree equals c155f61d plus the patch, byte for byte, so the two patches go.
Octoscript-Makepad main also brings:
padright), so AppCard's evaluator reads that attribute too.What moves
Cargo.toml: every makepad revision, plusoctoscript-makepadandoctoscript-node.native-apps.json: the eight makepad app revisions.tools/native_apps.pyhas nothing to regenerate.native-runtime.lock.jsonfiles. AppCard's copy still named 2cc5ef37, so both now name the same release again.runtime-patches.lock.json:68d1f4ec, and the calculator and terminal patches are removed along with their notes.07accf83, computed by applying the stack in order to68d1f4ecin a throwaway index. The same method reproduces main's treeb93c3353on c155f61d.apps/appcard/app/app/src/app/l0_eval.rs:padright.phone/docs/build-tool.md,phone/docs/makepad-fork.md,docs/mail-composable-cards*.md. Indocs/architecture*.md, the Terminal-agent row now links makepad'sapps/terminal/src/module.rsat the pin instead of the deleted patch.Cargo.lockdoesn't change.rom/docs/home-build.mdgets its own follow-up, as with Repin the runtime to makepad 39a9de88 (OpenHarmony idle and input, GL GPU timing, terminal shortcuts) #289 and Repin the runtime to makepad c155f61d (native app libraries and agents, CEF profile under MAKEPAD_HOME) #307, so this PR doesn't triggerrom.yml.Checks
python3 tools/setup.py --update,python3 tools/setup.py --check --cargoandpython3 tools/native_apps.py --checkpass.cargo check --locked -p octosense,cargo check --locked -p octos-app, and fromphone/cargo check --locked -p octosense-home --features mobile-appsall pass.tools/check-shell-graph.shis ok for both packagings.🤖 Generated with Claude Code