Skip to main content

forge_pilot/
lib.rs

1//! OODA governance orchestrator for the RecursiveIntell stack.
2//!
3//! This crate drives the Observe-Orient-Decide-Act loop that inspects
4//! semantic-memory state, selects verification targets, executes oracle
5//! or paired-patch plans, and exports evidence bundles through the
6//! canonical Forge bridge path.
7#![cfg_attr(test, allow(clippy::expect_used))]
8
9pub mod act;
10pub mod bootstrap;
11pub mod bootstrap_source;
12pub mod bundle_builder;
13pub mod cli;
14pub mod config;
15pub mod decide;
16pub mod error;
17pub mod export;
18#[cfg(feature = "governance")]
19pub mod governance_gate;
20pub mod history;
21pub mod loop_runner;
22pub mod observe;
23pub mod orient;
24pub mod receipts;
25#[path = "repo_chat.rs"]
26pub mod repo_chat;
27pub mod targets;
28pub mod types;
29
30pub use act::{
31    execute_plan, ActionFamily, ActionOutcome, AdvisoryPlan, OracleExecution, PatchExecution,
32    PlanKind,
33};
34pub use bootstrap::{
35    compute_manifest_delta, BootstrapCurrentState, BootstrapDeltaSummary, BootstrapManifestDelta,
36    BootstrapManifestSnapshot, BootstrapRichness, BootstrapSourceObservation,
37    BootstrapSourceRichness, SymbolRecord,
38};
39pub use bootstrap_source::{
40    bootstrap_source_workspace, BootstrapSourceReport, BootstrapSourceSkippedFile,
41};
42pub use bundle_builder::{
43    build_bundle_from_oracle, build_bundle_from_patch, OracleBundleInput, PatchBundleInput,
44};
45pub use cli::{
46    render_candidate_report, render_loop_report, render_observation_report, render_repo_chat_answer,
47};
48pub use config::{LoopConfig, PatchPlanSeed};
49pub use decide::{select_candidate, Decision};
50pub use error::PilotError;
51pub use export::{
52    canonical_roundtrip, import_recent_forge_bundles, ImportBootstrapReport, RoundtripResult,
53};
54#[cfg(feature = "governance")]
55pub use governance_gate::{
56    build_governance_receipt, gate_execution, gate_execution_with_mode, observe_governance,
57    observe_governance_with_mode, predicates as governance_predicates, GovernanceDegradation,
58    GovernanceGateError, GovernanceGateResult, GovernanceMode, GovernanceObservation,
59    GovernanceObservationSummary, GovernanceReceiptV1, GOVERNANCE_PROJECTION_FAMILY,
60    GOVERNANCE_RECEIPT_V1_SCHEMA, GOVERNANCE_SCOPE_NAMESPACE,
61};
62pub use history::{PilotHistory, TargetAttemptRecord, TargetHistoryEntry};
63pub use loop_runner::{
64    parse_loop_report_boundary, ExternalHaltFlag, HaltReason, LoopBudgetReceipt,
65    LoopIterationReport, LoopReceipt, LoopReport, LoopRunner, LoopRunnerResources,
66    LOOP_ITERATION_REPORT_V1_SCHEMA, LOOP_REPORT_V1_SCHEMA, PILOT_LOOP_RECEIPT_V1_SCHEMA,
67};
68pub use observe::{
69    inspect_observation_paths, ImportRecordDisposition, ObservationDisposition, ObservationPaths,
70    ObservationStatus, PathAvailability, SourceInventory,
71};
72pub use observe::{observe_scope, Observation, ObservationDegradation, ScopeHealthSummary};
73pub use orient::{extract_targets, score_targets, TargetCandidate};
74pub use repo_chat::{
75    answer_repo_question, answer_repo_question_from_observation, provider_fallback_allowed,
76    render_terminal_answer, repo_chat_provider_grounding_message, route_question, RepoChatAnswer,
77    RepoChatCitation, RepoChatEvidence, RepoChatEvidenceType, RepoChatGroundingMode,
78    RepoQuestionRoute,
79};
80pub use targets::{TargetKind, TargetPriority};
81pub use types::{
82    BlockedStepRecord, BudgetClass, CanonicalCaseClass, DecisionAudit, ExecutionLineageReceipt,
83    ExportActionTraceV1, LawfulStepKind, PlannedStep, RepairClassV1, RepairRecordV1,
84    StopRuleEvaluation, TargetNormalization, VerificationPlanArtifact,
85};