Skip to content

[High] CI's rsfusa trace step reports 542/551 (98%) requirements as HLRs with zero LLR decomposition, but nothing gates on it #90

Description

@SoundMatt

What's wrong

CI run 30452427240, job 90577608091 ("rust-FuSa full lifecycle") runs rsfusa trace and emits 542 distinct "HLR ... has no LLR children" warnings — confirmed by grepping the job log directly. This matches .fusa-reqs.json exactly: 551 total requirements, 542 tagged level="HLR", 0 tagged level="LLR" (the remaining 9 have no level field at all — these are ADC requirements missing the field entirely, not tagged LLR either).

ci.yml lines 239-243 run the rsfusa trace step with no exit-code check and no grep/fail gate on the warning output. The job still concludes "success" (confirmed via gh api).

Why it matters

The job step's own comment cites full traceability rigor per §20.1/§20.4, but 98% of declared requirements have no low-level-requirement decomposition and CI is green regardless. This means the "continuous conformance" gate the spec relies on for requirements traceability is not actually enforcing decomposition — it is effectively a no-op warning stream that nobody has to address to merge or release.

Suggested fix

Either add a threshold/fail gate on rsfusa trace output (e.g. fail if HLR-without-LLR count exceeds some agreed threshold, or fail on any HLR lacking LLR children for safety-relevant requirement categories), or actually decompose the 542 HLRs into LLRs. Also fix the 9 requirements missing a level field entirely in .fusa-reqs.json.


Filed from the RELAY ecosystem audit (2026-07-29), category: relay-spec-conformance, severity: high.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions