Spaces:
Running
Running
Commit History
13 days ago
-
fix: remboursements, pénalités, rappels et cohérence des calculs
Remboursements (AnalyseRepayment, repayments): - Un paiement en retard qui ne couvre pas les pénalités est PARTIEL et ne clôture plus le prêt tant qu'un solde reste dû (garde-fou 1 %) - Pénalités dues une seule fois par échéance (celles déjà encaissées sont retirées), prélevées en premier dans la limite du versement : plus d'intérêts négatifs ; trop-perçu refusé avec message ; la dernière échéance absorbe le reliquat cumulé ; scénario de pénalités obligatoire en cas de retard - Registre des retards pardonnés : une échéance qui a déjà encaissé des pénalités n'est plus comptée comme pardonnée - Numéro de reçu et ID de transaction : plus grand numéro émis + 1, lus du même instantané juste avant l'écriture - Rappels : pénalités annoncées = pénalités encaissées (une seule règle pour le bouton, le tir groupé et le job de 12 h) ; bilan du tir groupé conservé après rechargement, clients sans email journalisés - Reçu PDF : adresse échappée (balisage dans l'adresse ne casse plus …92d7dac
22 days ago
-
fix: consolide get_credential, log silences critiques, securise MIME/SPARQL/Mapbox
- Rapport IA : filtre mois/trimestres multi-select par cases a cocher (union exacte des mois coches, non contigu) - get_credential() centralisee dans core/email_client.py : supprime 10 copies dupliquees (client_simulator, Check_Up_Loans, loans_engine, repayments x2, notifications, geoip_client, sim_gate, map_dashboard, geoloc_verify) - except Exception: pass nus remplaces par log_swallowed() ou Weitere silences critiques (demarrage scheduler, cache Usis, schema_cache AIP, prediction ML post-reentrainement) - Logs InvoiceRepayment.py : retrait numero_recu/trans_id des print() (fuite potentielle dans les logs du Space) - validation_engine.py : validation du format cls/prop avant interpolation SPARQL - map_dashboard.py : token Mapbox echappe via json.dumps au lieu de concatenation brute en JS - document_validator.py : verification magic bytes avant Docling (fichier renomme ne passe plus silencieusement) - Ajout tests/ (62 tests : penalites_retard, AnalyseFinance, doc…2fe4365
-
Nettoie les imports et fonctions mortes detectes par audit statique
Scan AST (imports jamais references) + scan par occurrences (fonctions jamais appelees) sur tout src/, verifie manuellement pour ecarter les faux positifs (accents cassant les limites de mot dans un grep de controle). Retire ~35 imports inutilises repartis sur 24 fichiers, et 3 fonctions mortes : get_form_elapsed_time (doublon d'un calcul deja fait dans kyc_form.py), get_select_index (jamais appelee), et refresh_data (dupliquee a l'identique dans Check_Up_Loans.py et loans_engine.py, jamais branchee a un bouton). Laisse de cote apply_ai_algorithms, detect_fraud_logic, is_closed et build_from_networkx -- a activer, pas a supprimer (suite dans un prochain commit). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>5b0dd39
-
Centralise les appels IA et ajoute des outils de calcul agentiques a JASMINE
Remplace 7 points d'appel Gemini/Groq duppliques (jasmine_agent, AI_Reports, digital_twin, jasmine_optimizer, document_validator, kyc_form, client_simulator) par un client LLM unique (src/core/llm_client.py) avec une seule cascade de repli texte-only. Migre du SDK google-generativeai (deprecie par Google) vers le nouveau SDK officiel google-genai. Ajoute 3 outils de calcul partages (src/agent/calc_tools.py) - previsions de tresorerie, simulation de portefeuille, prediction de taux - branches sur l'agent JASMINE global (Ontology) et corrige au passage l'outil highlight_node qui existait sans etre annonce au LLM. Ajoute un widget JASMINE leger (src/modules/jasmine_widget.py), sans moteur RDF/SPARQL, integre sur Repayments, Digital Twin, Optimizer et le simulateur client public - scope aux donnees deja chargees par la page. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>e3e63b6
-
Update src/Algorithms/document_validator.py
Verified signature87c9dce -
Update src/Algorithms/document_validator.py
Verified signatureca658c3 -
Update src/Algorithms/document_validator.py
Verified signatureccc1c0a -
Update src/Algorithms/document_validator.py
Verified signature4bffbf4 -
Update src/Algorithms/document_validator.py
Verified signature8e9b02d -
Update src/Algorithms/document_validator.py
Verified signaturebdddaef -
Update src/Algorithms/document_validator.py
Verified signaturef151279 -
Update src/Algorithms/document_validator.py
Verified signatureaf9edcd -
Update src/Algorithms/document_validator.py
Verified signature1d0e242
-
Update src/Algorithms/document_validator.py
Verified signature305d8e4 -
Update src/Algorithms/document_validator.py
Verified signature1c19535 -
Update src/Algorithms/document_validator.py
Verified signaturec932ecd -
Update src/Algorithms/document_validator.py
Verified signatureef08c99 -
Create document_validator.py
Verified signatureee442ca