#![warn(missing_docs)]
use cortex_core::CortexResult;
use cortex_llm::LlmAdapter;
pub mod admission;
pub mod authority;
pub mod error;
pub mod orchestrate;
pub mod parse;
pub mod principles;
pub mod quarantine;
pub mod schema;
pub use admission::{
admission_request_for_memory, axiom_admission_proof_closure_invariant,
reflection_memory_proof_state, require_reflection_durable_admission_allowed,
validate_reflection_admission, ReflectionAdmissionDisposition, ReflectionAdmissionError,
ReflectionDurableAdmissionRefusal, REFLECTION_ADMISSION_PROOF_CLOSURE_INVARIANT,
};
pub use authority::{validate_reflection_authority, ReflectionAuthorityError};
pub use error::ReflectError;
pub use orchestrate::{
reflect, PersistedMemoryCandidate, ReflectOrchestrationError, ReflectionRejection,
ReflectionReport, ReflectionReportStatus, DEFAULT_REFLECTION_MODEL,
};
pub use parse::{
parse_principle_candidates, parse_reflection, principle_candidate_batch_json_schema,
session_reflection_json_schema,
};
pub use principles::{
extract_candidates, extract_deterministic_candidates, AcceptedMemory, PrincipleExtractionError,
PrincipleExtractionWindow, DEFAULT_PRINCIPLE_EXTRACTION_MODEL, MIN_SUPPORTING_DOMAINS,
MIN_SUPPORTING_MEMORIES,
};
pub use quarantine::{quarantine_record, REFLECTION_QUARANTINE_OPERATION};
pub use schema::{
EpisodeCandidate, InitialSalience, MemoryCandidate, MemoryType, PrincipleCandidate,
PrincipleCandidateBatch, SessionReflection,
};
pub fn reflect_stub(adapter: &dyn LlmAdapter) -> CortexResult<()> {
tracing::debug!(adapter = adapter.adapter_id(), "reflection stub");
Ok(())
}