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.9.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 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 before `1.0`.
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 before `1.0`.
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 before `1.0`.
84pub use hooks::{
85    evaluate_builtin_hook, HookAction, HookContext, HookDecision, HookPolicy, HookStage,
86};
87/// Experiment budget and ledger records. These are unstable before `1.0`.
88pub use ledger::{
89    split_dataset, DatasetSplit, ExperimentLedger, OptimizationBudget, PromptVariantRecord,
90};
91/// Optimizer entrypoint and run records. These are unstable before `1.0`.
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 before `1.0`.
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    AutonomyDecision, AutonomyReadiness, AutonomyReadinessGrade, AutopilotConfig, AutopilotPass,
103    AutopilotPassStatus, AutopilotRun, AutopilotStatus, CandidateAutonomyDecision,
104    CandidateEvidenceContext, CandidateEvidenceStatus, CapabilityGate, CodebaseMap,
105    CodebaseMapConfig, CodebaseQualityGrade, CodebaseQualitySummary, EvidenceGrade, EvidenceSignal,
106    EvidenceSummary, EvolutionScorecard, EvolutionScorecardConfig, RecipeCatalog, RecipeSpec,
107    RecipeTier, RefactorApplyConfig, RefactorApplyMode, RefactorApplyRun, RefactorApplyStatus,
108    RefactorBatchApplyConfig, RefactorBatchApplyRun, RefactorBatchApplyStatus,
109    RefactorBatchCandidateRun, RefactorCandidate, RefactorCandidateStatus, RefactorImpactSummary,
110    RefactorPlan, RefactorPlanConfig, RefactorRecipe, RefactorRiskLevel, SecurityPostureSummary,
111    SourceSnapshot, StaleSourceFile, TestCoverageSignal,
112};
113/// Agent registry types used by CLI commands.
114pub use registry::{AgentContract, RegisteredAgent, Registry};
115/// Agent runner result and trace events. These are unstable before `1.0`.
116pub use runner::{run_agent, AgentRunResult, TraceEvent};
117/// Candidate safety pipeline. Direct use is unstable before `1.0`.
118pub use safety_pipeline::{
119    execute_candidate_edit, CandidateExecutionConfig, CandidateExecutionContext,
120    CandidateExecutionOutcome, SafetyRejection, SafetyRejectionKind,
121};
122/// Deterministic static audit reports.
123pub use security::{audit_agent, AuditFinding, AuditSeverity, SecurityAuditReport};
124/// Trace diagnosis records.
125pub use trace::{diagnose_run, FailureKind, FailureSignal, TraceDiagnosis};