Skip to content

docs: state the scope of virtual-session isolation - #88

Merged
isac322 merged 5 commits into
isac322:mainfrom
superbiche:docs/isolation-scope
Oct 11, 2026
Merged

isac322 merged 5 commits into
isac322:mainfrom
superbiche:docs/isolation-scope

Conversation

@superbiche

Copy link
Copy Markdown
Contributor

Summary

Reword the isolation claims so they match what a virtual session provides. session_start separates the session bus, display, and input from the host desktop; it does not confine the launched processes.

  • README: the intro and "Why kwin-mcp?" no longer call the session a sandbox or say the host is never affected; they say the host desktop never receives the session's windows or input.
  • README "How It Works": new Isolation scope note. Launched apps run as the user with normal filesystem and network access, and can reach the original home by absolute path when isolate_home=true.
  • isolate_home: the session_start field description, the README tool table, and the plugin skill now say it redirects XDG settings paths instead of claiming apps cannot read or write host settings. Session._xdg_isolation_env only sets environment variables; there is no mount or permission change.
  • CHANGELOG [Unreleased] entry under Changed. The OpenCode skill copy was regenerated with scripts/sync_plugin_version.py.

No code behavior changes.

Motivation

The current wording can lead users to run untrusted applications in a virtual session and expect filesystem or network containment. The docs should say to use a container or VM for that.

How to Test

  1. python3 scripts/check_docs_seo.py and python3 scripts/sync_plugin_version.py --check
  2. scripts/run-e2e-docker.sh -- -k "mcp_protocol or mcp_features or structured_output or installed_package": quality step (ruff check, ruff format --check, ty) passed, 28 passed

Checklist

  • uv run ruff check . passes
  • uv run ruff format --check . passes
  • uv run ty check passes (ty check src tests in the E2E image; on the host, ty check also reports one pre-existing diagnostic in docker/e2e-environment.py on main)
  • CHANGELOG.md updated (if user-facing change)
  • README.md updated (if new tools or changed behavior)

@superbiche · user · drafted with Claude Opus 5.5, reviewed before posting; the voice and decisions are mine.

Human words

Thanks for starting a work that could unlock actual computer use for KDE Wayland users - hope I can bring some help to make this project match what other platforms have and fill the gap. Cheers

Virtual sessions separate the session bus, display, and input from the
host desktop, but launched apps still run as the user with normal
filesystem and network access. The README called the session a sandbox
and said the host is never affected, and the isolate_home description
said apps cannot read or write host settings, while it only redirects
the XDG base directories through the environment.

Reword those claims, add an Isolation scope note under How It Works,
and align the session_start tool description and the plugin skill.
@haechibot

haechibot Bot commented Oct 5, 2026

Copy link
Copy Markdown

Issue agent stopped automated processing of this pull request and needs an operator.

Reason:

Session retries left? (review): clone_failed

To retry after fixing the cause, an operator calls the bridge op retry_event with {"delivery_id": "51a5c730-c058-11f1-80e0-e7c95900ad7b"}; the workflow resumes from its recorded stages and agent:needs-attention is removed when the run finishes.


Every push to this pull request is reviewed automatically. To request another review without pushing, after replying to the findings, comment @haechibot review. The same comment restarts a review that stopped with an error. The pull request author or a maintainer can request it.

@haechibot haechibot Bot added the agent:needs-attention The issue agent stopped on an error; see the latest agent comment. label Oct 5, 2026
haechibot[bot]
haechibot Bot previously approved these changes Oct 5, 2026

@haechibot haechibot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: GREEN (PR-ready: true) reviewed at 4b5200c. No blocking findings.

Verified: the revised isolation scope matches Session._xdg_isolation_env and Session.launch_app: HOME/XDG paths and session routing change, while launched processes retain ordinary filesystem permissions and network access. The README, tool description, changelog, and both bundled skills consistently describe these limits. The server AST is unchanged after normalizing field descriptions, confirming no runtime logic changes.

Validation: python3 scripts/check_docs_seo.py, python3 scripts/sync_plugin_version.py --check, and git diff --check origin/main...HEAD all passed. GitHub reports MERGEABLE and Semantic PR SUCCESS; no required checks are reported. No linked issues, prior reviews, or review threads were present.

Not verified: Docker E2E, lint, and type checks were not rerun for this documentation-only change.


Every push to this pull request is reviewed automatically. To request another review without pushing, after replying to the findings, comment @haechibot review. The same comment restarts a review that stopped with an error. The pull request author or a maintainer can request it.

@bulgasaribot bulgasaribot Bot removed the agent:needs-attention The issue agent stopped on an error; see the latest agent comment. label Oct 5, 2026
haechibot[bot]
haechibot Bot previously approved these changes Oct 10, 2026

@haechibot haechibot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prior findings

The previous bot review had no findings. There are no Open findings or existing review threads requiring replies.

Verdict: GREEN (PR-ready: true) reviewed at 2e1a248. No blocking findings.

Verified: the upstream merge preserves the isolation clarification across all five changed files. The wording matches the current implementation: HOME/XDG environment overrides redirect settings paths, while launched processes retain normal filesystem permissions and network access. Both plugin skill copies are identical. The server AST is unchanged after normalizing field descriptions.

Validation: documentation SEO, plugin synchronization, and diff whitespace checks passed locally. Required build, lint (Python 3.12 through 3.15), and type checks passed on GitHub. The head is unchanged and GitHub reports MERGEABLE.

Not verified: Docker E2E was not rerun locally; GitHub E2E jobs were still running at inspection.


Every push to this pull request is reviewed automatically. To request another review without pushing, after replying to the findings, comment @haechibot review. The same comment restarts a review that stopped with an error. The pull request author or a maintainer can request it.

haechibot[bot]
haechibot Bot previously approved these changes Oct 10, 2026

@haechibot haechibot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prior findings

Both prior bot reviews had no findings. There are no Open findings or review threads requiring replies.

Verdict: GREEN (PR-ready: true) reviewed at 3e005db. No blocking findings.

Verified: the upstream merge preserves the isolation clarification in all five changed files. The documentation matches the current implementation: HOME/XDG paths redirect settings, while launched processes retain normal filesystem permissions and network access. No runtime logic changes were introduced.

Validation: python3 scripts/check_docs_seo.py, python3 scripts/sync_plugin_version.py --check, and git diff --check origin/main...HEAD passed locally. All required GitHub build, lint, and type checks passed. The head remains unchanged and MERGEABLE.

Not verified: Docker E2E was not rerun locally; GitHub E2E jobs were pending at inspection.


Every push to this pull request is reviewed automatically. To request another review without pushing, after replying to the findings, comment @haechibot review. The same comment restarts a review that stopped with an error. The pull request author or a maintainer can request it.

@haechibot haechibot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prior findings

All three prior bot reviews had no findings. There are no Open findings or review threads requiring replies.

Verdict: GREEN (PR-ready: true) reviewed at fce8827. No blocking findings.

Verified: the upstream merge preserves the isolation clarification across all five changed files. The wording matches the current implementation: HOME/XDG overrides redirect settings paths, while launched processes retain normal filesystem permissions and network access. The server AST is unchanged after normalizing field descriptions, confirming no runtime logic changes in this PR.

Validation: python3 scripts/check_docs_seo.py, python3 scripts/sync_plugin_version.py --check, and git diff --check origin/main...HEAD passed locally. All required GitHub build, lint, and type checks passed. The head remains unchanged and MERGEABLE.

Not verified: Docker E2E was not rerun locally; GitHub E2E jobs were pending at inspection.


Every push to this pull request is reviewed automatically. To request another review without pushing, after replying to the findings, comment @haechibot review. The same comment restarts a review that stopped with an error. The pull request author or a maintainer can request it.

@isac322 isac322 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@isac322
isac322 enabled auto-merge (squash) October 11, 2026 06:01
@isac322
isac322 merged commit 8b78ceb into isac322:main Oct 11, 2026
32 checks passed
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.

2 participants