Skip to content

Components' host calls: no check of the declared families (ADR 0014, #450) - #452

Merged
ymote merged 2 commits into
mainfrom
fix/component-host-calls-declared
Oct 10, 2026
Merged

ymote merged 2 commits into
mainfrom
fix/component-host-calls-declared

Conversation

@ymote

@ymote ymote commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Follow-up to #451. makepad#118 removed the runtime's capability check before a script's host.request: option (c) of #450, which the product owner confirmed. A component's octosense:host call was documented to act as the script's does, but still checked the families the manifest declares. It now reaches the dispatcher whatever the manifest declares, and a service that needs a grant checks it itself.

What stays:

  • never wasm.*, since the app's worker is running the call;
  • never a sheet or a prompt;
  • the call's deadline.

Changes

  • crates/shell/src/wasm_service.rs: AppHostCalls loses its families set and the check that used it. The test is renamed a_components_host_calls_reach_the_host_as_its_apps_script_does: an app with only wasm reaches the echo service, and wasmhostmissing.get uses a uniquely unregistered family and gets the dispatcher's no service answers "wasmhostmissing".
  • docs/wasm.md, docs/wasm.zh-CN.md and ADR 0014 (English and Chinese) are updated to match.

Checks (macOS)

  • From phone/: cargo test --locked --features mobile-apps -p octosense-shell wasm_service::tests: 9 passed.
  • cargo test --locked -p octosense-wasm-host: all suites pass (1, 13, 7, 14).

I'll run the local CI gate on the exact head after the 14th sweep merges, since it moves the runtime pins.

🤖 Generated with Claude Code

makepad#118 (OctoSense #450, option (c)) removed the runtime's capability
check before a script's host.request; a component's octosense:host call,
which the docs promise acts as the script's does, follows: it reaches
the dispatcher whatever the manifest declares, and a service that needs a
grant checks it itself. What stays: never wasm.* (the app's worker is
running the call), never a sheet or a prompt, the call's deadline.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ymote
ymote merged commit 19e5405 into main Oct 10, 2026
4 of 7 checks passed
@ymote

ymote commented Oct 10, 2026

Copy link
Copy Markdown
Contributor Author

Merged as part of a train (#452 → #454 → #455) on one local CI pass at the train's top head ddc3bd3. The run was tools/ci-local.sh --only apps,desktop,phone --linux-host --offload: ci-local: PASSED in 14m00s, every step passed and none was skipped. Main's tree after the three merges (cb24135) is 1ecabd25, the tested tree exactly.

🤖 Generated with Claude Code

chrislearn pushed a commit to chrislearn/OctoSense that referenced this pull request Oct 12, 2026
…stands

Records what changed after the ADR was accepted: ADR 0014 components and
shared components are merged and in desktop 0.1.0-rc.4 (not in a Home
release); capabilities are declarations (makepad#117/OctoSense-org#118, OctoSense OctoSense-org#452,
OctoSense-org#457); OctoSense-org#313 holds milestone 1's renderer and tools, unreviewed and unmerged;
the product owner deferred the phone studio work on 10 October 2026.

Amends section 5: the checks, measurement and comparison are Rust crates that
build natively into App Hub's card-studio on the desktop and, with App Flow's
tools/octo wasm build, into components in the studio's own bundle on the
phone (intake, ocr, measure, compare, checks), within the wasm service's
limits; what stays shell code. Amends section 6 (what mod.studio keeps) and
section 7 (the tools OctoSense-org#313 ships; check/compare/critique as component
functions; the 256 KiB reply cap). A table of where each step of the flow
stands on 10 October 2026, the route for when the work resumes (proposed,
unassigned), what a phone will not do, the amended "what changes where", and
three added open questions.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.

1 participant