parliament 0.1.0

Protocols, traits, and domain logic for graceful governance.
Documentation
//! # The OwlRoute Parliament
//!
//! This crate defines the core protocols, traits, and domain models for the
//! Parliament system. It is the "constitution" of the system, containing no
//! specific infrastructure implementations. Its purpose is to provide a stable,
//! agnostic foundation upon which all Governance services and tools are built.
//!
//! The primary components are:
//!
//! *   **`model`**: Contains the core domain types like `Writ`, `Echo`, `Vigil`,
//!     and `FlightPlan`. These represent the nouns of the Parliament's language.
//! *   **`traits`**: Defines the abstract interfaces (`WritDispatcher`, `EventStream`)
//!     that infrastructure adapters must implement. These are the "Ports" of the system.
//! *   **`error`**: Provides a unified `Error` type and `Result` alias for all
//!     operations within the ecosystem.
//! *   **`protocol`**: Contains the raw data structures generated from `.proto`
//!     files, used for on-the-wire serialization.

pub mod error;
pub mod model;
pub mod protocol;
pub mod traits;

pub use error::{Error, Result};
pub use model::{
    // Exporting the ID types for convenience
    CommandId,
    Disturbance,
    Echo,
    EventId,
    FlightPlan,
    Hoot,
    HuntId,
    ObjectiveId,
    Shriek,
    Signet,
    Sortie,
    SortieId,
    Vigil,
    Warren,
    WarrenId,
    Writ,
};
pub use traits::{EventStream, Hunt, WritDispatcher};