Skip to main content

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; stdlib tomllib otherwise)

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)

Source distribution for specmason 0.1.0
File Size Uploaded
specmason-0.1.0.tar.gz 78.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for specmason 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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