Initialize frontend infrastructure for Sprint 3 Landing Page: Infrastructure Setup: - Create React + Vite + TypeScript project in frontend/ directory - Install Tailwind CSS, PostCSS, Autoprefixer dependencies - Generate tailwind.config.js with content paths - Generate postcss.config.js with plugins configuration - Add Tailwind directives (@tailwind base/components/utilities) to src/index.css - Update root .gitignore to exclude frontend/node_modules and build artifacts Documentation Updates: - Add CHANGELOG.md entry for Sprint 3 Landing Page development start - Update README.md with frontend development instructions - Add Node.js and npm prerequisites - Document npm commands: install, dev, build, preview Project Structure: ├── frontend/ │ ├── src/ │ │ ├── App.tsx │ │ ├── main.tsx │ │ ├── index.css (with Tailwind) │ │ └── assets/ │ ├── index.html │ ├── package.json │ ├── tailwind.config.js │ ├── postcss.config.js │ └── vite.config.ts Safety First: - Verified directory doesn't exist before creation - Checked all configuration files are valid - Excluded node_modules from git - No project code modified, only new frontend directory added Refs: docs/frontend_landing_plan.md Next: Start developing landing page components
136 lines
5.8 KiB
Markdown
136 lines
5.8 KiB
Markdown
# 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
|
|
|
|
- feat: Sprint 3 - Landing Page Development Started
|
|
- Initialize React + Vite + TypeScript project in `frontend/` directory
|
|
- Install and configure Tailwind CSS, PostCSS, Autoprefixer
|
|
- Setup project structure following docs/frontend_landing_plan.md
|
|
- Configure .gitignore for frontend dependencies and build artifacts
|
|
- Add Tailwind directives to src/index.css
|
|
- Ready for component development and styling
|
|
|
|
- feat: Create n8n workflow `LogWhisperer_Ingest` for 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
|
|
|
|
- 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)
|