1pub mod card_header;
6pub mod chunker;
7pub mod frontmatter;
8pub mod noise;
9pub mod sanitize;
10pub mod segmentation;
11pub mod skill_collapse;
12pub mod timeline;
13pub mod types;
14
15pub use card_header::{
16 CardHeader, HeaderForm, card_body, header_form, is_bracket_header_line, parse_card_header,
17};
18pub use chunker::{
19 CARD_CLAIM_SCOPE_SESSION_CLOSE, CARD_FRESHNESS_CONTRACT_HISTORICAL, CARD_SCHEMA_VERSION,
20 CARD_VERIFICATION_STATE_NOT_VERIFIED_BY_AICX, CardSignal, CardSource, Chunk,
21 ChunkMetadataSidecar, ChunkerConfig, LearningUse, SIGNAL_EXTRACTOR_VERSION,
22 SIGNAL_KIND_DECISION, SIGNAL_KIND_HIGHLIGHT, SIGNAL_KIND_INSIGHT, SIGNAL_KIND_INTENT,
23 SIGNAL_KIND_OUTCOME, SIGNAL_KIND_PLAN_MODE, SIGNAL_KIND_RESULT, SIGNAL_KIND_SKILL,
24 SIGNAL_KIND_TODO_DONE, SIGNAL_KIND_TODO_OPEN, SIGNAL_KIND_ULTRATHINK, TruthRole, TruthStatus,
25 classify_kind,
26};
27pub use frontmatter::ReportFrontmatter;
28pub use sanitize::{filter_self_echo, is_self_echo, normalize_query, read_state_json_validated};
29#[rustfmt::skip]
30pub use sanitize::{read_line_capped, MAX_VALIDATED_BYTES};
31pub use segmentation::{
32 ProjectHashRegistry, TieredIdentity, classify_cwd_tier, infer_repo_identity_from_entry,
33 infer_tiered_identity_from_entry, semantic_segments, semantic_segments_with_registry,
34};
35pub use skill_collapse::{
36 CollapseStats, DEFAULT_THRESHOLD_LINES, collapse_repeats, detect_skill_marker,
37};
38pub use timeline::{
39 ConversationMessage, ExtractionConfig, FrameKind, Kind, RepoIdentity, SemanticSegment,
40 SourceInfo, SourceTier, TimelineEntry,
41};
42pub use types::{EntryState, EntryType, IntentEntry, Link, LinkType};