# Changelog All notable changes to this project will be documented in this file. The format is based on [Common Changelog](https://common-changelog.org/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - docs: Add AGENTS.md with complete agent rules and workflow - Agent staff configuration with 7 specialized roles - Operational workflow (Spec-Driven, TDD, Sacchi Method) - Git workflow conventions (Conventional Commits, Atomic Commits) - Configuration structure for .opencode/agents/ and .opencode/skills/ ## [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)