#![forbid(unsafe_code)]
mod diagnostic;
mod focus;
mod hash;
mod measure;
mod model;
mod patch;
mod projection;
mod resume;
mod snapshot;
mod validate;
pub use chappi_syntax::{Diagnostic, Severity, Span};
pub use focus::{FocusFrame, FocusStream, TransitionKind};
pub use hash::state_hash;
pub use measure::{
AnswerPolarity, AtomicFact, ComparisonFixture, CompressionMetrics, ContinuityMetrics, Corpus,
CorpusDiagnostic, CorpusError, CorpusErrorKind, DerivedComparison, Episode, EpisodeCategory,
FactFamily, FactFamilyMetrics, FactRecoveryScore, FocusBucket, FocusFactField, GateResult,
GoldenAnswers, MeasurementReport, NodeFactField, OwnerTargetExpectation, PrecisionMetrics,
RecoveryFactKind, RecoveryQuestion, SeededInvalidSource, SemanticAnswer, SemanticMetrics,
decode_compact_semantic_facts, decode_controlled_english_facts, derive_semantic_comparison,
load_corpus, measure_corpus, score_fact_recovery, semantic_answer_matches,
};
pub use model::{
AffectIntensity, AttentionMode, CognitiveState, Confidence, ConstraintStrength, DesireForce,
GoalStatus, Lifetime, MetacognitionStatus, Node, NodeKind, Perspective, PredictionStatus,
QuestionStatus, Relation, RelationKind, Source, TensionStatus,
};
pub use patch::{AddOp, AddValue, AppendFocusOp, Patch, PatchOp, RetireOp, ReviseOp, apply_patch};
pub use projection::{Language, ProjectionFormat, project, project_capsule};
pub use resume::{
BudgetUnit, CapsuleBudget, FocusCue, LexicalTokenEstimator, ReentryCapsule, TokenEstimator,
build_capsule, build_capsule_with_estimator,
};
pub use snapshot::{snapshot_document, snapshot_source};
pub use validate::{validate, validate_patch};