chore(deps): bump the python-deps group across 1 directory with 16 updates#9
Closed
dependabot[bot] wants to merge 1 commit into
Closed
chore(deps): bump the python-deps group across 1 directory with 16 updates#9dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
…dates Updates the requirements on [uvicorn[standard]](https://github.com/Kludex/uvicorn), [pydantic](https://github.com/pydantic/pydantic), [tomli](https://github.com/hukkin/tomli), [httpx](https://github.com/encode/httpx), [click](https://github.com/pallets/click), [rich](https://github.com/Textualize/rich), [typer](https://github.com/fastapi/typer), [pyyaml](https://github.com/yaml/pyyaml), [numpy](https://github.com/numpy/numpy), [prometheus-client](https://github.com/prometheus/client_python), [psutil](https://github.com/giampaolo/psutil), [huggingface-hub](https://github.com/huggingface/huggingface_hub), [sentence-transformers](https://github.com/huggingface/sentence-transformers), [pypdf](https://github.com/py-pdf/pypdf), [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) and [pytest-cov](https://github.com/pytest-dev/pytest-cov) to permit the latest version. Updates `uvicorn[standard]` from 0.34.3 to 0.39.0 - [Release notes](https://github.com/Kludex/uvicorn/releases) - [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md) - [Commits](Kludex/uvicorn@0.34.3...0.39.0) Updates `pydantic` from 2.10.6 to 2.12.5 - [Release notes](https://github.com/pydantic/pydantic/releases) - [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md) - [Commits](pydantic/pydantic@v2.10.6...v2.12.5) Updates `tomli` from 2.0.1 to 2.4.0 - [Changelog](https://github.com/hukkin/tomli/blob/master/CHANGELOG.md) - [Commits](hukkin/tomli@2.0.1...2.4.0) Updates `httpx` from 0.27.2 to 0.28.1 - [Release notes](https://github.com/encode/httpx/releases) - [Changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md) - [Commits](encode/httpx@0.27.2...0.28.1) Updates `click` from 8.1.7 to 8.1.8 - [Release notes](https://github.com/pallets/click/releases) - [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst) - [Commits](pallets/click@8.1.7...8.1.8) Updates `rich` from 13.7.0 to 14.3.3 - [Release notes](https://github.com/Textualize/rich/releases) - [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md) - [Commits](Textualize/rich@v13.7.0...v14.3.3) Updates `typer` from 0.9.0 to 0.23.2 - [Release notes](https://github.com/fastapi/typer/releases) - [Changelog](https://github.com/fastapi/typer/blob/master/docs/release-notes.md) - [Commits](fastapi/typer@0.9.0...0.23.2) Updates `pyyaml` from 6.0.1 to 6.0.3 - [Release notes](https://github.com/yaml/pyyaml/releases) - [Changelog](https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES) - [Commits](yaml/pyyaml@6.0.1...6.0.3) Updates `numpy` from 1.26.4 to 2.0.2 - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst) - [Commits](numpy/numpy@v1.26.4...v2.0.2) Updates `prometheus-client` from 0.19.0 to 0.24.1 - [Release notes](https://github.com/prometheus/client_python/releases) - [Commits](prometheus/client_python@v0.19.0...v0.24.1) Updates `psutil` from 5.9.8 to 7.2.2 - [Changelog](https://github.com/giampaolo/psutil/blob/master/docs/changelog.rst) - [Commits](giampaolo/psutil@release-5.9.8...release-7.2.2) Updates `huggingface-hub` from 0.36.2 to 1.6.0 - [Release notes](https://github.com/huggingface/huggingface_hub/releases) - [Commits](huggingface/huggingface_hub@v0.36.2...v1.6.0) Updates `sentence-transformers` from 3.4.1 to 5.1.2 - [Release notes](https://github.com/huggingface/sentence-transformers/releases) - [Commits](huggingface/sentence-transformers@v3.4.1...v5.1.2) Updates `pypdf` from 6.7.5 to 6.8.0 - [Release notes](https://github.com/py-pdf/pypdf/releases) - [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md) - [Commits](py-pdf/pypdf@6.7.5...6.8.0) Updates `pytest-asyncio` to 1.2.0 - [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases) - [Commits](pytest-dev/pytest-asyncio@v0.23.0...v1.2.0) Updates `pytest-cov` to 7.0.0 - [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst) - [Commits](pytest-dev/pytest-cov@v5.0.0...v7.0.0) --- updated-dependencies: - dependency-name: uvicorn[standard] dependency-version: 0.39.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: pydantic dependency-version: 2.12.5 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: tomli dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: httpx dependency-version: 0.28.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: click dependency-version: 8.1.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: python-deps - dependency-name: rich dependency-version: 14.3.3 dependency-type: direct:production update-type: version-update:semver-major dependency-group: python-deps - dependency-name: typer dependency-version: 0.23.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: pyyaml dependency-version: 6.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: python-deps - dependency-name: numpy dependency-version: 2.0.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: python-deps - dependency-name: prometheus-client dependency-version: 0.24.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: psutil dependency-version: 7.2.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: python-deps - dependency-name: huggingface-hub dependency-version: 1.6.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: python-deps - dependency-name: sentence-transformers dependency-version: 5.1.2 dependency-type: direct:production update-type: version-update:semver-major dependency-group: python-deps - dependency-name: pypdf dependency-version: 6.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: pytest-asyncio dependency-version: 1.2.0 dependency-type: direct:production dependency-group: python-deps - dependency-name: pytest-cov dependency-version: 7.0.0 dependency-type: direct:production dependency-group: python-deps ... Signed-off-by: dependabot[bot] <support@github.com>
239cc48 to
1f74f12
Compare
Contributor
Author
|
Looks like these dependencies are updatable in another way, so this is no longer needed. |
jgoy-labs
added a commit
that referenced
this pull request
Apr 12, 2026
… nous Release consolidada v0.9.0 resultant de dues fases de treball: ## Fase 1 — Sprints 0-4 vacances 2-5 abril (42 bugs) Coordinat per Uatu amb Claude Opus 4.6 en sessions independents: - **Sprint 0-1**: memoria v1 (Qdrant embedded singleton, SessionManager v1) - **Sprint 2**: fix critic tray.py bloqueja teclat (_RamMonitor background) - **Sprint 3**: 13 bugs test instal·lacio neta + 5 fixes installer - #12 guard thinking+MEM_SAVE, #13 labels col·leccions, #14 pantalla benvinguda clickable, #15 i18n general, #16 tray nom+versio, #17 tray link web, #20 SEC-004 MIME validation - Installer: select_model() prompt_tier+chat_format, validacio Metal MLX - **Sprint 4**: refactoring — helpers extrets (ollama_helpers.py, tray_monitor.py, lifespan_modules.py), DEFAULT_VECTOR_SIZE constant, i18n get_message() complet - **Director 01/04**: 5 UX features (copy, sidebar, rename, donate, X doc) + 3 memory fixes (MEM_SAVE post-render strip, XSS fix, race condition Lock, [MEM:N] token mismatch) Auditoria global final APTE (Claude Opus 4.6 independent, 2026-04-02). ## Fase 2 — HOMAD 2026-04-06 (27 bugs + Ollama GUI) 3 blocs de bugs del fitxer bugs-server-nexe.md (pre-release test): **Bloc 1 — Critics (5)** - #7 Reinstal·lacio 3 modes (wipe/overwrite/backup) + stop server + Keychain - #8 TOCTOU master key (os.open atomic) - #10 DreamingCycle connection leak (6/6 funcions) - #29 Phi-3.5 fora del cataleg - Ollama GUI: ollama serve headless (no open -a Ollama al Dock) **Bloc 2 — Mitjana (12)** - #21 validate_string_input API v1 - #22 auth 21 endpoints + docs gated - #17 MEM_SAVE injection strict (whitelist Unicode, blacklist) - #32 history_floor context budget - #15 Ollama breaker semantic (4xx no infra) - #16 SessionManager RLock reentrant - #19 MLX cache singleton double-checked locking - #11 Bootstrap token renewal + retry backoff (1,5,30) - #13 Qdrant pool flush + logger.warning - #20 Module cycles consumer + startup summary - #9 SQL MIN portable (Python min()) - #28 Installer --skip-model-download **Bloc 3 — Baixa (11)** - #3 HF_TOKEN warning silenciat - #4 ANSI constants buides sense TTY - #5 Qdrant didactic isatty guards - #6 warnings position_ids + Some weights filtered - #12 discover_modules early return - #14 TQDM_DISABLE runtime servidor - #18 encoding fallback utf-8 → cp1252 → latin-1 - #23 Ollama no silent fallback → HTTPException 404 - #26 _backend_model_exists best-effort + logger mitigant - #27 _BACKEND_ALIASES backwards-compat - #30 Info.plist LSUIElement=false verificats Workflow HOMAD: Dev paral·lels (Opus) + 9 passades Consultor independents amb Dev D intermedi per findings. Tot verificat al codi real. ## Pytest consolidat **4389 passed**, 7 fails pre-existents (test_chat_unit::test_long_text_truncated, test_root::test_enabled_modules, test_security::test_long_context_truncated, 4× test_memory_helper_async::TestGetMemoryApi), 0 regressions. ## Fitxers nous - core/endpoints/chat_engines/ollama_helpers.py (Sprint 4) - core/lifespan_modules.py (Sprint 4) - installer/tray_monitor.py (Sprint 4) - installer/installer_reinstall.py (Bloc 1 Bug 7) ## Stats - 61 fitxers modificats (57 codi/knowledge/tests/installer/personality + README.md + 3 nous) - +1870 / -674 linies ## Version bump v0.8.5 → v0.9.0 (cataleg, pyproject, README, CHANGELOG, index.html, footer) ## Post-release pendent - Build DMG v0.9.0 (/dmg-nexe) amb tots els fixes - Notaritzacio Apple (re-firma si cal) - Test manual DMG per Bug 30 (icona Dock) + smoke tests release - Webs .org i .com ja desplegades per Uatu durant vacances NO PUSH en aquest commit — pendent OK explicit Jordi per al tag v0.9.0 final i push a GitHub release.
jgoy-labs
added a commit
that referenced
this pull request
Apr 12, 2026
Fix-All BUS sobre 3 tracks paral·lels per resoldre tots els bugs del QA post-BUS de normalització abans del DMG v0.9.0. 8 commits dev consolidats en aquest sync. TRACK A — Memory/RAG/Sessions - Bug #1 (PID file canònic) — single source of truth a storage/run/server.pid - F5 — 3 col·leccions canòniques (nexe_web_ui, user_knowledge, nexe_documentation) creades a get_memory_api() en lloc de només la primera - F7 — ingest_knowledge defaulteja a nexe_documentation (era user_knowledge) i és idempotent (eliminada la sequence delete_collection + create_collection destructiva que esborrava docs ad-hoc dels usuaris a cada install) - F8 — root cause empíric Bug #4: MemoryModule obria un SEGON QdrantClient real a storage/vectors/qdrant_local/, divergent del singleton del pool. MEM_SAVE escrivia a una col·lecció, MEM_RECALL llegia d'una altra. Ara tots dos comparteixen storage/vectors/. - F1 — _check_duplicate retorna contracte honest (success=False, duplicate=True) enlloc de fingir success=True amb document_id=None. Era el segon root cause de Bug #4: el dedup bloquejava SAVEs amb fals positius silenciats. - F2 — typo cols list (nexe_web_ui duplicat) - F3 — list_memories scroll-based (sense semantic search amb query anglesa) - Bug #10 — collections= filter a list/save/delete (sidebar checks reals) - Bug #6 — frontend hydration document attached. Eren 2 bugs encadenats: l'endpoint /history no retornava attached_document, i removeFilePreview() feia POST /clear-document destructiu cada switch de sessió. - Bug #3 — MEM_SAVE-only response fallback. Quan el model emet només [MEM_SAVE: ...] sense text envoltant, ara genera 'Memòria desada: <fact>' perquè el bloc save s'executi i el frontend mostri confirmació. - auto_save crida eliminada per HOMAD memoria v1 (2026-04-01) — manual MEM_SAVE only fins a Part 2. TRACK B — Tray / Multi-instance / Packaging - Bug #1 (PID file) compartit amb Track A - Bug #2 — setproctitle a server i tray (server-nexe / nexe-tray a ps/Activity Monitor). Force Quit encara mostra Python perquè requereix CFBundleName via .app bundle real (deute v0.9.1). - Bug #9 — menu polish: server-nexe.com duplicat substituït per '📖 Documentació' al main level (3 idiomes), website_item es manté al submenú Configuració. TRACK C — UX cosmètic - Bug #5 — slow_request middleware exclou /ui/upload (uploads naturalment triguen >1s i el log apareixia duplicat amb l'access log d'uvicorn). - Bug #8 — 3 ⓘ visibles als checkboxes del sidebar de col·leccions amb tooltips als 3 idiomes (la infraestructura CSS/i18n ja existia). Pytest D-1 final: 4424 passed, 0 failed, 35 skipped, 1 xfailed, 86% coverage en 76.11s. Baseline pre-BUS era 4396. +28 tests nous, ZERO regressions. Tests nous: - tests/test_pid_file.py: 7 tests Bug #1 - tests/test_ingest_knowledge_idempotent.py: 8 tests F7 (3 classes) - plugins/web_ui_module/tests/test_memory_helper_async.py: 1 test F1 - plugins/web_ui_module/tests/test_memory_delete.py: 7 tests F3+Bug#10 - plugins/web_ui_module/tests/test_mem_save_injection.py: 5 tests Bug #3 Out of scope (deute v0.9.1+): - routes_chat.py 54KB decapitació general (deute formal P0) - Bundle .app real amb py2app per CFBundleName (deute v0.9.1) - Resums per capítol (Part 2 redisseny memory) - RDBMS font de veritat + vector store reconstruïble (HOMAD memoria v1, Part 2)
jgoy-labs
added a commit
that referenced
this pull request
Apr 12, 2026
… nous Release consolidada v0.9.0 resultant de dues fases de treball: ## Fase 1 — Sprints 0-4 vacances 2-5 abril (42 bugs) Coordinat en sessions independents: - **Sprint 0-1**: memoria v1 (Qdrant embedded singleton, SessionManager v1) - **Sprint 2**: fix critic tray.py bloqueja teclat (_RamMonitor background) - **Sprint 3**: 13 bugs test instal·lacio neta + 5 fixes installer - #12 guard thinking+MEM_SAVE, #13 labels col·leccions, #14 pantalla benvinguda clickable, #15 i18n general, #16 tray nom+versio, #17 tray link web, #20 SEC-004 MIME validation - Installer: select_model() prompt_tier+chat_format, validacio Metal MLX - **Sprint 4**: refactoring — helpers extrets (ollama_helpers.py, tray_monitor.py, lifespan_modules.py), DEFAULT_VECTOR_SIZE constant, i18n get_message() complet - **Director 01/04**: 5 UX features (copy, sidebar, rename, donate, X doc) + 3 memory fixes (MEM_SAVE post-render strip, XSS fix, race condition Lock, [MEM:N] token mismatch) Auditoria global final APTE (2026-04-02). ## Fase 2 — HOMAD 2026-04-06 (27 bugs + Ollama GUI) 3 blocs de bugs del fitxer bugs-server-nexe.md (pre-release test): **Bloc 1 — Critics (5)** - #7 Reinstal·lacio 3 modes (wipe/overwrite/backup) + stop server + Keychain - #8 TOCTOU master key (os.open atomic) - #10 DreamingCycle connection leak (6/6 funcions) - #29 Phi-3.5 fora del cataleg - Ollama GUI: ollama serve headless (no open -a Ollama al Dock) **Bloc 2 — Mitjana (12)** - #21 validate_string_input API v1 - #22 auth 21 endpoints + docs gated - #17 MEM_SAVE injection strict (whitelist Unicode, blacklist) - #32 history_floor context budget - #15 Ollama breaker semantic (4xx no infra) - #16 SessionManager RLock reentrant - #19 MLX cache singleton double-checked locking - #11 Bootstrap token renewal + retry backoff (1,5,30) - #13 Qdrant pool flush + logger.warning - #20 Module cycles consumer + startup summary - #9 SQL MIN portable (Python min()) - #28 Installer --skip-model-download **Bloc 3 — Baixa (11)** - #3 HF_TOKEN warning silenciat - #4 ANSI constants buides sense TTY - #5 Qdrant didactic isatty guards - #6 warnings position_ids + Some weights filtered - #12 discover_modules early return - #14 TQDM_DISABLE runtime servidor - #18 encoding fallback utf-8 → cp1252 → latin-1 - #23 Ollama no silent fallback → HTTPException 404 - #26 _backend_model_exists best-effort + logger mitigant - #27 _BACKEND_ALIASES backwards-compat - #30 Info.plist LSUIElement=false verificats Workflow HOMAD: Dev paral·lels (Opus) + 9 passades Consultor independents amb Dev D intermedi per findings. Tot verificat al codi real. ## Pytest consolidat **4389 passed**, 7 fails pre-existents (test_chat_unit::test_long_text_truncated, test_root::test_enabled_modules, test_security::test_long_context_truncated, 4× test_memory_helper_async::TestGetMemoryApi), 0 regressions. ## Fitxers nous - core/endpoints/chat_engines/ollama_helpers.py (Sprint 4) - core/lifespan_modules.py (Sprint 4) - installer/tray_monitor.py (Sprint 4) - installer/installer_reinstall.py (Bloc 1 Bug 7) ## Stats - 61 fitxers modificats (57 codi/knowledge/tests/installer/personality + README.md + 3 nous) - +1870 / -674 linies ## Version bump v0.8.5 → v0.9.0 (cataleg, pyproject, README, CHANGELOG, index.html, footer) ## Post-release pendent - Build DMG v0.9.0 (/dmg-nexe) amb tots els fixes - Notaritzacio Apple (re-firma si cal) - Test manual DMG per Bug 30 (icona Dock) + smoke tests release - Webs .org i .com ja desplegades durant vacances NO PUSH en aquest commit — pendent OK explicit Jordi per al tag v0.9.0 final i push a GitHub release.
jgoy-labs
added a commit
that referenced
this pull request
Apr 12, 2026
Fix-All BUS sobre 3 tracks paral·lels per resoldre tots els bugs del QA post-BUS de normalització abans del DMG v0.9.0. 8 commits dev consolidats en aquest sync. TRACK A — Memory/RAG/Sessions - Bug #1 (PID file canònic) — single source of truth a storage/run/server.pid - F5 — 3 col·leccions canòniques (nexe_web_ui, user_knowledge, nexe_documentation) creades a get_memory_api() en lloc de només la primera - F7 — ingest_knowledge defaulteja a nexe_documentation (era user_knowledge) i és idempotent (eliminada la sequence delete_collection + create_collection destructiva que esborrava docs ad-hoc dels usuaris a cada install) - F8 — root cause empíric Bug #4: MemoryModule obria un SEGON QdrantClient real a storage/vectors/qdrant_local/, divergent del singleton del pool. MEM_SAVE escrivia a una col·lecció, MEM_RECALL llegia d'una altra. Ara tots dos comparteixen storage/vectors/. - F1 — _check_duplicate retorna contracte honest (success=False, duplicate=True) enlloc de fingir success=True amb document_id=None. Era el segon root cause de Bug #4: el dedup bloquejava SAVEs amb fals positius silenciats. - F2 — typo cols list (nexe_web_ui duplicat) - F3 — list_memories scroll-based (sense semantic search amb query anglesa) - Bug #10 — collections= filter a list/save/delete (sidebar checks reals) - Bug #6 — frontend hydration document attached. Eren 2 bugs encadenats: l'endpoint /history no retornava attached_document, i removeFilePreview() feia POST /clear-document destructiu cada switch de sessió. - Bug #3 — MEM_SAVE-only response fallback. Quan el model emet només [MEM_SAVE: ...] sense text envoltant, ara genera 'Memòria desada: <fact>' perquè el bloc save s'executi i el frontend mostri confirmació. - auto_save crida eliminada per HOMAD memoria v1 (2026-04-01) — manual MEM_SAVE only fins a Part 2. TRACK B — Tray / Multi-instance / Packaging - Bug #1 (PID file) compartit amb Track A - Bug #2 — setproctitle a server i tray (server-nexe / nexe-tray a ps/Activity Monitor). Force Quit encara mostra Python perquè requereix CFBundleName via .app bundle real (deute v0.9.1). - Bug #9 — menu polish: server-nexe.com duplicat substituït per '📖 Documentació' al main level (3 idiomes), website_item es manté al submenú Configuració. TRACK C — UX cosmètic - Bug #5 — slow_request middleware exclou /ui/upload (uploads naturalment triguen >1s i el log apareixia duplicat amb l'access log d'uvicorn). - Bug #8 — 3 ⓘ visibles als checkboxes del sidebar de col·leccions amb tooltips als 3 idiomes (la infraestructura CSS/i18n ja existia). Pytest D-1 final: 4424 passed, 0 failed, 35 skipped, 1 xfailed, 86% coverage en 76.11s. Baseline pre-BUS era 4396. +28 tests nous, ZERO regressions. Tests nous: - tests/test_pid_file.py: 7 tests Bug #1 - tests/test_ingest_knowledge_idempotent.py: 8 tests F7 (3 classes) - plugins/web_ui_module/tests/test_memory_helper_async.py: 1 test F1 - plugins/web_ui_module/tests/test_memory_delete.py: 7 tests F3+Bug#10 - plugins/web_ui_module/tests/test_mem_save_injection.py: 5 tests Bug #3 Out of scope (deute v0.9.1+): - routes_chat.py 54KB decapitació general (deute formal P0) - Bundle .app real amb py2app per CFBundleName (deute v0.9.1) - Resums per capítol (Part 2 redisseny memory) - RDBMS font de veritat + vector store reconstruïble (HOMAD memoria v1, Part 2)
jgoy-labs
added a commit
that referenced
this pull request
May 14, 2026
… Cluster 6) PEP 484 forbids implicit Optional. Annotates Optional[X] = None in: - core/config.py:261 — get_module_allowlist(config) (#5) - core/cli/utils/api_client.py:29 — NexeAPIClient.__init__(base_url) (#9) - core/cli/chat_cli.py:99 — _format_stats_line(model_name) (#19) - core/endpoints/chat.py:67 — _get_system_prompt(lang) (#59) The dependent arg-type finding #28 (chat_cli.py:423 forwarding the dict value to _format_stats_line) disappears via the #19 fix. 5 mypy findings closed in one edit, no behavioural change.
jgoy-labs
added a commit
that referenced
this pull request
May 16, 2026
… nous Release consolidada v0.9.0 resultant de dues fases de treball: ## Fase 1 — Sprints 0-4 vacances 2-5 abril (42 bugs) Coordinat en sessions independents: - **Sprint 0-1**: memoria v1 (Qdrant embedded singleton, SessionManager v1) - **Sprint 2**: fix critic tray.py bloqueja teclat (_RamMonitor background) - **Sprint 3**: 13 bugs test instal·lacio neta + 5 fixes installer - #12 guard thinking+MEM_SAVE, #13 labels col·leccions, #14 pantalla benvinguda clickable, #15 i18n general, #16 tray nom+versio, #17 tray link web, #20 SEC-004 MIME validation - Installer: select_model() prompt_tier+chat_format, validacio Metal MLX - **Sprint 4**: refactoring — helpers extrets (ollama_helpers.py, tray_monitor.py, lifespan_modules.py), DEFAULT_VECTOR_SIZE constant, i18n get_message() complet - **Director 01/04**: 5 UX features (copy, sidebar, rename, donate, X doc) + 3 memory fixes (MEM_SAVE post-render strip, XSS fix, race condition Lock, [MEM:N] token mismatch) Auditoria global final APTE (2026-04-02). ## Fase 2 — HOMAD 2026-04-06 (27 bugs + Ollama GUI) 3 blocs de bugs del fitxer bugs-server-nexe.md (pre-release test): **Bloc 1 — Critics (5)** - #7 Reinstal·lacio 3 modes (wipe/overwrite/backup) + stop server + Keychain - #8 TOCTOU master key (os.open atomic) - #10 DreamingCycle connection leak (6/6 funcions) - #29 Phi-3.5 fora del cataleg - Ollama GUI: ollama serve headless (no open -a Ollama al Dock) **Bloc 2 — Mitjana (12)** - #21 validate_string_input API v1 - #22 auth 21 endpoints + docs gated - #17 MEM_SAVE injection strict (whitelist Unicode, blacklist) - #32 history_floor context budget - #15 Ollama breaker semantic (4xx no infra) - #16 SessionManager RLock reentrant - #19 MLX cache singleton double-checked locking - #11 Bootstrap token renewal + retry backoff (1,5,30) - #13 Qdrant pool flush + logger.warning - #20 Module cycles consumer + startup summary - #9 SQL MIN portable (Python min()) - #28 Installer --skip-model-download **Bloc 3 — Baixa (11)** - #3 HF_TOKEN warning silenciat - #4 ANSI constants buides sense TTY - #5 Qdrant didactic isatty guards - #6 warnings position_ids + Some weights filtered - #12 discover_modules early return - #14 TQDM_DISABLE runtime servidor - #18 encoding fallback utf-8 → cp1252 → latin-1 - #23 Ollama no silent fallback → HTTPException 404 - #26 _backend_model_exists best-effort + logger mitigant - #27 _BACKEND_ALIASES backwards-compat - #30 Info.plist LSUIElement=false verificats Workflow HOMAD: Dev paral·lels (Opus) + 9 passades Consultor independents amb Dev D intermedi per findings. Tot verificat al codi real. ## Pytest consolidat **4389 passed**, 7 fails pre-existents (test_chat_unit::test_long_text_truncated, test_root::test_enabled_modules, test_security::test_long_context_truncated, 4× test_memory_helper_async::TestGetMemoryApi), 0 regressions. ## Fitxers nous - core/endpoints/chat_engines/ollama_helpers.py (Sprint 4) - core/lifespan_modules.py (Sprint 4) - installer/tray_monitor.py (Sprint 4) - installer/installer_reinstall.py (Bloc 1 Bug 7) ## Stats - 61 fitxers modificats (57 codi/knowledge/tests/installer/personality + README.md + 3 nous) - +1870 / -674 linies ## Version bump v0.8.5 → v0.9.0 (cataleg, pyproject, README, CHANGELOG, index.html, footer) ## Post-release pendent - Build DMG v0.9.0 (/dmg-nexe) amb tots els fixes - Notaritzacio Apple (re-firma si cal) - Test manual DMG per Bug 30 (icona Dock) + smoke tests release - Webs .org i .com ja desplegades durant vacances NO PUSH en aquest commit — pendent OK explicit Jordi per al tag v0.9.0 final i push a GitHub release.
jgoy-labs
added a commit
that referenced
this pull request
May 16, 2026
Fix-All BUS sobre 3 tracks paral·lels per resoldre tots els bugs del QA post-BUS de normalització abans del DMG v0.9.0. 8 commits dev consolidats en aquest sync. TRACK A — Memory/RAG/Sessions - Bug #1 (PID file canònic) — single source of truth a storage/run/server.pid - F5 — 3 col·leccions canòniques (nexe_web_ui, user_knowledge, nexe_documentation) creades a get_memory_api() en lloc de només la primera - F7 — ingest_knowledge defaulteja a nexe_documentation (era user_knowledge) i és idempotent (eliminada la sequence delete_collection + create_collection destructiva que esborrava docs ad-hoc dels usuaris a cada install) - F8 — root cause empíric Bug #4: MemoryModule obria un SEGON QdrantClient real a storage/vectors/qdrant_local/, divergent del singleton del pool. MEM_SAVE escrivia a una col·lecció, MEM_RECALL llegia d'una altra. Ara tots dos comparteixen storage/vectors/. - F1 — _check_duplicate retorna contracte honest (success=False, duplicate=True) enlloc de fingir success=True amb document_id=None. Era el segon root cause de Bug #4: el dedup bloquejava SAVEs amb fals positius silenciats. - F2 — typo cols list (nexe_web_ui duplicat) - F3 — list_memories scroll-based (sense semantic search amb query anglesa) - Bug #10 — collections= filter a list/save/delete (sidebar checks reals) - Bug #6 — frontend hydration document attached. Eren 2 bugs encadenats: l'endpoint /history no retornava attached_document, i removeFilePreview() feia POST /clear-document destructiu cada switch de sessió. - Bug #3 — MEM_SAVE-only response fallback. Quan el model emet només [MEM_SAVE: ...] sense text envoltant, ara genera 'Memòria desada: <fact>' perquè el bloc save s'executi i el frontend mostri confirmació. - auto_save crida eliminada per HOMAD memoria v1 (2026-04-01) — manual MEM_SAVE only fins a Part 2. TRACK B — Tray / Multi-instance / Packaging - Bug #1 (PID file) compartit amb Track A - Bug #2 — setproctitle a server i tray (server-nexe / nexe-tray a ps/Activity Monitor). Force Quit encara mostra Python perquè requereix CFBundleName via .app bundle real (deute v0.9.1). - Bug #9 — menu polish: server-nexe.com duplicat substituït per '📖 Documentació' al main level (3 idiomes), website_item es manté al submenú Configuració. TRACK C — UX cosmètic - Bug #5 — slow_request middleware exclou /ui/upload (uploads naturalment triguen >1s i el log apareixia duplicat amb l'access log d'uvicorn). - Bug #8 — 3 ⓘ visibles als checkboxes del sidebar de col·leccions amb tooltips als 3 idiomes (la infraestructura CSS/i18n ja existia). Pytest D-1 final: 4424 passed, 0 failed, 35 skipped, 1 xfailed, 86% coverage en 76.11s. Baseline pre-BUS era 4396. +28 tests nous, ZERO regressions. Tests nous: - tests/test_pid_file.py: 7 tests Bug #1 - tests/test_ingest_knowledge_idempotent.py: 8 tests F7 (3 classes) - plugins/web_ui_module/tests/test_memory_helper_async.py: 1 test F1 - plugins/web_ui_module/tests/test_memory_delete.py: 7 tests F3+Bug#10 - plugins/web_ui_module/tests/test_mem_save_injection.py: 5 tests Bug #3 Out of scope (deute v0.9.1+): - routes_chat.py 54KB decapitació general (deute formal P0) - Bundle .app real amb py2app per CFBundleName (deute v0.9.1) - Resums per capítol (Part 2 redisseny memory) - RDBMS font de veritat + vector store reconstruïble (HOMAD memoria v1, Part 2)
jgoy-labs
added a commit
that referenced
this pull request
May 16, 2026
… Cluster 6) PEP 484 forbids implicit Optional. Annotates Optional[X] = None in: - core/config.py:261 — get_module_allowlist(config) (#5) - core/cli/utils/api_client.py:29 — NexeAPIClient.__init__(base_url) (#9) - core/cli/chat_cli.py:99 — _format_stats_line(model_name) (#19) - core/endpoints/chat.py:67 — _get_system_prompt(lang) (#59) The dependent arg-type finding #28 (chat_cli.py:423 forwarding the dict value to _format_stats_line) disappears via the #19 fix. 5 mypy findings closed in one edit, no behavioural change.
jgoy-labs
added a commit
that referenced
this pull request
May 16, 2026
… Cluster 6) PEP 484 forbids implicit Optional. Annotates Optional[X] = None in: - core/config.py:261 — get_module_allowlist(config) (#5) - core/cli/utils/api_client.py:29 — NexeAPIClient.__init__(base_url) (#9) - core/cli/chat_cli.py:99 — _format_stats_line(model_name) (#19) - core/endpoints/chat.py:67 — _get_system_prompt(lang) (#59) The dependent arg-type finding #28 (chat_cli.py:423 forwarding the dict value to _format_stats_line) disappears via the #19 fix. 5 mypy findings closed in one edit, no behavioural change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates the requirements on uvicorn[standard], pydantic, tomli, httpx, click, rich, typer, pyyaml, numpy, prometheus-client, psutil, huggingface-hub, sentence-transformers, pypdf, pytest-asyncio and pytest-cov to permit the latest version.
Updates
uvicorn[standard]from 0.34.3 to 0.39.0Release notes
Sourced from uvicorn[standard]'s releases.
... (truncated)
Changelog
Sourced from uvicorn[standard]'s changelog.
Commits
4f40b84Version 0.39.0 (#2770)5692dfcfix(websockets): Send close frame on ASGI return (#2769)4194764chore(deps): bump the github-actions group with 2 updates (#2763)d94bf28explicitly start ASGI run with empty context (#2742)8ae0bcbchore(deps): bump the github-actions group with 2 updates (#2748)4744ff9Add groups configuration for GitHub Actions (#2747)0391372chore(deps): bump astral-sh/setup-uv from 6.8.0 to 7.1.2 (#2746)69a6ae3Improve typing intest_http.py(#2740)3850ad6Version 0.38.0 (#2733)9b3f17aSupport Python 3.14 (#2723)Updates
pydanticfrom 2.10.6 to 2.12.5Release notes
Sourced from pydantic's releases.
... (truncated)
Changelog
Sourced from pydantic's changelog.
... (truncated)
Commits
bd2d0ddPrepare release v2.12.57d0302eDocument security implications when usingcreate_model()e9ef980Fix typo in Standard Library Types documentationf2c20c0Addpydantic-docsdev dependency, make use of versioning blocksa76c1aaUpdate documentation about JSON Schema8cbc72cAdd documentation about custom__init__()99eba59Add additional test forFieldInfo.get_default()c710769Special caseMISSINGsentinel insmart_deepcopy()20a9d77Do not delete mock validator/serializer inrebuild_dataclass()c86515aUpdate parts of the model andrevalidate_instancesdocumentationUpdates
tomlifrom 2.0.1 to 2.4.0Changelog
Sourced from tomli's changelog.
Commits
a678e6fBump version: 2.3.0 → 2.4.0b8a1358Tests: remove now needless "TOML compliance"->"burntsushi" format conversion4979375Update GitHub actionsf890dd1Update pre-commit hooksd9c65c3Add 2.4.0 change log0efe49dUpdate README for v2.4.09eb2125TOML 1.1: Make seconds optional in Date-Time and Time (#203)12314bdTOML 1.1: Add \xHH Unicode escape code to basic strings (#202)2a2aa62TOML 1.1: Allow newlines and trailing comma in inline tables (#200)38297f8Xfail on tests for TOML 1.1 features not yet supportedUpdates
httpxfrom 0.27.2 to 0.28.1Release notes
Sourced from httpx's releases.
Changelog
Sourced from httpx's changelog.
Commits
26d48e0Version 0.28.1 (#3445)89599a9Fixverify=False,cert=...case. (#3442)8ecb86fAdd test for request params behavior changes (#3364) (#3440)0cb7e5aBump the python-packages group with 11 updates (#3434)15e21e9Updating deprecated docstring Client() class (#3426)80960faVersion 0.28.0. (#3419)a33c878Fixextensionstype annotation. (#3380)ce7e14dError on verify as str. (#3418)47f4a96Handle empty zstd responses (#3412)189fc4bUpdate CHANGELOG.md, fix typo(s) (#3406)Updates
clickfrom 8.1.7 to 8.1.8Release notes
Sourced from click's releases.
Changelog
Sourced from click's changelog.
Commits
934813erelease version 8.1.8c23223bAdd links to third-party projects enhancing Click (#2815)822d4fdAdd links to third-party projects8e7bed0Break up arguments section (#2586)3241541Remove some typing hints.bed0377remove test pypi6534590update dev dependenciesb1e392efix typosfdc6b02Fix missing reset in isolation function (#2733)ffd43e9Fixed missing reset on _compat.should_strip_ansi.Updates
richfrom 13.7.0 to 14.3.3Release notes
Sourced from rich's releases.
... (truncated)
Changelog
Sourced from rich's changelog.
... (truncated)
Commits
ce01188Merge pull request #4008 from Textualize/bump143314a47c9bumpf54bfe0Merge pull request #4007 from Textualize/copilot/sub-pr-40067338cb9Merge pull request #4006 from Textualize/fix-grapheme-stuck905b397Update tests/test_cells.pyb031dcaUpdate tests/test_cells.pyf07a3fcAdd regression tests for VS16 after zero-width chars in split_graphemesb618cccspelling378c34bInitial plan87e7ca2refinements, and testsUpdates
typerfrom 0.9.0 to 0.23.2Release notes
Sourced from typer's releases.
... (truncated)
Changelog
Sourced from typer's changelog.
... (truncated)
Commits
2bf1e4d🔖 Release version 0.23.2b51b821📝 Update release notes459030e👷 Run tests with lower bound uv sync, update minimum dependencies (#1526)ccd7669📝 Update release notes5a13460⬆ Bump prek from 0.3.2 to 0.3.3 (#1545)54b4477📝 Update release notes3f25640✅ Monkeypatch console width to allow runningpytestdirectly (#1542)fc20e31📝 Update release notese5df3a5⬆ Bump ruff from 0.15.0 to 0.15.1 (#1541)d2d9f59🔖 Release version 0.23.1Updates
pyyamlfrom 6.0.1 to 6.0.3Release notes
Sourced from pyyaml's releases.
Changelog
Sourced from pyyaml's changelog.
Commits
49790e7Release 6.0.3 (#889)41309b0Release 6.0.2 (#819)dd9f0e16.0.2rc1 (#809)f5527a2disable CI trigger on PR editsb4d80a7Python 3.12 + musllinux_1_1_x86_64 wheel supportUpdates
numpyfrom 1.26.4 to 2.0.2Release notes
Sourced from numpy's releases.
... (truncated)
Commits
854252dMerge pull request #27280 from charris/prepare-2.0.2cffa071REL: Prepare for the NumPy 2.0.2 release [wheel build]1693029Merge pull request #27279 from charris/backport-27275da9f9c3BUG: Fix array_equal for numeric and non-numeric scalar typesee1cf96Merge pull request