agent_doc_element_unknown/
lib.rs1use agent_doc_element::{
12 ElementAuthority, ElementCompositionRole, ElementDescriptor, ElementRealtimeModel,
13 ElementSchedulingRole, ElementShape, ElementSource, ElementWritePolicy,
14};
15
16pub const UNKNOWN_FALLBACK_NAME: &str = "__unknown__";
17
18pub const DESCRIPTOR: ElementDescriptor = ElementDescriptor {
19 name: UNKNOWN_FALLBACK_NAME,
20 aliases: &[],
21 source: ElementSource::BuiltIn,
22 shape: ElementShape::Component,
23 authority: ElementAuthority::SharedOperatorAuthoritative,
24 write_policy: ElementWritePolicy::MergeOnly,
25 scheduling_role: ElementSchedulingRole::None,
26 realtime_model: ElementRealtimeModel::Unknown,
27 composition_role: ElementCompositionRole::LocalOnly,
28 realtime: true,
29};
30
31pub fn descriptor() -> ElementDescriptor {
32 DESCRIPTOR
33}
34
35pub fn descriptor_for_unknown_name(_name: &str) -> ElementDescriptor {
36 DESCRIPTOR
37}
38
39#[cfg(test)]
40mod tests {
41 use super::*;
42
43 #[test]
44 fn unknown_fallback_is_operator_authoritative_merge_only() {
45 let descriptor = descriptor_for_unknown_name("kanban");
46 assert_eq!(descriptor.name, "__unknown__");
47 assert_eq!(
48 descriptor.authority,
49 ElementAuthority::SharedOperatorAuthoritative
50 );
51 assert_eq!(descriptor.write_policy, ElementWritePolicy::MergeOnly);
52 assert_eq!(descriptor.realtime_model, ElementRealtimeModel::Unknown);
53 }
54}