Migrated from OpenAI direct API to OpenRouter for multiple advantages: Cost Optimization: - Reduced cost by ~25%: /bin/bash.00015/call (vs /bin/bash.0002/call OpenAI) - Monthly estimate: ~/bin/bash.15 for 1000 calls (vs /bin/bash.20) Provider Benefits: - Access to 300+ AI models (OpenAI, Anthropic, Google, etc.) - Automatic fallback between providers for 99.9% uptime - Single API key for all providers - Unified API interface Technical Changes: - Updated endpoint: api.openai.com → openrouter.ai/api/v1 - Model format: gpt-4o-mini → openai/gpt-4o-mini - Added required headers: HTTP-Referer, X-Title - Environment variables: OPENAI_API_KEY → OPENROUTER_API_KEY + OPENROUTER_SITE_URL (for OpenRouter ranking) + OPENROUTER_APP_NAME Added Sections: - 3.1 Why OpenRouter? (benefits comparison) - 3.5 Model Fallback (automatic provider switching) - Updated all code examples with OpenRouter integration - Updated test cases (openai_client → openrouter_client) - Updated cost estimates throughout document References updated to OpenRouter documentation. Refs: OpenRouter docs https://openrouter.ai/docs
5.4 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Common Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
-
feat: Create n8n workflow
LogWhisperer_Ingestfor secure log ingestion- Webhook trigger on POST
/webhook/logwhisperer/ingest - HMAC-SHA256 signature validation with anti-replay protection
- Data validation (UUID, severity levels, non-empty raw_log)
- PostgreSQL storage with automatic table creation
- Conditional AI processing for critical severity logs
- JSON export at
workflows/logwhisperer_ingest.json - Test suite at
workflows/test_workflow.sh - Integration guide at
workflows/INTEGRATION.md - Documentation at
workflows/README.md - Implements Metodo Sacchi: Safety First, Little Often, Double Check
- Webhook trigger on POST
-
feat: Configure MCP servers for enhanced AI capabilities
- sequential-thinking MCP for structured problem solving
- context7 MCP for contextual library documentation retrieval
- n8n MCP for workflow automation integration
-
docs: Add agent-specific configurations in
.opencode/agents/- @n8n_specialist_agent for n8n workflow management
- @context_auditor_agent for documentation alignment checks
-
docs: Add skill playbooks in
.opencode/skills/- TDD_Python_Specialist: Test-driven development workflow
- Git_and_Changelog: Conventional commits and changelog standards
- n8n_automation_mastery: n8n workflow best practices
- context7_documentation_retrivial: Context-aware documentation lookup
-
docs: Add requirements.txt with Python dependencies (pytest, requests)
-
docs: Add AI Pipeline technical specification
- System prompt with Metodo Sacchi integration (Safety First, Little Often, Double Check)
- OpenRouter configuration (migrated from OpenAI direct)
- 25% cost savings (~$0.00015/call vs ~$0.0002/call)
- Multi-provider fallback (300+ models available)
- Automatic failover if primary provider down
- Complete n8n Code Node JavaScript implementation
- OpenRouter endpoint: https://openrouter.ai/api/v1
- Required headers: HTTP-Referer, X-Title for ranking
- Model format: provider/model (e.g., openai/gpt-4o-mini)
- JSON output schema with severity mapping (critical/medium/low)
- Error handling with circuit breaker pattern
- Security guidelines (data sanitization, rate limiting)
- 10 acceptance criteria defined
- 5 test scenarios with expected input/output
- 5 real-world examples (OOM, disk full, connection refused, etc.)
- Implementation checklist for developers
Changed
- docs: Update README.md with complete project structure
- Add MCP configuration section
- Document all agent configurations
- Include skill playbooks in project tree
- Update setup instructions with requirements.txt
- docs: Refactor setup documentation structure (moved to
docs/1.setup_procedure/)
[0.1.1] - 2026-04-02
Added
- docs: Project Review Sprint 1 complete analysis
- Product Manager review: UVP alignment (7.05/10)
- Tech Lead review: Architecture assessment (7.5/10)
- Security Auditor review: Risk analysis (5.75/10)
- Comprehensive recommendations for Sprint 2
Changed
- docs: Major README.md refactoring with badges and improved navigation
- docs: Updated all sprint documentation to "Completed" status
[0.1.0] - 2026-04-02
Added
-
feat: Implement log ingestion script (
logwhisperer.sh) for monitoring system logs- Monitor multiple log sources: syslog, nginx, postgresql
- Pattern matching for critical errors (FATAL, ERROR, OOM, segfault, disk full)
- JSON payload generation with severity levels (low, medium, critical)
- Rate limiting to prevent alert flooding (30s per source/pattern)
- Offset tracking for each log file to avoid reprocessing
- HTTP POST dispatch to configurable webhook with retry logic
- Dry-run mode for testing pattern matching without sending webhooks
- Configuration file support (
/etc/logwhisperer/config.env) - Command-line flags:
--help,--validate,--config,--dry-run,--test-line
-
feat: Create installation script (
install.sh)- Interactive configuration wizard
- UUID v4 generation for CLIENT_ID
- Systemd service creation (when run as root)
- Support for both system-wide and user-local installation
- Prerequisite checking (bash, curl)
- Connectivity test to webhook URL
-
test: Add comprehensive test suite (
tests/test_logwhisperer.py)- Script existence and executable validation
- Configuration validation tests
- Pattern matching tests (FATAL, OOM, ERROR patterns)
- JSON payload structure validation
- Severity mapping verification
-
docs: Create technical specification for Feature 1 (Log Ingestion)
- Architecture diagram and component description
- Requirements (functional and non-functional)
- Safety guidelines (Metodo Sacchi)
- Acceptance criteria
-
docs: Create Sprint 1 verification report (
docs/sprint1_verification.md)- Complete verification of all Sprint 1 deliverables
- Test results summary (12/12 tests passed)
- Acceptance criteria checklist
- Security audit results
- Code quality assessment
Security
- Configuration files created with restrictive permissions (600)
- No hardcoded credentials in scripts
- HTTPS validation for webhook URLs (warning for non-HTTPS)
- Read-only access to log files (no modifications)