nxd_core/lib.rs
1#![deny(unsafe_code)]
2#![deny(dead_code, unused_imports, unused_variables)]
3
4//! NXD core library: contracts, application services, planning, execution, providers.
5//!
6//! ## Layout (design-aligned layers inside one crate)
7//!
8//! - [`domain`] — pure model and policy (no I/O)
9//! - [`application`] — use-case orchestration
10//! - [`adapters`] — process/plugin/runtime edge helpers
11//! - [`execution`] — provider-independent execution journals
12//!
13//! Provider implementations and host transports live in external executables.
14//!
15//! Crate-root names (`crate::contract`, `crate::process`, …) remain stable via
16//! re-exports so call sites do not churn during the regroup.
17
18#[macro_use]
19pub mod progress;
20pub use progress::target::{BatchOutcome, Logger};
21
22// --- domain ---
23pub mod domain;
24pub use domain::{contract, host_lifecycle, plan};
25
26// --- application ---
27pub mod application;
28pub mod ports;
29
30// --- adapters ---
31pub mod adapters;
32pub use adapters::{external_runtime, plugin_fixture, plugin_supervisor, process};
33
34// --- provider-independent run journal ---
35pub mod execution;
36
37// --- local evaluator/workspace support ---
38pub mod config;
39pub mod profiling;
40pub mod workspace;
41
42// --- plugin wire ---
43pub use nxd_plugin_protocol as plugin_protocol;