Generated banner for Distill
Generated logo for Distill

Distill

Memory framework

First committed by Siddhant-K-code

Published in Siddhant-K-code/distill. Publisher page

198 GitHub stars

What it is

Context intelligence layer for LLM agents: persistent memory with write-time dedup, sensitivity tagging, conflict detection, and hierarchical decay. ~12ms. No LLM calls. MIT.
— the description by Siddhant-K-code

AutoGineer overview, from the brain’s own files

Distill is a framework designed to serve as a context intelligence layer for LLM agents. It provides persistent memory capabilities, allowing agents to maintain context across sessions. The system includes features for deduplication, sensitivity tagging, conflict detection, and hierarchical decay of information. It is designed to integrate with various environments, including Claude Desktop and Cursor, via an MCP server, and provides REST API endpoints for broader agentic applications.

How it works

Memory model: Hybrid

AutoGineer overview, from the brain’s own files

Distill functions as a memory layer that manages agent context through a series of internal packages. It handles data ingestion, deduplication, and embedding to organize information. The system uses a memory model that supports persistent storage and retrieval, allowing agents to access relevant context. It includes tools for session management, token-budgeted context windows, and handoff capabilities for decision-to-documentation workflows.

Folders
FolderRoleFiles
.githubagent-config5
docsdocs17
examplesexamples4
pkgsource-code115
scriptsscripts5
toolsscripts2
cmdfolder34
grafanafolder1
internalfolder119
mcpfolder4
researchfolder105
testdatafolder27

Requirements

Apps: Docker

Runtimes: Go

Databases: Pinecone, Qdrant, Redis, SQLite, Weaviate

API keys (by name): COHERE_API_KEY, DISTILL_API_KEY, OPENAI_API_KEY, PINECONE_API_KEY

Works with: Claude apps

Set it up

  1. This brain runs code automatically: 1 script. Review Makefile before opening the folder in Claude Code. No step below turns a hook on for you.

    • Makefile: $(GO) install $(GOFLAGS) -ldflags "$(LDFLAGS)" .
  2. Not scanned by AutoGineerThe author’s MCP configuration (README.md) also starts it in a way AutoGineer does not offer. Read that file: AutoGineer did not scan that path; what it runs is listed under “This brain runs”. https://github.com/Siddhant-K-code/distill/blob/2417e00dabe498eb8187f4544f001d5a49fbdb45/README.md
  3. Not scanned by AutoGineerThe author’s README also describes installing it from a clone of its repository. Read its install section: AutoGineer did not scan that path. https://github.com/Siddhant-K-code/distill/blob/2417e00dabe498eb8187f4544f001d5a49fbdb45/README.md#go-install
  4. Not scanned by AutoGineerThe author’s README also describes installing it with go install. Read its install section: AutoGineer did not scan that path. https://github.com/Siddhant-K-code/distill/blob/2417e00dabe498eb8187f4544f001d5a49fbdb45/README.md#go-install
  5. First committed by Siddhant-K-code. Published in Siddhant-K-code/distill. Licence: MIT License.

Usage

AutoGineer overview, from the brain’s own files

  • Integrating persistent memory into LLM agent workflows.
  • Managing context windows across multiple agent sessions.
  • Implementing deduplication and sensitivity tagging for agent data.
  • Using the MCP server to connect agent memory to desktop clients.
  • Automating decision-to-documentation bundles via handoff capabilities.
“Retrieve the context from the last session regarding the project architecture.”
The agent accesses the persistent memory layer to provide the relevant architectural details stored in the previous session.
“Summarize the recent decisions made in the current development sprint.”
The agent uses the handoff capability to bundle and present the documented decisions stored within the system.

Documentation by Siddhant-K-code

Read the documentation at the source

docs/local-context-control-v2.md

Local context-control v2 operator contract

V2 is the separate prospective successor described in local-context-control-v1-status-and-v2-amendment.md. Do not run v1 again and do not execute v2 observations from an implementation or review checkout.

Portable offline package

make distill-local-context-control-v2

This prepares, validates, and summarizes the 14-base, 118-condition, 332-observation-per-model v2 package without network access or model execution.

Frozen v2 identities:

  • corpus: 222d1a4f021022fdb048f705bf01fd3001833f441fc2f800ad960c41a174ffdc

  • protocol: d1551d992e55c112b4e6e18fea5a018bdb360969947f2f4a45148a3ac50a1b27

  • contexts JSONL: d97859a33500b10453bef8869e43327ed1e33f981865e5e35dceaaaff1e0f707

  • schedule JSONL: 46ab21daf6d64eda431364cdf2c8e81cd5fce0d2dd38321a6dd5863e991edbf0

  • result schema: 3f98d5c5427f46192fbf4413d90119e32fc618bd00679a19a32a0d742196ac11

  • package manifest: c0ad25e2c16bb38bf80b1164696580367836248bcd4a9697d7e5e91b7a943f85

  • framing conformance receipt: d864b23a23ff10402bc44a9261b31903077f6f7915a2374db7c4e122caaedae3

Outcome-free v2 preparation history

Two private v2 preparations are classified NO_RUN and are not study results:

  1. The first stopped at readiness because Colima exceeded the frozen 1 GiB unrelated-process RSS bound.

  2. The second passed three host-readiness samples, then the adapter check rejected an eligible Go-produced HostSnapshot: the Go producer encoded empty heavy_processes and failures slices as null, while the strict Python binding requires concrete empty arrays. It failed with local-context-control-mlx-v2: AdapterError: host preflight binding mismatch.

Both events ended before authorization, attempt-ledger creation, model load, or inference. The failed adapter-check directory did not survive, and there is no model output or valid result to interpret.

Because no authorization, attempt, model load, observation, or outcome exists, the correction is an outcome-independent implementation amendment within v2, not a v3 protocol. The frozen scientific protocol and package identities above remain unchanged. Re-execution requires a newly reviewed and merged implementation commit/tree, a rebuilt runner, the corrected adapter hash, and fresh owner-only runtime and adapter-check records. The old private binary must not be reused or represented as execution-eligible. A v3 namespace would be required only for a scientific protocol, schedule, outcome, or authorization contract change.

Clean-main execution sequence

Use a separate, explicitly authorized session from the exact reviewed and merged origin/main commit.

  1. Build distill-local-context-control-v2 from clean merged main.

  2. Prepare and validate the v2 offline package from that checkout and retain its path. The package is an input and may be under the repository build directory; only the private output namespaces below must be external.

  3. Restore or reuse the exact pinned CPython/runtime tree and independently retained wheel-verification records. The full-tree identity is path-dependent and cannot be substituted by a new runtime at a different path; any fresh reconstruction must independently prove byte-identical custody.

  4. Build a fresh runner and write owner-only v2 model and runtime manifests from the corrected merged implementation. Do not reuse the old private binary.

  5. Run preflight; any frozen host eligibility failure blocks execution.

  6. Choose absent, absolute, owner-private adapter-check, authorization, and run namespaces. They must be distinct and outside the repository, model, and runtime trees.

  7. Run adapter-check with the reviewed commit/tree and an expiry no more than two hours after check start. It must finish with zero model loads.

  8. Run authorize with the successful adapter-check directory and this exact acknowledgement:

I authorize only the pinned local 4B v2 development/calibration schedule with zero network access, zero cloud spend, and no scaling control.
  1. Run the exact run command once. The runner repeats pre-load validation, consumes the ledger only after the adapter preload handshake, and then issues the explicit load command.

  2. Preserve all private records under independent custody. Verify and summarize in a separate result-review session.

There is no retry flag. Any consumed failure is terminal and must remain preserved. No TypeSafe/AgentTrace held-out, provider, cloud, network, or scaling access is authorized.

Public aggregate result

The completed amendment-1 study produced a valid negative result. The public result report and canonical aggregate record publish aggregate values and public hashes only.

Validate the public package with:

go run ./cmd/distill-local-context-control-v2 validate-public \
  --input research/context-is-a-build-artifact
457 files · 445 not served here

Advantages

Limitations

Security

Risk level: No risk found

This brain runs

Install scripts (1)

  • Makefile (make install): $(GO) install $(GOFLAGS) -ldflags "$(LDFLAGS)" .

MCP servers (1)

  • README.md (distill): /path/to/distill mcp --memory --session

Attribution and licence

First committed by
GitHub avatar of Siddhant-K-codeSiddhant-K-code
Publisher
Siddhant Khare (Community)
Source
Siddhant-K-code/distill · commit 2417e00
Licence
MIT License (files served here)
  • ATTRIBUTION.md (written by AutoGineer)
Synced
Contributors
Siddhant-K-code

AutoGineer is not affiliated with or endorsed by Siddhant-K-code.

Install from source

445 of its files are not served here, so there is no ZIP. Siddhant-K-code/distill at 2417e00