Feature hasn't been suggested before
Describe the enhancement you want to request
OpenCode passes path strings between Desktop, the SDK, the server, SQLite, and filesystem caches, but those values have different jobs:
- a path usable by the current server process;
- a stable comparison/storage identity;
- a user-facing display path.
Mixing those concepts causes recurring failures:
I propose a staged approach:
- 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?
Feature hasn't been suggested before
Describe the enhancement you want to request
OpenCode passes path strings between Desktop, the SDK, the server, SQLite, and filesystem caches, but those values have different jobs:
Mixing those concepts causes recurring failures:
I propose a staged approach:
directoryhints at the HTTP boundary before instance lookup.I maintain the MIT package
@romanilyin/canonicalpathand 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?