Skip to main content

Universal traceability validation and rollup for requirements-to-tests mapping.

Project description

Traceability Tooling

Universal traceability validation and rollup for requirements ↔ tests mapping. Designed to work across monorepos and git submodules.

Install

pip install tracetree

Quick Start

From a repo root with docs/traceability/:

tracetree init
tracetree validate
tracetree link
tracetree aggregate

Expected Structure (Defaults)

  • docs/traceability/requirements.md
  • docs/traceability/risk_controls.md
  • docs/traceability/traceability_matrix.csv

If you do not already have these files, run:

tracetree init

Test discovery defaults:

  • GTest: tests/, test/
  • Pytest: tests/, test/
  • JS/TS (Jest/Mocha/Vitest/Deno): tests/, test/, __tests__/, spec/
  • Rust (#[test]): tests/, test/, src/

TestID matching:

  • GTest: SuiteName.TestName
  • Pytest: test_function_name
  • JS/TS: string in test("name", ...) or it("name", ...) (also Deno.test("name", ...))
  • Rust: function name following #[test]

Repo Configuration

Create .traceability/config.json to override defaults:

{
  "traceability_dir": "docs/traceability",
  "requirements_file": "requirements.md",
  "risk_controls_file": "risk_controls.md",
  "matrix_file": "traceability_matrix.csv",
  "gtest_roots": ["tests"],
  "pytest_roots": ["bindings/python/tests"],
  "js_roots": ["packages/web/tests"],
  "rust_roots": ["crates/core/tests", "crates/core/src"]
}

You can also point to a custom config with TRACEABILITY_CONFIG=/path/to/config.json.

Coverage Threshold

Default is 100%. Override with:

TRACEABILITY_REQ_COVERAGE=0.95 tracetree validate

Submodule Rollup

tracetree aggregate reads .gitmodules and validates each submodule that contains traceability files. Results are written to: docs/traceability/aggregate/traceability_rollup.md.

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

tracetree-0.1.1.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

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

tracetree-0.1.1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file tracetree-0.1.1.tar.gz.

File metadata

  • Download URL: tracetree-0.1.1.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for tracetree-0.1.1.tar.gz
Algorithm Hash digest
SHA256 41488fdb919cb499825c5423ea44cdc99745ad6621c852c297b9ce69f51a248c
MD5 e694e8bb5ef6cc57280888de25a5a113
BLAKE2b-256 83686024036bf5e4546f6f4ee2d429f680be3a066ad8517eeb41ef9d9c3a2185

See more details on using hashes here.

File details

Details for the file tracetree-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: tracetree-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for tracetree-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f53834ade08287911e44eb3d7c7bd8b94711f3ab63b41f57f5105236cb40eb96
MD5 af34350ca167444be9d77706b205131c
BLAKE2b-256 7f578e57395fdefe821053b45b7317541f448f39d6c8bcbad4dea2e779ecbe48

See more details on using hashes here.

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