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.8.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 agent_contract;
20#[doc(hidden)]
21pub mod artifact;
22#[doc(hidden)]
23pub mod config;
24#[doc(hidden)]
25pub mod eval;
26#[doc(hidden)]
27pub mod evidence;
28#[doc(hidden)]
29pub mod hardening;
30#[doc(hidden)]
31pub mod hooks;
32#[doc(hidden)]
33pub mod ledger;
34#[doc(hidden)]
35pub mod llm;
36#[doc(hidden)]
37pub mod optimizer;
38#[doc(hidden)]
39pub mod policy;
40#[doc(hidden)]
41pub mod refactor;
42#[doc(hidden)]
43pub mod registry;
44#[doc(hidden)]
45pub mod runner;
46#[doc(hidden)]
47pub mod safety_pipeline;
48#[doc(hidden)]
49pub mod security;
50#[doc(hidden)]
51pub mod trace;
52
53/// Agent-facing command contract for safe automation.
54pub use agent_contract::{agent_contract, AgentCommandSpec, AgentWorkflow, MdxAgentContract};
55/// Agent-facing artifact explanation helpers.
56pub use artifact::{explain_artifact, ArtifactExplanation, ArtifactKind};
57/// Configuration loading and defaults used by the CLI.
58pub use config::Config;
59/// Dataset and scorer metadata used by optimizer reports.
60pub use eval::{
61    run_behavior_evals, BehaviorCommand, BehaviorCommandRecord, BehaviorEvalReport,
62    BehaviorEvalSpec, EvaluationDataset, EvaluationSample, ScorerMetadata,
63};
64/// Measured evidence artifacts used to gate autonomy. Unstable before `1.0`.
65pub use evidence::{
66    load_latest_evidence, load_latest_evidence_for_root, run_evidence, EvidenceArtifactRef,
67    EvidenceCommandRecord, EvidenceFileProfile, EvidenceFunctionProfile, EvidenceMetric,
68    EvidenceRun, EvidenceRunConfig,
69};
70/// Scoped Rust hardening engine for ordinary Rust modules. Unstable before `1.0`.
71pub use hardening::{
72    run_hardening, HardeningChangeSummary, HardeningConfig, HardeningEvidenceDepth, HardeningMode,
73    HardeningOutcome, HardeningPolicyRecord, HardeningRiskSummary, HardeningRun, HardeningStatus,
74    PolicyFindingMatch, WorkspaceSummary,
75};
76/// Built-in lifecycle hook primitives. These are unstable before `1.0`.
77pub use hooks::{
78    evaluate_builtin_hook, HookAction, HookContext, HookDecision, HookPolicy, HookStage,
79};
80/// Experiment budget and ledger records. These are unstable before `1.0`.
81pub use ledger::{
82    split_dataset, DatasetSplit, ExperimentLedger, OptimizationBudget, PromptVariantRecord,
83};
84/// Optimizer entrypoint and run records. These are unstable before `1.0`.
85pub use optimizer::{
86    mechanical_score, run_optimization, AcceptedEditSummary, AuditPacket, AuditProvenance,
87    Candidate, EditStrategy, ModelProvenance, OptimizationRun, OptimizeConfig, ScoreProvenance,
88};
89/// Structured project policy records used by v0.4 hardening reports.
90pub use policy::{load_project_policy, PolicyCategory, PolicyRule, PolicySeverity, ProjectPolicy};
91/// Plan-first refactor and autonomous orchestration records. Unstable before `1.0`.
92pub use refactor::{
93    apply_refactor_plan_batch, apply_refactor_plan_candidate, build_codebase_map,
94    build_evolution_scorecard, build_refactor_plan, recipe_catalog, run_autopilot,
95    AutonomyDecision, AutonomyReadiness, AutonomyReadinessGrade, AutopilotConfig, AutopilotPass,
96    AutopilotPassStatus, AutopilotRun, AutopilotStatus, CandidateAutonomyDecision,
97    CandidateEvidenceContext, CapabilityGate, CodebaseMap, CodebaseMapConfig, CodebaseQualityGrade,
98    CodebaseQualitySummary, EvidenceGrade, EvidenceSignal, EvidenceSummary, EvolutionScorecard,
99    EvolutionScorecardConfig, RecipeCatalog, RecipeSpec, RecipeTier, RefactorApplyConfig,
100    RefactorApplyMode, RefactorApplyRun, RefactorApplyStatus, RefactorBatchApplyConfig,
101    RefactorBatchApplyRun, RefactorBatchApplyStatus, RefactorBatchCandidateRun, RefactorCandidate,
102    RefactorCandidateStatus, RefactorImpactSummary, RefactorPlan, RefactorPlanConfig,
103    RefactorRecipe, RefactorRiskLevel, SecurityPostureSummary, SourceSnapshot, StaleSourceFile,
104    TestCoverageSignal,
105};
106/// Agent registry types used by CLI commands.
107pub use registry::{AgentContract, RegisteredAgent, Registry};
108/// Agent runner result and trace events. These are unstable before `1.0`.
109pub use runner::{run_agent, AgentRunResult, TraceEvent};
110/// Candidate safety pipeline. Direct use is unstable before `1.0`.
111pub use safety_pipeline::{
112    execute_candidate_edit, CandidateExecutionConfig, CandidateExecutionContext,
113    CandidateExecutionOutcome, SafetyRejection, SafetyRejectionKind,
114};
115/// Deterministic static audit reports.
116pub use security::{audit_agent, AuditFinding, AuditSeverity, SecurityAuditReport};
117/// Trace diagnosis records.
118pub use trace::{diagnose_run, FailureKind, FailureSignal, TraceDiagnosis};