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-v1.md

Local context-control operator contract

This harness prepares and verifies a provider-independent local-model development/calibration study. It is separate from the frozen TypeSafe final study and excludes all held-out AgentTrace records.

Offline package

make distill-local-context-control

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

Execution prerequisites

Execution is intentionally blocked until this implementation is merged and a clean execution session starts from the exact merged main commit.

  1. Recreate a fresh CPython 3.13.15 runtime with the exact 34 frozen distributions. Do not reuse the retired runtime identity documented in the preregistration.

  2. Build distill-local-context-control from clean merged main.

  3. Create an owner-only model manifest with model-manifest.

  4. Create an owner-only full-tree runtime manifest with runtime-manifest. Pass the private venv-tree manifest, base-CPython-tree manifest, and wheel verification record plus the externally reviewed merged commit and tree. The Go executable authenticates the clean repository, adapter blob, runtime trees, and its own build provenance before Python executes. This command is deny-networked and uses -I -B.

  5. Run preflight. Any unrelated process at or above 1 GiB RSS blocks execution.

  6. Run authorize with the exact acknowledgement printed below. Authorization binds the executable, adapter, merged commit, package, model, fresh runtime, and an absent private output namespace. Pass the exact externally reviewed merged commit and tree IDs; a locally discovered moving ref is insufficient.

  7. Run the exact run command once. There is no retry flag. Do not fetch, check out, or modify the repository until completion.json is durably written; post-run verification intentionally requires the same clean origin/main, HEAD, source tree, adapter, and executable identities.

  8. Use verify-results and summarize-results in a separate result session.

Exact acknowledgement:

I authorize only the pinned local 4B development/calibration schedule with zero network access, zero cloud spend, and no scaling control.

The model, runtime, authorization, and run paths must be absolute private paths outside the repository. Never commit them. The runner refuses a dirty or unmerged checkout, a changed runtime tree, bytecode/startup hooks, model manifest drift, an existing output namespace, network-capable execution, host identity drift, memory pressure, swap/disk/RSS limit failures, missing receipts, or process cleanup failure.

Authorization is path-bound and permits one attempt while its ledger remains under append-only custody. The runner locks one no-follow file descriptor, validates that the directory entry still names the same owner-only inode, appends and syncs the sole attempt before model load, revalidates the inode, and syncs the parent directory. If startup, integrity, resource, timeout, or adapter failure follows, the private run namespace is preserved with aborted.json; that authorization cannot be reused. Recovery requires a newly reviewed authorization and a fresh output namespace. Never delete or move an unfavorable attempt to rerun it.

An offline file cannot cryptographically prevent its owner from restoring a prior filesystem snapshot. Such rollback is outside the executable's threat model and invalidates the study. Independent custody must retain the authorization ledger and run namespace from before model load through result review; public results must disclose the custody record rather than claiming malicious-owner rollback resistance.

If result verification fails, verify-results and summarize-results exit non-zero and emit no result summary. That hard error is the prospective invalid outcome; invalid is not serialized as a successful summary field.

run performs the 332 real observations and therefore must not be called from this implementation PR.

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