Skip to main content

memproof

PyPI test License: MIT

Evidence-first health checks for Markdown knowledge vaults.

memproof answers one question: can you prove what your knowledge base claims? Every finding carries a path:line, the evidence behind it, and a concrete fix. It is read-only, offline, and deterministic.

Security rule layer

memproof skills also scans every skill for credential-shaped strings, rule-override instructions, memory-file tampering, and fetch-piped-to-execute combos. Evidence for matched secrets is masked in the report - the finding tells you where and what shape, never the value itself. Use --no-security to run spec/registry checks only.

Check Agent Skills (agentskills.io)

Point memproof skills at a directory of skills/<name>/SKILL.md to validate the agentskills.io contract: kebab-case names that match their directory, description limits, optional-field types and unknown keys. Add --registry skills.json to diff the disk against a declared skill registry in both directions.

memproof skills ./skills --registry config/skills.json --fail-on high

Install

uv tool install memproof
# or
pip install memproof

# before the PyPI release, install straight from GitHub:
uv tool install git+https://github.com/hsys123/memproof

Use

memproof check ~/my-vault
memproof check ~/my-vault --format json --fail-on high
memproof check ~/my-vault --output report.md

Exit codes: 0 clean (or below --fail-on), 1 findings at/above the threshold, 2 usage/environment error.

Archives often contain frozen snapshots with dead links. Exclude them explicitly:

memproof check ~/my-vault --exclude 'archive/**' --exclude 'templates/**'

What it checks (v0.1)

Check What it catches
frontmatter missing/unparseable frontmatter, missing required keys, unknown status, invalid dates
links dead wikilinks, ambiguous bare-name targets, duplicate basenames, orphan pages
provenance agent-authored notes missing author / sink / generated_by
freshness drafts older than 30 days; evergreen pages older than 180 days with no inbound links
structure empty sections; memory atoms not registered in their _index.md

Example

# memproof report — demo-vault
Score: 64/100 · Files: 12 · Links: 18 · Findings: 2 high / 6 medium / 1 low

## High
- [provenance] notes/agent-note.md:1 — agent-authored note missing generated_by
  Evidence: author=agent, sink=agent, generated_by missing.
  Fix: add `generated_by: <tool>` or remove the agent marker.

A full generated report is in docs/sample-report.md.

Roadmap

  • v0.1 — five vault checks (current).
  • v0.2 — archive profile, fold/derived checks.
  • v0.3 — memproof skills: capability contracts and with/without evaluation.

Design principles

  • Read-only: never edits the vault, no network access, no LLM calls.
  • Evidence-first: every finding points to a line; no aggregate-only claims.
  • Deterministic: same vault + same date = same report.
  • Small surface: five checks, not fifty. Add a check only with a failing fixture.

Development

python -m pytest
ruff check .
mypy memproof

License: MIT.

Metadata

Release files for memproof 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for memproof 0.3.0
File Size Uploaded Provenance
memproof-0.3.0.tar.gz 22.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for memproof 0.3.0
File Interpreter ABI Platform
memproof-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 45.4 kB

Release files / memproof-0.3.0.tar.gz

Download URL memproof-0.3.0.tar.gz
Size 22.6 kB
Tags Source
SHA-256 checksum
How to use checksums
543d860792b117eb4155367a0a7d47bf31757968fc5e33bd46c496fd07193094
BLAKE2b-256 checksum
How to use checksums
7adbb5504dbda110e311a8e129b9c7cf93f6e30b3e4c6d38d478c42bc3e6bdd1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / memproof-0.3.0-py3-none-any.whl

Download URL memproof-0.3.0-py3-none-any.whl
Size 22.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
16b63e37d945359b0e3d3c97b18f3e41f9504fedc34d4a4df7360fe81b5ac02a
BLAKE2b-256 checksum
How to use checksums
b60fbc4a76963daa216ab5e79ddb31b609fc87079e47e30056d7805436f444b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Security for memproof 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for memproof-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page