Conversation
The vector store moved into SQLite and the Mac got an app; the docs kept describing the world before both. The two worst were not stylistic: - TEAM_DEPLOYMENT told operators to back up /data/chroma, which since 0.13 is the frozen rollback tree. Following it produced a backup with no index in it. The live store is /data/vectors. - SETUP_MACOS_NATIVE opened with "for full Metal acceleration you must run cix-server natively", which cix.app has made false — it ships a Metal server and installs it without a toolchain. That doc is now explicitly the from-source path, and the app leads everywhere a Mac install is described. Numbers were being copied doc-to-doc rather than measured, so the same CPU image was ~21 MB, ~40 MB and ~100 MB in three files. Every size here is now read from the source: Docker Hub reports 81 MB (amd64) and 73 MB (arm64) for the CPU image and 1077 MB for CUDA; the GitHub release reports 37.2 MB for the macOS runtime and 3.9 MB for the DMG. Also: CONFIG_REFERENCE calls itself the authoritative list and was missing nine variables; RELEASES knew two of the three tag streams and had no procedure for cutting the third; DASHBOARD predated the Runtime settings / Resources split and named two pages by labels the sidebar no longer uses; UPDATES said cix does not self-update, which the app does; SEARCH_ALGORITHM promised a transaction spanning the vector store and the FTS mirror, which is not possible across two database files and never was. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…store The docs page introduced cix.app as "a second way in", after the installer section whose native mode it has replaced — so a Mac visitor was routed into a from-source build (Go, Node, Xcode CLT) to get a server the app installs for them. The install section now opens with the app and says which of the following steps it has already done. The Storage table still described CIX_CHROMA_PERSIST_DIR as the vector store and had no row for the store that actually holds the vectors. Adds CIX_VECTORS_DIR, CIX_VECTOR_MMAP_SIZE, CIX_BIND_ADDR and the database-maintenance variables, plus the three admin route groups shipped since (resources, database, schedules). The landing page never mentioned the app at all, and its only resource claim was about the model — nothing told a prospective self-hoster what memory to budget, which since 0.13 is the good news: tens of megabytes at idle whatever the index size. Folded into the existing card rather than added as a seventh, which would have left a hole in a grid of three. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Three doc comments justified their code by "the vector store is an in-memory database — chromem loads every document at startup and never evicts". That reason is gone, and each sat in a file whose neighbouring comments had already been corrected, so they read as contradictions: maintenance reclaims disk now, not RAM; VectorStoreUsage is a query rather than a free read of a process image; and Resources leads with system RSS precisely because the Go heap no longer describes the footprint. install-server.sh gets four informational lines on Apple Silicon. It still defaults to the from-source build there, and that default is unchanged — but announcing nothing about the app to someone who ran the one-liner is the same staleness this branch is removing from the docs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs: bring every surface back in line with 0.13 and the macOS app
The four screenshots on the site and in the README were taken on 2026-07-20, three weeks before the frontend rewrite landed. Every pixel of chrome in them is from a design system that no longer exists, in a walkthrough whose whole job is to show the reader what they are about to see on their own screen. Shot on a throwaway server built from this branch: an isolated data directory, an admin account at an example.com-style address, three synthetic ACME repositories written for the purpose, and a real index over them — 27 files, 109 chunks. Nothing is mocked; the search result is a genuine semantic hit at 0.61, and the memory figure is a genuine idle process. The server and its data were deleted afterwards, so the key visible in the "API key created" dialog is a credential to nothing, and the caption now says that rather than claiming a revocation nobody can verify. Two screens that never had a picture get one: the search page, next to the min-score table that explains its slider, and Server → Resources, next to the paragraph about it — that screen is where the 0.13 memory story is visible, and describing it in prose while showing nothing was the weaker half of this page. Captures are 2x of a 1280 CSS px viewport, downscaled to 1800 wide; the width/height attributes match the files exactly, so nothing reflows while they load. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The first pass ran on 21850 because 21847 was taken by a live server, so every screenshot carrying a host — the Home onboarding, the connect command in the "API key created" dialog, the footer — advertised a port that appears nowhere else in the documentation. A reader following the walkthrough would have had to wonder which of the two was wrong. Same server, same synthetic ACME index, same method; only the port differs. The API keys shot is 56 px taller, and its height attribute moves with it so the declared size still matches the file. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs(site): re-shoot the dashboard screenshots on the new design
The Mac app used to be a parenthetical inside a curl command written for Linux. It is now one of three tabs — macOS, Docker, Source — preselected by the visitor's platform, with the shared steps (index, agent, other machines) below them, since only the install differs. The macOS tab leads with a replica of the launcher panel playing a real first launch: the setup prompt, the runtime download, the credentials it hands you, the cold start, and then one setting changed in the order the app changes it — click, confirm, restart, new state. The markup and tokens are transcribed from cli/launcher/panel.html and the dialog wording from firstrun_darwin.go and menu_darwin.go, so it stays a picture of the app rather than an impression of it. Allow Network Access is the setting it demonstrates because it is the one whose effect the panel shows: the caption goes from "localhost only" to "reachable on your network". The download button resolves the current release itself. GitHub's /releases/latest/download shape cannot work here — "latest" on this repo is the server stream, which ships far more often, and the DMG filename carries its version — so the href is built from MAC_APP_VERSION and needs no JavaScript, and mac-release.js then upgrades it in the browser with the same query the app's own updater runs (cli/internal/release), falling back silently on a rate limit or an offline visitor. ci-site.yml now gates MAC_APP_VERSION against the newest mac/v* tag, because that static link is exactly what the fallback path serves and a stale constant is a 404. connect-src gains api.github.com for that lookup. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…-installation-tabs-eb66c7
…tabs-eb66c7 feat(site): Quick start as macOS / Docker / Source tabs, with a live download link
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promotion of #252 and #253 to
main.Publishing this deploys the site from
mainand updates theinstall-server.shthat the install one-liner serves raw frommain.What goes live
#252 — the words. Two shipped changes, the SQLite vector store (
server/v0.13.0) and cix.app, had never reached the documentation. The two that mattered most:doc/TEAM_DEPLOYMENT.mdtold operators to back up/data/chroma, which since 0.13 is the frozen rollback tree — the live vectors are in/data/vectors. Following it produced a backup with no index in it.doc/SETUP_MACOS_NATIVE.mdopened with "for full Metal acceleration you must run cix-server natively", which cix.app has made false. The app now leads every place a Mac install is described, and that doc is explicitly the from-source path.Plus: image sizes re-measured from Docker Hub and the GitHub releases API (the same CPU image was documented as ~21, ~40 and ~100 MB in three files; it is 81 MB), nine missing env vars in
CONFIG_REFERENCE.md, the third tag stream inRELEASES.md, the Runtime settings / Resources split inDASHBOARD.md, and three code comments that still justified their package with "the vector store is an in-memory database".#253 — the pictures. The four screenshots in the README and on the docs page predated the cream & ink rewrite. Re-shot on a throwaway server with a synthetic ACME index — real indexing, a real semantic hit, a real idle-memory figure — plus two new ones for the search page and Server → Resources.
Not included
site/src/shared/versions.jsis untouched: it already advertises the newest tags (server 0.13.0, CLI 0.10.2, mac 0.1.1), and policy is that the site may only claim an already-tagged release.🤖 Generated with Claude Code