Skip to main content

datasynth_core/models/
governance.rs

1//! Governance models for board minutes and corporate oversight documentation.
2//!
3//! These models capture the output of board and audit committee meetings,
4//! supporting ISA 260 communication with those charged with governance.
5
6use chrono::NaiveDate;
7use serde::{Deserialize, Serialize};
8use uuid::Uuid;
9
10/// Minutes of a board or audit committee meeting.
11///
12/// Auditors review board minutes (ISA 300, ISA 315) to understand the
13/// governance environment, key decisions, and risk discussions that may
14/// affect the audit approach.
15#[derive(Debug, Clone, Serialize, Deserialize)]
16pub struct BoardMinutes {
17    /// Unique identifier for this meeting
18    pub meeting_id: Uuid,
19    /// Date of the meeting
20    pub meeting_date: NaiveDate,
21    /// Type of meeting: "regular", "special", or "audit_committee"
22    pub meeting_type: String,
23    /// Names or IDs of attendees
24    #[serde(default)]
25    pub attendees: Vec<String>,
26    /// Key decisions made during the meeting
27    #[serde(default)]
28    pub key_decisions: Vec<String>,
29    /// Risk topics discussed
30    #[serde(default)]
31    pub risk_discussions: Vec<String>,
32    /// Matters specifically discussed by or relevant to the audit committee
33    #[serde(default)]
34    pub audit_committee_matters: Vec<String>,
35}