SpecMason
SpecMason is the Ledgerwerk tool for maintaining behavior/specification artifacts, pytest mappings, reverse coverage, and execution evidence.
It does not own requirements. ReqLedger owns requirements and acceptance criteria. SpecMason reads ReqLedger exports when available and checks whether behavior specs, tests, and evidence prove accepted criteria.
SpecMason also works standalone for Brownfield projects. Without a ReqLedger manifest, it can discover pytest tests, validate local behavior specs, report unmapped tests, and maintain an intentional-unmapped policy.
Installation
pip install specmason
Quickstart with ReqLedger (integrated mode)
pip install specmason
specmason init
specmason create-gherkin --from requirements/manifest.json
specmason check
specmason discover-pytest
specmason coverage --view both --show gaps
specmason review
Brownfield standalone quickstart
pip install specmason
specmason init
specmason discover-pytest
specmason coverage --view tests --show gaps
Commands
| Command | Description |
|---|---|
specmason init |
Initialize workspace layout |
specmason check |
Validate features, mappings, waivers |
specmason create-gherkin --from MANIFEST |
Generate draft Gherkin from accepted criteria |
specmason discover-pytest |
Discover tests without importing modules |
specmason coverage |
Report coverage in both directions |
specmason mappings |
Show the mapping inventory |
specmason import-report pytest-junit XML |
Import JUnit XML evidence |
specmason review |
Full review: check + coverage + evidence + reports |
All commands support --json for machine-readable output and --config PATH
for explicit config resolution.
Workspace layout
specs/
behavior/
README.md
manifest.json
features/
.../*.feature
mappings/
intentional-unmapped.json
evidence/
pytest-junit.json
reports/
specmason/
coverage.md
coverage.json
mappings.json
evidence.json
specmason.toml
Dependencies
- typer (CLI)
- ledgercore (generic storage/primitive library)
tomli(Python < 3.11 only; stdlibtomllibotherwise)
License
Apache-2.0
Metadata
Release files for specmason 0.1.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 | |
|---|---|---|---|
| specmason-0.1.0.tar.gz | 78.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| specmason-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 143.8 kB
Release files / specmason-0.1.0.tar.gz
| Download URL | specmason-0.1.0.tar.gz |
|---|---|
| Size | 78.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d573520750202050ebffb191ce152fd8f313fad2ef800c10b2b908906955c8c0
|
|
BLAKE2b-256 checksum How to use checksums |
a05aae80bf2e6972665f1de6659ccabe90d8a3777da344eabed5317b4d902635
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / specmason-0.1.0-py3-none-any.whl
| Download URL | specmason-0.1.0-py3-none-any.whl |
|---|---|
| Size | 65.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fd689bc120e64fb27ee221e46caa0b23acecf64bccd200019078a069552c651e
|
|
BLAKE2b-256 checksum How to use checksums |
afb10592bb914788d05ca2f7a2a393963ef0662dd04278f8f9c970845080b6d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|