| 397 | } |
| 398 | |
| 399 | fn node() -> CanonicalNode { |
| 400 | CanonicalNode { |
| 401 | context: CONTEXT_URL.to_string(), |
| 402 | type_: "Intent".to_string(), |
| 403 | id: "urn:atomic:intent:sub-1".to_string(), |
| 404 | human_key: "SUB-1".to_string(), |
| 405 | title: "Substance hash fixture".to_string(), |
| 406 | status: "todo".to_string(), |
| 407 | kind: default_kind(), |
| 408 | priority: None, |
| 409 | view: None, |
| 410 | motivated_by: None, |
| 411 | informed_by: Vec::new(), |
| 412 | has_acceptance_criterion: vec![ac("urn:atomic:ac:sub-1-ac-1", "a checkable outcome")], |
| 413 | has_task: Vec::new(), |
| 414 | has_scope_in: Vec::new(), |
| 415 | has_scope_out: Vec::new(), |
| 416 | has_constraint: Vec::new(), |
| 417 | depends_on: Vec::new(), |
| 418 | why: Some("a reason".to_string()), |
| 419 | content_hash: None, |
| 420 | attributed_to: None, |
| 421 | created_at: "2026-06-25T00:00:00Z".to_string(), |
| 422 | proof: None, |
| 423 | } |
| 424 | } |
| 425 | |
| 426 | #[test] |
| 427 | fn substance_hash_ignores_review_state() { |