What
Upstream rslint PR web-infra-dev/rslint#1617 (`refactor: use project-local core in VS Code`, merged 2026-08-08, shipped in `@rslint/core` 0.8.0) reshaped the extension our `stacks/lint` copy is ported from:
- The workspace-root coordinator is gone. A `RuntimeManager` resolves the nearest project-local `@rslint/core` per open document (`CoreResolver.ts`), with an exact resource-scoped `rslint.corePath` override, and shares one runtime per physical installation inside a workspace folder while isolating distinct copies (including same-version copies).
- The Go binary, config host, protocol version and ESLint-plugin worker host are all sourced from the selected core (`resolveRslintBinary` is now exported from `@rslint/core/config-loader`).
- Incremental UTF-16 document sync replaces full sync.
- Bundled runtime fallback, Yarn PnP path, legacy binary settings and per-platform VSIX publishing were removed.
Our port (`WorkspaceRslintCoordinator`, per-folder runtime, full sync) predates this.
Why it is deferred
The lint × Rstack bridge (ADR 0003, `docs/adr/0003-lint-through-editor-worker.md`) is being built on the current per-folder coordinator. The two are orthogonal: the lint worker takes explicit `--core` / `--config` paths, so how many runtimes a folder gets is the manager's business, and a bridged folder always has exactly one. Doing both at once would mix a behavioural sync with an architectural change.
Scope of the sync
- Diff `packages/vscode-extension/src` between the pre-#1617 tag our copy tracks and `origin/main`, port `RuntimeManager` / `CoreResolver` / incremental sync, preserving the adaptations listed in `packages/vscode/AGENTS.md`.
- Reconcile per-document runtimes with the per-folder Ownership rule (a bridged folder stays one runtime; native folders may hold one runtime per distinct core).
- The setting side (`rstack.rslint.corePath` replacing `binPath`/`customBinPath`) is already taken by ADR 0003; this issue is the runtime model.
- Keep ported E2E suites' assertion semantics; upstream's 153-test extension run is the reference.
Blocked by: the ADR 0003 implementation landing first.
What
Upstream rslint PR web-infra-dev/rslint#1617 (`refactor: use project-local core in VS Code`, merged 2026-08-08, shipped in `@rslint/core` 0.8.0) reshaped the extension our `stacks/lint` copy is ported from:
Our port (`WorkspaceRslintCoordinator`, per-folder runtime, full sync) predates this.
Why it is deferred
The lint × Rstack bridge (ADR 0003, `docs/adr/0003-lint-through-editor-worker.md`) is being built on the current per-folder coordinator. The two are orthogonal: the lint worker takes explicit `--core` / `--config` paths, so how many runtimes a folder gets is the manager's business, and a bridged folder always has exactly one. Doing both at once would mix a behavioural sync with an architectural change.
Scope of the sync
Blocked by: the ADR 0003 implementation landing first.