Implements privacy-preserving synchronization of production audit logs
to development for comprehensive governance research analysis.
Backend Components:
- SyncMetadata.model.js: Track sync state and statistics
- audit-sanitizer.util.js: Privacy sanitization utility
- Redacts credentials, API keys, user identities
- Sanitizes file paths and violation content
- Preserves statistical patterns for research
- sync-prod-audit-logs.js: CLI sync script
- Incremental sync with deduplication
- Dry-run mode for testing
- Configurable date range
- AuditLog.model.js: Enhanced schema with environment tracking
- environment field (development/production/staging)
- sync_metadata tracking (original_id, synced_from, etc.)
- New indexes for cross-environment queries
- audit.controller.js: New /api/admin/audit-export endpoint
- Privacy-sanitized export for cross-environment sync
- Environment filter support in getAuditLogs
- MemoryProxy.service.js: Environment tagging in auditDecision()
- Tags new logs with NODE_ENV or override
- Sets is_local flag for tracking
Frontend Components:
- audit-analytics.html: Environment filter dropdown
- audit-analytics.js: Environment filter query parameter handling
Research Benefits:
- Combine dev and prod governance statistics
- Longitudinal analysis across environments
- Validate framework consistency
- Privacy-preserving data sharing
Security:
- API-based export (not direct DB access)
- Admin-only endpoints with JWT authentication
- Comprehensive credential redaction
- One-way sync (production → development)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implements core BI analytics capabilities for governance ROI measurement:
- Activity classifier utility for automatic event categorization
* Detects activity type (client communication, infrastructure, etc.)
* Calculates risk level, stakeholder impact, data sensitivity
* Computes business impact scores (0-100)
- Enhanced audit controller with BI analytics endpoints
* Cost avoidance calculator with user-configurable factors
* Framework maturity scoring (0-100 scale)
* Team performance comparison (AI vs human)
* Activity type breakdown and ROI projections
- New API routes for cost configuration (GET/POST /api/admin/cost-config)
- Hook validator enhancement
* Automatic activity classification on governance decisions
* MongoDB audit logging with BI context fields
* Business impact scoring for blocked actions
Status: Research prototype v1.0
Note: Cost factors are illustrative placeholders requiring validation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Dashboard was frozen at 1000 decisions
- Actual total is 3281 decisions
- Increased limit to 10000 to show all audit data
- Chart scaling already handles large datasets properly
Root cause: Audit analytics was reading from obsolete .memory/audit/*.jsonl
files (last updated Oct 9), while actual audit logs are written to MongoDB
auditLogs collection (current data through Oct 23).
Fixed: Updated getAuditLogs() to query MongoDB auditLogs collection.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed unused function parameters by prefixing with underscore
- Removed unused imports and variables
- Applied eslint --fix for automatic style fixes
- Property shorthand
- String template literals
- Prefer const over let where appropriate
- Spacing and formatting
Reduces lint errors from 108+ to 78 (61 unused vars, 17 other issues)
Related to CI lint failures in previous commit
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>