Skip to main content

ito_domain/specs/
mod.rs

1//! Promoted spec domain models and repository.
2
3mod repository;
4
5pub use repository::SpecRepository;
6
7use chrono::{DateTime, Utc};
8use std::path::PathBuf;
9
10/// Full promoted spec document.
11#[derive(Debug, Clone)]
12pub struct SpecDocument {
13    /// Spec identifier.
14    pub id: String,
15    /// Canonical source path for the spec.
16    pub path: PathBuf,
17    /// Raw markdown contents.
18    pub markdown: String,
19    /// Last modification timestamp.
20    pub last_modified: DateTime<Utc>,
21}
22
23/// Lightweight promoted spec summary.
24#[derive(Debug, Clone)]
25pub struct SpecSummary {
26    /// Spec identifier.
27    pub id: String,
28    /// Canonical source path for the spec.
29    pub path: PathBuf,
30    /// Last modification timestamp.
31    pub last_modified: DateTime<Utc>,
32}