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