Idea

Individuare cosa è cambiato in un repository è un lavoro meccanico, giudicare se il business è cambiato è un lavoro semantico

Info

Scritto originalmente in francese. Tradotto dall'IA — il significato è stato preservato, non la prosa.

Idea principale

Tenere un'ontologia di business aggiornata rispetto al codice richiede due operazioni di natura diversa, che vanno separate.

La prima è meccanica: stabilire con precisione cosa è cambiato. Uno script legge la cronologia Git ed elenca funzioni, classi, interfacce, moduli, firme di API e contratti esposti tramite MCP aggiunti, modificati o eliminati. Uno strumento come Tree-sitter permette di analizzare la struttura sintattica per identificare gli elementi toccati.

La seconda è semantica: capire se questi cambiamenti introducono, modificano o contraddicono un concetto di business. Una classe non è per forza un concetto; un nuovo package può essere solo una riorganizzazione; una funzione può implementare una regola senza costituire un concetto. È qui che entra in gioco un LLM, che confronta l'inventario con l'ontologia e con la richiesta che ha avviato lo sviluppo, e classifica ogni cambiamento: nuovo concetto, concetto che cambia significato, concetti diventati incoerenti, vocabolario che diverge, oppure cambiamento puramente tecnico.

Perché è importante

La separazione rende il controllo sostenibile. Non si chiede a un LLM di rileggere tutta l'applicazione a ogni modifica: si concentra la sua analisi su ciò che lo script ha indicato. E la parte che può essere esatta lo è, invece di essere affidata a un modello che potrebbe approssimarla.

Protegge anche l'ontologia dall'architettura: lo script descrive la struttura tecnica, l'LLM decide ciò che riguarda il dominio, e un'architettura esagonale o un codice disordinato non impongono la loro suddivisione al modello di dominio.

Sfumature e limiti

Un cambiamento di business reale può non lasciare alcuna traccia nei nomi: una condizione modificata all'interno di una funzione invariata sfugge a un inventario basato sui simboli. E il giudizio semantico produce falsi positivi il cui volume non è ancora noto.

Domande aperte

  • Come rilevare una modifica di business che non cambia nessun nome di classe, di funzione o di firma?