Committed as-is on 2026-08-26 while retiring this repo, so the working
tree that existed at reformat time is preserved in history rather than
only in the NAS backup.
When parsing resumes from an offset (mid-file), the "Start Log" line
was already processed in a previous run, leaving current_session_id
as None. Added get_or_create_session() to look up or create a session
when resuming from a non-zero offset.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add UDC_LOG_PATH configuration for Windows/Linux
- Implement MySQL connection pooling for better performance
- Fix regex patterns to handle spaces after // delimiters in log files
- Update parser to support pooled connections
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Default: 90 days (matches retention policy)
- Use --max-age 0 to disable filtering
- Extracts date from CLM filename pattern
- Shows "Skipped (too old)" count in summary
- Prevents re-importing data that would be immediately purged
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Python parsers for Universal Data Collector (UDC) and Control Loop
Monitor (CLM) data from CNC machines.
- clmparser.py: Main parser for CLM JSON data files
- Incremental imports using file hashes
- Extracts parts, measurements, tool data, violations
- Calculates cycle times and changeovers
- udcparser.py: Parser for raw UDC log files
- Application events, errors, connections
- config.py: Database configuration (dev/prod)
- backfill_changeover.py: One-time migration utility
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>