Skip to content

Repository files navigation

LocusLab Engine

Local CLI that verifies exported MDR/IVDR dossiers: it extracts claim and citation candidates, links them to local sources, runs deterministic checkers, and writes an Evidence Trace Audit package. It does not author CER, SSCP, or other regulatory submissions. It is not a notified-body tool and is not legal advice.

Install

Python 3.12 or newer. From a git clone:

Windows (PowerShell):

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e ".[dev]"

Unix:

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Dependency ranges and development extras are declared in pyproject.toml, which is also the installation source used by CI. The repository does not claim a fully locked transitive environment.

Demo

locus verify fixtures/demo_dossier --out tmp/demo

Equivalent runner with artifact-path listing:

python scripts/run_demo.py --out tmp/demo

Expected summary line:

18 claims, 5 citations, 3 sources, 18 evidence links, 7 findings, 104 graph records

Equivalent without the console script: python -m locuslab.cli verify ....

Artifacts written today

Every run:

File Role
claims.jsonl Claim candidates
citations.jsonl Parsed citation markers
sources.jsonl Local bibliography / source files
evidence_links.jsonl Claim-to-source links
findings.jsonl Verification findings (JSONL)
findings.csv Verification findings (CSV)
graph.jsonl Graph-compatible records
audit_manifest.json Run metadata and artifact hashes
report.json Machine-readable report
findings.xlsx Reviewer working matrix
report.docx Primary Evidence Trace Audit

SSCP runs (filename or content routed as SSCP) also write guidance_review.json and guidance_review.md. Those are source-backed review aids, not verification findings. The SSCP rule pack, inventory, and derived Markdown travel with the installed package (locuslab.resources).

In artifact schemas, eco_id is the historical field name for a deterministic finding ID with the ECO-* prefix; it does not identify a separate finding type.

Not produced: extracted_claims.csv, adjudication.csv. Adjudication columns on findings.xlsx are empty stubs.

Quality gates

python -m pytest
python -m ruff check src tests scripts
python -m mypy src/locuslab

The same three commands run on GitHub Actions (.github/workflows/ci.yml). Default CI installs .[dev] only; it does not install the optional guidance-extract extra.

CI

License

Original code and project documentation: Apache-2.0. EU/MDCG texts under docs/guidance/sources/ are not Apache-2.0. See NOTICE and docs/THIRD_PARTY.md.

Docs

About

Local CLI that verifies exported MDR/IVDR dossiers and writes an Evidence Trace Audit package.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages