Problem (one or two sentences)
The bundled semble code-search binary is pinned to v0.3.1, whose JSON output wraps each result in a chunk object. Semble v0.4.0+ flattens that output, so the current provider can no longer parse search results. Additionally, the SembleProvider surfaces hard-coded English status strings, and a version bump leaves the prior release's archive orphaned on disk.
Context (who is affected and when)
Affects any user relying on the built-in code-index/embeddings search backed by semble. The breakage is most visible immediately after semble publishes a new release: the cached archive from the old version can fail checksum verification against the new SEMBLE_SHA256, and the provider mis-parses the flattened result shape. Non-English users also see untranslated provider status messages.
Desired behavior (conceptual, not technical)
- The extension should ship and correctly consume the latest semble release.
- A semble version upgrade should never reuse or fail to verify a stale on-disk archive.
- SembleProvider status messages should be translatable across all supported locales.
Acceptance criteria
- Given semble v0.4.1 is released
- When the extension downloads/verifies the binary
- Then it uses the updated SHA256 checksums and a version-prefixed archive cache path
- And stale archives from prior versions are cleaned up best-effort
- And search results are parsed from the flat v0.4.0+ format (file_path, start_line, end_line, score, content)
- And provider status strings are sourced from i18n across all locales
- But the old chunk-wrapped shape is no longer expected
Proposed approach
- Bump SEMBLE_VERSION to v0.4.1 and refresh SEMBLE_SHA256.
- Flatten SembleSearchResult (remove SembleChunk); update provider.ts and semble-cli.ts parsing.
- Version-prefix the local archive cache path and add cleanupStaleArchives.
- Move provider status strings into embeddings.json semble.* keys across all locales.
- Update unit tests for provider, CLI, and downloader.
Trade-offs / risks
- Checksums are hard-coded per release; a future release requires another bump.
- Stale-archive cleanup is best-effort and swallows errors.
Request checklist
Problem (one or two sentences)
The bundled semble code-search binary is pinned to v0.3.1, whose JSON output wraps each result in a
chunkobject. Semble v0.4.0+ flattens that output, so the current provider can no longer parse search results. Additionally, the SembleProvider surfaces hard-coded English status strings, and a version bump leaves the prior release's archive orphaned on disk.Context (who is affected and when)
Affects any user relying on the built-in code-index/embeddings search backed by semble. The breakage is most visible immediately after semble publishes a new release: the cached archive from the old version can fail checksum verification against the new SEMBLE_SHA256, and the provider mis-parses the flattened result shape. Non-English users also see untranslated provider status messages.
Desired behavior (conceptual, not technical)
Acceptance criteria
Proposed approach
Trade-offs / risks
Request checklist