Repository navigation
Pin octos main 39e22d45 - #350
Merged
Merged
Conversation
ymote
force-pushed
the
chore/octos-39e22d45
branch
from
October 7, 2026 00:17
7fce1e8 to
321676b
Compare
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>
octos-core, octos-cli and octos-research move together from 056173e8 to octos main 39e22d45 (still 2.0.3-rc.13), the revision OctosCode now pins too (octoscode-app #4). Since 056173e8: - #2692: on a stdio connection, which never negotiates projection.envelope.v2, a turn's terminal now arrives after its queued envelopes. Before, a client saw a turn end ahead of its last words. - #2697 and #2695: a purge whose erase fails stops as peer_purge_incomplete and keeps the peer staged. app-peers already keeps the record on any error other than busy or not-found, so the account stays suspended and a later purge erases again. - #2677: option-like revisions refused in workspace history show/diff. - #2704 and #2709, keychain items released with a deleted profile or sub-account; #2666, a profile's open stores handed to its replacement runtime; #2667, the resolved model route exported to skills. - #2465: context/state_reported, opt-in (context.state.v1), which nothing here requests. AppCard's store and agent match every notification kind, so both now list it as one they never receive. octos's manifests did not change, so Cargo.lock moves only the 17 octos crates' source. The external turn allowlist (EXTERNAL_TURN_TOOLS) is the same at both revisions. The nix patch stays at 18fcd3f1: octos main no longer vendors it. The architecture guide's octos links read the new pin. 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
ymote
force-pushed
the
chore/octos-39e22d45
branch
from
October 7, 2026 00:49
321676b to
15b0040
Compare
Contributor
Author
|
Merged as a two-PR train (#349, then #350) on local CI. |
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.
octos-core, octos-cli and octos-research move together from 056173e8 to octos main 39e22d45 (still 2.0.3-rc.13). OctosCode pins the same revision (octos-org/octoscode-app#4), and inside OctoSense both must resolve one octos.
Stacked on #349; merge it after #349. Its base moves to
mainonce #349 is in.Changes since 056173e8 that matter here
projection.envelope.v2. On such a connection, a turn's terminal now arrives after its queued envelopes; before, a client could see a turn end ahead of its last words.peer_purge_incomplete, and the peer stays staged.crates/app-peers/src/purge.rsalready keeps the record on any error other than busy or not-found.context/state_reported, opt-in (context.state.v1). Nothing here requests it. AppCard's store and agent match every notification kind, so both now list it as never received (octos-app-store/src/state.rs,app/src/backend/octos_ui.rs).What moves
Cargo.toml: the three revisions and the pin comment.Cargo.lock: only the 17 octos crates' source lines. octos's manifests did not change between the two revisions, andcargo metadata --lockedaccepts the source-only edit. (A plaincargo update -p octos-*also re-resolvedgeneratorandiana-time-zone's Windows dependencies, so I kept the minimal lock.)EXTERNAL_TURN_TOOLSincrates/kernel/src/system_tools.rsis unchanged: octos's list is the same at both revisions.nixpatch stays at 18fcd3f1; octos main no longer vendors it.docs/architecture*.md: the octos links now read the new pin. Every linked path exists there.crates/toolbox/README.md's tested-at-pin line.Checks (on 7fce1e8, plus the AppCard lines on this head, 321676b)
cargo check --locked -p octosense, and fromphone/cargo check --locked -p octosense-home --features mobile-apps: pass.tools/check-shell-graph.sh -p octosense: one octos (39e22d45).cargo test --locked:octosense-kerneloctosense-app-peersoctos-core,wsoctosense-toolboxoctosense-ai-hostoctos-core,llmReal kernel:
python3 tools/kernel-artifact.py --host --stage target/debugbuilt octos 2.0.3-rc.13 (39e22d4). Against it, both suites pass, including the purge tests:OCTOS_CORE_TEST_KERNEL=… cargo test -p octosense-kernel --test real_kernel: 7 passed;OCTOS_APP_PEERS_TEST_KERNEL=… cargo test -p octosense-app-peers --features octos-core --test real_kernel: 15 passed.The first local CI run (7fce1e8) failed in 7 steps on one error: AppCard's exhaustive matches missed
ContextStateReported(E0004). After the fix,cargo clippy --locked -p octos-app -p octos-app-store -p octos-app-transport -p octos-app-render --all-targets --no-deps -- -D warningspasses, andcargo test --locked -p octos-app-transport -p octos-app-storepasses (77 tests).Not run: the Android kernel artifact (
liboctos.so) at this revision, and any device. Unverified on a phone.Local CI (
tools/ci-local.sh --only all --linux-host) reruns on this head before the two PRs merge.🤖 Generated with Claude Code