Highway model rules
These rules check Highway models across the CREATE viewpoints. This catalog is generated from DefaultRules.all, the same Kotlin definitions used by Gradle and IDEA.
There are 126 automatic checks and 23 human or AI review rules (149 rules in total). Select a rule ID in either index to read its definition and corrective action below. Each section keeps the existing Kotlin-defined rule ID as its link anchor. Severity badges list every severity the Kotlin check can emit. They are finding severities, not model ASILs. Semantic checks emit INFO review records; their default violation severity applies to the reviewed contract.
Dispatch input is not the complete review scope. Inventory rules select the subjects described by their contracts. Complete model scope means all project model outputs were loaded; it does not establish that external standards, needs, budgets, or other engineering evidence are available.
Automatic checks
Gradle and IDEA evaluate these rules automatically and report violations.
Rule ID | Name | Possible finding severities |
|---|---|---|
Entity uses the wrong viewpoint package (Context) | ||
Context class is nested inside another declaration | ||
Context class has no instance property in its file | ||
Context class name violates PascalCase | ||
Context instance name violates camelCase | ||
Context entity has no required name | ||
Context entity has no required description | ||
Element has no ASIL | ||
Context entity contains forbidden wording | ||
Element allocates an ASIL above its own ASIL |
| |
Provided interface point exceeds its element's ASIL limit |
| |
Interface point exceeds its enclosing interface point's ASIL | ||
Element has no required parent | ||
Top-level element declares a parent | ||
Element names a parent whose design omits it | ||
Context entity has no required ASIL | ||
Port member use references a member outside its service interface | ||
Port member use exceeds its referenced member's ASIL | ||
Required method exceeds its definition's ASIL | ||
Service member has no resolved interface definition | ||
Requirement lacks a containing requirements specification | ||
Entity uses the wrong viewpoint package (Requirements) | ||
Requirements class is nested inside another declaration | ||
Requirements class has no instance property in its file | ||
Requirements class name violates PascalCase | ||
Requirements instance name violates camelCase | ||
Requirements entity has no required name | ||
Requirements entity has no required description | ||
Requirement has no ASIL | ||
Requirement has no verification criteria | ||
Requirements specification has no subject element | ||
Requirement names a different subject from its specification | ||
Requirement omits a recognized normative modal | ||
Requirement omits its subject before the normative modal | ||
Requirements entity contains forbidden wording | ||
Requirement has no subject element | ||
Requirement allocates to no child element | ||
Bottom-level requirement allocates to child elements | ||
Requirements omit an allocated obligation | ||
Requirement allocates outside its subject's design children | ||
Parent requirements omit allocation to a design child | ||
Derived requirement cites no parent requirement | ||
Requirement exceeds its subject element's ASIL |
| |
Derived requirement falls below a parent requirement's ASIL | ||
Derived requirement exceeds every parent requirement's ASIL | ||
Requirement derives from a parent that does not allocate to its subject | ||
Top-level requirement cites a parent requirement | ||
Safety measure lacks a containing design | ||
Entity uses the wrong viewpoint package (Design) | ||
Design class is nested inside another declaration | ||
Design class has no instance property in its file | ||
Design class name violates PascalCase | ||
Design instance name violates camelCase | ||
Design entity has no required name | ||
Design entity has no required description | ||
Design has no subject element | ||
Safety mechanism has no ASIL | ||
Safety measure has no ASIL | ||
Design entity contains forbidden wording | ||
Safety mechanism exceeds its element's ASIL |
| |
Design lists a child with a different parent | ||
Design contradicts the element's bottom-level declaration | ||
Failure lacks a containing interface-point analysis | ||
Interface-point analysis lacks a containing element analysis | ||
Entity uses the wrong viewpoint package (Analysis) | ||
Analysis class is nested inside another declaration | ||
Analysis class has no instance property in its file | ||
Analysis class name violates PascalCase | ||
Analysis instance name violates camelCase | ||
Analysis declaration violates the Analysis naming convention | ||
Analysis entity has no required name | ||
Analysis entity has no required description | ||
Analysis has no subject element | ||
Analysis omits the assessment for its QM exemption | ||
Interface-point analysis omits the assessment for its QM exemption | ||
Interface-point analysis omits the assessment for its safety-scope exclusion | ||
Failure has no ASIL | ||
Failure has no severity | ||
Failure has no multiplicity | ||
Failure declares no required propagation target | ||
Failure lacks a sufficient or residual evaluation | ||
Failure records a positive evaluation without an argument | ||
Failure has an invalid severity value | ||
Interface-point analysis contains no required S10 failure | ||
Analysis omits an interface point | ||
Failure name contradicts its severity | ||
Failure description omits its element name at the start | ||
Failure description omits its interface name after the element name | ||
QM failure reaches S10 severity | ||
Failure lacks a safety measure or valid independent failure | ||
Top-level failure declares propagation targets | ||
Analysis entity contains forbidden wording | ||
Interface-point analysis declares no required parent dependency | ||
Top-level interface-point analysis declares parent dependencies | ||
Interface-point analysis links outside its eligible analysis parent | ||
Interface-point analysis has no parent dependency with sufficient ASIL |
| |
Failure exceeds its interface point's ASIL |
| |
Failure exceeds every propagation target's ASIL |
| |
Failure propagates outside its declared interface dependencies | ||
Failure exceeds every propagation target's severity |
| |
Single-point failure propagates to a failure with incompatible multiplicity | ||
Multiple-point failure cites no independent failure | ||
Failure cites an invalid independent failure |
| |
Failure lacks a contributing child failure | ||
Interface-point analysis lacks a contributing child analysis | ||
Failure propagates to a bottom-level failure | ||
Interface-point analysis contributes to a bottom-level interface | ||
Failure propagates outside its eligible analysis parent | ||
Interface-point analysis references another element's interface | ||
Test case lacks a containing test specification | ||
Entity uses the wrong viewpoint package (Tests) | ||
Tests class is nested inside another declaration | ||
Tests class has no instance property in its file | ||
Tests class name violates PascalCase | ||
Tests instance name violates camelCase | ||
Tests entity has no required name | ||
Tests entity has no required description | ||
Test case has no ASIL | ||
Test specification has no subject element | ||
Test case identifies no element under test | ||
Test case identifies no interface under test | ||
Test case omits the required Given–When–Then sequence | ||
Tests entity contains forbidden wording | ||
Test case identifies no requirement to verify | ||
Test case has no trace to an element, interface, or requirement | ||
Test case exercises none of its verified requirements' allocated elements |
Context
nonContextEntityInContextPackage
Field | Description |
|---|---|
Name | Entity uses the wrong viewpoint package (Context) |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A file under a |
Corrective action | Move the declaration out of |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.NonContextEntityInContextPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointPackageRules.kt:
contextClassesTopLevel
Field | Description |
|---|---|
Name | Context class is nested inside another declaration |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every class declared in this viewpoint shall be directly in its Kotlin file, outside other classes, objects and functions. |
Corrective action | Move the class to file scope in the same Kotlin file. Update type references and pass any required enclosing state explicitly; retain the model's object containment. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.ContextClassesTopLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassesTopLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
contextClassInstance
Field | Description |
|---|---|
Name | Context class has no instance property in its file |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every concrete class in this viewpoint shall have at least one instance property in the same Kotlin file, either at file scope or as a member of a class or object. Multiple instances are allowed. Function-local variables do not satisfy this obligation. Abstract, sealed, enum, annotation and expect classes and interfaces are exempt. |
Corrective action | Declare an instance property in the same Kotlin file (for example, val abc = ABC()), either at file scope or as a field of its owning model class or object. Keep member instances in their owning container; multiple instances of the same class are allowed. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.ContextClassInstanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassInstanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
contextClassPascalCase
Field | Description |
|---|---|
Name | Context class name violates PascalCase |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Class identifiers in this viewpoint shall start with an uppercase letter and contain only letters and digits (PascalCase). |
Corrective action | Rename the class to PascalCase with the IDE's Rename refactoring, removing underscores and dashes, and update every type and constructor reference. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.ContextClassPascalCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassPascalCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
contextObjectCamelCase
Field | Description |
|---|---|
Name | Context instance name violates camelCase |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Instance property and named object identifiers in this viewpoint shall start with a lowercase letter and contain only letters and digits (camelCase). Context declarations of ProvidedMethod and RequiredMethod, including derived types, retain the external API identifier. |
Corrective action | Rename the property or named object to camelCase with the IDE's Rename refactoring, removing underscores and dashes. Update references and any configured or persisted model IDs affected by the rename. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.ContextObjectCamelCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointObjectCamelCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
nameDefinedInContextPackage
Field | Description |
|---|---|
Name | Context entity has no required name |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every context entity shall have a non-blank name. |
Corrective action | Give the context entity a short domain name in its |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.NameDefinedInContextPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/MetamodelPresenceRules.kt:
descriptionDefinedInContextPackage
Field | Description |
|---|---|
Name | Context entity has no required description |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every context entity shall have a non-blank description. |
Corrective action | Describe the context entity's purpose, boundary, or interface meaning in its |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.DescriptionDefinedInContextPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/MetamodelPresenceRules.kt:
elementAsilDefined
Field | Description |
|---|---|
Name | Element has no ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every Element shall define its required asil attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.context.ElementAsilDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/context/ContextRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
forbiddenWordsInContext
Field | Description |
|---|---|
Name | Context entity contains forbidden wording |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | String attributes in the context viewpoint shall not contain the configured forbidden words. The default list only rejects explicit unfinished-work markers: tbd, tbc, todo, fixme. Narrative failure descriptions and assessment arguments may use uncertainty and qualitative wording. Check constructor attributes, including names, descriptions, arguments, comments, verification criteria, collections, and nested metadata. Match whole words/phrases without regard to case. Referenced model entities are checked in their own viewpoint and module scope. KDoc, source comments, generated identities, and enum names are not string attributes. |
Corrective action | Replace the reported wording in the named attribute with precise, testable conditions and justified values. Obtain missing engineering decisions before completing the statement. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.ForbiddenWordsInContextRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ForbiddenWordsRules.kt:
com.stigway.metamodels.create.ForbiddenWordsInViewpointRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ForbiddenWordsRules.kt:
elementAllocatedAsilBound
Field | Description |
|---|---|
Name | Element allocates an ASIL above its own ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities |
|
Contract and evidence | An element's allocatedAsil, when declared, shall not exceed its asil (HIGH). A lower allocatedAsil produces INFO on the element. |
Corrective action | Review the allocated requirements and the element's development classification. Correct allocatedAsil or asil using that evidence. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.context.ElementAllocatedAsilBoundRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/context/ContextRules.kt:
interfacePointAsilBound
Field | Description |
|---|---|
Name | Provided interface point exceeds its element's ASIL limit |
Contributor unknown |
|
Default severity |
|
Possible finding severities |
|
Contract and evidence | An interface point's effectiveAsil, when provided by an element, shall not exceed allocatedAsil when declared, otherwise asil. Provided ports, published data and provided functions are checked; required ports, subscribed data and called methods may have any ASIL. A shared definition is checked at the local provided port or member use. A complete nonempty set of provided interface points below the selected bound produces INFO on the element. |
Corrective action | Review the interface point classifications and their element's requirement allocation. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.context.InterfacePointAsilBoundRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/context/InterfacePointAsilBoundRule.kt:
interfacePointParentAsilBound
Field | Description |
|---|---|
Name | Interface point exceeds its enclosing interface point's ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An interface point's effectiveAsil shall not exceed its nearest enclosing interface point's effectiveAsil. This applies to both provided and required interface points, including member uses enclosed by their local port. A shared definition retains its declaration parent. If either classification is unresolved or there is no enclosing interface point, this check does not apply. The element's provision limit is checked separately. |
Corrective action | Review the child and enclosing interface classifications so the child does not exceed its parent. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.context.InterfacePointParentAsilBoundRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/context/InterfacePointParentAsilBoundRule.kt:
elementParentDefined
Field | Description |
|---|---|
Name | Element has no required parent |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An element with isTopLevel=false shall reference its parent element. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.context.ElementParentDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/context/ContextRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
elementTopLevelNoParent
Field | Description |
|---|---|
Name | Top-level element declares a parent |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An element with isTopLevel=true shall have no parent. |
Corrective action | Check the element's |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.ElementTopLevelNoParentRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/BoundaryRules.kt:
com.stigway.metamodels.create.BoundaryLinksRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/BoundaryRules.kt:
elementInParentDesign
Field | Description |
|---|---|
Name | Element names a parent whose design omits it |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An element with a parent shall be listed in that parent's Design.children. |
Corrective action | Add the element to its parent's |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.context.ElementInParentDesignRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/context/ContextRules.kt:
interfaceEntityAsilDefined
Field | Description |
|---|---|
Name | Context entity has no required ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every interface point shall resolve an effectiveAsil from its own declaration, referenced definition, enclosing interface points or owning element. Connectors and other ASIL-bearing context entities shall define their ASIL. |
Corrective action | Set |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.InterfaceEntityAsilDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
portMemberUse
Field | Description |
|---|---|
Name | Port member use references a member outside its service interface |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A port-member use shall reference a member declared by the port's service interface. |
Corrective action | Select a |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.context.PortMemberUseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/context/PortMemberUseRule.kt:
portMemberUseAsilBound
Field | Description |
|---|---|
Name | Port member use exceeds its referenced member's ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A port-member use's effectiveAsil shall not exceed its referenced member's effectiveAsil, including classification inherited by that member from its enclosing declarations. This applies to both provided and required uses. If either classification is unresolved, this comparison does not apply. The enclosing port and provided-interface element limits are checked separately. |
Corrective action | Use the member's inherited classification, or review the interface definition so a local use does not exceed it. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.context.PortMemberUseAsilBoundRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/context/PortMemberUseAsilBoundRule.kt:
requiredMethodDefinitionAsilBound
Field | Description |
|---|---|
Name | Required method exceeds its definition's ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A required method's effectiveAsil shall not exceed its referenced definition's effectiveAsil. Classification inherited by the definition is included. If the definition or either classification is absent, this comparison does not apply. |
Corrective action | Use the definition's inherited classification, or review the referenced contract so the required method does not exceed it. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.context.RequiredMethodDefinitionAsilBoundRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/context/RequiredMethodDefinitionAsilBoundRule.kt:
unresolvedInterfaceMember
Field | Description |
|---|---|
Name | Service member has no resolved interface definition |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A service member shall have a resolved interface definition. Findings belong to the module declaring the member. |
Corrective action | Resolve the reported service-member reference to a declared interface member. Correct the source reference or supply the missing interface definition, then refresh the imported model. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.context.UnresolvedInterfaceMemberRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/context/UnresolvedInterfaceMemberRule.kt:
Requirements
requirementMustLiveInRequirementContainer
Field | Description |
|---|---|
Name | Requirement lacks a containing requirements specification |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every Requirement shall be declared as a property of a Requirements subclass; top-level |
Corrective action | Move the requirement into the appropriate |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementMustLiveInRequirementContainerRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
nonRequirementsEntityInRequirementsPackage
Field | Description |
|---|---|
Name | Entity uses the wrong viewpoint package (Requirements) |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A file under a |
Corrective action | Move the declaration out of |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.NonRequirementsEntityInRequirementsPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointPackageRules.kt:
requirementsClassesTopLevel
Field | Description |
|---|---|
Name | Requirements class is nested inside another declaration |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every class declared in this viewpoint shall be directly in its Kotlin file, outside other classes, objects and functions. |
Corrective action | Move the class to file scope in the same Kotlin file. Update type references and pass any required enclosing state explicitly; retain the model's object containment. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.RequirementsClassesTopLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassesTopLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
requirementsClassInstance
Field | Description |
|---|---|
Name | Requirements class has no instance property in its file |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every concrete class in this viewpoint shall have at least one instance property in the same Kotlin file, either at file scope or as a member of a class or object. Multiple instances are allowed. Function-local variables do not satisfy this obligation. Abstract, sealed, enum, annotation and expect classes and interfaces are exempt. |
Corrective action | Declare an instance property in the same Kotlin file (for example, val abc = ABC()), either at file scope or as a field of its owning model class or object. Keep member instances in their owning container; multiple instances of the same class are allowed. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.RequirementsClassInstanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassInstanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
requirementsClassPascalCase
Field | Description |
|---|---|
Name | Requirements class name violates PascalCase |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Class identifiers in this viewpoint shall start with an uppercase letter and contain only letters and digits (PascalCase). |
Corrective action | Rename the class to PascalCase with the IDE's Rename refactoring, removing underscores and dashes, and update every type and constructor reference. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.RequirementsClassPascalCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassPascalCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
requirementsObjectCamelCase
Field | Description |
|---|---|
Name | Requirements instance name violates camelCase |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Instance property and named object identifiers in this viewpoint shall start with a lowercase letter and contain only letters and digits (camelCase). Context declarations of ProvidedMethod and RequiredMethod, including derived types, retain the external API identifier. |
Corrective action | Rename the property or named object to camelCase with the IDE's Rename refactoring, removing underscores and dashes. Update references and any configured or persisted model IDs affected by the rename. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.RequirementsObjectCamelCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointObjectCamelCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
nameDefinedInRequirementsPackage
Field | Description |
|---|---|
Name | Requirements entity has no required name |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every requirements entity shall have a non-blank name. |
Corrective action | Give the requirement or requirements container a short name in its |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.NameDefinedInRequirementsPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/MetamodelPresenceRules.kt:
descriptionDefinedInRequirementsPackage
Field | Description |
|---|---|
Name | Requirements entity has no required description |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every requirements entity shall have a non-blank description. |
Corrective action | Write the required behavior in the requirement's |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.DescriptionDefinedInRequirementsPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/MetamodelPresenceRules.kt:
requirementAsilDefined
Field | Description |
|---|---|
Name | Requirement has no ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every Requirement shall define its required asil attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementAsilDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
requirementVerificationCriteriaDefined
Field | Description |
|---|---|
Name | Requirement has no verification criteria |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every Requirement shall define its required verificationCriteria attribute. |
Corrective action | Add measurable acceptance conditions in |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.RequirementVerificationCriteriaDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
requirementContainerElementDefined
Field | Description |
|---|---|
Name | Requirements specification has no subject element |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every Requirements shall define its required element attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.RequirementContainerElementDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
requirementContainerSubject
Field | Description |
|---|---|
Name | Requirement names a different subject from its specification |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement shall belong to a requirements specification for its subject element. |
Corrective action | Place the requirement in the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementContainerSubjectRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementCoverageRules.kt:
requirementNormativeModal
Field | Description |
|---|---|
Name | Requirement omits a recognized normative modal |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement's description shall contain one recognized normative modal: |
Corrective action | Write the requirement's |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementNormativeModalRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
subjectBeforeVerbInRequirement
Field | Description |
|---|---|
Name | Requirement omits its subject before the normative modal |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement's description shall mention the subject element's name before the first normative modal. |
Corrective action | Name the subject element before the first normative modal in |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.SubjectBeforeVerbInRequirementRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
forbiddenWordsInRequirement
Field | Description |
|---|---|
Name | Requirements entity contains forbidden wording |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | String attributes in the requirements viewpoint shall not contain the configured forbidden words. The default list rejects placeholders, examples, non-exhaustive phrasing, fuzzy quantities/timing, and subjective quality terms. Check constructor attributes, including names, descriptions, arguments, comments, verification criteria, collections, and nested metadata. Match whole words/phrases without regard to case. Referenced model entities are checked in their own viewpoint and module scope. KDoc, source comments, generated identities, and enum names are not string attributes. |
Corrective action | Replace the reported wording in the named attribute with precise, testable conditions and justified values. Obtain missing engineering decisions before completing the statement. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.ForbiddenWordsInRequirementRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
com.stigway.metamodels.create.ForbiddenWordsInViewpointRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ForbiddenWordsRules.kt:
requirementAllocation
Field | Description |
|---|---|
Name | Requirement has no subject element |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every requirement shall be allocated to a specific element. |
Corrective action | Set the requirement's |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementAllocationRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
requirementAllocatedToDefined
Field | Description |
|---|---|
Name | Requirement allocates to no child element |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement whose element has isBottomLevel=false shall allocate to at least one child declared in its element's Design.children. |
Corrective action | Add the responsible child elements from |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementAllocatedToDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
requirementBottomLevelNoAllocation
Field | Description |
|---|---|
Name | Bottom-level requirement allocates to child elements |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An entity on an element with isBottomLevel=true should have no allocatedTo references. |
Corrective action | Check the element's |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.RequirementBottomLevelNoAllocationRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/BoundaryRules.kt:
com.stigway.metamodels.create.BoundaryLinksRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/BoundaryRules.kt:
requirementAllocationCoverage
Field | Description |
|---|---|
Name | Requirements omit an allocated obligation |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every element in a requirement's allocatedTo list shall have a contained requirement derived from it. Coverage is collective across the element's requirements. Missing coverage belongs to every root Requirements specification, or to the element when no specification exists; nested sections are not targets. |
Corrective action | Define the child requirement that implements the allocated parent requirement. Set |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementAllocationCoverageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementCoverageRules.kt:
requirementAllocatedToChildOfSubject
Field | Description |
|---|---|
Name | Requirement allocates outside its subject's design children |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Each element in Requirement.allocatedTo shall belong to the requirement element's Design.children. |
Corrective action | Replace invalid |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementAllocatedToChildOfSubjectRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
designChildAllocation
Field | Description |
|---|---|
Name | Parent requirements omit allocation to a design child |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every child listed in an element's Design.children shall receive at least one requirement allocation from that element. Missing allocations belong to every root Requirements specification, or to the element when none exists. |
Corrective action | Specify the parent's requirements for this child and include the child in their |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.DesignChildAllocationRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/DesignChildAllocationRule.kt:
orphanRequirement
Field | Description |
|---|---|
Name | Derived requirement cites no parent requirement |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement whose element has isTopLevel=false shall reference at least one parent requirement through derivedFrom. |
Corrective action | Add the parent requirements that justify this obligation to |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.OrphanRequirementRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
requirementAsilLeqSubject
Field | Description |
|---|---|
Name | Requirement exceeds its subject element's ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities |
|
Contract and evidence | Each requirement's ASIL shall not exceed its element's ASIL (HIGH on an excessive requirement). A complete nonempty set below the element's ASIL produces INFO on the element. When at least one requirement is present and allocatedAsil is declared, their maximum ASIL shall equal allocatedAsil. Equality is checked when all requirement ASILs and the complete requirement set are available. |
Corrective action | Compare the requirement's |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementAsilLeqSubjectRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
requirementAsilDerivation
Field | Description |
|---|---|
Name | Derived requirement falls below a parent requirement's ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A derived requirement's ASIL shall be at least the ASIL of every parent in derivedFrom. A lower derived classification is HIGH on that derived requirement. ASIL decomposition is not modeled. |
Corrective action | Review the parent and derived requirement classifications against the derivation evidence. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementAsilDerivationRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
requirementAsilOverclassification
Field | Description |
|---|---|
Name | Derived requirement exceeds every parent requirement's ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | When every parent requirement is classified, a derived ASIL above their maximum produces INFO on the derived requirement. Equality and unknown or empty parent sets produce no information. |
Corrective action | Review whether the higher classification of the derived requirement is intentional. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementAsilOverclassificationRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
requirementDerivedFromAllocationConsistency
Field | Description |
|---|---|
Name | Requirement derives from a parent that does not allocate to its subject |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | For each parent in Requirement.derivedFrom, if the parent declares a non-empty allocatedTo list, the child requirement's subject ( |
Corrective action | Include the child requirement's subject element in the parent requirement's |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementDerivedFromAllocationConsistencyRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
requirementTopLevelNoParent
Field | Description |
|---|---|
Name | Top-level requirement cites a parent requirement |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An entity on an element with isTopLevel=true should have no derivedFrom references. |
Corrective action | Check the element's |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementTopLevelNoParentRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementRules.kt:
com.stigway.metamodels.create.BoundaryLinksRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/BoundaryRules.kt:
Design
safetyMeasureMustLiveInDesign
Field | Description |
|---|---|
Name | Safety measure lacks a containing design |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every safety measure, including subclasses, shall be declared as a named property in a Design. Nested designs are allowed; failures may reference measures from another element's design. |
Corrective action | Move the named safety-measure declaration into its owning element's |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.design.SafetyMeasureMustLiveInDesignRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/design/SafetyMeasureRules.kt:
nonDesignEntityInDesignPackage
Field | Description |
|---|---|
Name | Entity uses the wrong viewpoint package (Design) |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A file under a |
Corrective action | Move the declaration out of |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.NonDesignEntityInDesignPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointPackageRules.kt:
designClassesTopLevel
Field | Description |
|---|---|
Name | Design class is nested inside another declaration |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every class declared in this viewpoint shall be directly in its Kotlin file, outside other classes, objects and functions. |
Corrective action | Move the class to file scope in the same Kotlin file. Update type references and pass any required enclosing state explicitly; retain the model's object containment. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.DesignClassesTopLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassesTopLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
designClassInstance
Field | Description |
|---|---|
Name | Design class has no instance property in its file |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every concrete class in this viewpoint shall have at least one instance property in the same Kotlin file, either at file scope or as a member of a class or object. Multiple instances are allowed. Function-local variables do not satisfy this obligation. Abstract, sealed, enum, annotation and expect classes and interfaces are exempt. |
Corrective action | Declare an instance property in the same Kotlin file (for example, val abc = ABC()), either at file scope or as a field of its owning model class or object. Keep member instances in their owning container; multiple instances of the same class are allowed. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.DesignClassInstanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassInstanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
designClassPascalCase
Field | Description |
|---|---|
Name | Design class name violates PascalCase |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Class identifiers in this viewpoint shall start with an uppercase letter and contain only letters and digits (PascalCase). |
Corrective action | Rename the class to PascalCase with the IDE's Rename refactoring, removing underscores and dashes, and update every type and constructor reference. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.DesignClassPascalCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassPascalCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
designObjectCamelCase
Field | Description |
|---|---|
Name | Design instance name violates camelCase |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Instance property and named object identifiers in this viewpoint shall start with a lowercase letter and contain only letters and digits (camelCase). Context declarations of ProvidedMethod and RequiredMethod, including derived types, retain the external API identifier. |
Corrective action | Rename the property or named object to camelCase with the IDE's Rename refactoring, removing underscores and dashes. Update references and any configured or persisted model IDs affected by the rename. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.DesignObjectCamelCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointObjectCamelCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
nameDefinedInDesignPackage
Field | Description |
|---|---|
Name | Design entity has no required name |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every design entity shall have a non-blank name. |
Corrective action | Give the design entity a short domain name in its |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.NameDefinedInDesignPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/MetamodelPresenceRules.kt:
descriptionDefinedInDesignPackage
Field | Description |
|---|---|
Name | Design entity has no required description |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every design entity except Design shall have a non-blank description. Design descriptions are optional. |
Corrective action | Describe the design entity's responsibility and how it contributes to the design in its |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.DescriptionDefinedInDesignPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/MetamodelPresenceRules.kt:
designElementDefined
Field | Description |
|---|---|
Name | Design has no subject element |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every Design shall define its required element attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.design.DesignElementDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/design/DesignRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
safetyMechanismAsilDefined
Field | Description |
|---|---|
Name | Safety mechanism has no ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every SafetyMechanism shall define its required asil attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.design.SafetyMechanismAsilDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/design/DesignRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
safetyMeasureAsilDefined
Field | Description |
|---|---|
Name | Safety measure has no ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every SafetyMeasure shall define its required asil attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.SafetyMeasureAsilDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
forbiddenWordsInDesign
Field | Description |
|---|---|
Name | Design entity contains forbidden wording |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | String attributes in the design viewpoint shall not contain the configured forbidden words. The default list only rejects explicit unfinished-work markers: tbd, tbc, todo, fixme. Narrative failure descriptions and assessment arguments may use uncertainty and qualitative wording. Check constructor attributes, including names, descriptions, arguments, comments, verification criteria, collections, and nested metadata. Match whole words/phrases without regard to case. Referenced model entities are checked in their own viewpoint and module scope. KDoc, source comments, generated identities, and enum names are not string attributes. |
Corrective action | Replace the reported wording in the named attribute with precise, testable conditions and justified values. Obtain missing engineering decisions before completing the statement. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.ForbiddenWordsInDesignRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ForbiddenWordsRules.kt:
com.stigway.metamodels.create.ForbiddenWordsInViewpointRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ForbiddenWordsRules.kt:
safetyMechanismAsilExceedsElement
Field | Description |
|---|---|
Name | Safety mechanism exceeds its element's ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities |
|
Contract and evidence | A safety mechanism's ASIL shall not exceed its element's ASIL (HIGH on the mechanism). A complete nonempty set below the element's ASIL produces INFO on the element. |
Corrective action | Review the safety mechanisms against their design's owning element. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.design.SafetyMechanismAsilExceedsElementRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/design/DesignRules.kt:
designChildrenParent
Field | Description |
|---|---|
Name | Design lists a child with a different parent |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every element listed in Design.children shall have the design's owning element as its parent. |
Corrective action | Set each declared child's |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.design.DesignChildrenParentRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/design/DesignDecompositionRules.kt:
designChildrenBoundary
Field | Description |
|---|---|
Name | Design contradicts the element's bottom-level declaration |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An element with isBottomLevel=true shall have no Design.children; an element with isBottomLevel=false shall have at least one Design child. |
Corrective action | Align |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.design.DesignChildrenBoundaryRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/design/DesignDecompositionRules.kt:
Analysis
failureMustLiveInInterfacePointAnalysis
Field | Description |
|---|---|
Name | Failure lacks a containing interface-point analysis |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every Failure shall be declared as a property of an InterfacePointAnalysis subclass; top-level |
Corrective action | Move the failure into its owning |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureMustLiveInInterfacePointAnalysisRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
interfacePointAnalysisMustLiveInElementAnalysis
Field | Description |
|---|---|
Name | Interface-point analysis lacks a containing element analysis |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every InterfacePointAnalysis shall be declared directly or through nested interface-point analyses inside an Analysis subclass; top-level |
Corrective action | Declare the interface-point analysis as a named |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAnalysisMustLiveInElementAnalysisRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
nonAnalysisEntityInAnalysisPackage
Field | Description |
|---|---|
Name | Entity uses the wrong viewpoint package (Analysis) |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A file under an |
Corrective action | Move the declaration out of |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.NonAnalysisEntityInAnalysisPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointPackageRules.kt:
analysisClassesTopLevel
Field | Description |
|---|---|
Name | Analysis class is nested inside another declaration |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every class declared in this viewpoint shall be directly in its Kotlin file, outside other classes, objects and functions. |
Corrective action | Move the class to file scope in the same Kotlin file. Update type references and pass any required enclosing state explicitly; retain the model's object containment. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.AnalysisClassesTopLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassesTopLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
analysisClassInstance
Field | Description |
|---|---|
Name | Analysis class has no instance property in its file |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every concrete class in this viewpoint shall have at least one instance property in the same Kotlin file, either at file scope or as a member of a class or object. Multiple instances are allowed. Function-local variables do not satisfy this obligation. Abstract, sealed, enum, annotation and expect classes and interfaces are exempt. |
Corrective action | Declare an instance property in the same Kotlin file (for example, val abc = ABC()), either at file scope or as a field of its owning model class or object. Keep member instances in their owning container; multiple instances of the same class are allowed. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.AnalysisClassInstanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassInstanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
analysisClassPascalCase
Field | Description |
|---|---|
Name | Analysis class name violates PascalCase |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Class identifiers in this viewpoint shall start with an uppercase letter and contain only letters and digits (PascalCase). |
Corrective action | Rename the class to PascalCase with the IDE's Rename refactoring, removing underscores and dashes, and update every type and constructor reference. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.AnalysisClassPascalCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassPascalCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
analysisObjectCamelCase
Field | Description |
|---|---|
Name | Analysis instance name violates camelCase |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Instance property and named object identifiers in this viewpoint shall start with a lowercase letter and contain only letters and digits (camelCase). Context declarations of ProvidedMethod and RequiredMethod, including derived types, retain the external API identifier. |
Corrective action | Rename the property or named object to camelCase with the IDE's Rename refactoring, removing underscores and dashes. Update references and any configured or persisted model IDs affected by the rename. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.AnalysisObjectCamelCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointObjectCamelCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
interfacePointAnalysisName
Field | Description |
|---|---|
Name | Analysis declaration violates the Analysis naming convention |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Classes and instances derived from Analysis or InterfacePointAnalysis shall end with Analysis. InterfacePointAnalysis declarations shall use the referenced interface point identifier in PascalCase for classes or camelCase for instances, without separators. Acronym casing may follow the authored Kotlin spelling. The referenced or enclosing element prefix is permitted to disambiguate shared packages and member names. |
Corrective action | Use the Analysis suffix for every analysis class and instance. For interface-point analyses, normalize the point identifier and optionally prefix the owning element. Update symbol references while preserving the original interfacePoint binding. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAnalysisNameRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/InterfacePointAnalysisNameRule.kt:
nameDefinedInAnalysisPackage
Field | Description |
|---|---|
Name | Analysis entity has no required name |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every analysis entity except InterfacePointAnalysis shall have a non-blank name. |
Corrective action | Give the analysis entity a short, recognizable name in its |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.NameDefinedInAnalysisPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/MetamodelPresenceRules.kt:
descriptionDefinedInAnalysisPackage
Field | Description |
|---|---|
Name | Analysis entity has no required description |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every analysis entity except Analysis and InterfacePointAnalysis shall have a non-blank description. Descriptions are not required for Analysis or InterfacePointAnalysis. |
Corrective action | Describe the failure's behavior in its |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.DescriptionDefinedInAnalysisPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/MetamodelPresenceRules.kt:
analysisElementDefined
Field | Description |
|---|---|
Name | Analysis has no subject element |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | The analysis viewpoint shall reference the element it analyzes. |
Corrective action | Set the analysis's |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.AnalysisElementDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
analysisQmAssessment
Field | Description |
|---|---|
Name | Analysis omits the assessment for its QM exemption |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An enabled Analysis of a QM element with no interface-point analyses shall record a nonblank argument and an evaluation. Non-QM and unspecified element classifications do not qualify for this exemption. |
Corrective action | Record why the QM element needs no interface-point analyses in |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.AnalysisQmAssessmentRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/QmAssessmentRules.kt:
interfacePointAnalysisQmAssessment
Field | Description |
|---|---|
Name | Interface-point analysis omits the assessment for its QM exemption |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An empty InterfacePointAnalysis of a QM interface point shall record a nonblank argument and an evaluation instead of failure modes. Analyses with failures or member analyses retain their detailed assessment; each empty QM member analysis is checked separately. Disabled element analyses are excluded. |
Corrective action | Record why the QM interface point needs no failure modes in |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAnalysisQmAssessmentRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/QmAssessmentRules.kt:
interfacePointAnalysisScopeAssessment
Field | Description |
|---|---|
Name | Interface-point analysis omits the assessment for its safety-scope exclusion |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A non-QM InterfacePointAnalysis with belongsToSafetyFunction=false shall record a nonblank argument and an evaluation explaining its scope. An unresolved effective ASIL does not qualify as QM. QM assessments are checked separately; disabled element analyses are excluded. |
Corrective action | Explain why the interface point does not belong to the architected safety functions in |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAnalysisScopeAssessmentRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisScopeRules.kt:
failureAsilDefined
Field | Description |
|---|---|
Name | Failure has no ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every Failure shall define its required asil attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureAsilDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
failureSeverityDefined
Field | Description |
|---|---|
Name | Failure has no severity |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every Failure shall define its required severity attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureSeverityDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
failureMultiplicityDefined
Field | Description |
|---|---|
Name | Failure has no multiplicity |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every Failure shall define its required multiplicity attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureMultiplicityDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
failurePropagationDefined
Field | Description |
|---|---|
Name | Failure declares no required propagation target |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A failure whose element has isTopLevel=false shall have at least one propagatesTo reference. |
Corrective action | Add the corresponding parent failures to |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailurePropagationDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
failureEvaluation
Field | Description |
|---|---|
Name | Failure lacks a sufficient or residual evaluation |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every failure shall record evaluation SUFFICIENT or RESIDUAL. GAP and a missing evaluation produce HIGH on the failure, regardless of issue links, ASIL, severity, or the enclosing analysis's evaluation. Other failure completeness and consistency rules still apply. |
Corrective action | Review the sufficiency of the current safety measures for this failure. Resolve an insufficient mitigation or justify a residual contribution against the applicable safety criteria; record the supported judgment in |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureEvaluationRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/FailureEvaluationRule.kt:
failureArgument
Field | Description |
|---|---|
Name | Failure records a positive evaluation without an argument |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A failure evaluated SUFFICIENT or RESIDUAL shall record a nonblank engineering argument. This applies to every positive conclusion, regardless of severity, ASIL, or issue links. |
Corrective action | Explain why the measures sufficiently address this failure, or why its residual contribution satisfies the applicable criteria. Record the assumptions and supporting evidence in |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureArgumentRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/FailureEvaluationRule.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
failureSeverityValue
Field | Description |
|---|---|
Name | Failure has an invalid severity value |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Failure.severity shall be finite and within 0.01 (inclusive) of an integer from 0 through 10. Severity.value retains the supplied Float; this check does not round or change it. Missing severity is checked by failureSeverityDefined. |
Corrective action | Set |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureSeverityValueRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/FailureSeverityValueRule.kt:
interfacePointS10Failure
Field | Description |
|---|---|
Name | Interface-point analysis contains no required S10 failure |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An interface point with ASIL > QM shall have at least one failure with severity ≥ S10 (10.0). QM interface points, required/subscribed data and analyses with belongsToSafetyFunction=false are exempt. Methods are checked in both required and provided directions; member uses inherit their port's direction. For an analysis decomposed into member analyses without direct failures, check each member analysis. |
Corrective action | Describe the safety-goal-violating failure in the interface-point analysis and assign its justified |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointS10FailureRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
interfacePointAnalysisCoverage
Field | Description |
|---|---|
Name | Analysis omits an interface point |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every interface point whose effective ASIL is not QM, including unresolved ASIL, and that is reachable through a ProvidedPort or Publisher, shall have an interface-point analysis on itself, an ancestor or a descendant in the same element's interface tree. Methods also require coverage through RequiredPort. Data reachable only through RequiredPort or Subscriber usage is outside this check, since the receiving element does not own that signal's failure modes. Member uses inherit port direction. Sibling branches and other elements do not supply coverage. QM elements and explicitly disabled element analyses are outside this check. Coverage is collective across enabled analyses. A missing analysis is reported on the single enabled Analysis, or on the element when there is no single Analysis container. |
Corrective action | Add an InterfacePointAnalysis for this point, an ancestor or a descendant in the owning element's interface tree, then document the applicable failures. Required/subscribed data needs no analysis here; required and provided methods both need coverage. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAnalysisCoverageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/InterfacePointAnalysisCoverageRule.kt:
failureNameSeverityMatch
Field | Description |
|---|---|
Name | Failure name contradicts its severity |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | If a failure name ends with _S<number> (e.g., _S8, _S10), that number shall match |
Corrective action | Align the |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureNameSeverityMatchRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
failureDescriptionElement
Field | Description |
|---|---|
Name | Failure description omits its element name at the start |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A failure's description shall begin with the complete name of the element analysed by its owning Analysis. |
Corrective action | Start the failure's |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureDescriptionElementRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisBoundaryRules.kt:
failureDescriptionInterface
Field | Description |
|---|---|
Name | Failure description omits its interface name after the element name |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A failure's description shall mention the complete name of its owning InterfacePointAnalysis's analysed interface point after its initial element name. |
Corrective action | After the initial element name, include the complete name of the analysed interface point in the failure's |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureDescriptionInterfaceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisBoundaryRules.kt:
failureQmSeverity
Field | Description |
|---|---|
Name | QM failure reaches S10 severity |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A failure with ASIL = QM shall have severity < S10 (10.0), otherwise it shall be safety-relevant. |
Corrective action | Reassess the failure's effect and safety classification. Assign the justified safety-relevant |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureQmSeverityRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
failureS10SafetyMeasures
Field | Description |
|---|---|
Name | Failure lacks a safety measure or valid independent failure |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A failure with severity ≥ S10 (10.0), missing severity, ASIL above QM, or missing ASIL shall have at least one safety measure or valid independent failure on a separate element branch. Only a failure explicitly classified QM with severity below S10 is exempt. |
Corrective action | Reference an applicable safety measure in |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureS10SafetyMeasuresRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
failureTopLevelNoPropagation
Field | Description |
|---|---|
Name | Top-level failure declares propagation targets |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An entity on an element with isTopLevel=true should have no propagatesTo references. |
Corrective action | Check the element's |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureTopLevelNoPropagationRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
com.stigway.metamodels.create.BoundaryLinksRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/BoundaryRules.kt:
forbiddenWordsInAnalysis
Field | Description |
|---|---|
Name | Analysis entity contains forbidden wording |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | String attributes in the analysis viewpoint shall not contain the configured forbidden words. The default list only rejects explicit unfinished-work markers: tbd, tbc, todo, fixme. Narrative failure descriptions and assessment arguments may use uncertainty and qualitative wording. Check constructor attributes, including names, descriptions, arguments, comments, verification criteria, collections, and nested metadata. Match whole words/phrases without regard to case. Referenced model entities are checked in their own viewpoint and module scope. KDoc, source comments, generated identities, and enum names are not string attributes. |
Corrective action | Replace the reported wording in the named attribute with precise, testable conditions and justified values. Obtain missing engineering decisions before completing the statement. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.ForbiddenWordsInAnalysisRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ForbiddenWordsRules.kt:
com.stigway.metamodels.create.ForbiddenWordsInViewpointRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ForbiddenWordsRules.kt:
interfacePointAnalysisUsedInNotEmpty
Field | Description |
|---|---|
Name | Interface-point analysis declares no required parent dependency |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An interface-point analysis whose element has isTopLevel=false shall have at least one usedIn reference. QM interface points, required/subscribed data and analyses with belongsToSafetyFunction=false are exempt. Methods are checked in both required and provided directions; member uses inherit their port's direction. An analysis decomposed into member analyses without direct failures delegates this check to its members. |
Corrective action | Add the parent interface points that use this analysed interface point to |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAnalysisUsedInNotEmptyRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
interfacePointAnalysisTopLevelNoUsedIn
Field | Description |
|---|---|
Name | Top-level interface-point analysis declares parent dependencies |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An entity on an element with isTopLevel=true should have no usedIn references. |
Corrective action | Check the element's |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAnalysisTopLevelNoUsedInRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
com.stigway.metamodels.create.BoundaryLinksRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/BoundaryRules.kt:
interfacePointAnalysisUsedInParentElement
Field | Description |
|---|---|
Name | Interface-point analysis links outside its eligible analysis parent |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Each usedIn entry shall belong to the element's analysis parent: its direct parent, or its grandparent when the direct parent's Analysis is absent or disabled. The grandparent shall have an enabled Analysis; only one level may be bypassed. |
Corrective action | Replace an invalid |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAnalysisUsedInParentElementRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
interfacePointAsilUsedIn
Field | Description |
|---|---|
Name | Interface-point analysis has no parent dependency with sufficient ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities |
|
Contract and evidence | At least one usedIn parent interface point shall have ASIL greater than or equal to the analyzed interface point (HIGH on the source interface-point analysis). A target above all its classified contributors receives INFO. |
Corrective action | Check |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAsilUsedInRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
failureAsilBound
Field | Description |
|---|---|
Name | Failure exceeds its interface point's ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities |
|
Contract and evidence | Each failure's ASIL shall not exceed its interface point's ASIL (HIGH on the failure). If every failure is classified and their maximum is lower, report INFO on the interface point. |
Corrective action | Review the failure classification against its owning analysis's referenced interface point. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureAsilBoundRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
failureAsilPropagation
Field | Description |
|---|---|
Name | Failure exceeds every propagation target's ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities |
|
Contract and evidence | At least one propagation target shall have ASIL at least as high as the source failure (HIGH on the source). A target above all its classified incoming failures receives INFO. |
Corrective action | Check the failures in |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureAsilPropagationRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
failurePropagationUsedInConsistency
Field | Description |
|---|---|
Name | Failure propagates outside its declared interface dependencies |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A failure may only propagate to failures whose owner InterfacePointAnalysis analyses an InterfacePoint listed in the source InterfacePointAnalysis's usedIn. |
Corrective action | Align the source analysis's |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailurePropagationUsedInConsistencyRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
failureSeverityPropagation
Field | Description |
|---|---|
Name | Failure exceeds every propagation target's severity |
Contributor unknown |
|
Default severity |
|
Possible finding severities |
|
Contract and evidence | At least one propagation target shall have severity greater than or equal to the source failure's severity (HIGH on the source). A target above all its classified incoming failures receives INFO. Missing links and severity values are checked by separate completeness rules; non-finite values are handled by the severity-value rule. |
Corrective action | Trace the source failure's effect to its parent failure. Correct |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureSeverityPropagationRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
failureMultiplicityPropagation
Field | Description |
|---|---|
Name | Single-point failure propagates to a failure with incompatible multiplicity |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | If a failure has multiplicity SINGLE_POINT, all its propagation targets shall also be SINGLE_POINT. |
Corrective action | Trace each propagation from the single-point failure and classify the corresponding target effect as single-point. Correct the source classification or target links if the evidence describes a different failure combination. |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureMultiplicityPropagationRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
failureMultiplePointIndependent
Field | Description |
|---|---|
Name | Multiple-point failure cites no independent failure |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A MULTIPLE_POINT failure with severity at or above S10, or missing severity, shall reference at least one independent failure that can violate the safety goal in combination with it. A severity explicitly below S10 exempts this reference requirement, regardless of ASIL. |
Corrective action | Add the identified independent failures to |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureMultiplePointIndependentRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
failureIndependentReference
Field | Description |
|---|---|
Name | Failure cites an invalid independent failure |
Contributor unknown |
|
Default severity |
|
Possible finding severities |
|
Contract and evidence | Independent failures shall belong to different elements with no ancestor-descendant relationship (HIGH). Self-reference is invalid. A SINGLE_POINT failure should not supply independentFailures (MODERATE). |
Corrective action | Use failures on separate element branches in |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureIndependentReferenceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisBoundaryRules.kt:
failureChildPropagationCoverage
Field | Description |
|---|---|
Name | Failure lacks a contributing child failure |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | For every failure above bottom level, at least one failure in a Design-declared analysis child shall declare a valid propagatesTo link to it. A child with absent or disabled Analysis is bypassed once through its own Design.children. Each Design child shall reference its declaring element as parent. Missing coverage is HIGH. Bottom-level elements are outside this completeness check. |
Corrective action | Add this failure to |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailureChildPropagationCoverageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/FailureChildPropagationCoverageRule.kt:
interfacePointAnalysisChildContributionCoverage
Field | Description |
|---|---|
Name | Interface-point analysis lacks a contributing child analysis |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | For every interface-point analysis above bottom level, at least one interface-point analysis in a Design-declared analysis child shall declare a valid usedIn link to its analysed interface point. An analysis decomposed into member analyses without direct failures delegates required coverage to its members. A child with absent or disabled Analysis is bypassed once through its own Design.children. Each Design child shall reference its declaring element as parent. Missing coverage is HIGH. Bottom-level elements are outside this completeness check. |
Corrective action | Add this analysed interface point to |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAnalysisChildContributionCoverageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/InterfacePointAnalysisChildContributionCoverageRule.kt:
failurePropagationToBottomLevel
Field | Description |
|---|---|
Name | Failure propagates to a bottom-level failure |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A failure shall not declare propagatesTo links to failures in an enabled Analysis of a bottom-level element. Each invalid link is reported on the source failure that declares it. |
Corrective action | Remove the propagation to the bottom-level failure, or correct the target element's isBottomLevel declaration when it does not match the agreed model scope. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailurePropagationToBottomLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/FailurePropagationToBottomLevelRule.kt:
interfacePointAnalysisContributionToBottomLevel
Field | Description |
|---|---|
Name | Interface-point analysis contributes to a bottom-level interface |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An interface-point analysis shall not declare a usedIn contribution to an interface analysed by its bottom-level analysis parent. Each invalid contribution is reported on the source analysis. Shared interface definitions retain the source's analysis parent. |
Corrective action | Remove the usedIn contribution to the bottom-level interface, or correct the target element's isBottomLevel declaration when it does not match the agreed model scope. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAnalysisContributionToBottomLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/InterfacePointAnalysisContributionToBottomLevelRule.kt:
failurePropagationParentElement
Field | Description |
|---|---|
Name | Failure propagates outside its eligible analysis parent |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every propagatesTo target shall be a failure in an enabled analysis of the source element's analysis parent: its direct parent, or its grandparent when the direct parent's Analysis is absent or disabled. Only one level may be bypassed. |
Corrective action | Point |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.FailurePropagationParentElementRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisBoundaryRules.kt:
interfacePointAnalysisSubject
Field | Description |
|---|---|
Name | Interface-point analysis references another element's interface |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | An interface-point analysis shall analyse an interface point belonging to its Analysis's element, including service members and topics used through that element's ports. |
Corrective action | Select an |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.analysis.InterfacePointAnalysisSubjectRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/analysis/AnalysisBoundaryRules.kt:
Tests
testCaseMustLiveInTestCaseContainer
Field | Description |
|---|---|
Name | Test case lacks a containing test specification |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every TestCase shall be declared as a property of a Tests subclass; top-level |
Corrective action | Move the test case into the appropriate |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.tests.TestCaseMustLiveInTestCaseContainerRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/tests/TestRules.kt:
nonTestsEntityInTestsPackage
Field | Description |
|---|---|
Name | Entity uses the wrong viewpoint package (Tests) |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A file under a |
Corrective action | Move the declaration out of |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.NonTestsEntityInTestsPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointPackageRules.kt:
testsClassesTopLevel
Field | Description |
|---|---|
Name | Tests class is nested inside another declaration |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every class declared in this viewpoint shall be directly in its Kotlin file, outside other classes, objects and functions. |
Corrective action | Move the class to file scope in the same Kotlin file. Update type references and pass any required enclosing state explicitly; retain the model's object containment. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.TestsClassesTopLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassesTopLevelRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
testsClassInstance
Field | Description |
|---|---|
Name | Tests class has no instance property in its file |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every concrete class in this viewpoint shall have at least one instance property in the same Kotlin file, either at file scope or as a member of a class or object. Multiple instances are allowed. Function-local variables do not satisfy this obligation. Abstract, sealed, enum, annotation and expect classes and interfaces are exempt. |
Corrective action | Declare an instance property in the same Kotlin file (for example, val abc = ABC()), either at file scope or as a field of its owning model class or object. Keep member instances in their owning container; multiple instances of the same class are allowed. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.TestsClassInstanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassInstanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
testsClassPascalCase
Field | Description |
|---|---|
Name | Tests class name violates PascalCase |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Class identifiers in this viewpoint shall start with an uppercase letter and contain only letters and digits (PascalCase). |
Corrective action | Rename the class to PascalCase with the IDE's Rename refactoring, removing underscores and dashes, and update every type and constructor reference. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.TestsClassPascalCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointClassPascalCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
testsObjectCamelCase
Field | Description |
|---|---|
Name | Tests instance name violates camelCase |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Instance property and named object identifiers in this viewpoint shall start with a lowercase letter and contain only letters and digits (camelCase). Context declarations of ProvidedMethod and RequiredMethod, including derived types, retain the external API identifier. |
Corrective action | Rename the property or named object to camelCase with the IDE's Rename refactoring, removing underscores and dashes. Update references and any configured or persisted model IDs affected by the rename. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.TestsObjectCamelCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
com.stigway.metamodels.create.ViewpointObjectCamelCaseRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ViewpointDeclarationRules.kt:
nameDefinedInTestsPackage
Field | Description |
|---|---|
Name | Tests entity has no required name |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every tests entity shall have a non-blank name. |
Corrective action | Give the test or test container a short name in its |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.NameDefinedInTestsPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/MetamodelPresenceRules.kt:
descriptionDefinedInTestsPackage
Field | Description |
|---|---|
Name | Tests entity has no required description |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every tests entity except Tests shall have a non-blank description. Tests descriptions are optional. |
Corrective action | Describe the test case's purpose, setup, stimulus, and expected outcome in its |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.DescriptionDefinedInTestsPackageRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/MetamodelPresenceRules.kt:
testCaseAsilDefined
Field | Description |
|---|---|
Name | Test case has no ASIL |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every TestCase shall define its required asil attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.tests.TestCaseAsilDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/tests/TestRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
testCaseContainerElementDefined
Field | Description |
|---|---|
Name | Test specification has no subject element |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every Tests shall define its required element attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.TestCaseContainerElementDefinedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
testCaseElementUnderTest
Field | Description |
|---|---|
Name | Test case identifies no element under test |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every TestCase shall define its required elementsUnderTest attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.tests.TestCaseElementUnderTestRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/tests/TestRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
testCaseInterfacesUnderTest
Field | Description |
|---|---|
Name | Test case identifies no interface under test |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every TestCase shall define its required interfacesUnderTest attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.tests.TestCaseInterfacesUnderTestRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/tests/TestRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
testCaseGivenWhenThen
Field | Description |
|---|---|
Name | Test case omits the required Given–When–Then sequence |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Test case description shall follow Given/When/Then format: start with 'Given', then contain 'When' and 'Then' in order. |
Corrective action | Rewrite |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.tests.TestCaseGivenWhenThenRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/tests/TestRules.kt:
forbiddenWordsInTests
Field | Description |
|---|---|
Name | Tests entity contains forbidden wording |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | String attributes in the tests viewpoint shall not contain the configured forbidden words. The default list rejects placeholders, examples, non-exhaustive phrasing, fuzzy quantities/timing, and subjective quality terms. Check constructor attributes, including names, descriptions, arguments, comments, verification criteria, collections, and nested metadata. Match whole words/phrases without regard to case. Referenced model entities are checked in their own viewpoint and module scope. KDoc, source comments, generated identities, and enum names are not string attributes. |
Corrective action | Replace the reported wording in the named attribute with precise, testable conditions and justified values. Obtain missing engineering decisions before completing the statement. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.ForbiddenWordsInTestsRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ForbiddenWordsRules.kt:
com.stigway.metamodels.create.ForbiddenWordsInViewpointRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/ForbiddenWordsRules.kt:
testCaseVerifiesRequirement
Field | Description |
|---|---|
Name | Test case identifies no requirement to verify |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Every TestCase shall define its required verifies attribute. |
Corrective action | Set the |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.tests.TestCaseVerifiesRequirementRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/tests/TestRules.kt:
com.stigway.metamodels.create.RequiredAttributeRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/RequiredAttributeRule.kt:
testCaseTraceability
Field | Description |
|---|---|
Name | Test case has no trace to an element, interface, or requirement |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Test case shall have at least one of elementsUnderTest, interfacesUnderTest, or verifies (requirement) populated. |
Corrective action | Populate |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.tests.TestCaseTraceabilityRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/tests/TestRules.kt:
testCaseAllocationConsistency
Field | Description |
|---|---|
Name | Test case exercises none of its verified requirements' allocated elements |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A TestCase's elementsUnderTest shall overlap with the union of the allocatedTo lists of the requirements it verifies. The test shall actually exercise an element that the verified requirements are allocated to. |
Corrective action | Align |
Dispatch input |
|
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.tests.TestCaseAllocationConsistencyRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/tests/TestRules.kt:
Human or AI review rules
A human or AI reviews these rules against the model and supporting engineering evidence. STIG selects the review subjects; a pending review is neither a violation nor a pass.
Rule ID | Name | Possible finding severities |
|---|---|---|
Context description violates active present wording | ||
Requirements description violates active present wording | ||
Requirement uses detail inappropriate for its subject | ||
Requirement contains grammar or spelling errors | ||
Requirement allows conflicting interpretations | ||
Requirement obscures its meaning for intended readers | ||
Requirement combines independently verifiable obligations | ||
Requirement contradicts itself | ||
Requirement exceeds feasible development constraints | ||
Requirement provides no feasible means of verification | ||
Requirement lacks an identified need | ||
Requirement imposes an unjustified solution | ||
Requirement omits information needed to assess its obligation | ||
Requirement violates an applicable standard or interface | ||
Requirement violates an approved writing convention | ||
Requirement misrepresents its source need | ||
Requirement omits necessary timing constraints | ||
Requirement lacks adequate acceptance criteria | ||
Requirements document duplicates obligations | ||
Requirements document contains conflicting obligations | ||
Design description violates active present wording | ||
Analysis description violates active present wording | ||
Tests description violates active present wording |
Context
contextDescriptionActiveVoice
Field | Description |
|---|---|
Name | Context description violates active present wording |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Authored descriptive prose shall use active voice and simple present wording. Normative requirement clauses retain the recognized obligation, prohibition, recommendation, or permission modal. |
Corrective action | Name the actor and rewrite the relevant clause in active present/modal form without changing responsibility, timing, normative force, or the underlying engineering behavior. If the actor is unknown, identify the missing decision. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.ContextDescriptionActiveVoiceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/DescriptionRules.kt:
com.stigway.metamodels.create.DescriptionActiveVoiceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/DescriptionRules.kt:
Requirements
requirementsDescriptionActiveVoice
Field | Description |
|---|---|
Name | Requirements description violates active present wording |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Authored descriptive prose shall use active voice and simple present wording. Normative requirement clauses retain the recognized obligation, prohibition, recommendation, or permission modal. |
Corrective action | Name the actor and rewrite the relevant clause in active present/modal form without changing responsibility, timing, normative force, or the underlying engineering behavior. If the actor is unknown, identify the missing decision. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.RequirementsDescriptionActiveVoiceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/DescriptionRules.kt:
com.stigway.metamodels.create.DescriptionActiveVoiceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/DescriptionRules.kt:
requirementDevelopmentLevelAppropriate
Field | Description |
|---|---|
Name | Requirement uses detail inappropriate for its subject |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement's intent and level of detail shall be appropriate to the entity it specifies. It shall avoid unnecessary architecture/design constraints while allowing implementation independence to the extent possible. |
Corrective action | Move detail to the appropriate existing requirement/design level or refine an underspecified requirement at its current level. Preserve constraints justified by parent obligations, applicable standards, or external interfaces. Identify the required engineering allocation before changing typed links. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementDevelopmentLevelAppropriateRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementGrammaticalCorrectness
Field | Description |
|---|---|
Name | Requirement contains grammar or spelling errors |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement's human-readable name, description, and verification criteria shall be grammatically and orthographically correct. |
Corrective action | Correct the language while preserving quantities, units, polarity, conditions, actors, and normative force. Ask for clarification when an apparent typo has more than one plausible engineering interpretation. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementGrammaticalCorrectnessRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementUnambiguous
Field | Description |
|---|---|
Name | Requirement allows conflicting interpretations |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement shall have one clear, consistent interpretation in its defined engineering context. |
Corrective action | Replace the ambiguous construction with a precise obligation using established definitions. Report the competing interpretations when the intended one is not established. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementUnambiguousRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementComprehensible
Field | Description |
|---|---|
Name | Requirement obscures its meaning for intended readers |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | The intended stakeholders and consumers shall be able to understand the requirement using the agreed domain vocabulary and supplied specification context. |
Corrective action | Clarify the language and provide or reference necessary definitions without weakening the obligation or repeating shared definitions in every requirement. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementComprehensibleRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementAtomic
Field | Description |
|---|---|
Name | Requirement combines independently verifiable obligations |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | At its specified hierarchical level, a requirement shall express one obligation that cannot usefully be split into independent requirements. |
Corrective action | Split independently meaningful obligations and preserve their conditions and traceability. Review the effects on allocation and verification links; splitting text alone does not maintain those links. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementAtomicRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementInternallyConsistent
Field | Description |
|---|---|
Name | Requirement contradicts itself |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement shall contain no mutually contradictory conditions, obligations, bounds, or ordering constraints within its stated context. |
Corrective action | Resolve the conflicting clauses or values using authoritative engineering intent; do not select a threshold or delete a clause arbitrarily. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementInternallyConsistentRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementFeasible
Field | Description |
|---|---|
Name | Requirement exceeds feasible development constraints |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement shall be realizable within the applicable technical, resource, cost, schedule, and other development constraints, with acceptable engineering risk. |
Corrective action | Identify the conflicting constraint and obtain an engineering decision on the requirement, resources, architecture, or development plan. Do not silently relax performance or safety limits. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementFeasibleRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementVerifiable
Field | Description |
|---|---|
Name | Requirement provides no feasible means of verification |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Means shall be available at the requirement's specified level to demonstrate whether its obligation is fulfilled within the applicable verification constraints. |
Corrective action | Define observable acceptance conditions and a credible verification approach at the stated level. Identify any unavailable measurement capability or unresolved definition. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementVerifiableRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementNeedJustified
Field | Description |
|---|---|
Name | Requirement lacks an identified need |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement shall express an essential capability, characteristic, constraint, or quality factor whose omission from the assessed specification would leave an unfulfilled identified need. |
Corrective action | Establish the need or identify the unsupported/redundant obligation for an engineering decision. Preserve traceability and historical records. Report duplicated information under the information-uniqueness rule rather than issuing the same finding twice. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementNeedJustifiedRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementImplementationIndependent
Field | Description |
|---|---|
Name | Requirement imposes an unjustified solution |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement shall state the needed behavior, property, or justified constraint at the subject's boundary, leaving unnecessary solution choices to design. |
Corrective action | Move unjustified solution detail into Design or restate the required outcome. Retain and trace externally imposed or otherwise justified constraints. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementImplementationIndependentRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementComplete
Field | Description |
|---|---|
Name | Requirement omits information needed to assess its obligation |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement, together with its explicitly referenced definitions, shall sufficiently describe the capability, characteristic, constraint, or quality factor needed to understand and assess the obligation at its level. |
Corrective action | Supply the missing information from identified evidence or link its authoritative definition. Do not fill gaps with guessed product behavior or copy shared definitions into multiple requirements. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementCompleteRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementApplicableStandardsConformance
Field | Description |
|---|---|
Name | Requirement violates an applicable standard or interface |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement shall conform to applicable government, industry, and product standards, specifications, and interfaces for which compliance is required. |
Corrective action | Identify the specific conflict and revise the requirement or obtain an authorized resolution of the applicable constraint. If the normative source is unavailable or applicability is unknown, report an open assessment. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementApplicableStandardsConformanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementWritingConventionConformance
Field | Description |
|---|---|
Name | Requirement violates an approved writing convention |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement shall conform to the applicable approved writing template and style conventions. |
Corrective action | Bring the statement into the applicable convention without changing its engineering meaning, or identify a conflict between that convention and existing rule behavior for resolution at the rule's source. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementWritingConventionConformanceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementCorrect
Field | Description |
|---|---|
Name | Requirement misrepresents its source need |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement shall accurately represent the entity need or parent obligation from which it was transformed. |
Corrective action | Correct the mistranslated obligation or the incorrect reference using the authoritative need. Record an open assessment when that need is unavailable instead of supplying a plausible substitute. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementCorrectRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementTimingConstraints
Field | Description |
|---|---|
Name | Requirement omits necessary timing constraints |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Where correctness depends on execution, reaction, communication, or recurrence timing, a requirement shall state or unambiguously reference the necessary timing constraints and their relation to the required response. |
Corrective action | Obtain and state or reference the required timing budget and measurement points. “Immediately,” “quickly,” or an unexplained symbolic limit does not establish a measurable constraint. Do not guess a numerical value. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementTimingConstraintsRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementVerificationCriteriaAdequate
Field | Description |
|---|---|
Name | Requirement lacks adequate acceptance criteria |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | A requirement's |
Corrective action | State the acceptance decision in |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementVerificationCriteriaAdequateRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementSetNoInformationDuplication
Field | Description |
|---|---|
Name | Requirements document duplicates obligations |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Within each assessed hierarchical level and applicability scope, the requirement set shall not redundantly restate the same obligation or authoritative information. |
Corrective action | Identify the exact duplicated information, select or establish its authoritative definition, and consolidate or reference it while preserving allocation, derivation, and verification links. Do not delete one member of a suspected pair without understanding those dependencies. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementSetNoInformationDuplicationRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSetSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
requirementSetExternallyConsistent
Field | Description |
|---|---|
Name | Requirements document contains conflicting obligations |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Requirements that apply together shall not conflict or impose incompatible overlapping obligations. Terminology and units shall be consistent within their defined domains. Safety and non-safety requirements that constrain the same behavior shall not contradict one another. |
Corrective action | Resolve the identified conflict against authoritative needs and interfaces, and align the affected definitions or conventions. If priority or applicability is unresolved, state that missing decision explicitly. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.requirements.RequirementSetExternallyConsistentRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
com.stigway.metamodels.create.requirements.RequirementSetSemanticRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/requirements/RequirementSemanticRules.kt:
Design
designDescriptionActiveVoice
Field | Description |
|---|---|
Name | Design description violates active present wording |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Authored descriptive prose shall use active voice and simple present wording. Normative requirement clauses retain the recognized obligation, prohibition, recommendation, or permission modal. |
Corrective action | Name the actor and rewrite the relevant clause in active present/modal form without changing responsibility, timing, normative force, or the underlying engineering behavior. If the actor is unknown, identify the missing decision. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.DesignDescriptionActiveVoiceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/DescriptionRules.kt:
com.stigway.metamodels.create.DescriptionActiveVoiceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/DescriptionRules.kt:
Analysis
analysisDescriptionActiveVoice
Field | Description |
|---|---|
Name | Analysis description violates active present wording |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Authored descriptive prose shall use active voice and simple present wording. Normative requirement clauses retain the recognized obligation, prohibition, recommendation, or permission modal. |
Corrective action | Name the actor and rewrite the relevant clause in active present/modal form without changing responsibility, timing, normative force, or the underlying engineering behavior. If the actor is unknown, identify the missing decision. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.AnalysisDescriptionActiveVoiceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/DescriptionRules.kt:
com.stigway.metamodels.create.DescriptionActiveVoiceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/DescriptionRules.kt:
Tests
testsDescriptionActiveVoice
Field | Description |
|---|---|
Name | Tests description violates active present wording |
Contributor unknown |
|
Default severity |
|
Possible finding severities | |
Contract and evidence | Authored descriptive prose shall use active voice and simple present wording. Normative requirement clauses retain the recognized obligation, prohibition, recommendation, or permission modal. |
Corrective action | Name the actor and rewrite the relevant clause in active present/modal form without changing responsibility, timing, normative force, or the underlying engineering behavior. If the actor is unknown, identify the missing decision. |
Scope | Subjects from the checked module, with complete directly connected module content as evidence. |
Kotlin declaration |
|
Kotlin implementation
com.stigway.metamodels.create.TestsDescriptionActiveVoiceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/DescriptionRules.kt:
com.stigway.metamodels.create.DescriptionActiveVoiceRule in stig-core/src/main/kotlin/com/stigway/metamodels/create/DescriptionRules.kt: