agileplus-domain 0.3.0

Typed intent graphs for engineering work — convert prompts into validated DAGs of intents, features, tasks, tests, and edges, then store, query, and serve them from Rust, HTTP, or MCP.
Documentation
//! Intent graph domain types.
//!
//! Decomposed into focused submodules while preserving the original
//! `intent_graph` public API at the `agileplus_domain::intent_graph::*` path.
//! All items that were previously re-exported from `intent_graph::*` remain
//! reachable at that path.
//!
//! Submodule layout:
//! - [`metadata`]: `Meta`, `CanonicalMap`, `Direction`, `CanonicalLinkType`,
//!   `GraphMetadata`.
//! - [`nodes`]: `NodeId`, `NodeType`, `DagStage`, `Status`,
//!   `RelationshipType`, `Node`, `Edge`.
//! - [`graph`]: `IntentGraph` (with the `validate_id_format` helper) and the
//!   DAG flow / edge-constraint ontology types
//!   (`DagFlowStage`, `DagFlow`, `DagValidationRules`, `EdgeConstraint`,
//!   `EdgeConstraintEntry`, `EdgeConstraints`, `Ontology`).

mod graph;
mod metadata;
mod nodes;
pub mod ontology_ext;

// Flat re-exports preserve the original public surface that
// `agileplus_domain::intent_graph::*` and the crate's `lib.rs` re-export
// depend on.
pub use graph::{
    DagFlow, DagFlowStage, DagValidationRules, EdgeConstraint, EdgeConstraintEntry,
    EdgeConstraints, IntentGraph, Ontology,
};
pub use metadata::{CanonicalLinkType, CanonicalMap, Direction, GraphMetadata, Meta};
pub use nodes::{
    DagStage, Edge, Node, NodeId, NodeType, RelationshipType, Status,
};

// Extended ontology re-exports.
pub use ontology_ext::{
    build_extended_edge, build_extended_node, bug, decomposes_into, hypothesis, metric,
    mitigates, story, validates, ExtendedNodeType, ExtendedRelationshipType,
};