effect_runtime/v25.rs
1//! V25 constitutional citation and obligation reference types shared across effect artifacts.
2//!
3//! Re-exports [`V25ConstitutionCitation`] from `stack-ids` and defines the
4//! obligation reference grouping used by preflight reports and commit decisions.
5
6use schemars::JsonSchema;
7use serde::{Deserialize, Serialize};
8
9pub use stack_ids::V25ConstitutionCitation;
10
11/// Categorized obligation references attached to effect artifacts for governance traceability.
12///
13/// Flattened into parent structs via `#[serde(flatten)]` to keep the wire
14/// format flat while grouping obligation ref categories in code.
15#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
16pub struct V25ObligationRefs {
17 #[serde(default)]
18 pub required_obligation_refs: Vec<String>,
19 #[serde(default)]
20 pub blocking_obligation_refs: Vec<String>,
21 #[serde(default)]
22 pub monitoring_obligation_refs: Vec<String>,
23 #[serde(default)]
24 pub decision_basis_obligation_refs: Vec<String>,
25}