Releases: zgbrenner/companion
Release list
COMPANION 1.4.0
COMPANION 1.4.0
COMPANION 1.4.0 combines the Lifejacket implementation with the ChatGPT-first provider work and ships the release candidate from the reconciled mainline.
ChatGPT web support
- Supports ChatGPT Chat and Work surfaces with native usage, token, credit, freshness, and reset handling when OpenAI exposes trustworthy numeric fields.
- Keeps ChatGPT context and toolbar routing aligned, with narrow compatibility for legacy Codex web routes.
- Bounds page-world reads and normalized numbers, keeps provider badge updates monotonic, and resets new-chat fallback state correctly.
Lifejacket Mode
- Adds a local, review-before-send workflow for prompt compression, shorter replies, and file-to-Markdown conversion on Claude and ChatGPT web composers.
- Protects code, URLs, email addresses, quoted text, numbers, structured rows, and semantic guard words; unsafe or unhelpful candidates fail open to the original prompt.
- Keeps model inference local with remote model loading disabled and limits queued model work to protect ordinary laptops.
- Fixes settings-page wiring so the visible Lifejacket controls persist correctly without the retired Caveman anchor.
Model and release integrity
- Builds the pinned MobileBERT checkpoint from the verified
atjsh/llmlingua-2-js-mobilebert-meetingbankrevision. - Uses per-channel QUInt8 quantization with selective FP16 preservation for sensitive layers, passing the release quality gate: 0.9842 label agreement, 0.9940 ranking overlap, 0.0123 probability MAE, and 55 ms p95 local CPU latency.
- Ships a 40,312,452-byte Q8 model below the 40 MiB ceiling, with hashes for every copied model metadata file and deterministic provenance/checksums.
- Hardens vendored runtime downloads with HTTPS registry pinning, redirect rejection, bounded streaming, exclusive temporary files, and isolated generated assets.
- Keeps reproducible packaging, SBOM/provenance, security checks, and Chrome Web Store review assets in the release workflow.
Nothing is silently submitted, provider values are never estimated, and prompts, replies, files, and raw provider payloads remain local to the extension workflow.
COMPANION v1.3.0
COMPANION v1.3.0
ChatGPT first-class hardening
COMPANION v1.3.0 makes ChatGPT Chat and Work web support a first-class, privacy-preserving path alongside the existing Claude integration.
The core accuracy rule remains:
Native numbers or nothing.
COMPANION displays numeric usage only when the provider exposes a supported native value. It does not estimate missing limits, infer account quotas, or scrape message text.
What changed
- Recognizes the native OpenAI rate-limit shape used by ChatGPT, including primary and secondary windows and numeric Unix-second or Unix-millisecond reset timestamps.
- Preserves exact native token counters and renders native credit balances separately from usage.
- Keeps Chat and Work context aligned between the page widget and toolbar popup, including when the popup is opened from a routed surface.
- Applies one freshness policy consistently: fresh, aging, stale, and expired readings are labeled, and expired values are hidden instead of flashing as current.
- Expands composer detection for current ChatGPT layouts and resets the local new-conversation fallback key when a new chat is started.
- Bounds page-world response reads and normalized numeric values before they cross into the extension.
- Keeps same-provider toolbar badge updates monotonic and leaves the shared badge API behind the serialized owner.
- Adds regression coverage for the native response shape, balance-only responses, popup routing, stale badge ordering, and browser rendering.
Surface boundaries
- ChatGPT Chat on the web: supported.
- ChatGPT Work on the web: supported when enabled for the account or workspace.
- Legacy Codex-aware web route detection remains for compatibility with routes that expose it, but it is not a claim that the current ChatGPT web product offers a selectable Codex surface.
- The standalone native Codex desktop application cannot host a Chrome content script and is outside the extension's injection boundary.
- Claude.ai support and the local Caveman Mode, prompt-trimming preview, and file-to-Markdown sandbox remain available.
Privacy and safety
- No account, backend, analytics, telemetry, advertising, or tracking is added.
- Raw OpenAI response bodies stay in the page world. Only bounded normalized numeric fields and a query-free pathname cross the private channel.
- Prompts, replies, files, cookies, profile fields, and URL query values are not stored or sent to the developer.
- Unsupported, malformed, stale, or implausibly future values fail closed.
Verification
The release candidate is covered by the numbered Chromium suite, including extension boot, settings, popup routing, accessibility, Claude and ChatGPT rendering, OpenAI bridge privacy, native usage and freshness behavior, local-data reset, badge ownership and restart recovery, brand assets, font integrity, package reproducibility, and release readiness.
Install the ZIP and checksum from the release-package GitHub Actions artifact, or build the deterministic Web Store package with tools/package-webstore.sh.