You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[FEATURE]: Define native and identity path contracts across client/server boundaries #33107
Validate request directory hints at the HTTP boundary before instance lookup.
Keep native filesystem paths separate from lexical comparison keys and realpath/cache identity.
Add versioned keys only where exact string matching or persistence needs them.
Handle database/App migration and explicit Windows/WSL bridging in later PRs.
I maintain the MIT package @romanilyin/canonicalpath and can keep it behind a small OpenCode wrapper. I already have a narrow first-stage branch with no database or Desktop migration.
Would the maintainers accept this staged contract, and would they prefer the MIT package, an in-tree implementation, or a smaller server-local wrapper first?
This first stage uses @romanilyin/canonicalpath behind a server-local OpenCode wrapper. It only validates request directory hints before instance lookup and keeps the existing relative-path, empty-query, and raw-header fallback behavior.
It does not include SQLite/App/session identity migration, symlink/realpath identity changes, or automatic Windows/WSL path translation.
If maintainers prefer, I can adapt this first PR to use an in-tree implementation instead, or move the wrapper into core later if a shared path contract is the desired direction.
Unless there is an objection, I plan to open this as a narrow PR1 for review.
Activity
romanilyin commentedon Jun 25, 2026
I have prepared a small first-stage branch for the server-side boundary fix:
https://github.com/romanilyin/opencode/tree/directory-boundary
This first stage uses
@romanilyin/canonicalpathbehind a server-local OpenCode wrapper. It only validates requestdirectoryhints before instance lookup and keeps the existing relative-path, empty-query, and raw-header fallback behavior.It does not include SQLite/App/session identity migration, symlink/realpath identity changes, or automatic Windows/WSL path translation.
If maintainers prefer, I can adapt this first PR to use an in-tree implementation instead, or move the wrapper into
corelater if a shared path contract is the desired direction.Unless there is an objection, I plan to open this as a narrow PR1 for review.
github-actions commentedon Aug 24, 2026
To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.