Links from valid needs and test cases to invalid needs are not blocked

未关闭
#1,030 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
python

调研方向

Start with check_valid_only_links_to_valid in score_metamodel/checks/graph_checks.py and the testcase definition in metamodel.yaml; trace how needs and verification links are represented. Review the existing graph check tests before deciding how valid targets and safety relevance should be handled. Done means invalid targets from valid needs and test cases are reported at the agreed severity; inline :need: references need a process decision.

由索引模型根据 Issue 内容生成。

描述

documentation

Observation

The published reference integration documentation shows component requirement
comp_req__kvs__snapshot_max_num with :status: invalid, while it is still referenced
by valid needs and by a test case:

https://eclipse-score.github.io/reference_integration/main/modules/score_persistency/components/kvs/requirements/index.html#comp_req__kvs__snapshot_max_num

Pinned persistency commit 961c0a0 (score/kvs/docs/requirements/index.rst):

  • 4 valid comp_req (snapshot_create_api, snapshot_restore_api, snapshot_remove_api,
    snapshot_slot_free_api) reference it via :need:`comp_req__kvs__snapshot_max_num` .
  • score/kvs/tests/test_cases/tests/test_cit_snapshots.py declares
    partially_verifies=["comp_req__kvs__snapshot_max_num"].

The documentation build passed and the change was merged. (Persistency main has since been
fixed, see #383 / #443 in eclipse-score/persistency.)

Analysis (docs-as-code 8.6.0)

  1. check_valid_only_links_to_valid (score_metamodel/checks/graph_checks.py) logs with
    is_new_check=True, so a valid need linking to an invalid need is only an info and never
    fails the build.
  2. testcase needs have no status option (metamodel.yaml). The check only iterates needs
    with status valid/valid_inspected, so partially_verifies / fully_verifies from test
    cases to invalid requirements are never checked at all.
  3. Inline :need: references are not part of need._links and are not checked. This is
    acceptable from a process point of view, but worth stating explicitly.

Process context

  • tool_req__docs_common_attr_status_invalid: "Findings on a valid need that links to an
    invalid need shall still be reported."
  • gd_req__arch_linkage_safety_trace, gd_req__saf_linkage_status_check and
    gd_req__sec_linkage_status_check require that only valid elements are linked.
  • For safety evidence (ISO 26262, verification of safety requirements) a test verifying an
    invalid requirement is a traceability gap.

Proposal

  1. Promote check_valid_only_links_to_valid from info to warning (at least for safety
    relevant needs, safety != QM), so that -W builds fail.
  2. Include testcase needs in the check: any fully_verifies / partially_verifies target
    must have status valid or valid_inspected.
  3. Decide (process) whether :need: inline references to invalid needs shall be reported.

Prepared with AI support (Claude Code), reviewed by Volker Häussler.

主要语言
Python
星标
11
派生
39
平均合并
1 天 13 小时
30 天内合并 PR
46

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

eclipse-score/docs-as-code 的其他 Issue

查看 eclipse-score/docs-as-code 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。