MemoryLint
Keep an assistant's repository memory aligned with the code.
MemoryLint checks explicit claims in Markdown against repository evidence: the package manager, declared Node version and package.json scripts. Findings include source paths, hashes and selectors. Corrections are separate, reviewable operations.
Source · Usage guide · Architecture · Issues
Install
The PyPI distribution is memorylint-ai; the Python import and command remain memorylint.
Requires Python 3.10+. The base runtime has no third-party dependencies or model-account requirement.
python -m pip install memorylint-ai
memorylint --help
For ordinary GitHub Actions YAML parsing:
python -m pip install 'memorylint-ai[ci]'
The extra installs PyYAML 6.x. JSON-compatible workflows work without it. Git is needed only for revision/filter operations.
A small SDK example
This creates a disposable repository with a saved npm claim and current pnpm evidence. It does not execute package scripts or modify an existing repository.
import json
from pathlib import Path
from tempfile import TemporaryDirectory
from memorylint import scan_memory
with TemporaryDirectory() as directory:
repo = Path(directory)
(repo / "package.json").write_text('{"packageManager":"pnpm@10.0.0"}')
claim = {"id": "manager", "kind": "package_manager", "value": "npm",
"sources": ["package.json"]}
memory = {"version": 1, "claims": [claim]}
(repo / "AGENTS.md").write_text("```memorylint\n" + json.dumps(memory) + "\n```\n")
result = scan_memory(repo)
print(result.findings[0].status) # stale_candidate
print(result.findings[0].proposed_value) # pnpm
For your own explicit claims:
memorylint scan --repo /path/to/repository --memory AGENTS.md
Exit 0 means evaluated claims are valid; exit 1 means stale/conflicting claims need review; exit 2 means an unsupported or incomplete check. A scan is read-only unless an optional history index is requested.
Integrations and evidence
- Python SDK for scans, proposals and explicitly applied corrections.
- CLI for snapshot scans, SQLite history, review and extraction workflows.
- Read-only MCP stdio tools:
memorylint_scanandmemorylint_explain. - Optional extraction-provider protocol for review-required candidates; an LLM never authorizes a memory edit.
This image shows an authored local fixture, not a live-model benchmark. Examples, tests and documentation are available in the source distribution and GitHub repository; the wheel installs the library and CLI.
Boundaries
Only explicit supported claims and their declared sources are checked. Runtime declarations are compared as text, not semver satisfaction or installed-interpreter checks. Missing evidence cannot establish validity. Apply operations use optimistic hash checks and a review audit; arbitrary prose is not automatically verified memory.
See full usage, recorded verification, security reporting, and release notes.
Version 0.2.0 is a development release. Original code is MIT licensed. Independent pilots and live-model quality evaluation are separate from package availability.
Metadata
Release files for memorylint-ai 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| memorylint_ai-0.2.0.tar.gz | 146.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| memorylint_ai-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 176.2 kB
Release files / memorylint_ai-0.2.0.tar.gz
| Download URL | memorylint_ai-0.2.0.tar.gz |
|---|---|
| Size | 146.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
afd821f46ea610d0c18cdf3a48280c12edb162b37af2d3538ca29c46e459a40b
|
|
BLAKE2b-256 checksum How to use checksums |
d8e417a7cd27d29b02ea3b29433b4fef25f68f035d651e298f6ac7134011224e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / memorylint_ai-0.2.0-py3-none-any.whl
| Download URL | memorylint_ai-0.2.0-py3-none-any.whl |
|---|---|
| Size | 29.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b389eec2edd6c7fb128e0684be57fe4f2cf6b99d118337cf1262db87bd5f74c8
|
|
BLAKE2b-256 checksum How to use checksums |
7634960e8f72ddf663b975ba1566636a97b4a4bedab6e0be57cd1162f4d65910
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|