Release v1.0.0
FeatureReleased on November 26, 2025
Highlights
- AI-powered metrics dashboard with multi-database ETL system
- Claude MCP server with 79+ tools for institutional knowledge
- ContextCurator engine for organizational expertise tracking
- Production deployment to NPS infrastructure
Release v1.0.0 - Initial Production Release
Summary
CHDS Pulse is a self-service metrics dashboard enabling CHDS staff to track, visualize, and report on strategic objectives through an intuitive interface with conversational AI assistance. This release marks the first production deployment to the NPS infrastructure at pulse.chds.us.
Core Features
Metrics Dashboard
- Interactive KPI visualization with Chartkick/Highcharts
- Multi-view metric displays with drag-and-drop ordering
- Real-time data updates via Turbo Streams
- Theme-aware styling (3 themes x 3 modes)
ETL Data Warehouse
- Multi-database architecture separating application and warehouse data
- Proven extraction patterns with lineage tracking
- fact_enrollment: 6,210 records (100% success rate)
- fact_activity: 507,305 records (99.996% success rate)
- dim_person: 144,782 records from people.account
- Solid Queue job processing with 3-layer zombie detection
Claude MCP Server
- Embedded Model Context Protocol server
- 79+ tools for data analysis and institutional knowledge queries
- Voice agent integration for natural language interactions
- Structured outputs with OpenAI GPT-5
ContextCurator Engine
- Rails engine for institutional knowledge management
- Domain assertions and expertise area tracking
- Semantic search with pgvector (1536 dimensions)
- Expert profile management
Authentication & Authorization
- CHDS OAuth integration
- Slack OAuth authentication
- Role-based access control
- User permission management
PDF Reports
- Grover-based PDF generation (headless Chrome)
- AI-powered narrative generation
- Slidev presentation integration
- Export to multiple formats
Technical Stack
- Backend: Rails 8.1.1, Ruby 3.4.5
- Database: PostgreSQL 17 with pgvector extension
- Frontend: Hotwire (Turbo + Stimulus), ViewComponent, Tailwind CSS
- AI: DSPy.rb, OpenAI GPT-5, Claude MCP
- Jobs: Solid Queue with ETL-specific queue separation
- Deployment: Docker/Podman on NPS infrastructure
Database Architecture
Application Database (chdspulseapp)
~67 tables including:
- Users, metrics, dashboards, reports
- LLM configurations, prompt templates
- ContextCurator models (domain assertions, expertise areas, context entries)
Warehouse Database (chdspulsewarehouse)
19 tables including:
- Dimension tables (dimperson, dimtime, dimorg)
- Fact tables (factenrollment, factactivity, factapplications)
- ETL operational tables (etlpipelineruns, etlimportfailures)
Deployment
- Production: pulse.chds.us (NPS infrastructure via Podman)
- Staging: pulse.domt.app (jer-serve via Kamal 2)
- Development: pulse.dev.domt.app (local development)
Known Limitations
- MySQL connections require VPN tunnel for NPS databases
- GlobalProtect VPN required for production access
- Some ETL handlers still in development (thesis, courses backfill)
Migration Notes
This is the initial release - no migration from previous versions required.
Documentation
- ETL System Guide:
docs/ETL_SYSTEM_GUIDE.md - Multi-Database Guide:
docs/MULTI_DATABASE_GUIDE.md - Zombie Detection:
docs/SOLID_QUEUE_ZOMBIE_DETECTION.md - Theming Guide:
docs/THEMING_GUIDE.md