█▀▀▀ █▀▀█  █  █▀▀▀ ▀▀█▀▀
█ ▀█ █▀▀   █  ▀▀▀█   █
▀▀▀▀ █ ▀█  █  ▀▀▀▀   ▀

[ the coding agent ]

It learns your repo.
Then it gets cheaper.

Grist maps the codebase, remembers what actually shipped, and only spends when the work is hard. SoL-Pi keeps every turn lean. You keep the files.

$ install
npm install -g grist-ai
grist

First grist prompts auth login. Invite required. No API key.

Apple Silicon Intel Mac

Local tree execution Prompt goes out. Source does not.

Learns your codebase · Self-improves · SoL-Pi inside · Invite-only beta

[ learns your codebase ]

It shows up already briefed.

Other agents start from zero every session. Grist mines the tree, ownership, and conventions from your own history. You stop pasting context. It already knows who owns the file.

[ self-improves ]

Every verified win makes the next task sharper.

Grist only remembers what you approved or what tests proved. The gate calibrates to your repo. Unreviewed noise never becomes knowledge.

[ SoL-Pi ]

Same quality. Fewer tokens. That’s SoL-Pi.

SoL-Pi sits in the harness, not in a cheaper model. Huge tool output gets packed. Edit and verify fuse into one move. Spend goes to judgment, not log spam.

Harness layer

ObservationPack

Handle plus excerpt. Full text stays on disk.

Turn compression

One call

Edit and verify fuse into a single move.

[ the gate ]

Frontier when it has to be. Cents when it doesn’t.

Most agents bill like every task is hard. Grist spends on difficulty, not habit. Routine edits stay cheap. The expensive rung is reserved for when it actually matters.

[ local ]

The repo never leaves the machine.

Tools run in your working tree. The prompt goes out. The source does not. We hold the key. You keep the files. We do not train on tester repos.

3 files · tests passed · $0.012

[ waitlist ]

No invite yet? Request access.

Beta is invite-only. Join the waitlist and we will send a code when there is room.

[ beta ]

Stop re-teaching the agent your codebase.

Invite-only. Inference included. Your code stays on your machine.

[ docs ]

Using Grist

Beta is invite-only. Inference is included. The CLI is the product — this page is how you get from an invite to a running agent.

Install

CLI (any OS):

npm install -g grist-ai
grist

The first grist run prompts to open grist auth login. Sign in with your invite. Completions will not run until you do.

macOS desktop: Apple Silicon · Intel. First launch opens login.

Sign in

grist auth login opens this site. Sign in with Google. The first time, enter the invite you were given. After the account exists, Google is enough — you do not enter the code again. The terminal polls until the site approves it. You do not paste an API key.

grist auth login

Usage, remaining spend, and the current plan live on the dashboard. Same account, same origin.

Start in a repo

Run Grist in the project you want changed. Tools execute on your machine.

cd /path/to/your-repo
grist init
grist bootstrap
grist

grist init scaffolds local state. grist bootstrap mines history (ownership, map) so the next session is not cold. Review .grist/bootstrap/ownership.jsonl before anything is persisted to memory. grist init --bootstrap runs both.

The gate

Each task is scored for difficulty and sensitivity, then routed to the cheapest capable rung. Underspecified work stays cheap instead of inventing scope. You do not pick a model. Logs look like [grist:gate] cheapest|medium|frontier.

Turn the gate off with GRIST_GATE=off (not recommended).

Memory

Grist persists only verified outcomes: tests that passed, a change you approved, or a correction you made. Unreviewed generations are not stored. Recall is retrieval from your own history — not a weight update.

Default backend is a local memory sidecar. File fallback: GRIST_MEMORY=file. Off: GRIST_MEMORY=off.

SoL-Pi

SoL-Pi is a harness-layer set of token cuts. ObservationPack replaces huge tool output with a handle plus a short excerpt (full text still on disk). Action Fusion edits and verifies in one call. Profiles:

GRIST_MECH=auto          # default
GRIST_MECH=efficiency    # pack + fuse
GRIST_MECH=performance   # full tool output, fuse still on
GRIST_MECH=off           # both off
GRIST_OBS_PACK=off       # pack only

Spend

Completions are metered against your invite cap. At the cap the CLI stops. The dashboard shows remaining USD, rung mix, and expiry. We hold the inference key. You never paste one. We do not train on tester repos.

[ sign in ]

Sign in

Sign in with Google. First time, enter your invite. After that, this account is enough.

or email

No invite yet? Request access

[ cli ]

You’re in.

Return to the terminal. This machine is authenticated.

Go to dashboard

[ beta ]

Usage

Plans

CLI


      

[ admin ]

Beta codes

Usage

Only codes you generate here can enter the beta. Testers bind one after they sign in.

[ pricing ]

Plans

Usage

Current

Beta

$5 included

Invite-gated. Stops at the cap. Sign in with Google; first time, bind your invite.

After beta

Subscription

TBD

Same dashboard, billed to you. Nothing to manage yet.