Skip to content

feat(llm+ui): SSM build cross-OS, unified GGUF catalog, build timestamp#139

Merged
drake69 merged 2 commits into
mainfrom
feat/ssm-build-cross-os
Jun 25, 2026
Merged

feat(llm+ui): SSM build cross-OS, unified GGUF catalog, build timestamp#139
drake69 merged 2 commits into
mainfrom
feat/ssm-build-cross-os

Conversation

@drake69

@drake69 drake69 commented Jun 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • SSM build cross-OS: llama-cpp-python compilato da git HEAD con Metal (macOS), CUDA (Linux/Windows) per supportare architetture Qwen 3.5 hybrid SSM. Opzione B: compile at bundle time (--with-ssm su macOS DMG, auto su Linux launch, -WithSSM su Windows MSIX).
  • Unified GGUF catalog: GgufModelInfo dataclass + get_gguf_catalog() come unica fonte di veritΓ  per model picker e download section β€” elimina duplicazione.
  • Build timestamp sidebar: core/_build_info.py generato a build time; sidebar mostra v0.1.0 Β· <data> (hidden in dev mode) per identificare rapidamente quale bundle Γ¨ installato.
  • uv.lock: aggiornato cap requires-python a <3.15.

Note

  • Qwen3.5-9B GGUF bartowski marcati ⚠ nel catalogo: broken quant (tensori SSM assenti). Bloccato upstream β€” si sblocca quando bartowski re-quantizza.
  • _build_info.py non contiene valori reali in dev (placeholder "dev"); viene sovrascritto dagli script di build.

Test plan

  • Build macOS DMG con --with-ssm e verificare llama-cpp-python version β‰₯ 0.3.31
  • Avviare app e verificare versione in sidebar (bundle) vs assenza (dev)
  • Verificare che model picker e download section mostrino lo stesso catalogo
  • Verificare warning ⚠ su Qwen3.5-9B nel picker

drake69 added 2 commits June 23, 2026 19:09
uv sync --frozen reads the locked constraint; pyproject.toml change
alone is not enough β€” lock must be regenerated.
…mp, test mode banner

- SSM build infrastruttura: setup_ssm_build.sh aggiornato (--yes, --no-custom-list),
  creato scripts/setup-ssm.ps1 (Windows PowerShell equivalent con CUDA auto-detect),
  integrato in build-dmg.sh (--with-ssm), launch.sh Linux (auto first-launch +
  --no-reinstall-package protection), build-msix.ps1 (-WithSSM)
- GgufModelInfo dataclass + get_gguf_catalog() in llm_service.py: single source
  of truth per model picker e download section (llm_models_page.py)
- Model picker local_llama_cpp: mostra tutti i modelli catalogo con βœ“/⬇, coerente
  con download section; match case-insensitive tra chiavi catalogo e file locali
- Qwen3.5-9B Q3/Q4: aggiunte descrizioni ⚠ (quant difettosa bartowski, SSM metadata
  senza tensori SSM); fallback Qwen2.5-7B documentato
- core/_build_info.py: generato da build scripts, espone BUILD_TIME e BUILD_VERSION;
  sidebar.py mostra "vX.Y.Z Β· YYYY-MM-DD HH:MM" in fondo alla sidebar
- Import page: banner st.error() rosso quando import_test_mode Γ¨ attivo (i18n 5 lingue)
@github-actions

Copy link
Copy Markdown

❌ Coupling Report β€” UI ↔ Service layer

Coupling check FAILED β€” new coupling violations detected.

Total violations: 1 | Clean files: 17/18 | Coupling score: 94%

File Violations Compliant Score
βœ… ui/analysis_page.py 0 3 100%
βœ… ui/budget_page.py 0 2 100%
βœ… ui/budget_vs_actual_page.py 0 1 100%
βœ… ui/bulk_edit_page.py 0 4 100%
βœ… ui/chat_page.py 0 1 100%
βœ… ui/checklist_page.py 0 2 100%
βœ… ui/history_page.py 0 1 100%
βœ… ui/home_page.py 0 1 100%
βœ… ui/llm_models_page.py 0 9 100%
βœ… ui/onboarding_page.py 0 3 100%
βœ… ui/registry_page.py 0 3 100%
βœ… ui/report_page.py 0 2 100%
βœ… ui/review_page.py 0 4 100%
βœ… ui/rules_page.py 0 3 100%
βœ… ui/settings_page.py 0 7 100%
❌ ui/sidebar.py 1 0 0%
βœ… ui/taxonomy_page.py 0 1 100%
βœ… ui/upload_page.py 0 3 100%

Violations to fix

  ❌ ui/sidebar.py β€” 1 violazione/i (file non nel baseline: deve avere 0 violazioni)
       L  81  from core._build_info import BUILD_TIME, BUILD_VERSION

Rule: every new file must have 0 violations.
Known exceptions are listed in tools/coupling_baseline.json.

@drake69 drake69 merged commit 6591435 into main Jun 25, 2026
7 checks passed
@drake69 drake69 deleted the feat/ssm-build-cross-os branch June 25, 2026 19:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant