Skip to content

chore(deps): bump flask from 3.0.3 to 3.1.3#13

Open
dependabot[bot] wants to merge 587 commits intomainfrom
dependabot/pip/flask-3.1.3
Open

chore(deps): bump flask from 3.0.3 to 3.1.3#13
dependabot[bot] wants to merge 587 commits intomainfrom
dependabot/pip/flask-3.1.3

Conversation

@dependabot
Copy link
Copy Markdown

@dependabot dependabot bot commented on behalf of github Mar 21, 2026

Bumps flask from 3.0.3 to 3.1.3.

Release notes

Sourced from flask's releases.

3.1.3

This is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.

PyPI: https://pypi.org/project/Flask/3.1.3/ Changes: https://flask.palletsprojects.com/page/changes/#version-3-1-3

  • The session is marked as accessed for operations that only access the keys but not the values, such as in and len. GHSA-68rp-wp8r-4726

3.1.2

This is the Flask 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.

PyPI: https://pypi.org/project/Flask/3.1.2/ Changes: https://flask.palletsprojects.com/page/changes/#version-3-1-2 Milestone: https://github.com/pallets/flask/milestone/38?closed=1

  • stream_with_context does not fail inside async views. #5774
  • When using follow_redirects in the test client, the final state of session is correct. #5786
  • Relax type hint for passing bytes IO to send_file. #5776

3.1.1

This is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.

PyPI: https://pypi.org/project/Flask/3.1.1/ Changes: https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1 Milestone https://github.com/pallets/flask/milestone/36?closed=1

  • Fix signing key selection order when key rotation is enabled via SECRET_KEY_FALLBACKS. GHSA-4grg-w6v8-c28g
  • Fix type hint for cli_runner.invoke. #5645
  • flask --help loads the app and plugins first to make sure all commands are shown. #5673
  • Mark sans-io base class as being able to handle views that return AsyncIterable. This is not accurate for Flask, but makes typing easier for Quart. #5659

3.1.0

This is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.

PyPI: https://pypi.org/project/Flask/3.1.0/ Changes: https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0 Milestone: https://github.com/pallets/flask/milestone/33?closed=1

  • Drop support for Python 3.8. #5623
  • Update minimum dependency versions to latest feature releases. Werkzeug >= 3.1, ItsDangerous >= 2.2, Blinker >= 1.9. #5624, #5633
  • Provide a configuration option to control automatic option responses. #5496
  • Flask.open_resource/open_instance_resource and Blueprint.open_resource take an encoding parameter to use when opening in text mode. It defaults to utf-8. #5504
  • Request.max_content_length can be customized per-request instead of only through the MAX_CONTENT_LENGTH config. Added MAX_FORM_MEMORY_SIZE and MAX_FORM_PARTS config. Added documentation about resource limits to the security page. #5625
  • Add support for the Partitioned cookie attribute (CHIPS), with the SESSION_COOKIE_PARTITIONED config. #5472
  • -e path takes precedence over default .env and .flaskenv files. load_dotenv loads default files in addition to a path unless load_defaults=False is passed. #5628
  • Support key rotation with the SECRET_KEY_FALLBACKS config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. #5621
  • Fix how setting host_matching=True or subdomain_matching=False interacts with SERVER_NAME. Setting SERVER_NAME no longer restricts requests to only that domain. #5553
  • Request.trusted_hosts is checked during routing, and can be set through the TRUSTED_HOSTS config. #5636
Changelog

Sourced from flask's changelog.

Version 3.1.3

Released 2026-02-18

  • The session is marked as accessed for operations that only access the keys but not the values, such as in and len. :ghsa:68rp-wp8r-4726

Version 3.1.2

Released 2025-08-19

  • stream_with_context does not fail inside async views. :issue:5774
  • When using follow_redirects in the test client, the final state of session is correct. :issue:5786
  • Relax type hint for passing bytes IO to send_file. :issue:5776

Version 3.1.1

Released 2025-05-13

  • Fix signing key selection order when key rotation is enabled via SECRET_KEY_FALLBACKS. :ghsa:4grg-w6v8-c28g
  • Fix type hint for cli_runner.invoke. :issue:5645
  • flask --help loads the app and plugins first to make sure all commands are shown. :issue:5673
  • Mark sans-io base class as being able to handle views that return AsyncIterable. This is not accurate for Flask, but makes typing easier for Quart. :pr:5659

