Repository navigation
v1.14.0: Invar Usage Feedback Collection
🎉 v1.14.0: Invar Usage Feedback Collection
Complete implementation of DX-79 - an automatic feedback generation system that helps improve the Invar framework by analyzing tool usage patterns.
🚀 New Features
/invar-reflect Skill
Generate structured feedback on your Invar tool usage experience:
- Analyzes patterns: Tool usage, pain points, learning curves
- Tracks improvements: Confusion points, workarounds, successes
- Produces reports: Detailed markdown files in
.invar/feedback/
# In Claude Code or compatible agent
/invar-reflectinvar feedback CLI Tools
List feedback files:
invar feedback listCleanup old files:
invar feedback cleanup --older-than 90 --dry-run
invar feedback cleanup --older-than 90 # actually deleteAnonymize for sharing:
invar feedback anonymize feedback-2026-01-03.md
invar feedback anonymize feedback-2026-01-03.md -o safe-to-share.mdCore Anonymization Logic
New module src/invar/core/feedback.py with contract-verified anonymization:
- ✅ 8 sensitive data types removed: emails, IPs, paths, tokens, etc.
- ✅ Contract-verified with
@pre/@postdecorators - ✅ Doctests for all anonymization patterns
- ✅ CrossHair symbolic verification passed
- ✅ Property tests (100 examples generated)
Init Integration
Feedback automatically configured during project setup:
- Interactive consent prompt (opt-out design, default: enabled)
- Visible notifications in quick modes (
--claude,--pi) - Settings management via
.claude/settings.local.json
Template Integration
New projects get /invar-reflect skill out-of-box:
- ✅ Added to
manifest.toml(SKILL.md, template.md, CONFIG.md) - ✅ Installed automatically via
invar init --claude - ✅ Feature parity: New projects = Invar project
🔒 Security & Privacy
Privacy-First Design
- ✅ Local storage only - Feedback files stored in
.invar/feedback/ - ✅ Never sent automatically - You control what (if anything) to share
- ✅ User consent required - Opt-out prompt during init
Comprehensive Anonymization
Removes 8 types of sensitive data:
- Email addresses
- IP addresses
- User home directories (Unix + Windows)
- Absolute file paths
- API tokens and secrets
- Function/symbol names
- Error messages
- Project names
🐛 Fixes
Round 2 Review Fixes
- Core/Shell separation: Moved anonymization from Shell to Core
- Contract optimization: Removed redundant type checks (guard warning resolved)
- Path consistency: Fixed Pi notification path mismatch
- Pattern expansion: Comprehensive anonymization coverage
📊 Quality Metrics
Testing
- ✅ Integration tests: 26/26 passed (100%)
- ✅ Doctests: All passed
- ✅ Property tests: 100 examples generated and passed
- ✅ CrossHair: Symbolic verification passed
Code Review
- ✅ Adversarial review: 2 rounds completed
- ✅ Round 1: 3 MAJOR issues → Fixed
- ✅ Round 2: 2 CRITICAL issues → Fixed
- ✅ Guard verification: 0 errors, 0 warnings
📦 Installation
New Projects
# Feedback collection enabled by default
invar init --claudeExisting Projects
# Update to get new skill
invar updateUpgrade Package
pip install --upgrade invar-tools📚 Documentation
- Skill guide:
.claude/skills/invar-reflect/SKILL.md - Configuration:
.claude/skills/invar-reflect/CONFIG.md - Template reference:
.claude/skills/invar-reflect/template.md
🎯 What's Next?
Usage Feedback Workflow
- Work with Invar - Use tools naturally
- Generate feedback - Run
/invar-reflect - Review locally - Check
.invar/feedback/ - Anonymize if sharing -
invar feedback anonymize <file> - Decide what to share - You control everything
Future Enhancements
- Dashboard for feedback analytics
- Pattern detection for common pain points
- Automated improvement suggestions
👥 Contributors
🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
📝 Full Changelog
See CHANGELOG.md for complete details.