Skip to main content

OpenFastTrace Analysis Tool

A Python tool for analyzing and visualizing OpenFastTrace aspec reports, with a focus on identifying broken chains, dependencies, and version issues.

Learn more about OpenFastTrace at: itsallcode/openfasttrace

Features

  • 🔍 Trace Chain Analysis: Visualize and analyze chains of dependent specification items
  • 🚨 Failure Detection: Identify broken chains and the reasons for failures
  • 🎨 Rich Terminal Output: Beautiful console visualizations with colors and Unicode symbols
  • 🧠 Intelligent Analysis: Detects orphaned items, shallow coverage, and outdated versions

Installation

pip install oft-trace

Usage

Command Line Interface

The tool provides several commands:

Overview Analysis

oft-trace trace path/to/report.aspec

Analyzing a Specific Item

oft-trace trace path/to/report.aspec ITEM-123

Finding Broken Chains

oft-trace trace-failures path/to/report.aspec

Listing Items with Filtering

oft-trace list-items path/to/report.aspec --doctype req --coverage UNCOVERED

Common Options

  • --output/-o: Path to output file (HTML or text)
  • --limit/-l: Limit the number of items to analyze
  • --doctype/-t: Filter by document type
  • --coverage/-c: Filter by coverage status (COVERED, UNCOVERED, ORPHANED, SHALLOW, OUTDATED)
  • --direction/-d: Direction of links to trace (both, incoming, outgoing)

Understanding the Reports

Coverage Types

✅ COVERED - Item is fully covered 🔍 ORPHANED - Item is not covered by any other items ⚠️ SHALLOW - Item has shallow coverage but misses deep coverage ♻️ OUTDATED - Item has version mismatch issues ❌ UNCOVERED - Item is completely uncovered

Example Terminal Output

FAILURE 1/5: req~payment-processing~2 [req]
Title: System must process payments securely

Failure reasons:
- ♻️ Version mismatch: arch-payment-module covers v1 but v2 is expected
- ❌ Missing coverage for types: impl

Trace chain visualization:
└── ❌ req~payment-processing~2 (v2) [req] (/specs/requirements.md:45)
    └── ♻️ VERSION MISMATCH: Covering v1 but v2 expected
        └── ⚠️ arch-payment-module~1 (v1) [arch] (/specs/architecture.md:67)

Advanced Usage

Programmatic Usage

You can also use the library programmatically in your Python code:

from oft_trace.analyzer import TraceAnalyzer
from oft_trace.parser import parse_aspec_file

# Parse the file
result = parse_aspec_file("path/to/report.aspec")
spec_items, id_map, covering_map, covered_by_map, broken_chains = result

# Create analyzer
analyzer = TraceAnalyzer(spec_items, id_map, covering_map, covered_by_map, broken_chains)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

This tool was generated with the assistance of AI technology.

Metadata

Release files for oft-trace 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 oft-trace 0.1.0
File Size Uploaded
oft_trace-0.1.0.tar.gz 15.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for oft-trace 0.1.0
File Interpreter ABI Platform
oft_trace-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 32.1 kB

Release files / oft_trace-0.1.0.tar.gz

Download URL oft_trace-0.1.0.tar.gz
Size 15.2 kB
Tags Source
SHA-256 checksum
How to use checksums
68ca6ddbada34162f91b8230cf1c2d7fad793f0599d83ade4767c54742e22c4d
BLAKE2b-256 checksum
How to use checksums
1e70a976f052af18d3e2c1b8a7405c6bfd3cea92fd031ee84e7e666bcc83cc80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 20, 2025.

Transparency log

Release files / oft_trace-0.1.0-py3-none-any.whl

Download URL oft_trace-0.1.0-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d33a1b5e51e0db90a7001453698aff7d5e79e321eb6b8d734aa087c8431034f5
BLAKE2b-256 checksum
How to use checksums
8c0c9c72dc6cd3cfc9e043267a9dc0895111b6e98f0068793c37d6121a30f9c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 20, 2025.

Transparency log

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