Version 3.1.0

Released 2024-11-13

  • Drop support for Python 3.8. :pr:5623
  • Update minimum dependency versions to latest feature releases. Werkzeug >= 3.1, ItsDangerous >= 2.2, Blinker >= 1.9. :pr:5624,5633
  • Provide a configuration option to control automatic option responses. :pr:5496
  • Flask.open_resource/open_instance_resource and Blueprint.open_resource take an encoding parameter to use when opening in text mode. It defaults to utf-8. :issue:5504
  • Request.max_content_length can be customized per-request instead of only through the MAX_CONTENT_LENGTH config. Added

... (truncated)

Commits
  • 22d9247 release version 3.1.3
  • 089cb86 Merge commit from fork
  • c17f379 request context tracks session access
  • 27be933 start version 3.1.3
  • 4e652d3 Abort if the instance folder cannot be created (#5903)
  • 3d03098 Abort if the instance folder cannot be created
  • 407eb76 document using gevent for async (#5900)
  • ac5664d document using gevent for async
  • 4f79d5b Increase required flit_core version to 3.11 (#5865)
  • fe3b215 Increase required flit_core version to 3.11
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

francais and others added 30 commits March 5, 2026 20:53
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- pattern_agents: 6 new agents (nano/micro/small/medium/large/xl)
  nano/micro→OL1 fast, large/xl→gpt-oss cloud + race strategy
  Total: 26 hardcoded agents (20 domain + 6 size-based)
- mcp_server: dispatch_analytics, dispatch_auto_optimize, dispatch_quick_bench handlers
- python_ws: /api/dispatch_engine/analytics + /api/dispatch_engine/auto_optimize endpoints
- Tests: 253 pass (+5 new: size agents + analytics)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…8 tests)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- dispatch_auto_improve.py: 4-step cycle (gate tune→self-improve→strategy optimize→benchmark)
  Verified: 4/4 steps OK, benchmark 5/5 (100%)
- Quality scoring tests: 7 new tests (structure, relevance, hallucination, capping)
- UTF-8 encoding fix for Windows cp1252
- Tests: 260 pass total

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e + candidates

- pattern_agents: classify_with_confidence() returns {pattern, confidence, candidates}
  exact word match = 2.0, substring = 1.0, heuristic fallbacks with confidence levels
  classify() unchanged (backward compatible, calls classify_with_confidence internally)
- mcp_server: agent_classify handler enriched with confidence + candidates
- python_ws: /api/agents/classify enriched with confidence scoring
- Tests: 267 pass (+7 new: classifier confidence tests)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- dispatch_engine: in-memory LRU cache (OrderedDict, 200 entries, 5min TTL)
  _cache_key (MD5 hash pattern+prompt), _cache_get (TTL check), _cache_put (success only)
  Cache stats exposed in get_stats() (size, hits, enabled, ttl)
  Skips cache when node_override specified
- Tests: 272 pass (+5 new: cache key, put/get, miss on failure, stats)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- grade_optimizer.py: auto-analyze and fix grade components (dispatch/risk/orch)
- continuous_improver.py: benchmark->learn->optimize->predict->heal->status loop
- orchestrator: +2 tasks (grade_optimize 60min, quick_status 30min) = 16 total
- dispatch_quality_tracker: cloud nodes commented (429 rate-limited)
- smart_routing_engine: updated default routes for local-only operation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- resilient_dispatcher.py: retry with exponential backoff + circuit breaker
  HALF_OPEN state, automatic fallback chain traversal, 3/3 tests pass
- latency_monitor.py: real-time latency probes with EMA baselines,
  Z-score anomaly detection, Telegram alerts on spikes
- node_reliability_scorer.py: composite score (uptime/dispatch/latency/quality)
  M1=#1 (94.4), OL1=#2 (89.6), M2=#3 (89.1), M3=#4 (71.7)
- orchestrator: +1 task (latency_monitor 5min) = 18 total tasks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- adaptive_load_balancer.py: weighted node selection based on load,
  capacity, reliability; M1=40% M2=35% OL1=25% distribution
- test_monitoring_stack.py: 32 integration tests covering resilient
  dispatcher, latency monitor, reliability scorer, load balancer,
  grade optimizer, circuit breaker, cross-system integration
- All 32/32 tests passing (100%)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 4 strategies: single (fastest), race (parallel first-wins),
  consensus (weighted vote), deep (primary+verify)
- 13 task types mapped to optimal strategies
- ThreadPoolExecutor for parallel dispatch
- 3/3 strategy tests passing
- Integrated with agent_dispatch_log

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- proactive_healer.py: trend detection + auto-healing (latency/success/
  grade/disk/stale baselines), healing history log, Telegram alerts
- jarvis_dashboard.py: single-command view of entire cluster state
  (grade, reliability, circuits, latency, dispatch, risks, orchestrator)
  compact mode: JARVIS [A] 92.2/100 | 4/4 nodes | dispatch 94%
- 392 total scripts in cowork/dev

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- dispatch_cache.py: LRU cache with per-type TTL (simple=5m, math=1h,
  trading=2m), hash-based keys, case-insensitive, auto-eviction at 500
  max entries, hit/miss stats, 6/6 tests passing
- Fixed cache_stats table schema conflict (drop+recreate if wrong cols)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…lexity

- dynamic_timeout.py: "door metaphor" algorithm — timeout adapts to:
  prompt complexity, node speed, expected output size, context pressure
  Simple/M1=5s, Code/M2=70s, Reasoning/M2=180s, 20k tokens=135s
- Integrated into resilient_dispatcher + multi_strategy_dispatcher
- cluster_warmup.py: startup probe + mini-benchmark + baseline refresh
- Synced 17 scripts to github.com/Turbo31150/jarvis-cowork
- Fixes "Context size exceeded" by scaling timeouts with context pressure

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Snapshot before moving satellite projects (carV1, TRADING_V2, serveur,
lm_studio_system, lienDepart) into turbo/projects/ for unification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Moved all externally-referenced projects into turbo/projects/:
- carV1_data: trading scanners, strategies, utils (8MB extract)
- trading_v2: TRADING_V2_PRODUCTION (MCP v3.5, voice, scripts)
- serveur: TCP cluster manager (3 machines)
- lm_studio_system: FastAPI MCP port 8000
- disk_cleaner: disk cleanup tool
- lienDepart: 14 agents SDK
- lmstudio_backup: LM Studio configs

Updated all path references in config.py, agents.py, cowork_bridge.py,
commands_dev.py, commands_pipelines.py, and cowork scripts.
API keys redacted for security.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…rectories

- Move 10 docs (ARCHITECTURE.md, DEPLOY.md, etc.) to docs/
- Move 20 launchers/scripts (.bat, .ps1) to launchers/
- Reorganize 95 scripts into scripts/{benchmarks,db,learning,tools,trading_v2}/
- Move 15 test files to tests/
- Archive 6 dead modules to src/_archive/
- Fix 12 broken paths in config.py, systray.py, commands_pipelines.py, etc.
- Remove 3 dead PATHS + 7 dead SCRIPTS from config.py
- Fix etoile.db references (F:/BUREAU/etoile.db → data/etoile.db) in 5 cowork scripts
- Mask exposed Telegram tokens in db_optimizer.py
- Add setup_hardlinks.py for post-clone hardlink recreation
- Add WAL/SHM to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add .githooks/post-checkout and post-merge to run setup_hardlinks.py
- Set core.hooksPath to .githooks (versionable, survives git clone)
- Add hardlink check to launchers/JARVIS.bat startup sequence

After fresh git clone, run: git config core.hooksPath .githooks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- voice_computer_control.py: 363 voice commands for hands-free Windows/browser/system control
  - Browser: navigate, search, scroll, click, type, tabs, zoom, fullscreen (via CDP)
  - Windows: open/close apps, snap, volume, lock, shutdown, clipboard, search
  - System: CPU, RAM, disk, GPU temp, processes, IP, uptime
  - Multimedia: play/pause, next/prev, volume
  - Fuzzy matching for natural French voice input

- autonomous_cluster_pipeline.py: 183 tasks across 14 categories
  - 7 new categories: CRYPTO_ANALYSIS, PYTHON_ADVANCED, DATABASE, NETWORKING, AUTOMATION, AI_ML, DEVOPS_INFRA
  - Smart routing: M1 fast tasks, M2/M3 deep reasoning, OL1 light
  - 1000 cycles, adaptive health checks, Telegram reports
  - Results logged to etoile.db cluster_pipeline_log/cycles tables

- night_cluster_tasks.py + night_work_loop.py: overnight cluster work scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…k resilience

- Replace subprocess curl with urllib.request (fixes windowless crash)
- Exclude OL1 from routing (8% success rate → role: excluded)
- Separate cluster_pipeline.db to avoid etoile.db contention
- Add --log flag for background file logging
- Add DB lock retry with reconnection
- Sequential task execution for background reliability
- VBS launcher (mode 7) for minimized persistent window
- Wire voice_computer_control into src/voice.py pipeline

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…t fix

- M1 timeout 60s→180s, M3 timeout 120s→180s, M3 max_tokens 1024→2048
- Fallback to reasoning block when message block is empty (deepseek-r1)
- Remove io.TextIOWrapper that caused output duplication
- Watchdog launcher for auto-restart
- M1 max_tokens 2048→1024 for faster generation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Security (P0):
- Bind 13 services from 0.0.0.0 to 127.0.0.1 (SEC-02)
- Fix 3 CRITICAL subprocess injection vulnerabilities:
  - workflow_engine.py: shlex.quote for variable substitution
  - win_app_controller.py: reject unknown apps (whitelist only)
  - win_task_automator.py: command whitelist (schtasks/whoami only)
- .gitignore: add *.db-wal, *.db-shm, *.pid patterns
- Remove etoile.db from tracking (binary DB)

Code quality:
- Fix SyntaxWarnings in jarvis_feature_builder.py, smart_launcher.py
- 5 new cowork scripts (orchestrator_v3, deep_analysis, strategy, audit, evolution)
- 2 new launchers (FULL_CLUSTER, PERPLEXITY_MCP)
- New src/mcp_server_sse.py module

Documentation:
- CLAUDE.md rewritten v12.4 (was severely outdated v10.3)
- AUDIT_GLOBAL_20260306.md comprehensive audit report
- Updated ARCHITECTURE.md, CLAUDE_MULTI_AGENT.md, plans

Config:
- OpenClaw: mistral-7b model paths fixed, jobs.json purged 98%
- Plugin jarvis-turbo: agents/commands/skills/hooks updated

Score: B- (71/100) → B+ (82/100)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…AL/SHM/PID)

Remove dynamically-generated files from tracking:
- canvas/data/*.json (autolearn runtime)
- data/brain_state.json, data/claude_tool_log.jsonl
- *.db-shm, *.db-wal, *.pid patterns

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ost fix

Tests (94 new):
- test_orchestrator.py: 13 tests (import, build_options, safe_print, mcp_config)
- test_commander.py: 43 tests (heuristic classify, thermal throttle, cost estimation)
- test_trading.py: 38 tests (signal scoring, position sizing, risk management)

Docs updated:
- INSTALL.md: Python 3.13, uv, Electron 33, ports section, cluster config
- JARVIS_COMPLETE_REFERENCE.md: stats updated (246 modules, 609 handlers, 2241 tests)
- COMMANDES_VOCALES.md: voice pipeline, 3895 total vocal entries

Fix:
- 3 remaining localhost → 127.0.0.1 (cluster_self_healer, gpu_guardian, health_probe_registry)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…mplified

- direct-proxy.js: tools injection now whitelist-based (system/auto/web/ia/sec)
  + keyword detection for tool-related queries
- telegram-bot.js: TTS_SCRIPT path fixed to cowork/dev/win_tts.py
- config.py: all model slots default to qwen3-8b (M2 offline, no cloud)
- dispatch_engine.py: fallback chain simplified to OL1→M1→M3

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…licate pipeline_list

- scheduler_cleanup.py: fix undefined db variable → get_connection().commit() (3 occurrences)
- scheduler_cleanup.py: wrap final COUNT query in try/except for resilience
- cowork_orchestrator.py: fix 3 broken imports (src.lm_client/ollama_handler/gemini_handler → src.tools)
- cowork_perplexity_executor.py: fix broken import (src.bridge → src.tools.gemini_query)
- mcp_server.py: fix duplicate pipeline_list tool (renamed data pipeline version to data_pipeline_list)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Stripped 3-byte BOM prefix (0xEF 0xBB 0xBF) from:
cluster_self_healer, daily_report, event_bus_wiring, gpu_guardian,
health_probe_registry, perplexity_bridge, smart_retry,
startup_wiring, trading_sentinel

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… tests)

New unit tests with full mocking (no network/DB deps):
- test_brain.py, test_circuit_breaker.py, test_cluster_self_healer.py
- test_collab_bridge.py, test_daily_report.py, test_desktop_actions.py
- test_event_bus_wiring.py, test_exchanges.py, test_gpu_guardian.py
- test_health_probe_registry.py, test_logging_config.py, test_metrics_module.py
- test_output.py, test_prediction_engine.py, test_scheduler_cleanup.py
- test_signal_formatter.py, test_smart_retry.py, test_trading_sentinel.py

Raises test coverage from 83% to 91% of src/ modules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Turbo31150 and others added 25 commits March 15, 2026 20:11
## 50 skills spécialisés avancés (153→203 total)
- 10 domaines: productivité, dev, DB, fichiers, réseau
- Multimédia, sécurité, monitoring, cluster IA, automatisation
- 1114 triggers, 717 steps au total

## Telegram bot Linux (telegram-bot.js +383 lignes)
- 15 nouvelles commandes: /linux_health, /linux_maintenance, etc.
- /brain_status, /voice_stats, /improve_status
- /profile [name], /predict
- Smart notifications push (warning/critical → Telegram auto)
- Menu keyboard avec boutons Linux

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## Routine scheduler (routine_scheduler.py)
- 8 routines auto: rapport matin 7h, mode dev 8h, pause midi
- Backup vendredi, maintenance dimanche, cluster check 6h
- Service systemd jarvis-routine-scheduler actif
- Persistance routines.json, protection double exécution

## Apprentissage par renforcement (voice_reinforcement.py)
- Feedback implicite: succès +1, échec -0.5, correction -1/+1
- Feedback explicite: "bravo" +2, "c'est nul" -2, "apprends que..."
- Scores EMA (alpha=0.15), range 0.0-1.0
- Score < 0.2 = commande désactivée, > 0.8 = fiable
- Impact routage via adjust_routing_priority()

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## Voice analytics dashboard (voice_analytics_dashboard.py)
- 4 graphiques Chart.js (barres, camembert, courbes, timeline)
- API /api/voice_analytics avec métriques temps réel
- Analyse des échecs avec suggestions de correction
- docs/voice_analytics.html (24 Ko, auto-refresh 60s)

## Multi-intent parser (voice_multi_intent.py)
- 5 modes: AND, THEN, OR, DELAY_THEN, PARALLEL
- Parse "ouvre firefox et spotify" → 2 commandes parallèles
- Détection délais "dans 5 minutes ferme tout"
- Résolution références ("ça", "aussi", "pareil")
- 15 commandes multi-intent dans jarvis.db
- Intégré dans voice_router.py

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## Voice command chaining (voice_command_chain.py)
- 46 verbes d'action français, 7 variables contexte
- $LAST_RESULT, $LAST_FILE, $LAST_COUNT propagés entre étapes
- parse_vocal_chain() détecte auto les enchaînements
- 20 commandes chain dans jarvis.db

## Tests benchmark (test_jarvis_benchmark.py) — 30/30 PASS
- TestSkillsPerformance: 203 skills, charge <100ms, recherche <10ms
- TestDatabasePerformance: 215 cmds, 398 corrections, intégrité OK
- TestSystemIntegration: dashboard 200, MCP OK, 10+ services actifs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## Rapports quotidiens (daily_report_generator.py)
- 10 sections: system, services, cluster, voice, brain, security, perf, notifs, git
- HTML interactif + résumé Telegram <4000 chars + JSON
- Recommandations automatiques basées sur les données
- Planifié à 23h55 dans routine_scheduler

## 100 voice aliases ultra-courts (voice_aliases.py)
- "ça va"→diagnostic, "chaud"→GPU, "ram"→mémoire, "net"→réseau
- 14 catégories, résolution prioritaire dans voice_router
- Persistance voice_aliases.json + 100 entrées dans jarvis.db
- CLI: --list, --resolve, --execute, --search

## Voice command chaining (vague 9 partiel déjà commité)
## Tests benchmark 30/30 (vague 9 partiel déjà commité)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## CI/CD (GitHub Actions + local)
- jarvis-ci.yml: lint, tests, security, syntax (6 jobs)
- ci_local.sh: pipeline CI en local

## Détection émotion vocale (voice_emotion_enhanced.py)
- 5 émotions, adaptation auto des réponses

## FAQ vocale 100 questions (voice_faq.py)
- 30 JARVIS + 30 Linux + 20 Cluster + 20 Technique
- Intégré avant fallback IA dans voice_router

## Installateur complet (install_jarvis_linux.sh)
- 10 étapes, --dry-run, --skip-gpu, idempotent

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## Voice training system (voice_trainer.py)
- Collecte succès/corrections en JSONL
- Analyse patterns d'erreur (mots, paires confusion, heures)
- Auto-génération corrections (seuil 3+ occurrences)
- Export Whisper TSV + Vosk JSONL pour fine-tuning

## Optimisation performances
- 5 index DB ajoutés (triggers, category, wrong, timestamp, success)
- VACUUM + ANALYZE sur 3 bases
- skills.json trié par catégorie (203 skills, 0 doublon)
- 4090 fichiers .pyc + 495 __pycache__ nettoyés

## Quick health-check (quick_health.sh)
- Vérifie ports, DB, skills, services en 283ms
- 14 PASS, résumé coloré

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## API REST Linux (api_linux_endpoints.py)
- 20 endpoints: health, skills, voice, brain, cluster, dominos
- Profils, notifications, performance, report, FAQ, stats
- Blueprint Flask, format uniforme, filtres par catégorie
- register_linux_api(app) pour intégration MCP server

## Documentation API (api_reference.html)
- Style Swagger/OpenAPI interactif
- "Try it" panel pour tester chaque endpoint
- Thème JARVIS sombre, sidebar navigation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## Portail dashboard unifié (jarvis_portal.py, port 8089)
- 6 KPIs, graphique mega-improve 24h, cluster LEDs, notifications
- Service systemd jarvis-portal actif

## Backup automation (backup_automation.py)
- Incrémental + DB + configs + git bundle
- Rotation 7j/4sem/6mois, timer daily 3h00
- CLI: full, incremental, db, list, status, verify

## Cluster monitor avancé (cluster_monitor_advanced.py)
- Polling 30s, 4 noeuds en parallèle (asyncio)
- Routing intelligent par type de tâche (code/reasoning/fast)
- Alertes: offline, latence, VRAM, modèle manquant
- Service systemd actif

## Voice app controller (voice_app_controller.py)
- 50 commandes: Firefox, VSCode, Terminal, Spotify, GNOME
- 176 triggers, intégré prioritaire dans voice_router
- Total routeur: 1218 commandes vocales

## Voice trainer (voice_trainer.py)
- Collecte données, analyse erreurs, auto-corrections
- Export Whisper TSV + Vosk JSONL

## README.md professionnel
- Logo ASCII, architecture, API, raccourcis, troubleshooting
- Statistiques complètes, guide installation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Related to: [Good First Issue] Add API usage examples with curl and Python
Related to: [Good First Issue] Add English translation for README.md
- README 100% Windows (PowerShell, .bat, chemins Windows)
- Architecture cluster 3 machines (M1/M2/M3)
- 278 modules, 108K lignes, 613 MCP handlers, 8716 tests
- 7 agents SDK, DERNI ULTIMATE trading, OpenClaw 96 patterns
- System Prompt Windows mis a jour avec chiffres verifies

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add English README translation
Documentation: [Good First Issue] Add English translation for REA
Added comprehensive API usage examples for JARVIS, including curl and Python code snippets for various endpoints.
Bumps [flask](https://github.com/pallets/flask) from 3.0.3 to 3.1.3.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](pallets/flask@3.0.3...3.1.3)

---
updated-dependencies:
- dependency-name: flask
  dependency-version: 3.1.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants