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

Abierto
#1,030 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Python
Estrellas
11
Forks
39
Merge medio
1 d 13 h
PR fusionados (30 d)
46

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de eclipse-score/docs-as-code

Todos los issues de eclipse-score/docs-as-code

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.