()
| 465 | |
| 466 | #[test] |
| 467 | fn gate_rejects_unknown_task_status() { |
| 468 | let mut node = attested_base(); |
| 469 | // `unmet` is acceptance-criterion vocabulary, not a valid task status. |
| 470 | let mut t = task("urn:atomic:task:gate-1-1", &[]); |
| 471 | t.task_status = "unmet".to_string(); |
| 472 | node.has_task = vec![t]; |
| 473 | |
| 474 | let report = validate_intent(&node); |
| 475 | assert!(!report.conforms); |
| 476 | assert!(report.results.iter().any(|v| v.shape == "TaskShape" |
| 477 | && v.path.as_deref() == Some("taskStatus") |
| 478 | && v.message.contains("unmet"))); |
| 479 | } |
| 480 | |
| 481 | #[test] |
| 482 | fn gate_rejects_done_intent_with_open_task() { |
nothing calls this directly
no test coverage detected