Skip to content

v0.1.31-m7

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 21:13
· 60 commits to main since this release
v0.1.31-m7
c66ddda

Pre-release. Linux amd64 is tested; Windows amd64 is tested in CI, with no new run on a Windows PC for this release. The Linux arm64 and macOS binaries are built but not tested.

Update from any earlier v0.1 with backsight update apply: it takes a verified backup first and rolls back if a step fails. Then restart a running dashboard (Ctrl+C, then backsight dashboard) so it shows the new costs. New install: see below.

  • The server is unchanged (Hindsight 1.2.0): no server upgrade.
  • The instruction set stays v13, and the metrics index is unchanged.

What changed

Costs that never under-count. backsight stats, the dashboard, and every cost estimate and cap (backfill, import, setup's offers) now price the model's cache writes.

  • Cache writes for Claude and OpenAI models (#215, #218). Anthropic and OpenAI bill input written to their prompt cache at 1.25 times the input price, but the memory server counts those tokens as plain input, so the input part of the cost was up to 20% too low. Input not read from the cache now costs the cache-write price. Costs and caps for these models rise by up to 25% on input, over-stating what was never written to the cache rather than under-counting what was. Past periods are recalculated at the new price, since costs are worked out from the stored token counts. Prices you set yourself under [llm] are used as given.
  • More OpenAI models priced (#218): gpt-6.1-terra, gpt-6.1-sol and gpt-6-astra, beside gpt-6-luna, at OpenAI's standard prices for prompts up to 272,000 tokens. The full list: configuration.
  • Doctor's new price check (#216) warns when the configured model has no known price, where backsight stats used to show its tokens without a cost and a backfill or an import was capped by tokens, silently. It names the [llm] keys to set. It is information with the claude-code and ollama providers, and with a base_url on this machine, a private or a tailnet address, which are not billed per token.
  • The price table is checked every week (#216): a workflow in the repository compares it with a public price list and opens an issue when a price differs; each change is checked on the provider's own page and ships in a release. Your PC fetches nothing for it.

Install

On Linux:

curl -fsSL https://raw.githubusercontent.com/Barben360/backsight/main/scripts/install.sh | sh
backsight setup

On Windows x86_64, in PowerShell:

powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/Barben360/backsight/main/scripts/install.ps1 | iex"
backsight setup

Requirements as for v0.1.22-m7. On Windows, Claude Code must find Git Bash: if Git for Windows is portable or installed in a place of your own, set CLAUDE_CODE_GIT_BASH_PATH to its bin\bash.exe (doctor's git-bash check gives the command).

Known limits

  • Dashboard:
    • Version switches and settings changes are marked on a day's page and on Releases only, not on every chart.
    • The custom window goes back 13 months, as far as this PC keeps its history.
    • Time to recall needs a few days of history, and 20 sessions before it shows times.
    • Memory yield needs four weeks: a week counts 28 days after it ends.
    • On a window over 200 days, charts show no per-day values on hover, and "Show as a table" lists the latest 120 days.
    • A week that is not complete shows no count of new memories.
    • The project filter takes a typed name, not a pick from a list (the Projects page lists the names). The Projects list cannot be sorted. The context card names the session budget rather than showing its value.
  • GPU reranker:
    • It needs the Docker runtime, on the server's PC.
    • Tested on one NVIDIA RTX A2000 (Linux) and one AMD Radeon 890M (Linux). Intel GPUs, macOS and Windows are not tested.
  • Owner checks:
    • The short-lived native units created during install, start and restore are not checked.
    • On Windows, when neither schtasks nor the task's file can be read, the task is driven as before.
  • Python packages with a published advisory: filelock 3.20.3, on both runtimes, because litellm requires a version below 4.0 and no fixed version exists below 4.0; pyasn1 0.6.4 in the Docker image (native runs 0.6.5) (#130).
  • retain resend-failed: it does not cover notes and sub-agent reports sent while extraction failed (the queue drops them once sent). A transcript rewritten or moved after its worktree was deleted loses the project recorded for those turns, so the session is then filed by today's rules.
  • The metrics index: an index already in write-ahead mode whose folder no longer allows it fails its writes until the state directory is back on a local disk. stats days reads a year of prompts with no index for it (about 0.1 s locally).
  • Import: a file the server keeps rejecting holds that folder's next files until it passes. The last tick before a cap can overshoot it by what was already in flight. A file deleted from the folder stays in the memory until import purge.
  • Windows:
    • WSL is not tested, and Windows on Arm has no binary.
    • The native runtime is the only runtime there (server runtime switch is refused). It serves this PC only, has no web UI, and starts with your logon, not at boot.
    • backsight server status keeps showing the server's last refusal while it is stopped, until a start passes the check.
    • backsight's .exe files are not code-signed: SmartScreen or Smart App Control may warn about them. The install script checks the release signature before it runs anything.
  • A new install reads "learning" for its first week, and some numbers read "too few" until enough prompts and turns accumulate.
  • Extraction cost needs a price: the built-in table's, or one set under [llm] in the config file for another model (doctor's price check says when none is known). The server reports token counts for all PCs together.
  • On native, PostgreSQL is 18.1 with pgvector 0.8.5, where the Docker image runs 18.6 with 0.8.7; backup verify runs in the runtime that will restore.
  • Claude cannot run /reload-plugins: after an update from the session, you type it.
  • A LAN address carries the API key in clear; a tailnet address encrypts it.
  • The shared part of a session continued on two PCs may be stored twice.
  • Several PCs: a PC sends its figures once a UTC day, up to the day before, so another PC's today is not in all PCs until the next day; the others' figures are fetched every 6 hours. A PC counts in a window by the noon (UTC) of each of its days. The other PCs send no project, session or memory: Projects, Sessions and Memories stay this PC's, and a project filter does not narrow the others (other PCs: not filtered). The verdict stays this PC's. Speed across PCs is a range from time buckets, never an exact time, and the PCs' figures are trusted as sent: nothing signs them.

Report problems at https://github.com/Barben360/backsight/issues, after reading the diagnostic backsight report prints, or ask Claude /backsight:doctor. Report vulnerabilities privately, as https://github.com/Barben360/backsight/blob/main/SECURITY.md describes.