v1.12.0
Added
- Native code-intelligence engine (
internal/codeintel), replacing
codegraph. A CGO-free code-intelligence subsystem built on a wazero
(wasm) tree-sitter backend withgo:embed'd grammars and per-language
S-expression queries (data, not code). Exact-span parsing for Go (pure-Go
AST), Rust, TypeScript/TSX, Python, and JavaScript/JSX, plus Core and
Extended grammars (Kotlin, Swift, Scala, Bash, Lua) onboarded as data. A
strangler-fig cutover keeps theProviderfacade stable for every
consumer (MCP, compression, dashboard). Pure core (parse/resolve/
semantic/analyze/query) with injected I/O, pinned by
imports_test.go;internal/store/codeintel.gois the one SQL seam;
schema in migrations050+. - Scoped relation resolution. Package/import-bound
CALLSresolution
for Go (self-receiver method binding + local-var receiver type inference)
and module-import-scopedCALLSfor TypeScript and Python, plus
intra-fileCONTAINSedges from span nesting andend_lineon
get_relationsresults. search_symbolsMCP tool — Tier-C symbol search over the codeintel
store.- Full-body near-clone detection via body-shingle MinHash (W3) and a
tuned TF embedder (Dim 256→512 + degenerate-skip; W4). - Aggressive code-collapse on the OpenAI/codex proxy paths, so
code-block compression now fires for codex traffic too.
Fixed
- Limit gauge no longer leaks across tools. The session-detail 5h/weekly
limit gauge read the latest snapshot by(scope_hash, provider)only, so a
Claude Code subscription window leaked onto every other anthropic-default
tool's session detail (e.g. cline-cli showed Claude Code's gauge despite
producing no snapshots of its own). The gauge is now attributed to the tool
that observed it; a tool with no proxied window shows the honest
needs-proxy state. - Migration write-lock contention — a lock-free fast path in
runMigrationsavoids contending the write lock on startup. CodeIntelDeleteProjectis now fast and complete (fixed the per-file
delete scan).
Changed
- Daemon restart readiness window widened from 15s to 45s in
scripts/restart-daemon.sh.
Downloads
Pre-built binaries for each supported platform are attached below. Linux variants bundle antigravity-bridge.exe next to the observer binary for WSL2 users of the Antigravity adapter.
| Platform | Asset |
|---|---|
| Linux x86_64 | observer-v1.12.0-linux-x64.tar.gz |
| Linux arm64 | observer-v1.12.0-linux-arm64.tar.gz |
| macOS x86_64 (Intel) | observer-v1.12.0-darwin-x64.tar.gz |
| macOS arm64 (Apple Silicon) | observer-v1.12.0-darwin-arm64.tar.gz |
| Windows x86_64 | observer-v1.12.0-win32-x64.zip |
Verify with sha256sum -c SHA256SUMS (or shasum -a 256 -c SHA256SUMS on macOS) from the directory containing the downloads.
Also available via npm: npm install -g @superbased/observer@1.12.0
Org server (Docker)
The self-hosted org server ships as a Docker image and as per-platform observer-org-v1.12.0-* archives (attached below).
docker pull ghcr.io/marmutapp/observer-org:v1.12.0The image is keyless-signed with cosign. Verify it:
cosign verify ghcr.io/marmutapp/observer-org:v1.12.0 \
--certificate-identity-regexp 'https://github.com/marmutapp/superbased-observer-private/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.comSupply chain
CycloneDX SBOMs are attached: observer.cdx.json and observer-org.cdx.json.
SLSA Level 3 build provenance for the binaries is attached below as a *.intoto.jsonl attestation. The build runs on the private origin repo, so pass that as the source when verifying an extracted binary with slsa-verifier v2.7.0 or newer (older versions fail with unexpected tlog entry type: expected intoto:0.0.2, got dsse:0.0.1):
slsa-verifier verify-artifact ./observer \
--provenance-path *.intoto.jsonl \
--source-uri github.com/marmutapp/superbased-observer-private