Skip to main content

mdx_rust_core/
lib.rs

1//! Core primitives for the `mdx-rust` CLI.
2//!
3//! `mdx-rust-core` contains the optimizer, hardening engine, safety pipeline,
4//! registry, evaluation, ledger, and audit primitives used by the `mdx-rust`
5//! binary.
6//!
7//! ## Stability contract
8//!
9//! The supported product surface for `0.6.x` is the `mdx-rust` CLI. This crate
10//! is published so the CLI can be installed from crates.io and so advanced
11//! users can inspect the internal data structures, but the library API is not
12//! yet stable. Public items may change before `1.0`.
13//!
14//! The intentionally documented facade is the set of `pub use` exports below.
15//! Module paths are left public for the CLI and tests, but most modules are
16//! hidden from rustdoc because they are implementation detail for now.
17
18#[doc(hidden)]
19pub mod config;
20#[doc(hidden)]
21pub mod eval;
22#[doc(hidden)]
23pub mod hardening;
24#[doc(hidden)]
25pub mod hooks;
26#[doc(hidden)]
27pub mod ledger;
28#[doc(hidden)]
29pub mod llm;
30#[doc(hidden)]
31pub mod optimizer;
32#[doc(hidden)]
33pub mod policy;
34#[doc(hidden)]
35pub mod refactor;
36#[doc(hidden)]
37pub mod registry;
38#[doc(hidden)]
39pub mod runner;
40#[doc(hidden)]
41pub mod safety_pipeline;
42#[doc(hidden)]
43pub mod security;
44#[doc(hidden)]
45pub mod trace;
46
47/// Configuration loading and defaults used by the CLI.
48pub use config::Config;
49/// Dataset and scorer metadata used by optimizer reports.
50pub use eval::{
51    run_behavior_evals, BehaviorCommand, BehaviorCommandRecord, BehaviorEvalReport,
52    BehaviorEvalSpec, EvaluationDataset, EvaluationSample, ScorerMetadata,
53};
54/// Scoped Rust hardening engine for ordinary Rust modules. Unstable before `1.0`.
55pub use hardening::{
56    run_hardening, HardeningChangeSummary, HardeningConfig, HardeningMode, HardeningOutcome,
57    HardeningPolicyRecord, HardeningRiskSummary, HardeningRun, HardeningStatus, PolicyFindingMatch,
58    WorkspaceSummary,
59};
60/// Built-in lifecycle hook primitives. These are unstable before `1.0`.
61pub use hooks::{
62    evaluate_builtin_hook, HookAction, HookContext, HookDecision, HookPolicy, HookStage,
63};
64/// Experiment budget and ledger records. These are unstable before `1.0`.
65pub use ledger::{
66    split_dataset, DatasetSplit, ExperimentLedger, OptimizationBudget, PromptVariantRecord,
67};
68/// Optimizer entrypoint and run records. These are unstable before `1.0`.
69pub use optimizer::{
70    mechanical_score, run_optimization, AcceptedEditSummary, AuditPacket, AuditProvenance,
71    Candidate, EditStrategy, ModelProvenance, OptimizationRun, OptimizeConfig, ScoreProvenance,
72};
73/// Structured project policy records used by v0.4 hardening reports.
74pub use policy::{load_project_policy, PolicyCategory, PolicyRule, PolicySeverity, ProjectPolicy};
75/// Plan-first refactor and autonomous orchestration records. Unstable before `1.0`.
76pub use refactor::{
77    apply_refactor_plan_batch, apply_refactor_plan_candidate, build_codebase_map,
78    build_refactor_plan, run_autopilot, AutopilotConfig, AutopilotPass, AutopilotPassStatus,
79    AutopilotRun, AutopilotStatus, CapabilityGate, CodebaseMap, CodebaseMapConfig,
80    CodebaseQualityGrade, CodebaseQualitySummary, EvidenceGrade, EvidenceSignal, EvidenceSummary,
81    RecipeTier, RefactorApplyConfig, RefactorApplyMode, RefactorApplyRun, RefactorApplyStatus,
82    RefactorBatchApplyConfig, RefactorBatchApplyRun, RefactorBatchApplyStatus,
83    RefactorBatchCandidateRun, RefactorCandidate, RefactorCandidateStatus, RefactorImpactSummary,
84    RefactorPlan, RefactorPlanConfig, RefactorRecipe, RefactorRiskLevel, SourceSnapshot,
85    StaleSourceFile, TestCoverageSignal,
86};
87/// Agent registry types used by CLI commands.
88pub use registry::{AgentContract, RegisteredAgent, Registry};
89/// Agent runner result and trace events. These are unstable before `1.0`.
90pub use runner::{run_agent, AgentRunResult, TraceEvent};
91/// Candidate safety pipeline. Direct use is unstable before `1.0`.
92pub use safety_pipeline::{
93    execute_candidate_edit, CandidateExecutionConfig, CandidateExecutionContext,
94    CandidateExecutionOutcome, SafetyRejection, SafetyRejectionKind,
95};
96/// Deterministic static audit reports.
97pub use security::{audit_agent, AuditFinding, AuditSeverity, SecurityAuditReport};
98/// Trace diagnosis records.
99pub use trace::{diagnose_run, FailureKind, FailureSignal, TraceDiagnosis};