The row
- Ask does STK-REQ-001 list atomicity on obligation_checklist
- Stamp the catalog has atomicity. the name resolves
- Why a filled Jama cell never asks whether a signal or a test backs that class
Topic · obligation enforcement backed
Gist
Obligation enforcement backed is whether a cataloged class on an active obligation_checklist has a signal rule or any evidence. If neither exists, the checklist is a silent no-op. Proof runs proof audit --check obligation_enforcement_backed. Jama still authors.
proof audit --check obligation_enforcement_backed
Keep Jama if it already authors the shall. Keep the catalog if it already names the class. Neither one asks whether anything in this repo enforces that class.
01 · The silent checklist
Presence of the name on obligation_checklist is not truth. The same hole as a present-but-false poc_quality block.
The check is obligation_enforcement_backed. Stage spec. Default-on. Severity warning. It walks every active requirement. For each cataloged checklist class it asks two questions. Is there a signal rule that lists the class, in project.signals.mappings or in a builtin pack's metadata.proof.obligations? Is there any evidence for that pair: a triple-form annotation, an authored traces.obligation_evidence cell, an evidence-profile result, or the same on a descendant linked by satisfies?
If the class is in the catalog and both answers are no, the hop warns. Finding id is orphan_enforcement:<REQ-ID>:<class>. The checklist claimed coverage. Nothing in this repo enforces or witnesses it.
proof audit --check obligation_enforcement_backed
# STK-REQ-001 obligation_checklist: [atomicity]
# catalog has atomicity. no signal mapping. no triple.
# warn: orphan_enforcement:STK-REQ-001:atomicity
# silent no-op: the catalog entry exists but nothing enforces or witnesses it
catalog_completeness only asks whether the name resolves. This hop asks whether anything backs it. Uncataloged names stay on that hop. Missing evidence depth stays on obligation_evidence_complete. A covering SYS-REQ stays on obligation_completeness.
Fix one of three ways. Add a signal rule that lists the class. Add a triple // STK-REQ-001:atomicity:nominal (or an evidence-profile result). Or disposition it if it does not apply here.
proof req edit STK-REQ-001 --suppress-obligation atomicity --reason "..."
proof req edit STK-REQ-001 --defer-obligation atomicity --reason "..." --tracking "..."
proof catalog show atomicity
proof signals list
02 · The exhibit
One stakeholder requirement. One cataloged class. No signal. No evidence. Click the tabs.
The row
This hop
Nobody asked whether a rule or a witness exists. A catalog hit is not enforcement. The finding kind is this hop.
Backing unreadThe row
Keep the Jama shall. Keep the catalog class. That is not this hop.
Keep the recordProof
Same STK-REQ-001 / atomicity. Silent no-op, or this hop. Click the tabs.
| Surface | What they do | What Proof does | What we lose |
|---|---|---|---|
| Jama cell | A shall, and a class if you type it. | A warning the audit can name next to the silent class. | Not Jama's V&V. Jama still authors. We have not run a frozen Jama pack. |
| catalog_completeness | Whether the class name resolves. | Whether a resolved class has a rule or a witness. | Not the name hop. See catalog completeness. |
| obligation_completeness | Whether each listed class has a covering SYS-REQ. | Whether that class is enforced or witnessed at all. | Not the covering-child hop. See obligation completeness. |
| obligation_evidence_complete | Whether required evidence kinds exist for the class. | Whether any evidence exists. Depth is the other hop. | Not the depth hop. See obligation evidence complete. |
| obligation_baseline | Whether a tag-matched catalog class is listed or suppressed. | Whether a listed class is a silent no-op. | Not the missing-baseline hop. |
The teaching graph is still one listed class with no rule and no witness. Add a mapping, add a triple, or disposition it. Do not treat a Jama cell as this hop. Do not treat a catalog hit as enforcement.
proof audit --check obligation_enforcement_backed --verbose
proof catalog show atomicity
proof signals list
The name hop stays on catalog completeness. The covering-child hop stays on obligation completeness. The depth hop stays on obligation evidence complete. Jama still authors. Proof vs Jama.
03 · The honest loss
A quiet proof audit --check obligation_enforcement_backed can still mean there were no checklist items. Jama still authors.
The hop does not write a signal mapping. It does not write the triple. Severity is warning; findings do not fail the first install unless you raise the fail level. Zero checklist items is a silent pass. A nil project is skip. A scan error is a fail, not a silent-no-op finding. Uncataloged names are not this hop. Suppressed, deferred, and delegated classes are authored dispositions, not silent. Terminal requirements are skipped. Signal backing is class-level: one mapping anywhere in the project clears every requirement that lists that class. Evidence here is presence, not depth. Opt-out is project.checks.obligation_enforcement_backed.enabled: false; that 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 name hop stays on catalog completeness. The engagement stays on software correctness audit. Jama still authors.
04 · Nearby questions
What is obligation enforcement backed? Same question. Same URL.
Is this catalog completeness? No. That hop is whether the class name resolves. This hop is whether a resolved class has a rule or a witness. See catalog completeness.
Is this obligation completeness? No. That hop is whether each listed class has a covering SYS-REQ. See obligation completeness.
Is this obligation evidence complete? No. That hop is whether required evidence kinds exist. This hop is whether any backing exists at all. See obligation evidence complete.
Is this spec to obligations? No. That hop compiles a shall. See spec to obligations.
Does a suppress count as backing? No. A suppress, defer, or delegate is an authored disposition. The hop skips it. It is not a silent no-op.
Does a green hop prove the Go? No. The hop does not execute a test. It does not prove the shall.
Is Proof a Jama alternative for the shall? No. Jama still authors. Proof vs Jama.