Deep Dive

Export Pipeline

6 formats, validation engine and chunk cleaning in detail.

01
Validation Engine

validate_workspace() checks 8 criteria: content exists, no orphan relations, no duplicate titles, tags present, confidence present, temporal data present, active nodes exist, relations exist if >3 nodes. Score 0-100.

# 8 Checks → Score 0-100
1. missing_content
2. orphan_edges
3. duplicate_titles
4. no_tags
5. no_confidence
6. has_temporal
7. active_nodes > 0
8. edges > 0 if nodes > 3

score = (passed / 8) * 100
02
Chunk Cleaning

5 regex passes: headers, bold, italic, code blocks, wikilinks, emojis. Then prepend time context as natural language.

re.sub(r'#{1,6}\s+', '') # headers
re.sub(r'\*\*(.+?)\*\*', r'\1') # bold
re.sub(r'```..```', '') # code
re.sub(r'[emojis]', '') # emojis

f"As of {date}: {title}. {clean}"
03
Mermaid Generation

Nodes as Mermaid nodes with classDef styling. Edges get different arrow types: --> for dependencies, -.-> for causality, ==> for fixes.

depends_on: -->
caused_by: -.->
fixes: ==>
related_to: ---

classDef arch fill:#4A90D9
classDef dec fill:#E74C3C