Governed frontmatter, freshness tethers, and validate-only runtime gates for agent-facing Markdown
Reason this release was yanked:
Security: superseded by 0.9.4
Project description
Frontmattering
Frontmattering makes Markdown safer for agents.
It adds governed frontmatter, task routing, body/frontmatter freshness tethers, and a vendorable validate-only runtime gate so an agent can consume a compact brief without silently relying on stale documentation.
Install
python -m pip install frontmattering
frontmattering --version
frontmattering doctor
First-hour path
frontmattering init . scaffolds a starter router under docs/, and frontmattering new creates governed documents. This block runs verbatim in an empty directory (it is executed as a release gate in CI):
frontmattering init . --set-id MYDOCS --title "My docs"
frontmattering new docs/10_GUIDE.md --profile guide --title "My guide"
frontmattering tether update --add .
frontmattering validate .
frontmattering brief .
Already have Markdown under docs/? Add governance to a file you already have with promote (one file per call):
frontmattering promote docs/YOUR_GUIDE.md --profile guide --in-place
Promoting a file outside the selected corpus fails before the file is touched (FRONTMATTERING-AUTHORING-TARGET-OUTSIDE-CORPUS).
For strict freshness enforcement, set validation_profile: trust in .frontmattering/project.yaml, then re-run frontmattering validate . and frontmattering brief ..
Runtime gate
frontmattering runtime pack --out frontmattering-runtime.pyz
python frontmattering-runtime.pyz validate docs --format json
The runtime artifact is validate-only. It does not expose init, promote, new, index, tether update, or authoring surfaces.
Prompt pack
The validator proves your frontmatter is valid, current, scoped, and tethered. It does not prove the frontmatter is good — a GO document can still carry a copied summary or a generic deepest intention. The governed prompt pack closes that gap: it makes authoring excellent, body-grounded frontmatter repeatable.
frontmattering prompt list
frontmattering prompt inspect author-category-frontmatter
frontmattering prompt render \
--task author-category-frontmatter \
--category self_protection_layer \
--support-profile frontmattering_only \
--corpus-root docs \
--output rendered_prompt.md --receipt-out render_receipt.yaml
prompt render is deterministic: it composes the prompt from a packaged task template, a structured category profile, a support profile, and shared fragments, and binds the rendered bytes to every input's digest — including the authorizing manifest, renderer source, distribution, and serializer identity. The core CLI never executes an LLM — a rendered prompt proves only that the bytes were deterministically composed, not that a model ran or that an authoring result is semantically correct.
Run frontmattering prompt verify (also a doctor step) to confirm the packaged pack renders cleanly, reproduces its worked example, and conforms to its own shipped JSON schemas. Run frontmattering prompt verify-rendered --prompt rendered_prompt.md --receipt render_receipt.yaml --request render_request.yaml to verify a rendered prompt: it re-renders the canonical prompt from the request against the installed pack and compares byte-for-byte, rejecting a non-canonical or re-sealed prompt (FRONTMATTERING-PROMPT-NOT-CANONICAL) and any unauthorized task/category/profile.
This establishes reproducibility — the prompt is the canonical render of that request on this installed pack. It is not, on its own, provenance that the request was authorized: a producer who controls the request and re-renders honestly produces a valid prompt. Hostile-producer provenance requires signing the request/receipt under an independent authority (tracked as deferred in docs/DEFERRED_ITEMS_LEDGER.md).
License
Frontmattering is source-available. It is free for individual personal use within the scope of LICENSE.md. Professional, organizational, employer, client, CI/CD, hosted, managed-service, platform, consulting, or revenue-connected use is permitted for a 30-day evaluation period under LICENSE.md; continued use after the evaluation requires a paid commercial license.
Frontmattering is not open-source software under the Open Source Definition because professional and organizational use is restricted without a commercial license.
Runtime dependency status is recorded in THIRD_PARTY_NOTICES.md; project notices are recorded in NOTICE.
Claim boundary
A FRESH brief means the current body bytes and canonical trust-bearing frontmatter fields match their mechanical tether. It does not prove semantic summary correctness, human approval, external adoption, or production suitability.
A STALE or UNTETHERED summary must not be relied on without reading the body.
Publication status
This v0.5.4 package makes the validate-only runtime CLI generated from the same argument definitions as the main CLI (frontmattering/runtime_cli.py), so the runtime's surface and help stay in lock-step with the main CLI and cannot drift — frontmattering-runtime validate --help now documents every argument. The runtime remains strictly validate-only: it exposes exactly the whitelisted command set, and a CI gate asserts it shares argument names with the main CLI and exposes no authoring or mutation command. It carries forward the 0.5.3 complete CLI help and the 0.5.2 prompt-evidence layer (prompt verify-rendered --request re-renders canonically, establishing reproducibility not hostile-producer provenance), and makes no main-CLI surface, validator trust-semantics, frontmatter-schema, or canonical-model (v0.1.5) changes. Operation-wide mutation transactions, a hermetic runtime, an execution-record verifier, and other items are deliberately deferred and tracked in docs/DEFERRED_ITEMS_LEDGER.md. Custom license text should still receive legal review before paid commercial sales.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file frontmattering-0.5.4.tar.gz.
File metadata
- Download URL: frontmattering-0.5.4.tar.gz
- Upload date:
- Size: 516.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e09341356b5f8fde6157c0b174d2892cf4f754f08527687bbcbae0debff003d2
|
|
| MD5 |
8e87a2b32f77104bb88cc5e1e1610b26
|
|
| BLAKE2b-256 |
47ffa6eed823589b95cddfac942cefe5888d55321e594c1ff75e61436c2b7642
|
Provenance
The following attestation bundles were made for frontmattering-0.5.4.tar.gz:
Publisher:
publish.yml on frontmattering/frontmattering
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
frontmattering-0.5.4.tar.gz -
Subject digest:
e09341356b5f8fde6157c0b174d2892cf4f754f08527687bbcbae0debff003d2 - Sigstore transparency entry: 2195246221
- Sigstore integration time:
-
Permalink:
frontmattering/frontmattering@bc200a258c3eadf68958de0ab51a03bec54f2185 -
Branch / Tag:
refs/tags/v0.5.4 - Owner: https://github.com/frontmattering
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bc200a258c3eadf68958de0ab51a03bec54f2185 -
Trigger Event:
push
-
Statement type:
File details
Details for the file frontmattering-0.5.4-py3-none-any.whl.
File metadata
- Download URL: frontmattering-0.5.4-py3-none-any.whl
- Upload date:
- Size: 502.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc969e313c01341ef6d195ce49b0fff7dac0f8e9db474a47da1c47d6afbce2d3
|
|
| MD5 |
eaf37561e557587966be14b1c185d918
|
|
| BLAKE2b-256 |
8c24c049a55867fcc1790658fecbdd5384d25194385d1284c0bb9a005cc0b0bc
|
Provenance
The following attestation bundles were made for frontmattering-0.5.4-py3-none-any.whl:
Publisher:
publish.yml on frontmattering/frontmattering
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
frontmattering-0.5.4-py3-none-any.whl -
Subject digest:
fc969e313c01341ef6d195ce49b0fff7dac0f8e9db474a47da1c47d6afbce2d3 - Sigstore transparency entry: 2195246349
- Sigstore integration time:
-
Permalink:
frontmattering/frontmattering@bc200a258c3eadf68958de0ab51a03bec54f2185 -
Branch / Tag:
refs/tags/v0.5.4 - Owner: https://github.com/frontmattering
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bc200a258c3eadf68958de0ab51a03bec54f2185 -
Trigger Event:
push
-
Statement type: