Commit Graph

3 Commits

Author SHA1 Message Date
czlonkowski
6e365714e2 fix: resolve validation warning system false positives (96.5% noise reduction)
Fixes critical issue where validation system generated warnings about properties
the user never configured. System was treating default values as user-provided
configuration, resulting in overwhelming false positives.

BEFORE:
- HTTP Request (2 properties) → 29 warnings (96% false positives)
- Webhook (1 property) → 6 warnings (83% false positives)
- Signal-to-noise ratio: 3%

AFTER:
- HTTP Request (2 properties) → 1 warning (96.5% reduction)
- Webhook (1 property) → 1 warning (83% reduction)
- Signal-to-noise ratio: >90%

Changes:
- Track user-provided keys separately from defaults
- Filter UI-only properties (notice, callout, infoBox)
- Improve warning messages with visibility requirements
- Enhance profile-aware filtering

Files modified:
- src/services/config-validator.ts: Add user key tracking, UI filtering
- src/services/enhanced-config-validator.ts: Extract user keys, enhance profiles
- src/mcp-tools-engine.ts: Pass user keys to validator
- CHANGELOG.md: Document v2.18.0 release
- package.json: Bump version to 2.18.0

Verified with extensive testing via n8n-mcp-tester agent.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-08 11:56:55 +02:00
czlonkowski
997cc93a0a feat(p0-r3): implement pre-extracted template configurations system
Major Features:
- Pre-extracted 197 node configurations from 2,646 workflow templates
- Removed get_node_for_task tool (28% failure rate, 31 tasks)
- Enhanced search_nodes and get_node_essentials with includeExamples parameter
- 30-60x faster queries (<1ms vs 30-60ms)

Database Schema:
- New table: template_node_configs with optimized indexes
- New view: ranked_node_configs for top 5 configs per node
- Migration script: add-template-node-configs.sql

Template Processing:
- extractNodeConfigs: Extract configs from workflow templates
- detectExpressions: Identify n8n expressions ({{...}}, $json, $node)
- insertAndRankConfigs: Rank by popularity, keep top 10 per node

Tool Enhancements:
- search_nodes: Added includeExamples parameter (top 2 configs)
- get_node_essentials: Added includeExamples parameter (top 3 configs)

CLI Features:
- --extract-only: Extract configs without fetching new templates
- Automatic table creation if missing

Breaking Changes:
- Removed get_node_for_task tool
- Use search_nodes({includeExamples: true}) or get_node_essentials({includeExamples: true}) instead

Performance:
- Query time: <1ms for pre-extracted configs
- 85x more examples (2,646 vs 31)
- Database size increase: ~197 configs stored

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-02 20:24:09 +02:00
czlonkowski
b5210e5963 feat: add comprehensive performance benchmark tracking system
- Create benchmark test suites for critical operations:
  - Node loading performance
  - Database query performance
  - Search operations performance
  - Validation performance
  - MCP tool execution performance

- Add GitHub Actions workflow for benchmark tracking:
  - Runs on push to main and PRs
  - Uses github-action-benchmark for historical tracking
  - Comments on PRs with performance results
  - Alerts on >10% performance regressions
  - Stores results in GitHub Pages

- Create benchmark infrastructure:
  - Custom Vitest benchmark configuration
  - JSON reporter for CI results
  - Result formatter for github-action-benchmark
  - Performance threshold documentation

- Add supporting utilities:
  - SQLiteStorageService for benchmark database setup
  - MCPEngine wrapper for testing MCP tools
  - Test factories for generating benchmark data
  - Enhanced NodeRepository with benchmark methods

- Document benchmark system:
  - Comprehensive benchmark guide in docs/BENCHMARKS.md
  - Performance thresholds in .github/BENCHMARK_THRESHOLDS.md
  - README for benchmarks directory
  - Integration with existing test suite

The benchmark system will help monitor performance over time and catch regressions before they reach production.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 22:45:09 +02:00