Skip to content

v1.13.0

Choose a tag to compare

@marmutapp marmutapp released this 30 Jun 21:54

Added

  • Output Composition (verbosity) — code vs. explanation, by language, with
    estimated cost.
    Measures what actually comes through an AI assistant's
    output: narrative explanation vs. shown (fenced) display artifacts vs.
    authored code (file writes + shell commands), resolved by language, at turn /
    session / aggregate levels. A new pure internal/verbosity layer owns the
    markdown fence scanner, a comprehensive extension/filename/fence-tag →
    language+category table, the byte breakdown, and the token/cost apportionment
    (output tokens split by per-class chars-per-token, priced at the model's
    output rate). Capture adds the node-local actions.content_bytes column
    (migration 054) — an exact byte length of the code the model authored in each
    action, computed at ingest from the untruncated tool input with the content
    itself discarded; it is deliberately not on the org-push wire. Surfaces:
    the observer verbosity <session> | --by model|project|day | --unknown-ext
    CLI, GET /api/session/<id>/verbosity + a SessionDetailPanel card, GET /api/verbosity/aggregate + an Analysis Output-composition section, and the
    always-on get_output_composition MCP read tool. Bytes are exact; token and
    dollar figures are labelled estimates.

Changed

  • "CCR" reversibility surface renamed to "SROD" (Stash & Retrieve on
    Demand).
    The user-facing label is renamed across the Compression page
    panel, the help glossary, the savings-by-mechanism donut, and the Settings
    label; internal identifiers are unchanged.
  • SROD stash previews. The opaque "Top retrieved SHAs" list is replaced
    with a "What's getting stashed" preview — a short, scrubbed, single-line
    snippet of each recent stashed body (with size and a retrieved badge), read
    from the stash dir by the stash event's body_hash. Snippets are scrubbed
    for display (the stashed body is the model's raw pre-scrub tool output);
    LRU-evicted shas are skipped.

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.13.0-linux-x64.tar.gz
Linux arm64 observer-v1.13.0-linux-arm64.tar.gz
macOS x86_64 (Intel) observer-v1.13.0-darwin-x64.tar.gz
macOS arm64 (Apple Silicon) observer-v1.13.0-darwin-arm64.tar.gz
Windows x86_64 observer-v1.13.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.13.0

Org server (Docker)

The self-hosted org server ships as a Docker image and as per-platform observer-org-v1.13.0-* archives (attached below).

docker pull ghcr.io/marmutapp/observer-org:v1.13.0

The image is keyless-signed with cosign. Verify it:

cosign verify ghcr.io/marmutapp/observer-org:v1.13.0 \
  --certificate-identity-regexp 'https://github.com/marmutapp/superbased-observer-private/.*' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

Supply 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