1#![warn(missing_docs)]
3
4use cortex_core::CortexResult;
5use cortex_llm::LlmAdapter;
6
7pub mod admission;
8pub mod authority;
9pub mod error;
10pub mod orchestrate;
11pub mod parse;
12pub mod principles;
13pub mod quarantine;
14pub mod schema;
15
16pub use admission::{
17 admission_request_for_memory, axiom_admission_proof_closure_invariant,
18 reflection_memory_proof_state, require_reflection_durable_admission_allowed,
19 validate_reflection_admission, ReflectionAdmissionDisposition, ReflectionAdmissionError,
20 ReflectionDurableAdmissionRefusal, REFLECTION_ADMISSION_PROOF_CLOSURE_INVARIANT,
21};
22pub use authority::{validate_reflection_authority, ReflectionAuthorityError};
23pub use error::ReflectError;
24pub use orchestrate::{
25 reflect, PersistedMemoryCandidate, ReflectOrchestrationError, ReflectionRejection,
26 ReflectionReport, ReflectionReportStatus, DEFAULT_REFLECTION_MODEL,
27};
28pub use parse::{
29 parse_principle_candidates, parse_reflection, principle_candidate_batch_json_schema,
30 session_reflection_json_schema,
31};
32pub use principles::{
33 extract_candidates, extract_deterministic_candidates, AcceptedMemory, PrincipleExtractionError,
34 PrincipleExtractionWindow, DEFAULT_PRINCIPLE_EXTRACTION_MODEL, MIN_SUPPORTING_DOMAINS,
35 MIN_SUPPORTING_MEMORIES,
36};
37pub use quarantine::{quarantine_record, REFLECTION_QUARANTINE_OPERATION};
38pub use schema::{
39 EpisodeCandidate, InitialSalience, MemoryCandidate, MemoryType, PrincipleCandidate,
40 PrincipleCandidateBatch, SessionReflection,
41};
42
43pub fn reflect_stub(adapter: &dyn LlmAdapter) -> CortexResult<()> {
45 tracing::debug!(adapter = adapter.adapter_id(), "reflection stub");
46 Ok(())
47}