Atomic-Term Database
Stores parsed terminal activity for the βWorked Filesβ feature.Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ATOMIC-TERM.DB OVERVIEW β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β ββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββ β
β β β β β β
β β parsed_activities β β file_map β β
β β β β β β
β β - terminal_id β β - project_root (PK) β β
β β - terminal_name β β - rel_path (PK) β β
β β - session_id β β - basename β β
β β - operation β β - last_seen β β
β β - target β β β β
β β - path (auto-fixed) β ββββββββββββββββββββββββββββ β
β β - rel_path β β β
β β - ai_provider β β Fallback β
β β - content β β Search β
β β - raw_log β βΌ β
β β βββββββββββββββββ β
β ββββββββββββββββββββββββββββ β
β β
β atomic-term.db β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Purpose
The VTE Parser (Alacritty) processes terminal output and detects file operations. These are logged to atomic-term.db for the βWorked Filesβ sidebar.Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DATA FLOW β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β βββββββββββββββββββββ β
β β PTY Daemon β Runs terminal shell β
β ββββββββββ¬βββββββββββ β
β β β
β β Unix Socket β
β βΌ β
β ββββββββββ΄βββββββββββ β
β β SessionActor β Routes PTY data β
β β (Rust Backend) β β
β ββββββββββ¬βββββββββββ β
β β β
β β PTY Output β
β βΌ β
β ββββββββββ΄βββββββββββ β
β β VTE Parser β Parse escape sequences β
β β (Alacritty) β Detect file operations β
β ββββββββββ¬βββββββββββ β
β β β
β β Activity detected β
β βΌ β
β ββββββββββ΄βββββββββββ β
β β PTY Log β INSERT parsed_activities β
β ββββββββββ¬βββββββββββ β
β β β
β βΌ β
β ββββββββββ΄βββββββββββ β
β β Auto-fix β Resolve truncated paths β
β β (Cross-DB) β UPDATE path column β
β ββββββββββ¬βββββββββββ β
β β β
β β Event emission β
β βΌ β
β ββββββββββ΄βββββββββββ β
β β Frontend UI β "Worked Files" sidebar β
β βββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Main Table: parsed_activities
Stores detected file operations from terminal output.Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PARSED_ACTIVITIES TABLE β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β Column β Type β Description β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β id β INTEGER β Unique identifier (auto-increment) β
β terminal_id β TEXT β Terminal session ID β
β terminal_name β TEXT β Display name for the terminal β
β session_id β TEXT β NIIA session reference β
β operation β TEXT β Read/Write/Edit/Bash/etc. β
β target β TEXT β Raw path from terminal output β
β raw_log β TEXT β Full PTY output (for debugging) β
β content β TEXT β Parsed body content β
β details β TEXT β Extra information β
β line_count β INTEGER β Number of lines β
β saved_lines β INTEGER β Lines actually saved β
β ai_provider β TEXT β claude/gemini/openai/etc. β
β path β TEXT β Auto-fixed full path β
β rel_path β TEXT β Project-relative path β
β timestamp β DATETIME β When the activity was recorded β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Terminal ID Format
How terminal IDs are structured.Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TERMINAL ID FORMATS β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β FORMAT 1: term-{timestamp}-{tabCounter} β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β term-1764930848817-1002 β β
β β β β β β
β β βΌ βΌ β β
β β Unix ms Tab Counter β β
β β β β
β β Color calculation for UI: β β
β β ((tabCounter - 1) % 24) + 1 = colorIndex β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β FORMAT 2: niia-{uniqueId} β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β niia-4942218766 β β
β β β β β
β β βΌ β β
β β Random session ID (from daemon) β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Cross-Database Path Resolution
Truncated paths are resolved using the file watcher database.Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CROSS-DB PATH RESOLUTION β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β PROBLEM: Terminal output truncates long paths β
β β
β Example: β
β Terminal shows: "...ponents/button.tsx" β
β Real path: "/Users/dev/project/src/components/button.tsx" β
β β
β SOLUTION: Time-based search in file watcher database β
β β
β βββββββββββββββββββββ βββββββββββββββββββββ β
β β niia-watcher.db β β atomic-term.db β β
β βββββββββββββββββββββ€ βββββββββββββββββββββ€ β
β β β QUERY β β β
β β file_events ββββββββββΆβ parsed_activitiesβ β
β β - basename β β - target (trunc) β β
β β - abs_path β β - path (resolved)β β
β β - ts (timestamp) β β - timestamp β β
β βββββββββββββββββββββ βββββββββββββββββββββ β
β β
β TIME EXPANSION STRATEGY β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β 1st attempt: +/- 1 minute β β
β β 2nd attempt: +/- 5 minutes β β
β β 3rd attempt: +/- 30 minutes β β
β β Fallback: file_map cache β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Write/Read Separation
Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β WRITE/READ SEPARATION β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β WRITE (Backend Only - PTY Log Module) β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β Function β SQL β Trigger β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β save_to_db β INSERT parsed_ β PTY stream output β β
β β β activities β β β
β β fix_row_sync β UPDATE path, β Post-INSERT hook β β
β β (auto-fix) β rel_path β β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β READ (Tauri Commands) β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β Function β SQL β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β get_worked_files β SELECT WHERE operation β β
β β β IN (Read,Write,Edit,Bash) β β
β β get_details β SELECT WHERE id = ? β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Design Principles Applied
Copy
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DESIGN PRINCIPLES β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β β
β SIMPLICITY (SMPC) β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β [x] PTY Log module is ONLY writer (single responsibility) β β
β β [x] Post-insert path fix (deferred resolution) β β
β β [x] Frontend uses invoke() for reads only β β
β β [x] No complex triggers or stored procedures β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ORDER FROM CHAOS (OFAC) β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β [x] Watcher --> file_map progressive fallback β β
β β [x] 1min --> 5min --> 30min time-based search expansion β β
β β [x] emit() + polling hybrid for UI updates β β
β β [x] Graceful degradation when watcher unavailable β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Quick Reference
| Aspect | Value |
|---|---|
| Location | ~/Library/Application Support/monolex/protocols/niia/database/atomic-term.db |
| Primary Owner | PTY Log module |
| Main Table | parsed_activities |
| Write Triggers | PTY stream output, Auto-fix |
| Read By | Frontend βWorked Filesβ sidebar |