Jason Staack
06a41ca9bf
fix(lint): resolve all ruff lint errors
...
Add ruff config to exclude alembic E402, SQLAlchemy F821, and pre-existing
E501 line-length issues. Auto-fix 69 unused imports and 2 f-strings without
placeholders. Manually fix 8 unused variables. Apply ruff format to 127 files.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-14 22:17:50 -05:00
Jason Staack
9b060c5fdf
refactor: rename database from mikrotik to tod in backend code
2026-03-14 10:57:20 -05:00
Jason Staack
970501e453
feat: implement Remote WinBox worker, API, frontend integration, OpenBao persistence, and supporting docs
2026-03-14 09:05:14 -05:00
Jason Staack
a9f7a45a9b
feat(09-01): implement retention cleanup service with configurable retention period
...
- Add CONFIG_RETENTION_DAYS setting (default 90) to config.py
- Create retention_service.py with cleanup_expired_snapshots (parameterized SQL via make_interval)
- APScheduler IntervalTrigger runs cleanup every 24h with 1h jitter
- Prometheus counter and histogram for observability
- CASCADE FKs handle diff/change deletion automatically
- All 4 unit tests pass
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 23:33:27 -05:00
Jason Staack
a3d2172797
fix(backend): change APP_BASE_URL default from port 5173 to 3000
...
Password reset email links pointed to Vite dev port instead of the
Docker frontend port.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 22:39:04 -05:00
Jason Staack
b840047e19
feat: The Other Dude v9.0.1 — full-featured email system
...
ci: add GitHub Pages deployment workflow for docs site
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 19:30:44 -05:00