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

Aperta
#1,030 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Python
Stelle
11
Fork
39
Merge medio
1g 13h
PR unite (30g)
46

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di eclipse-score/docs-as-code

Tutte le issue di eclipse-score/docs-as-code

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.