| 19 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] |
| 20 | #[serde(deny_unknown_fields)] |
| 21 | pub struct AcceptanceCriterion { |
| 22 | #[serde(rename = "@type")] |
| 23 | pub type_: String, |
| 24 | #[serde(rename = "@id")] |
| 25 | pub id: String, |
| 26 | pub text: String, |
| 27 | #[serde(rename = "acStatus")] |
| 28 | pub ac_status: String, |
| 29 | #[serde( |
| 30 | rename = "verifiedBy", |
| 31 | default, |
| 32 | skip_serializing_if = "Option::is_none" |
| 33 | )] |
| 34 | pub verified_by: Option<String>, |
| 35 | #[serde(default, skip_serializing_if = "Option::is_none")] |
| 36 | pub evidence: Option<String>, |
| 37 | } |
| 38 | |
| 39 | /// A scope boundary item, lifted from a `:::scope-in` / `:::scope-out` |
| 40 | /// directive. The prose is the unconstrained narrative; the gate enforces |
nothing calls this directly
no outgoing calls
no test coverage detected