Repository navigation
fix(traceability_matrix): skip included documents when listing nodes - #3255
Merged
stanislaw merged 1 commit intoOct 22, 2026
Conversation
With print_fragments=True, the document iterator also yields the SDocDocument that a [DOCUMENT_FROM_FILE] includes. The template called is_normative_node() on it, and SDocDocument has no such method, so the export failed when TRACEABILITY_MATRIX_SCREEN was enabled. Closes #3237.
This was referenced Oct 21, 2026
awschult002
added a commit
to awschult002/strictdoc
that referenced
this pull request
Oct 22, 2026
Merge fixes from open upstream PRs (strictdoc-project#3258, strictdoc-project#3255, strictdoc-project#3236, strictdoc-project#3219)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #3237.
With
print_fragments=True,DocumentIterator.all_content()also yields theSDocDocumentincluded through[DOCUMENT_FROM_FILE].main.jinjain the traceability matrix callsis_normative_node()on every yielded item, andSDocDocumentdoes not have that method, so the export failed with'SDocDocument object' has no attribute 'is_normative_node'wheneverTRACEABILITY_MATRIX_SCREENwas enabled in a project with included documents.The template now checks
is_document_node()first and skips included documents. The nodes inside them are still yielded by the iterator and listed in the matrix.Test: the new integration test
traceability_matrix/30__document_from_filehas a document that includes another one with[DOCUMENT_FROM_FILE], with the matrix screen enabled. Onmainthe export fails with the error above. With this change the export completes and the matrix lists both REQ-001 and REQ-002. All tests undertests/integration/features/traceability_matrixandtests/integration/features/document_fragmentspass locally (17/17).