Specifically, the combination of Safety Impact: Critical and Mission Impact: MEF Failure is completely unhandled in the schema and documentation, even though it appears to be handled correctly in the core decision tables and Python scripts.
...
HUMAN_IMPACT_1 = DecisionTable(
namespace=NameSpace.SSVC,
key="HI",
version="1.0.0",
name="Human Impact",
definition="Human Impact decision table for SSVC",
decision_points={
dp.id: dp for dp in [SituatedSafetyImpact, MissionImpact, HumanImpact]
},
outcome=HumanImpact.id,
mapping=[
{"ssvc:SI:2.0.1": "N", "ssvc:MI:2.0.0": "D", "ssvc:HI:2.0.2": "L"},
{"ssvc:SI:2.0.1": "N", "ssvc:MI:2.0.0": "MSC", "ssvc:HI:2.0.2": "L"},
{"ssvc:SI:2.0.1": "N", "ssvc:MI:2.0.0": "MEF", "ssvc:HI:2.0.2": "M"},
{"ssvc:SI:2.0.1": "N", "ssvc:MI:2.0.0": "MF", "ssvc:HI:2.0.2": "VH"},
{"ssvc:SI:2.0.1": "M", "ssvc:MI:2.0.0": "D", "ssvc:HI:2.0.2": "L"},
{"ssvc:SI:2.0.1": "M", "ssvc:MI:2.0.0": "MSC", "ssvc:HI:2.0.2": "L"},
{"ssvc:SI:2.0.1": "M", "ssvc:MI:2.0.0": "MEF", "ssvc:HI:2.0.2": "M"},
{"ssvc:SI:2.0.1": "M", "ssvc:MI:2.0.0": "MF", "ssvc:HI:2.0.2": "VH"},
{"ssvc:SI:2.0.1": "R", "ssvc:MI:2.0.0": "D", "ssvc:HI:2.0.2": "M"},
{"ssvc:SI:2.0.1": "R", "ssvc:MI:2.0.0": "MSC", "ssvc:HI:2.0.2": "H"},
{"ssvc:SI:2.0.1": "R", "ssvc:MI:2.0.0": "MEF", "ssvc:HI:2.0.2": "H"},
{"ssvc:SI:2.0.1": "R", "ssvc:MI:2.0.0": "MF", "ssvc:HI:2.0.2": "VH"},
{"ssvc:SI:2.0.1": "C", "ssvc:MI:2.0.0": "D", "ssvc:HI:2.0.2": "VH"},
{"ssvc:SI:2.0.1": "C", "ssvc:MI:2.0.0": "MSC", "ssvc:HI:2.0.2": "VH"},
{"ssvc:SI:2.0.1": "C", "ssvc:MI:2.0.0": "MEF", "ssvc:HI:2.0.2": "VH"},
{"ssvc:SI:2.0.1": "C", "ssvc:MI:2.0.0": "MF", "ssvc:HI:2.0.2": "VH"},
],
)
...
{
"namespace": "ssvc",
"key": "HI",
"version": "2.0.1",
"name": "Human Impact",
"definition": "Human Impact is a combination of Safety and Mission impacts.",
"schemaVersion": "2.0.0",
"values": [
{
"key": "L",
"name": "Low",
"definition": "Safety Impact:(Negligible) AND Mission Impact:(None OR Degraded OR Crippled)"
},
{
"key": "M",
"name": "Medium",
"definition": "(Safety Impact:Negligible AND Mission Impact:MEF Failure) OR (Safety Impact:Marginal AND Mission Impact:(None OR Degraded OR Crippled))"
},
{
"key": "H",
"name": "High",
"definition": "(Safety Impact:Critical AND Mission Impact:(None OR Degraded OR Crippled)) OR (Safety Impact:Marginal AND Mission Impact:MEF Failure)"
},
{
"key": "VH",
"name": "Very High",
"definition": "Safety Impact:Catastrophic OR Mission Impact:Mission Failure"
}
]
}
Could you please update the JSON schema definitions and the markdown documentation to accurately reflect the complete mapping present in the Python DecisionTable?
Hy there!
While reviewing the Human Impact (ssvc:HI:2.0.1) metric, I discovered a discrepancy between the actual codebase implementation and the provided documentation/JSON schema.
Specifically, the combination of Safety Impact: Critical and Mission Impact: MEF Failure is completely unhandled in the schema and documentation, even though it appears to be handled correctly in the core decision tables and Python scripts.
In the codebase, the DecisionTable maps all 16 combinations to concrete outcomes successfully:
However, the JSON schema completely omits this specific combination in its text definitions:
Could you please update the JSON schema definitions and the markdown documentation to accurately reflect the complete mapping present in the Python DecisionTable?