Repository navigation
Conversation
The reference coverage pies show *how many* requirements are not referenced by any lower-level requirement, but not *which* ones. Add a collapsed table next to each pie that lists exactly those requirements: - Stakeholder section: stakeholder requirements not referenced by any in-scope feature requirement. - Per feature: feature requirements not referenced by any in-scope component requirement. Both tables are filtered by the same pre-scoped ID lists that feed the pies (`ns_stkh_ref.missing` / `ns_feat_ref.missing`), so chart and table cannot disagree. The report version scoping therefore applies to the tables as well: a requirement referenced only from outside the report's `report_version` still counts as a gap. The tables are omitted entirely when there is no gap, so an empty table never shows up. Adds an end-to-end test rendering the report, covering the case where the only reference comes from an out-of-scope requirement.
antonkri
requested review from
AlexanderLanin,
MaximilianSoerenPollak,
a-zw,
dcalavrezo-qorix and
nradakovic
as code owners
October 7, 2026 07:37
…ent-reference-gap-tables
antonkri
merged commit Oct 7, 2026
ea145c3
into
feat/requirement-reference-coverage
31 of 32 checks passed
Contributor
Author
|
Folded into #896 rather than kept as a stacked PR: the gap tables only make sense together with the pie charts whose red slice they explain, so reviewing them separately meant looking at half a feature. Since this branch was stacked directly on Everything now lives in #896. |
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.
Builds on #896 — the base branch is
feat/requirement-reference-coverage, so this PR's diff only contains the change described below. Please merge #896 first; GitHub will then retarget this PR tomainautomatically.Why
#896 adds the reference coverage pies, which show how many requirements are not referenced by any lower-level requirement — but not which ones. That makes the gap visible, yet not actionable.
What
A collapsed table next to each pie, listing exactly the requirements behind the red "not referenced" slice:
The tables are omitted entirely when there is no gap, so an empty table never shows up. The count is part of the dropdown title, so the gap size is visible without expanding it.
Report version scoping
Both tables are filtered by the same pre-scoped ID lists that feed the pies (
ns_stkh_ref.missing/ns_feat_ref.missing), so chart and table cannot disagree by construction.This matters because the scoping is not expressible as a
needtablefilter: the filter string knows neitherreq_in_report_versionnor how to followderived_from(acomp_reqinherits its version from its parent). The scope is therefore resolved in Jinja — where that helper is available — and the result is expanded into the filter as a plain ID list, the same mechanism the existing requirement tables already use.The practical consequence: a requirement referenced only from outside the report's
report_versionstill counts as a gap. That case is covered by the added end-to-end test, which renders the actual report.Note on the "Referenced by" column
This deliberately does not reintroduce the per-row "Referenced by" column that was removed in #896. A column would need the scoped backlinks as a field on the need, which requires a new link type in the metamodel. A table only needs a row selection, which works with the existing machinery. See the discussion in #896.