The row
- Ask does SYS-REQ-040 still carry concurrent
- Stamp the shall is in Jama. the test has :concurrent:race. the result file is missing
- Why a colon triple never asks whether the race profile still produced a passing result
Topic · obligation profile evidence complete
Gist
Obligation profile evidence complete is whether a class that proof.yaml maps to an evidence profile still has a passing result manifest on the requirement or a child that carries the class. A colon triple is not that floor. Proof runs proof audit --check obligation_profile_evidence_complete. Jama still authors.
proof audit --check obligation_profile_evidence_complete
Keep the suite if it already fails a broken fixture. Keep Jama if it already holds the shalls. Neither one asks whether the race profile still produced a passing result file.
01 · The silent triple
Obligation evidence complete asks whether the class has a triple-form test. This hop asks whether the profile that proof.yaml bound to that class still has a passing result.
The check is obligation_profile_evidence_complete. It is language-agnostic. A profile can be ASan for C, a Go race run, a JS property-test adapter, or a project fixture. Proof only validates the common manifest shape and the join to the requirement. It does not run the analyzer.
Walk every STK, SYS, SW, INT requirement that still carries an obligation class. If project.evidence_profiles maps that class in required_for, the hop looks for a passing result on the requirement or on a child that still carries the class. A suppressed class is skipped. An empty evidence_profiles map is a silent pass: no evidence profiles configured. Severity of the hop itself is warning, not error.
proof audit --check obligation_profile_evidence_complete
# SYS-REQ-040 obligation_checklist: concurrent
# proof.yaml maps concurrent -> profile go-race
# command: race result: proof/evidence/go-race.yaml
# test still has // SYS-REQ-040:concurrent:race
# result file missing
# warn: SYS-REQ-040 obligation concurrent profile go-race:
# missing passing profile evidence on the requirement
# or an obligation-carrying child
# silent triple: the annotation exists. the profile result does not
obligation_evidence_complete only asks whether the required evidence kinds exist as triples. This hop asks whether the mapped profile still produced a passing result. A covering SYS-REQ stays on obligation_completeness. A listed class with no accept stays on obligation_baseline. A listed class with no signal stays on obligation_enforcement_backed.
Inspect with proof evidence profiles. Run the configured project.commands.tests.<id> command that writes the listed result file. A fuzz profile with command: fuzz uses the opt-in project.commands.fuzz lane. Then proof evidence validate. proof evidence explain SYS-REQ-040 names which profiles apply, which command should produce them, and whether the current result is missing, failing, or passing. If the result failed because it found a real product issue, keep the requirement truthful: mark verification failing or accepted_risk, or set an explicit known-issue release disposition. Do not hide a failing profile with an unrelated suppress.
project:
evidence_profiles:
go-race:
evidence_type: race
command: race
result: proof/evidence/go-race.yaml
required_for: [concurrent]
commands:
tests:
race: go test -race ./...
02 · The exhibit
One system requirement. One catalog class. The triple is in the test. The race result file is missing. Click the tabs.
The row
This hop
Nobody asked whether go-race still has a passing manifest. A colon annotation is not a sanitizer run. The finding kind is this hop.
Profile unreadThe row
Keep the Jama shall. Keep the colon triple. That is not this hop.
Keep the recordProof
Same SYS-REQ-040 / concurrent. Silent triple, or this hop. Click the tabs.
| Surface | What they do | What Proof does | What we lose |
|---|---|---|---|
| Jama cell | A shall, and a note if you type it. | A warning the audit can name next to the missing profile result. | Not Jama's V&V. Jama still authors. We have not run a frozen Jama pack. |
| obligation_evidence_complete | Whether required evidence kinds exist as colon triples. | Whether the mapped profile still has a passing result file. | Not the triple hop. See obligation evidence complete. |
| obligation_enforcement_backed | Whether a listed class has a signal or any evidence. | Whether that class's mapped profile still passed. Not whether a signal fired. | Not the silent-no-op hop. See obligation enforcement backed. |
| obligation_completeness | Whether each listed class has a covering SYS-REQ. | Whether that SYS-REQ still has a passing profile result. Not whether a child covers it. | Not the covering-child hop. See obligation completeness. |
| obligation_baseline | Whether a tag-matched class was listed, suppressed, or delegated. | Whether a mapped profile still passed. Not whether the class was listed. | Not the silent-omission hop. See obligation baseline. |
| obligation_suppression_reviewer | Whether an error-severity suppress still carries reviewed_by. | Whether an unsuppressed mapped class still has a passing profile. | Not the silent unsigned skip. See obligation suppression reviewer. |
The teaching graph is still one concurrent class whose colon triple is present and whose race result file is missing. Write the result. Do not treat a Jama note as this hop. Do not treat a colon triple as a sanitizer run.
proof audit --check obligation_profile_evidence_complete --verbose
proof evidence profiles
proof evidence explain SYS-REQ-040
proof evidence validate
The triple hop stays on obligation evidence complete. The silent-no-op hop stays on obligation enforcement backed. The covering-child hop stays on obligation completeness. The silent-omission hop stays on obligation baseline. The silent-drop hop stays on obligation decomposition complete. The silent-pointer hop stays on obligation delegation resolves. The silent-placeholder hop stays on obligation suppression rationale. The silent unsigned skip stays on obligation suppression reviewer. Jama still authors. Proof vs Jama.
03 · The honest loss
A quiet proof audit --check obligation_profile_evidence_complete can still mean nobody configured a profile. Jama still authors.
The hop does not write a result file. It does not run project.commands.tests for you. No configured profiles is a silent pass. Severity of the hop is warning, not fail. A failing result is accepted when verification is already failing or accepted_risk, or when release disposition is ship_with_known_issue or not_in_scope. A suppressed class is skipped. A profile with an empty requirements list applies to every requirement that carries the class. A scoped list that names a requirement with none of the required_for classes is a misconfiguration, not a pass. --skip-level L0 skips the hop. Opt-out is skip, never pass. The hop does not prove the Go. We have not scored this floor against a frozen Jama pack. The loss is named, not scored.
The child-file hop stays on requirements decomposition. The engagement stays on software correctness audit. Jama still authors.
04 · Nearby questions
What is obligation profile evidence complete? Same question. Same URL.
Is this obligation evidence complete? No. That hop is whether required evidence kinds exist as colon triples. This hop is whether a mapped profile still has a passing result file. See obligation evidence complete.
Is this obligation enforcement backed? No. That hop is whether a listed class has a signal or any evidence. This hop is the profile result. See obligation enforcement backed.
Is this obligation completeness? No. That hop is whether each listed class has a covering SYS-REQ. See obligation completeness.
Is this obligation baseline? No. That hop is whether a tag-matched class was listed, suppressed, or delegated. See obligation baseline.
Is this obligation decomposition complete? No. That hop is whether a listed class flowed to a satisfying child. See obligation decomposition complete.
Is this obligation delegation resolves? No. That hop is whether a named owner still carries the class. See obligation delegation resolves.
Is this obligation suppression rationale? No. That hop is whether the reason is still a sentence. See obligation suppression rationale.
Is this obligation suppression reviewer? No. That hop is whether an error-severity suppress still carries reviewed_by. A suppress skips this hop. See
obligation suppression reviewer.
Does a green hop prove the sanitizer ran today? No. The hop reads the result file that is already on disk. It does not run the command. Stale files stay passing until you refresh them.
Is Proof a Jama alternative for the shall? No. Jama still authors. Proof vs Jama.