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.
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.
| Folder | Role | Files |
|---|---|---|
| .github | agent-config | 5 |
| docs | docs | 17 |
| examples | examples | 4 |
| pkg | source-code | 115 |
| scripts | scripts | 5 |
| tools | scripts | 2 |
| cmd | folder | 34 |
| grafana | folder | 1 |
| internal | folder | 119 |
| mcp | folder | 4 |
| research | folder | 105 |
| testdata | folder | 27 |
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
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)" .
- 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
- 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
- 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
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/distill-lock-v0.md
Distill Lock v0
Status: frozen specification for schema distill-lock/v0.
Distill Lock treats context as a build artifact. Its guarantee is:
Same locked sources + same configuration + same supported runtime/tool identities produce byte-identical context bundle, manifests, and digests.
This is a deterministic envelope around later probabilistic systems. It does not make model, provider, retrieval, agent, or network behavior deterministic. Distill Lock performs no model or network calls.
Scope and identities
The v0 tool identity is github.com/Siddhant-K-code/distill/distill-lock-v0
and the supported runtime identity is go1.24-go1.26. Lock, build, and verify
reject binaries built with other Go runtime versions. Portable artifacts bind
those identities plus these independently versioned algorithms:
| Concern | Identity |
|---|---|
| Canonicalization | utf8-nfc-lf-v1 |
| Chunking | utf8-fixed-bytes-v1 |
| Token estimation | utf8-bytes-div4-ceil-v1 |
| Exact deduplication | sha256-normalized-exact-v1 |
| Selection | lexical-budget-v1 |
| Bundle rendering | markdown-bundle-v1 |
| Canonical JSON | go-struct-json-indent-v1 |
These identities are compatibility boundaries. An implementation change that can alter portable bytes requires a new identity or schema.
Configuration
The input is canonical JSON with schema distill-lock/config/v0:
{
"schema_version": "distill-lock/config/v0",
"source_root": "sources",
"sources": [
"docs/overview.md",
"src/example.go"
],
"exclude": [
"notes/ignored.txt"
],
"chunk_bytes": 4096,
"token_budget": 8192,
"metadata_removal": "none"
}Unknown or duplicate JSON fields, non-canonical serialization, unsupported
schema values, non-integer or out-of-range numbers, and trailing data are
errors. source_root, sources, and exclude contain normalized relative
POSIX paths only. Absolute paths, empty segments, ., .., backslashes,
NUL/control bytes, and duplicate canonical paths are rejected. sources and
exclude must be disjoint. Configuration paths resolve relative to the
configuration file. The lockfile output directory must be a strict ancestor of
the source root so its recorded source_root remains a non-traversing relative
POSIX path and the lockfile cannot become a source input.
sources is an explicit allowlist. Every regular file under source_root is
inventoried: listed source paths are candidates, listed exclusions receive the
reason configured_exclusion, and all other files receive not_listed.
Missing configured paths are errors. A later new file is therefore observable
drift rather than an implicit input.
chunk_bytes is in the range 1..1048576. token_budget is a non-negative
integer. metadata_removal is fixed to none in v0; no metadata is removed.
Source identity and filesystem rules
The source root identity in portable artifacts is its relative POSIX path from the lockfile directory. Each inventory entry records:
normalized relative POSIX path;
original byte SHA-256 and original byte length;
normalized-content SHA-256 and normalized byte length;
configured inclusion state and its explicit reason.
Enumeration order from the filesystem is irrelevant. Entries are sorted by normalized relative path using bytewise UTF-8 lexical order. Path, normalized byte range, then digest are the deterministic chunk and selection tie-breakers.
Portable artifacts never contain absolute paths, cwd, timestamps, hostname, username, inode, permissions, environment variables, or other machine-specific values.
Only regular files with supported text/code names or extensions are accepted. Directories are traversed. Devices, sockets, FIFOs, and other special files are rejected. V0 rejects every symbolic link, including an in-root target, rather than depending on platform-specific link resolution. An escaping symlink therefore also fails closed. Hard-linked regular files are treated as separate paths and exact-content deduplication handles them normally.
The source, configuration, lockfile, output, and staging paths form a local trust boundary. Every directory component is inspected without following links; any symlink component is rejected. Ancestors and source directories must be owned by the current user or root and must not be group/world writable unless the directory has the sticky bit. Source/config/lock files must not be group/world writable. On Linux, ACL entries granting effective mutation rights to principals other than root or the current UID are rejected; POSIX ACL masks are applied before that decision and replace the group mode-bit interpretation. On macOS, v0 conservatively rejects every write-capable permit ACE because resolving arbitrary ACL GUID principals is not available in the CGO-free build. Inherited ACLs on staging outputs therefore fail closed when they grant mutation. These checks prevent another OS principal from swapping a validated path before it is read or published. Processes running as the same OS user are trusted; v0 is not a same-account sandbox.
Supported extensions are .bash, .c, .cc, .cfg, .conf, .cpp, .cs,
.css, .csv, .go, .graphql, .h, .hpp, .html, .ini, .java,
.js, .jsx, .json, .md, .php, .proto, .py, .rb, .rs, .scss,
.sh, .sql, .toml, .ts, .tsx, .txt, .xml, .yaml, .yml, and
.zsh. Extensionless text files are supported. Other types are rejected, not
silently skipped or rewritten.
Canonicalization
Each original file must be valid UTF-8 and contain no NUL byte. Invalid or binary input is an explicit error, whether selected or excluded.
Canonicalization is exactly:
decode valid UTF-8;
normalize Unicode to NFC;
replace CRLF with LF, then remaining CR with LF.
No other transformation occurs. Leading, trailing, and interior whitespace is meaningful and preserved. Final-newline presence or absence is preserved. Binary files are never decoded with replacement characters. Original and normalized hashes remain separate, so LF, CRLF, and CR originals may share a normalized identity while retaining distinct source identities.
Chunking, exact deduplication, and selection
V0 does not reuse Distill's semantic embedding/clustering pipeline. That existing functionality remains unchanged. Lock v0 deliberately performs exact duplicate removal only: no embeddings, semantic similarity, near-duplicate logic, vector database, or model call.
Normalized files are split into consecutive chunks of at most chunk_bytes
bytes. A boundary backs up to the start of a UTF-8 code point, so chunks are
valid UTF-8; if one code point exceeds the configured limit, that code point is
the chunk. Empty files produce one zero-length chunk. Each chunk records its
normalized half-open byte range, SHA-256, estimated tokens, selection state,
and explicit reason.
The token estimate is ceil(normalized UTF-8 byte length / 4), with an empty
chunk costing zero. Candidates are ordered by path, start byte, end byte, then
digest. For an identical chunk digest and byte length, the first candidate is
selected as the representative and later candidates receive
exact_duplicate_of:<path>:<start>-<end>. Remaining unique chunks are selected
in order while their complete token count fits the remaining budget; later
chunks receive token_budget_exceeded. Chunks are never partially selected.
Every source and chunk has an inclusion/exclusion reason.
Portable outputs
distill build atomically publishes a fresh directory containing exactly:
context.bundle.md
context.lock.json
context.manifest.json
SHA256SUMScontext.lock.json is the canonical input lockfile copied byte-for-byte.
context.bundle.md is rendered by markdown-bundle-v1 in selected chunk
order. It includes deterministic chunk headers and the exact normalized chunk
bytes; wrapper newlines do not alter the chunk identities recorded in the
manifest.
context.manifest.json binds:
schema and all algorithm/tool/runtime identities;
configuration digest;
lockfile digest;
complete source inventory and normalized identities;
every chunk identity, byte range, token count, order, selection state, and reason;
bundle byte length and SHA-256;
aggregate source, duplicate, selected, and token facts.
The manifest intentionally does not hash itself. SHA256SUMS contains lowercase
SHA-256 and byte length for context.bundle.md, context.lock.json, and
context.manifest.json, sorted by filename. This avoids self-referential
hashes while binding every other output.
Canonical JSON
All v0 JSON is UTF-8 without a BOM, uses the frozen struct field order, two-space
indentation, no insignificant trailing spaces, and exactly one LF after the
final }. Object keys therefore appear in schema order; arrays retain their
specified deterministic order. Strings use Go encoding/json escaping with
HTML escaping disabled. Only bounded base-10 integers are permitted; floats,
exponents, NaN, and infinities are absent. Unknown fields are errors. A JSON
artifact is canonical only when strict decoding followed by v0 encoding
reproduces its bytes exactly.
Commands and failure behavior
distill lock <config> --output <lockfile>
distill build <lockfile> --output <directory>
distill verify <directory>
distill verify <directory> --expected-lock-sha256 <trusted-digest>lockresolves the configuration, validates and freezes the complete source inventory, canonicalizes and chunks candidates, performs exact deduplication and budget selection, then atomically writes a new lockfile. The output may not overwrite the configuration. It performs no network or model call.buildstrictly re-reads every source under the recorded root and refuses missing, changed, unsupported, duplicate, unsafe, or newly unexpected input; configuration, tool, runtime, and algorithm identities must still match. It never relocks. Output must be a safe, nonexistent directory outside the source root. Files are written with ordinary portable permissions to a sibling temporary directory, synchronized, and published with the native atomic no-replace rename (renameat2(RENAME_NOREPLACE)on Linux orrenamex_np(RENAME_EXCL)on macOS) only after all hashes are complete. The staging directory is verified against the intended lock digest before publication. Publication is the final commit point, so failure or interruption before that point cannot replace or leave a success-shaped destination. The parent directory is synchronized after publication. A rare post-publication sync failure returns a distinctpublished but durability unconfirmederror naming the committed path; callers must verify that path rather than retrying blindly.verifyis standalone and offline. It reads only the output directory and validates the exact allowlisted file set, regular-file/no-symlink rules, schemas and identities, canonical JSON, every recorded hash and length, configuration/lock/manifest/source/chunk/bundle relationships, exact bundle regeneration, andSHA256SUMS. Unexpected files or any mismatch fail. By itself this proves consistency, not authenticity: when the directory may be attacker-replaceable,--expected-lock-sha256must supply a lowercase SHA-256 obtained through a trusted out-of-band channel. That trusted lock anchors selected chunk identities and therefore the regenerated bundle.
All failures return nonzero with a specific error. There are no warnings that substitute for required validation, silent skips, automatic relocking, success-shaped fallbacks, or environment-derived configuration.
Non-goals
V0 is not semantic deduplication, a vector database, an agent framework, a model adapter, decision replay, a dashboard, or a guarantee of deterministic model output. It neither integrates Jev nor calls a provider.
Roadmap research may use the working article title: Context should be a build artifact, not a prompt assembled at runtime. The article itself is outside v0.
457 files · 445 not served here
- .github/FUNDING.yml (not served here)
- .github/dependabot.yml (not served here)
- .github/workflows/ci.yml (not served here)
- .github/workflows/docker.yml (not served here)
- .github/workflows/release.yml (not served here)
- .gitignore (not served here)
- .golangci.yml (not served here)
- .goreleaser.yml (not served here)
- .mailmap (not served here)
- ATTRIBUTION.md
- AUTOGINEER-RUNS.md
- CHANGELOG.md
- Dockerfile (not served here)
- FAQ.md (not served here)
- LICENSE
- Makefile (not served here)
- README.md (not served here)
- cmd/analyze.go (not served here)
- cmd/api.go (not served here)
- cmd/api_memory.go (not served here)
- cmd/api_pipeline.go (not served here)
- cmd/api_session.go (not served here)
- cmd/api_test.go (not served here)
- cmd/build.go (not served here)
- cmd/completion.go (not served here)
- cmd/config.go (not served here)
- cmd/distill-jev-final/main.go (not served here)
- cmd/distill-jev-final/main_test.go (not served here)
- cmd/distill-jev-pilot/main.go (not served here)
- cmd/distill-jev-pilot/main_test.go (not served here)
- cmd/distill-local-context-control-v2/main.go (not served here)
- cmd/distill-local-context-control-v2/main_test.go (not served here)
- cmd/distill-local-context-control/main.go (not served here)
- cmd/distill-local-context-control/main_test.go (not served here)
- cmd/distill-typesafe-jev-pilot/main.go (not served here)
- cmd/distill-typesafe-jev-pilot/main_test.go (not served here)
- cmd/handoff.go (not served here)
- cmd/handoff_test.go (not served here)
- cmd/lock.go (not served here)
- cmd/mcp.go (not served here)
- cmd/mcp_memory.go (not served here)
- cmd/mcp_session.go (not served here)
- cmd/memory.go (not served here)
- cmd/openapi.yaml (not served here)
- cmd/pipeline.go (not served here)
- cmd/query.go (not served here)
- cmd/root.go (not served here)
- cmd/serve.go (not served here)
- cmd/session.go (not served here)
- cmd/sync.go (not served here)
- cmd/verify.go (not served here)
- docker-compose.yml (not served here)
- docs/README.md
- docs/distill-lock-v0.md
- docs/examples/langchain.md (not served here)
- docs/examples/rag-pipeline.md (not served here)
- docs/guides/deployment.md (not served here)
- docs/guides/getting-started.md (not served here)
- docs/guides/mcp.md (not served here)
- docs/guides/memory.md (not served here)
- docs/guides/sessions.md (not served here)
- docs/handoff-dogfood-pr-112.md
- docs/handoff-pilot-kit.md
- docs/handoff-v0.md
- docs/local-context-control-v1-status-and-v2-amendment.md
- docs/local-context-control-v1.md
- docs/local-context-control-v2.md
- docs/reference/api.md (not served here)
- docs/reference/configuration.md (not served here)
- examples/analyze_vectors.sh (not served here)
- examples/basic_api.sh (not served here)
- examples/session_api.sh (not served here)
- examples/with_pinecone.sh (not served here)
- fly.toml (not served here)
- go.mod (not served here)
- go.sum (not served here)
- grafana/dashboard.json (not served here)
- internal/artifact/acl_darwin.go (not served here)
- internal/artifact/acl_darwin_test.go (not served here)
- internal/artifact/acl_linux.go (not served here)
- internal/artifact/acl_linux_test.go (not served here)
- internal/artifact/acl_unsupported.go (not served here)
- internal/artifact/canonical.go (not served here)
- internal/artifact/filesystem.go (not served here)
- internal/artifact/ownership_unix.go (not served here)
- internal/artifact/ownership_unsupported.go (not served here)
- internal/artifact/publish.go (not served here)
- internal/artifact/publish_test.go (not served here)
- internal/artifact/rename_noreplace_darwin.go (not served here)
- internal/artifact/rename_noreplace_linux.go (not served here)
- internal/artifact/rename_noreplace_unsupported.go (not served here)
- internal/jevpilot/canonical.go (not served here)
- internal/jevpilot/client.go (not served here)
- internal/jevpilot/jevpilot_test.go (not served here)
- internal/jevpilot/package.go (not served here)
- internal/jevpilot/prepare.go (not served here)
- internal/jevpilot/receipt.go (not served here)
- internal/jevpilot/runner.go (not served here)
- internal/jevpilot/types.go (not served here)
- internal/studyfinal/analysis.go (not served here)
- internal/studyfinal/authorization.go (not served here)
- internal/studyfinal/canonical.go (not served here)
- internal/studyfinal/canonical_test.go (not served here)
- internal/studyfinal/contamination.go (not served here)
- internal/studyfinal/corpus.go (not served here)
- internal/studyfinal/corpus_test.go (not served here)
- internal/studyfinal/custody.go (not served here)
- internal/studyfinal/decision.go (not served here)
- internal/studyfinal/decision_analysis_test.go (not served here)
- internal/studyfinal/gates.go (not served here)
- internal/studyfinal/ledger.go (not served here)
- internal/studyfinal/ledger_lock_unix.go (not served here)
- internal/studyfinal/ledger_lock_unsupported.go (not served here)
- internal/studyfinal/manifest.go (not served here)
- internal/studyfinal/ownership_unix.go (not served here)
- internal/studyfinal/ownership_unsupported.go (not served here)
- internal/studyfinal/package.go (not served here)
- internal/studyfinal/receipt_schema.go (not served here)
- internal/studyfinal/rename_noreplace_darwin.go (not served here)
- internal/studyfinal/rename_noreplace_linux.go (not served here)
- internal/studyfinal/rename_noreplace_unsupported.go (not served here)
- internal/studyfinal/runner.go (not served here)
- internal/studyfinal/runner_package_test.go (not served here)
- internal/studyfinal/schedule.go (not served here)
- internal/studyfinal/schedule_test.go (not served here)
- internal/studyfinal/security_regression_test.go (not served here)
- internal/studyfinal/types.go (not served here)
- internal/studylocal/adapter.go (not served here)
- internal/studylocal/authorization.go (not served here)
- internal/studylocal/canonical.go (not served here)
- internal/studylocal/context.go (not served here)
- internal/studylocal/corpus.go (not served here)
- internal/studylocal/fs_owner_root_unix.go (not served here)
- internal/studylocal/fs_owner_root_unsupported.go (not served here)
- internal/studylocal/fs_owner_unix.go (not served here)
- internal/studylocal/fs_owner_unsupported.go (not served here)
- internal/studylocal/model.go (not served here)
- internal/studylocal/offline_test.go (not served here)
- internal/studylocal/package.go (not served here)
- internal/studylocal/preflight.go (not served here)
- internal/studylocal/projection.go (not served here)
- internal/studylocal/protocol.go (not served here)
- internal/studylocal/rename_noreplace_darwin.go (not served here)
- internal/studylocal/rename_noreplace_linux.go (not served here)
- internal/studylocal/rename_noreplace_unsupported.go (not served here)
- internal/studylocal/results.go (not served here)
- internal/studylocal/runner.go (not served here)
- internal/studylocal/runtime_manifest.go (not served here)
- internal/studylocal/runtime_test.go (not served here)
- internal/studylocal/runtime_tree.go (not served here)
- internal/studylocal/schedule.go (not served here)
- internal/studylocal/types.go (not served here)
- internal/studylocalv2/adapter.go (not served here)
- internal/studylocalv2/adapter_check.go (not served here)
- internal/studylocalv2/authorization.go (not served here)
- internal/studylocalv2/canonical.go (not served here)
- internal/studylocalv2/context.go (not served here)
- internal/studylocalv2/corpus.go (not served here)
- internal/studylocalv2/framing.go (not served here)
- internal/studylocalv2/fs_owner_unix.go (not served here)
- internal/studylocalv2/fs_owner_unsupported.go (not served here)
- internal/studylocalv2/known_answers.go (not served here)
- internal/studylocalv2/model.go (not served here)
- internal/studylocalv2/offline_test.go (not served here)
- internal/studylocalv2/package.go (not served here)
- internal/studylocalv2/preflight.go (not served here)
- internal/studylocalv2/projection.go (not served here)
- internal/studylocalv2/protocol.go (not served here)
- internal/studylocalv2/public_result.go (not served here)
- internal/studylocalv2/public_result_test.go (not served here)
- internal/studylocalv2/rename_noreplace_darwin.go (not served here)
- internal/studylocalv2/rename_noreplace_linux.go (not served here)
- internal/studylocalv2/rename_noreplace_unsupported.go (not served here)
- internal/studylocalv2/results.go (not served here)
- internal/studylocalv2/runner.go (not served here)
- internal/studylocalv2/runtime_manifest.go (not served here)
- internal/studylocalv2/runtime_test.go (not served here)
- internal/studylocalv2/schedule.go (not served here)
- internal/studylocalv2/types.go (not served here)
- internal/studypilot/acl_darwin.go (not served here)
- internal/studypilot/acl_linux.go (not served here)
- internal/studypilot/artifacts.go (not served here)
- internal/studypilot/artifacts_test.go (not served here)
- internal/studypilot/canonical.go (not served here)
- internal/studypilot/corpus.go (not served here)
- internal/studypilot/policy.go (not served here)
- internal/studypilot/receipt.go (not served here)
- internal/studypilot/receipt_test.go (not served here)
- internal/studypilot/rename_noreplace_darwin.go (not served here)
- internal/studypilot/rename_noreplace_linux.go (not served here)
- internal/studypilot/rename_noreplace_unsupported.go (not served here)
- internal/studypilot/safe_fs_unix.go (not served here)
- internal/studypilot/safe_fs_unsupported.go (not served here)
- internal/studypilot/security_test.go (not served here)
- internal/studypilot/types.go (not served here)
- internal/studypilot/validate.go (not served here)
- main.go (not served here)
- mcp/README.md (not served here)
- mcp/claude_desktop_config.example.json (not served here)
- mcp/claude_desktop_config_full.example.json (not served here)
- mcp/claude_desktop_config_with_vectordb.example.json (not served here)
- openapi.yaml (not served here)
- pkg/batch/batch.go (not served here)
- pkg/batch/batch_test.go (not served here)
- pkg/cache/cache.go (not served here)
- pkg/cache/cache_test.go (not served here)
- pkg/cache/memory.go (not served here)
- pkg/cache/patterns.go (not served here)
- pkg/cache/prefix.go (not served here)
- pkg/cache/prefix_test.go (not served here)
- pkg/cache/redis.go (not served here)
- pkg/cache/stability.go (not served here)
- pkg/cache/stability_test.go (not served here)
- pkg/cache/ttl.go (not served here)
- pkg/cache/ttl_test.go (not served here)
- pkg/commits/commits.go (not served here)
- pkg/commits/commits_test.go (not served here)
- pkg/compress/bench_test.go (not served here)
- pkg/compress/compress.go (not served here)
- pkg/compress/compress_test.go (not served here)
- pkg/compress/extractive.go (not served here)
- pkg/compress/placeholder.go (not served here)
- pkg/compress/pruner.go (not served here)
- pkg/config/config.go (not served here)
- pkg/config/config_test.go (not served here)
- pkg/contextlab/bench_test.go (not served here)
- pkg/contextlab/broker.go (not served here)
- pkg/contextlab/cluster.go (not served here)
- pkg/contextlab/mmr.go (not served here)
- pkg/contextlab/selector.go (not served here)
- pkg/dedup/kmeans.go (not served here)
- pkg/embedding/cohere/client.go (not served here)
- pkg/embedding/cohere/register.go (not served here)
- pkg/embedding/interface.go (not served here)
- pkg/embedding/ollama/client.go (not served here)
- pkg/embedding/ollama/client_test.go (not served here)
- pkg/embedding/ollama/register.go (not served here)
- pkg/embedding/openai/client.go (not served here)
- pkg/embedding/openai/register.go (not served here)
- pkg/embedding/registry.go (not served here)
- pkg/embedding/registry_test.go (not served here)
- pkg/graph/builder.go (not served here)
- pkg/graph/graph.go (not served here)
- pkg/graph/graph_test.go (not served here)
- pkg/handoff/assets.go (not served here)
- pkg/handoff/handoff_test.go (not served here)
- pkg/handoff/patch.go (not served here)
- pkg/handoff/patch_test.go (not served here)
- pkg/handoff/prepare.go (not served here)
- pkg/handoff/proposal.go (not served here)
- pkg/handoff/proposal.schema.json (not served here)
- pkg/handoff/render.go (not served here)
- pkg/handoff/request.go (not served here)
- pkg/handoff/types.go (not served here)
- pkg/handoff/validation.go (not served here)
- pkg/handoff/verify.go (not served here)
- pkg/ingest/pipeline.go (not served here)
- pkg/lock/acl_darwin.go (not served here)
- pkg/lock/acl_darwin_test.go (not served here)
- pkg/lock/acl_linux.go (not served here)
- pkg/lock/acl_linux_test.go (not served here)
- pkg/lock/acl_unsupported.go (not served here)
- pkg/lock/build.go (not served here)
- pkg/lock/canonical.go (not served here)
- pkg/lock/config.go (not served here)
- pkg/lock/filesystem.go (not served here)
- pkg/lock/invalid_path_linux_test.go (not served here)
- pkg/lock/lock.go (not served here)
- pkg/lock/lock_test.go (not served here)
- pkg/lock/ownership_unix.go (not served here)
- pkg/lock/ownership_unsupported.go (not served here)
- pkg/lock/rename_noreplace_darwin.go (not served here)
- pkg/lock/rename_noreplace_linux.go (not served here)
- pkg/lock/rename_noreplace_unsupported.go (not served here)
- pkg/lock/runtime.go (not served here)
- pkg/lock/types.go (not served here)
- pkg/lock/validate.go (not served here)
- pkg/lock/verify.go (not served here)
- pkg/logging/logging.go (not served here)
- pkg/logging/logging_test.go (not served here)
- pkg/math/simd.go (not served here)
- pkg/memory/cache_events.go (not served here)
- pkg/memory/conflict_test.go (not served here)
- pkg/memory/decay.go (not served here)
- pkg/memory/expiry_test.go (not served here)
- pkg/memory/helpers.go (not served here)
- pkg/memory/memory_test.go (not served here)
- pkg/memory/relevance_test.go (not served here)
- pkg/memory/sensitivity_test.go (not served here)
- pkg/memory/sqlite.go (not served here)
- pkg/memory/store.go (not served here)
- pkg/metrics/callsite.go (not served here)
- pkg/metrics/callsite_test.go (not served here)
- pkg/metrics/metrics.go (not served here)
- pkg/metrics/metrics_test.go (not served here)
- pkg/pinecone/client.go (not served here)
- pkg/pipeline/pipeline.go (not served here)
- pkg/pipeline/pipeline_test.go (not served here)
- pkg/retriever/interface.go (not served here)
- pkg/retriever/pinecone/client.go (not served here)
- pkg/retriever/qdrant/client.go (not served here)
- pkg/sensitivity/sensitivity.go (not served here)
- pkg/sensitivity/sensitivity_test.go (not served here)
- pkg/session/cache_boundary.go (not served here)
- pkg/session/session.go (not served here)
- pkg/session/session_test.go (not served here)
- pkg/session/sqlite.go (not served here)
- pkg/sse/sse.go (not served here)
- pkg/sse/sse_test.go (not served here)
- pkg/summarize/hierarchy.go (not served here)
- pkg/summarize/importance.go (not served here)
- pkg/summarize/summarize.go (not served here)
- pkg/summarize/summarize_test.go (not served here)
- pkg/telemetry/telemetry.go (not served here)
- pkg/telemetry/telemetry_test.go (not served here)
- pkg/types/chunk.go (not served here)
- pkg/types/vector.go (not served here)
- render.yaml (not served here)
- research/context-is-a-build-artifact/README.md (not served here)
- research/context-is-a-build-artifact/final-amendment-v1.json (not served here)
- research/context-is-a-build-artifact/final-amendment-v1.md (not served here)
- research/context-is-a-build-artifact/final-contamination-ledger-v1.md (not served here)
- research/context-is-a-build-artifact/final-external-gates-v1.md (not served here)
- research/context-is-a-build-artifact/final-external-gates-v2.md (not served here)
- research/context-is-a-build-artifact/final-receipt-schema-v1.json (not served here)
- research/context-is-a-build-artifact/final-source-registry-v1.json (not served here)
- research/context-is-a-build-artifact/local-control-amendment-v1.md (not served here)
- research/context-is-a-build-artifact/local-control-preregistration-v1.md (not served here)
- research/context-is-a-build-artifact/local-control-preregistration-v2.md (not served here)
- research/context-is-a-build-artifact/local-control-public-aggregate-v1.json (not served here)
- research/context-is-a-build-artifact/local-control-public-evidence-v1.SHA256SUMS (not served here)
- research/context-is-a-build-artifact/local-control-result-schema-v1.json (not served here)
- research/context-is-a-build-artifact/local-control-result-schema-v2.json (not served here)
- research/context-is-a-build-artifact/local-control-result-v2.md (not served here)
- research/context-is-a-build-artifact/pilot-protocol-v1.md (not served here)
- research/context-is-a-build-artifact/pilot-schema.json (not served here)
- research/context-is-a-build-artifact/pilot/README.md (not served here)
- research/context-is-a-build-artifact/preregistration.md (not served here)
- research/context-is-a-build-artifact/receipt-validation.md (not served here)
- research/context-is-a-build-artifact/related-work.md (not served here)
- research/context-is-a-build-artifact/schema.go (not served here)
- research/context-is-a-build-artifact/typesafe-jev-provider-v1.md (not served here)
- research/handoff-capability-control/README.md (not served here)
- research/handoff-capability-control/prompt.txt (not served here)
- research/handoff-capability-control/proposals/negative-1.json (not served here)
- research/handoff-capability-control/proposals/negative-2.json (not served here)
- research/handoff-capability-control/proposals/negative-3.json (not served here)
- research/handoff-capability-control/proposals/positive-1.json (not served here)
- research/handoff-capability-control/proposals/positive-3.json (not served here)
- research/handoff-capability-control/protocol.md (not served here)
- research/handoff-capability-control/responses/positive-1.json (not served here)
- research/handoff-capability-control/responses/positive-3.json (not served here)
- research/handoff-capability-control/results.json (not served here)
- research/handoff-repeatability-pr-112/README.md (not served here)
- research/handoff-repeatability-pr-112/proposals/copilot-gpt-5.6-sol-run-1.json (not served here)
- research/handoff-repeatability-pr-112/proposals/copilot-gpt-5.6-sol-run-2.json (not served here)
- research/handoff-repeatability-pr-112/proposals/copilot-gpt-5.6-sol-run-3.json (not served here)
- research/handoff-repeatability-pr-112/protocol.md (not served here)
- research/handoff-repeatability-pr-112/results.json (not served here)
- research/handoff-semantic-draft-compiler/README.md (not served here)
- research/handoff-semantic-draft-compiler/SHA256SUMS (not served here)
- research/handoff-semantic-draft-compiler/canonical-drafts/negative-1.json (not served here)
- research/handoff-semantic-draft-compiler/canonical-drafts/negative-2.json (not served here)
- research/handoff-semantic-draft-compiler/canonical-drafts/negative-3.json (not served here)
- research/handoff-semantic-draft-compiler/canonical-drafts/positive-1.json (not served here)
- research/handoff-semantic-draft-compiler/canonical-drafts/positive-2.json (not served here)
- research/handoff-semantic-draft-compiler/canonical-drafts/positive-3.json (not served here)
- research/handoff-semantic-draft-compiler/collect-results.py (not served here)
- research/handoff-semantic-draft-compiler/compiler.go (not served here)
- research/handoff-semantic-draft-compiler/compiler_test.go (not served here)
- research/handoff-semantic-draft-compiler/drafts/negative-1.json (not served here)
- research/handoff-semantic-draft-compiler/drafts/negative-2.json (not served here)
- research/handoff-semantic-draft-compiler/drafts/negative-3.json (not served here)
- research/handoff-semantic-draft-compiler/drafts/positive-1.json (not served here)
- research/handoff-semantic-draft-compiler/drafts/positive-2.json (not served here)
- research/handoff-semantic-draft-compiler/drafts/positive-3.json (not served here)
- research/handoff-semantic-draft-compiler/frozen-manifest.json (not served here)
- research/handoff-semantic-draft-compiler/main.go (not served here)
- research/handoff-semantic-draft-compiler/prompt.txt (not served here)
- research/handoff-semantic-draft-compiler/proposals/negative-1.json (not served here)
- research/handoff-semantic-draft-compiler/proposals/negative-2.json (not served here)
- research/handoff-semantic-draft-compiler/proposals/negative-3.json (not served here)
- research/handoff-semantic-draft-compiler/proposals/positive-1.json (not served here)
- research/handoff-semantic-draft-compiler/proposals/positive-2.json (not served here)
- research/handoff-semantic-draft-compiler/proposals/positive-3.json (not served here)
- research/handoff-semantic-draft-compiler/protocol.md (not served here)
- research/handoff-semantic-draft-compiler/responses/negative-1.json (not served here)
- research/handoff-semantic-draft-compiler/responses/negative-2.json (not served here)
- research/handoff-semantic-draft-compiler/responses/negative-3.json (not served here)
- research/handoff-semantic-draft-compiler/responses/positive-1.json (not served here)
- research/handoff-semantic-draft-compiler/responses/positive-2.json (not served here)
- research/handoff-semantic-draft-compiler/responses/positive-3.json (not served here)
- research/handoff-semantic-draft-compiler/results.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/negative-1/SHA256SUMS (not served here)
- research/handoff-semantic-draft-compiler/reviews/negative-1/handoff.receipt.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/negative-1/review.md.bytes.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/negative-2/SHA256SUMS (not served here)
- research/handoff-semantic-draft-compiler/reviews/negative-2/handoff.receipt.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/negative-2/review.md.bytes.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/negative-3/SHA256SUMS (not served here)
- research/handoff-semantic-draft-compiler/reviews/negative-3/handoff.receipt.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/negative-3/review.md.bytes.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-1/SHA256SUMS (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-1/handoff.receipt.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-1/patches/decision_179c38986244e95383ae56153d464e8328b2e3b55419716a1070339ac75c429f.patch.bytes.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-1/review.md.bytes.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-2/SHA256SUMS (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-2/handoff.receipt.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-2/patches/decision_ca5c754c61dcc9a2b18a5c5e72f5e82920746f1ddbc91d6ff88bf5fe943573e6.patch.bytes.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-2/review.md.bytes.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-3/SHA256SUMS (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-3/handoff.receipt.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-3/patches/decision_6c0bb5bec4490ae8972a87407345b532683d0ba4f30bf0305c3cf83657d95ed4.patch.bytes.json (not served here)
- research/handoff-semantic-draft-compiler/reviews/positive-3/review.md.bytes.json (not served here)
- research/handoff-semantic-draft-compiler/run-study.py (not served here)
- research/handoff-semantic-draft-compiler/semantic-draft.schema.json (not served here)
- research/handoff-temporal-state-guard-pr-112/README.md (not served here)
- research/handoff-temporal-state-guard-pr-112/prompt.txt (not served here)
- research/handoff-temporal-state-guard-pr-112/proposals/copilot-gpt-5.6-sol-run-1.json (not served here)
- research/handoff-temporal-state-guard-pr-112/proposals/copilot-gpt-5.6-sol-run-2.json (not served here)
- research/handoff-temporal-state-guard-pr-112/proposals/copilot-gpt-5.6-sol-run-3.json (not served here)
- research/handoff-temporal-state-guard-pr-112/protocol.md (not served here)
- research/handoff-temporal-state-guard-pr-112/results.json (not served here)
- scripts/completions.sh (not served here)
- scripts/test-release-workflow.sh (not served here)
- scripts/validate-release-version.sh (not served here)
- scripts/validate-release-workflow.sh (not served here)
- scripts/validate-release.sh (not served here)
- testdata/distill-lock-v0/config.json (not served here)
- testdata/distill-lock-v0/sources/code/example.go (not served here)
- testdata/distill-lock-v0/sources/docs/duplicate-a.md (not served here)
- testdata/distill-lock-v0/sources/docs/duplicate-b.md (not served here)
- testdata/distill-lock-v0/sources/excluded/ignored.txt (not served here)
- testdata/distill-lock-v0/sources/line-endings/crlf.txt (not served here)
- testdata/distill-lock-v0/sources/line-endings/lf.txt (not served here)
- testdata/distill-lock-v0/sources/unlisted/note.txt (not served here)
- testdata/handoff-v0/api-deprecation/conversation.md (not served here)
- testdata/handoff-v0/api-deprecation/docs/reference/api.md (not served here)
- testdata/handoff-v0/api-deprecation/proposal.json (not served here)
- testdata/handoff-v0/brainstorming/conversation.md (not served here)
- testdata/handoff-v0/brainstorming/docs/architecture/cache.md (not served here)
- testdata/handoff-v0/brainstorming/proposal.json (not served here)
- testdata/handoff-v0/dogfood-pr-112/conversation.md (not served here)
- testdata/handoff-v0/dogfood-pr-112/docs/handoff-v0.md (not served here)
- testdata/handoff-v0/dogfood-pr-112/expected-decisions.md (not served here)
- testdata/handoff-v0/dogfood-pr-112/proposal.json (not served here)
- testdata/handoff-v0/dogfood-pr-112/review/SHA256SUMS (not served here)
- testdata/handoff-v0/dogfood-pr-112/review/handoff.receipt.json (not served here)
- testdata/handoff-v0/dogfood-pr-112/review/review.md (not served here)
- testdata/handoff-v0/negative/stale-target/proposal.json (not served here)
- testdata/handoff-v0/negative/unsupported-evidence/proposal.json (not served here)
- testdata/handoff-v0/retry-policy/conversation.md (not served here)
- testdata/handoff-v0/retry-policy/docs/runbook/retries.md (not served here)
- testdata/handoff-v0/retry-policy/proposal.json (not served here)
- testdata/sample.jsonl (not served here)
- tools/local-context-control-mlx-v2.py (not served here)
- tools/local-context-control-mlx.py (not served here)
Advantages
- Provides persistent context memory across sessions. evidence: docs/README.md
- Supports token-budgeted context windows. evidence: docs/README.md
Limitations
- Requires configuration of environment variables or CLI flags for operation. evidence: docs/README.md
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
Siddhant-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