Skip to content

[pull] main from mhatzl:main#2

Open
pull[bot] wants to merge 168 commits into
WiresmithTech:mainfrom
mhatzl:main
Open

[pull] main from mhatzl:main#2
pull[bot] wants to merge 168 commits into
WiresmithTech:mainfrom
mhatzl:main

Conversation

@pull

@pull pull Bot commented Jun 26, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

mhatzl and others added 30 commits April 9, 2025 18:26
Useful to display covered lines in reports.
Moved content fields to indirections via hashes to reduce duplicating
content if related fields change but not the content.
This allows to e.g. track the git repository+commit traces and
requirements where retrieved from.
Renames projects to products
mhatzl and others added 23 commits June 22, 2026 15:55
to prevent confusion between skipped tests and ignored requirements.
extracted all recursive CTEs into tables
last-collect-nr in req hierarchies is based on child req. For descendant table changed it to be based on parent to match which collection is the one updating the tables
deprecated and excluded requirements are now also considered non-mandatory
IDEs typically start line counting at 1
Since excluded and deprecated requirements cannot be verified, it would
not be possible to hit 100% manuals verified even if all usable ones are
verified
Needed for cargo publish mantra to include the stored queries
Switching to mantra-macros and mantra-procm.
Re-exported mantra-macros in mantra under feature "macros"
The underlying database is now able to handle:

multiple products in one database
multiple parents for requirements
well-known test & coverage formats such as JUnit and Cobertura
test result overrides from reviews
different trace kinds such as satisfies, verifies, clarifies and link
optional requirements
line coverage data is stored in the database
coverage exclusions from annotations found in code
Easier interfacing with external tools:

JSON schemas are defined for every collection type mantra manages (e.g. requirements, test runs, annotations, reviews)
built-in collection internally converts to structs representing those schemas
Report restructuring:

reports are now split into multiple files
structure is built to publish a report as static HTML website
prevents large single report files
easier customization for specific pages through templates
Current limitations:

traces only detected in Rust code
traces in (doc-)comments are not detected
Markdown format to define requirements is not yet implemented
macro traces do not generate defmt logs
Next steps:

Option to set defmt logs for embedded requirements coverage detection
Markdown formats to define requirements and create reviews
detect traces in Rust comments
detect traces in plain text and Markdown files
GitHub and local dev behave differently especially with the wiki git
submodule
@pull pull Bot locked and limited conversation to collaborators Jun 26, 2026
@pull pull Bot added the ⤵️ pull label Jun 26, 2026
Hoverbear and others added 5 commits June 27, 2026 16:49
Adds `rustfmt` and `clippy` in rust-toolchain.toml for GitHub runners to install all needed components for CI jobs.

Note: job using `clippy` is currently commented due to mantra containing some unused code parts
Crates.io cannot handle relative links from a workspace README, causing a difference between the GitHub landing page and crates.io
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants