Skip to content

fix(ssh): explain rejected remote installation permissions - #628

Open
Steaming-Fresh wants to merge 1 commit into
alphaXiv:mainfrom
Steaming-Fresh:fix/remote-orx-permission-diagnostic
Open

Steaming-Fresh wants to merge 1 commit into
alphaXiv:mainfrom
Steaming-Fresh:fix/remote-orx-permission-diagnostic

Conversation

@Steaming-Fresh

Copy link
Copy Markdown

Closes #627

Summary

  • Report an actionable permission error when the explicit remote orx path is
    rejected for group/other write access, instead of treating that rejection as
    a missing installation or reporting that the installer produced no working
    binary. This covers the default/configured-path fallback and the post-install
    check.
  • Keep the existing ownership and permission acceptance predicates unchanged.
    Rejected executables are not run, the primary group is not exempted, and no
    permissions are changed automatically. Initial PATH lookup and its fallback
    order are unchanged.
  • Document manual inspection and the shared-directory caveat. Add parser and
    real POSIX-shell regression tests for safe/writable files and directories,
    symlinks, quoted paths, missing files, and non-executable files.

Related: #357 discusses the same directory-permission symptom. This PR is
deliberately narrower: it does not adopt primary-group exceptions or change
remote path handling.

Test plan

  • Reproduced the old probe's empty output using a temporary Linux fixture
    (directory 775, executable 755); the diagnostic assertion failed before
    the fix.
  • cargo +1.91.1 test --locked commands::up_remote::tests: 27 passed.
  • cargo +1.91.1 test --locked: 1,109 passed across unit/integration suites,
    3 existing ignored tests, 0 failures.
  • cargo +1.91.1 fmt --all --check and launcher formatting check.
  • git diff --check; ownership/permission acceptance predicates compared
    unchanged against the base revision.
  • Clippy with only the three baseline lint categories allowed:
    cargo +1.91.1 clippy --all-targets --locked -- -D warnings -A clippy::collapsible_else_if -A clippy::unnecessary_cast -A clippy::question_mark.

Strict Clippy with -D warnings reports the same four errors on both this branch
and unmodified base 603558cb: collapsible_else_if in src/local/chat/mod.rs,
two unnecessary_cast diagnostics in src/local/datadir.rs, and question_mark
in src/local/harness/opencode_v2.rs. Those unrelated files and the lint
configuration are not changed. Native Windows execution was not tested locally;
the parser test is platform-independent and the filesystem test is Unix-only.

All reproduction data is synthetic. No workstation logs, host configuration,
credentials, screenshots, or private paths are included.

@greptile-apps

greptile-apps Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

[Medium impact] This PR appears safe to merge.

Summary

This PR explains why an explicit remote orx installation is rejected instead of treating it as missing.

  • Remote orx checks explain when writable paths block setup.

Reviews (1) · Last reviewed commit: "fix(ssh): explain rejected remote instal..." · Reviewed by Greptile

This branch has not been deployed

No deployments
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.

Remote installer hides group-writable binary directory rejection

1 participant