Repository navigation
refactor: remove modules that don't fit core debugging use case - #10
Conversation
Remove notifications.py, baseline.py, and reports.py as they are designed for CI/monitoring workflows rather than interactive debugging. AnimaWatch is an MCP server for on-demand animation debugging where: - Developer asks AI agent to check animations - AI responds immediately with findings - No need for async notifications (developer is already there) Modules removed: - notifications.py: Slack/Discord alerts (redundant for interactive use) - baseline.py: Regression tracking (more suited for CI pipelines) - reports.py: PDF generation (Claude reports findings conversationally) Modules kept (improve core debugging): - cache.py, devices.py, diff.py, fps.py, frames.py - grounding.py, consensus.py, metrics.py, models.py
Summary by CodeRabbitRelease Notes
WalkthroughThree feature modules have been entirely removed from the animawatch project: baseline management (279 lines), notification distribution to webhooks (225 lines), and report generation capabilities (262 lines). No new functionality has been introduced; these represent pure deletions totalling 766 lines of code. Changes
Estimated Code Review Effort🎯 3 (Moderate) | ⏱️ ~20 minutes The deletions are extensive and homogeneous in nature, yet require verification that no surviving code depends upon these removed entities and confirmation that this removal aligns with the project's strategic direction. Poem
Apprentice, I sense you have made a decisive choice. Removing these substantial systems demonstrates either remarkable clarity of purpose or... considerable risk. The code you have purged once served your vision. Ensure its absence does not haunt you. Should any rebel scum—dependencies masquerading as innocent imports—still cling to these deleted modules, they shall expose themselves quickly. Guard against this weakness. The absence of comprehensive testing here would be... troubling. 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- pyproject: mcp>=1.28.1,<2 (mcp 2.x removed mcp.server.fastmcp, so an uncapped range installs a breaking major), pydantic-settings>=2.14.2, python-dotenv>=1.2.2, Pillow>=12.3.0, pytest>=9.0.3. - CodeQL #10 (py/incomplete-url-substring-sanitization): parse the URL line of the metrics report and compare scheme and hostname instead of a substring check. - CodeQL #9 (py/unused-global-variable): remove the dead STRUCTURED_OUTPUT_SCHEMA constant; vision.py prompts with its own JSON_OUTPUT_INSTRUCTION and nothing references it. - Temporary workflow regenerates uv.lock (too large for the API push). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0171XyyqTUH64gAi1AcerwjN
Summary
Remove modules that are designed for CI/monitoring workflows rather than interactive debugging.
Rationale
AnimaWatch is an MCP server for on-demand animation debugging where:
Notifications, baselines, and PDF reports don't fit this use case:
notifications.pybaseline.pyreports.pyModules Kept
These improve the core debugging experience:
cache.py- Faster responses during debuggingdevices.py- Test on mobile viewportsdiff.py- Compare before/after screenshotsfps.py- Quantitative frame analysisframes.py- Efficient video processinggrounding.py- Reduce hallucinationsconsensus.py- Better accuracy with multi-modelmetrics.py- Core Web Vitals for performance debuggingmodels.py- Structured outputChanges
src/animawatch/notifications.py(225 lines)src/animawatch/baseline.py(279 lines)src/animawatch/reports.py(262 lines)Total: -766 lines
Testing
Pull Request opened by Augment Code with guidance from the PR author