Lands four stranded fixes: batch-only zoom with HTTP/checkout routing for file/URL/GitHub locations (issue 410), checkout-guided worker path validation, exclusion of AFT storage and live SQLite from source reads, and a port-race test fix. Runtime aliases are normalized against the translator's resolver before provider schema admission, so v1 validation accepts legacy spellings without changing request identity.
Zoom batch-only (issue 410)
aft_zoom takes a single non-empty batch array of {target, symbols}; file paths, HTTP/HTTPS URLs, and GitHub locations share one batch.
Legacy targets/path/filePath/symbol(s) spellings remain runtime aliases; conflicting locations are refused with a message naming both inputs; empty batches are refused.
Provider admission validates the normalized form, matching read/write/edit's advertised filePath spelling only in the validation copy while requests keep their original identity and batch-only zoom catalogs.
The ten new filePath/toFile occurrences used by normalization are allowlisted in the vocabulary inventory.
The first zoom permission ask withholds the whole batch until consent reruns the request.
Tool schemas, provider catalogs, and bridged aliases were regenerated; OpenCode V1 keeps filePath headers while V2 shows path.
Path guidance, SQLite exclusion, test porting
Worker search tools route through the shared path gate; a filesystem-root search is refused with "use your checkout instead", and a missing absolute path that exists in the checkout gets a "did you mean" hint without an access request.
Project source readers skip AFT storage roots and live SQLite databases, preventing them from closing SQLite sidecar descriptors and releasing process-wide locks.
The recovering-backend runtime test keeps its loopback port reserved between listens so offline requests fail immediately.
The land-stranded-ports search descriptor marks the ranking-fenced changes as engine-unwired.
Confidence Score: 5/5
The changes since the last review appear safe to merge.
Summary
This PR combines batch-only aft_zoom, checkout path guidance, SQLite source exclusions, and a reserved-port test fixture.
aft_zoom looks up files, web pages, and GitHub locations in one batch.
Worker searches point to the checkout instead of searching the filesystem root.
Project readers skip AFT storage and SQLite files.
The recovering-backend test keeps its loopback port reserved while offline.
The stranded-ports descriptor marks ranking-fenced changes as engine-unwired.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart LR
A[Original tool arguments] --> B[Normalize a copy]
B --> C[Check catalog schema]
C --> D[Dispatch original arguments]
D --> E[Apply the same normalizer]
E --> F[Run native command]