Check reference
Connect software requirements to a live system parent
An implementation-facing requirement should refine a current system promise. l2_software_complete checks that its upward link reaches a live system requirement.
What the check observes
The check inspects active software and integration requirements. It requires a satisfies relationship and resolves its targets, accepting the record when at least one target is an active system requirement. A missing ID, a terminal parent, or a target at the wrong layer cannot be its sole parent. Additional historical links may remain when a valid live system target is also present.
Example: a software child still points to a superseded parent
Illustrative case. SW-REQ-042 names SYS-REQ-010, but that system requirement was superseded by SYS-REQ-073. The old link preserves history but cannot alone establish the software requirement's current system basis.
# After reviewing the actual refinement relationship
proof req link add SW-REQ-042 satisfies SYS-REQ-073
# Inspect the complete lineage before removing any historical link
proof req show SW-REQ-042 --with lineage,tracesResolve the finding
- Read the reported target defects: nonexistent, terminal, wrong layer, or no usable satisfies entry.
- Compare the software behavior with the proposed live parent. Update the child if the new parent's promise differs, rather than changing the link alone.
- Add the legitimate system relationship and handle obsolete links through the reviewed migration. Then inspect the parent's downward coverage as a separate question.
Run and interpret
proof audit --check l2_software_complete --verboseThis is a specification-stage error check. Retired, superseded, and rejected child records are excluded. It checks the configured software/integration layers and respects an explicit L2 skip.
At least one valid live parent satisfies this structural predicate. It does not prove logical refinement, allocation of every parent obligation, or that the child is implemented and verified. A syntactically correct parent can still govern unrelated behavior.
Continue from here
Check downward system realization. Follow individual obligations into children.
Bring a software requirement affected by a system-level change or supersession. Bring a change to Proof.