Requirements Traceability from Markdown

Tag requirements in Markdown, trace them to tests and fail CI on orphans.

Owner: Lena FischerSystems EngineeringContact ownerAdded 15 Sep 2026Updated 27 Sep 2026
  • Runs out of the box: no
  • Tests: yes
  • CI: yes
  • Docs: no
  • Used in production: no

Learning demo, not turnkey. This example is experimental: it shows an idea that works on the bench, but it has not been reviewed for production use. Expect rough edges and check with the owner before reusing it.

Purpose#

Requirements live as Markdown files with stable identifiers. A short Python tool scans the documents and the test suite, builds a trace matrix and fails the build when a requirement has no test or a test cites an unknown requirement.

It is a small experiment to see whether lightweight tagging is enough before adopting a dedicated requirements tool.

Technologies & features#

Technologies
PythonpytestGitHub Actions
Features
Requirements TraceabilityCI Pipeline
Topics
Requirements EngineeringprimaryTesting & QA

Lessons learned#

  • Decision

    Identifiers are assigned by hand and never reused; renaming a requirement means retiring the old identifier.

  • Limitation

    Only direct requirement-to-test links are traced. Derived requirements and decomposition levels are not modeled.

Try it#

Shell
git clone https://git.example.internal/systems-engineering/req-trace-md.git
cd req-trace-md
pip install -e .
req-trace check docs/requirements tests

Commands come from the owner’s README. Credentials are never stored here.

Resources#

Contributes to

StatusExperimental
OwnerLena Fischer
TeamSystems Engineering
Last commit26 Sep 2026
Slugrequirements-trace-markdown
Report a problem to the owner