()
| 677 | |
| 678 | #[test] |
| 679 | fn gate_rejects_unknown_task_status() { |
| 680 | let mut node = attested_base(); |
| 681 | // `unmet` is acceptance-criterion vocabulary, not a valid task status. |
| 682 | let mut t = task("urn:atomic:task:gate-1-1", &[]); |
| 683 | t.task_status = "unmet".to_string(); |
| 684 | node.has_task = vec![t]; |
| 685 | |
| 686 | let report = validate_intent(&node); |
| 687 | assert!(!report.conforms); |
| 688 | assert!(report.results.iter().any(|v| v.shape == "TaskShape" |
| 689 | && v.path.as_deref() == Some("taskStatus") |
| 690 | && v.message.contains("unmet"))); |
| 691 | } |
| 692 | |
| 693 | #[test] |
| 694 | fn gate_rejects_done_intent_with_open_task() { |
nothing calls this directly
no test coverage detected