Skip to main content

Domain-agnostic vault-governance engine: frontmatter schema profiles, indexing, ranked search, a task ledger, atomic writes, and a composable MCP core (register_core). The reusable core behind severino-vault-mcp and severino-edu-mcp.

Project description

severino-vault-engine

PyPI Python License: MIT

A domain-agnostic vault-governance engine — the reusable core behind severino-vault-mcp and severino-edu-mcp. It governs a Git-backed, frontmatter-tagged Markdown vault (Obsidian-style) and exposes that governance both as a library and as a composable MCP tool surface.

Building your own MCP on this engine? Read AGENTS.md — a drop-in recipe an AI coding agent can follow to stand up a conformant server in minutes.

What's in it

  • SchemaProfile — a vault's frontmatter contract (doc-types, statuses, id-prefixes, task lifecycle, and composable per-document field rules), with a versioned complete contract and deterministic fingerprint. One engine, many profiles: a different vault is a different profile, not a fork.
  • Index + search — a lenient frontmatter index and ranked, section-scoped retrieval (find_sections) that returns menus, never raw bodies.
  • Task ledgerdoc_type: task docs derived from the index, with a validated write path.
  • Atomic writes — a single serializer and atomic_create_text / atomic_write_text / transactional_replace, so every writer shares one escaping + durability rule and concurrent creates never replace each other.
  • Governance contracts — deterministic fingerprints, stale-safe reviewable plans, and body-free mutation receipts shared by CLI, MCP, audit, and projection consumers.
  • register_core(mcp, ctx) — composes the generic MCP tools (search, doc read with a sensitivity gate, project inventory, daily progress, the task ledger, schema-validated frontmatter writes) onto any FastMCP server.

Install

pip install severino-vault-engine        # or:  uv add severino-vault-engine

The import package is vault_engine; the distribution on PyPI is severino-vault-engine.

Use

from vault_engine.config import Config
from vault_engine.context import GovernanceContext
from vault_engine.core_tools import register_core
from mcp.server.fastmcp import FastMCP

ctx = GovernanceContext(Config.from_env())      # your vault + profile
mcp = FastMCP("my-vault-mcp")
register_core(mcp, ctx)                          # + your own tool groups

The servers in the family own only their domain (writeup/topology tools, course tools) and a thin entrypoint; everything generic lives here.

One governance runtime, many adapters

MCP is the governed AI surface, not an implementation dependency for the CLI. Both adapters compose the same in-process runtime:

CLI ─┐
     ├─> GovernanceContext ─> application services ─> governed stores
MCP ─┘

Configuration is injectable for deterministic multi-vault composition:

ctx = GovernanceContext.load(
    "~/.config/my-vault/config.toml",
    env={"SVMC_CACHE_SECONDS": "10"},
    profile=MY_PROFILE,
)

ServerContext remains a backward-compatible subclass. See docs/governance-runtime.md for the extension model and contracts.

Security

Releases are published to PyPI from GitHub Actions via OIDC Trusted Publishing (no long-lived API tokens) with PEP 740 attestations. To report a vulnerability, see SECURITY.md.

License

MIT © Joe Severino

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

severino_vault_engine-0.3.0.tar.gz (74.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

severino_vault_engine-0.3.0-py3-none-any.whl (71.5 kB view details)

Uploaded Python 3

File details

Details for the file severino_vault_engine-0.3.0.tar.gz.

File metadata

  • Download URL: severino_vault_engine-0.3.0.tar.gz
  • Upload date:
  • Size: 74.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for severino_vault_engine-0.3.0.tar.gz
Algorithm Hash digest
SHA256 caf07075a72fbdc4c2fc0ec49e997ab42ae5e0b6f2fbba7e67dd22ac58ea2db9
MD5 03b61bca7de9f0cf2efd5ec5cca8f53e
BLAKE2b-256 13f978e86a2d7554aa4db549d9d7973d3cbea0aa72d6ee8c62e6a6edad7ef646

See more details on using hashes here.

Provenance

The following attestation bundles were made for severino_vault_engine-0.3.0.tar.gz:

Publisher: publish.yml on joeseverino/vault-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file severino_vault_engine-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for severino_vault_engine-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 57fa3112c4d866cb125fb06aa068dde63e33a620d7dd8b996bfa7525999251fa
MD5 b8e2569845696197f2a1f3696ce865ef
BLAKE2b-256 67c1b551028f4cec06b2f2d96d6b455e70d35be1e3d2e3bf18ac09d6cb255ff6

See more details on using hashes here.

Provenance

The following attestation bundles were made for severino_vault_engine-0.3.0-py3-none-any.whl:

Publisher: publish.yml on joeseverino/vault-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page