Skip to main content

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}