Il click destro
Un sistema operativo chiede quale app debba aprire un file. FabricLoom chiede cosa vuoi che il file diventi.
Click destro su qualsiasi cosa nel Finder (su macOS) e scegli Transmute. Il menu elenca le destinazioni: verbi che descrivono cosa è possibile fare con questo file, date le cartucce che hai installato. Un PDF può diventare testo, miniature di pagina, un audiolibro o la risposta a una domanda. Un video può diventare una trascrizione o un riassunto scena per scena. Una cartella di scontrini può diventare un foglio di calcolo.
Scegli la destinazione, non i passaggi. Il sistema compone il percorso a partire dalle parti che hai installato.
Il menu elenca cosa il file potrebbe diventare, non le app che possono aprirlo. Se installi una nuova cartuccia, lo stesso click destro sullo stesso file mostra nuove destinazioni senza re-indicizzare né ricostruire nulla, perché il menu legge il grafo delle capacità in tempo reale.
Pipeline pianificate
Trascina un video e scegli “trascrivi”. FabricLoom trova da solo il percorso (estrae l’audio, lo decodifica, esegue il riconoscimento vocale) e te lo mostra prima di avviarlo.
Per le destinazioni multi-step, il planner disegna il grafo. Prima che venga spostato alcun dato puoi vedere il percorso dall’input al risultato: quale cartuccia gestisce quale stadio, quale media type scorre tra gli stadi e quale output ci si aspetta da ciascun passaggio. Se un passaggio non può essere soddisfatto, per esempio perché manca una cartuccia o un modello non è ancora stato scaricato, il planner lo indica e il menu offre di installarlo.
Questo è path-finding attraverso un grafo delle capacità, non pianificazione AI generica. Il grafo è limitato alle cartucce che hai installato, lo stesso input si risolve sempre nello stesso percorso e il percorso può essere ispezionato. Nessun agente nascosto sceglie i tool.
Il planner è descritto nei documenti planner CapDAG ed executor. La regola di dispatch che decide quale candidato serve ogni passaggio è il dispatch CapDAG, e la scelta della corrispondenza più specifica quando più di una si applica è il ranking CapDAG. Il protocollo è aperto e ispezionabile.
La libreria
La libreria contiene ogni file che hai aggiunto, ogni esecuzione che ha prodotto qualcosa da esso e ogni risultato indicizzato per la ricerca. L’applicazione si apre sulla libreria.
Un’esecuzione è una pipeline tipizzata: un file di input, una destinazione, un percorso attraverso il grafo delle cartucce e gli output che ciascun passaggio ha prodotto. Le esecuzioni sono riproducibili, perché lo stesso input, la stessa selezione di cap e le stesse cartucce installate ripercorrono lo stesso percorso. Sono anche ispezionabili: puoi aprirne una per vedere ogni passaggio, i suoi eventi di progresso, la memoria e il tempo usati e il payload di output.
Anche gli output sono tipizzati. Un riassunto è testo. Una trascrizione è testo con timestamp opzionali. Una miniatura è una PNG. Un output “make decision” è un record JSON con un valore discriminato. Poiché la libreria sa cos’è ciascun output, l’indice di ricerca può leggerlo e il successivo Transmute su di esso sa quali destinazioni sono raggiungibili.
Avanzamento live
Ogni passaggio mostra cosa sta facendo in quel momento: la pagina che viene renderizzata, il frame che viene decodificato, il token che viene generato. Memoria, throughput e tempo trascorso sono mostrati accanto.
L’avanzamento live fa parte del protocollo. Le cartucce emettono frame LOG e di progresso sul wire Bifaci mentre lavorano, e l’host traduce quei frame in eventi UI per il task in esecuzione. Token al secondo, frame al secondo e percentuale di completamento sono letture reali, non animazioni. Vedi progresso e logging CapDAG e progress mapping per i dettagli a livello wire.
Un passaggio bloccato mostra perché si è bloccato e un passaggio fallito mostra dove è fallito. Gli heartbeat impediscono a una cartuccia bloccata di nascondersi dietro uno spinner: un heartbeat mancato abbatte la cartuccia e riporta il fallimento sul task.
Task sotto pressione di memoria
L’AI locale gira sul computer che hai. Alcune pipeline sono grandi, alcuni file sono più grandi e alcuni modelli usano molta memoria appena vengono caricati. FabricLoom monitora continuamente la memoria del processo e dell’host e applica risposte graduate:
- Normale (sotto ~70% di pressione): prestazioni piene.
- Warning (70–80%): il logging si restringe e la frequenza di monitoraggio aumenta.
- Pressure (80–90%): leggero throttling sulle operazioni non essenziali e limiti di coda più piccoli.
- Critical (90–95%): i task in esecuzione possono essere cancellati e lo scheduler smette di avviare nuovi task da
PENDING. - Emergency (>95%): throttling pesante ovunque, modelli non in uso scaricati e richieste non critiche rifiutate.
Sotto pressione di memoria critica, i task in esecuzione vengono cancellati e i task pending non vengono avviati finché la pressione non torna normale. I task non restano mai in uno stato di attesa limitata.
La memoria specifica per LLM viene tracciata separatamente, così FabricLoom può decidere quali modelli mantenere caricati e quali scaricare quando la pressione sale. I modelli non usati di recente vengono scaricati per primi, e quelli che stanno servendo attivamente una richiesta per ultimi.
Funzionamento locale
FabricLoom gira sul tuo computer, su macOS, Windows e Linux. Non c’è alcun account da creare, nessuna chiave da incollare e nessun abbonamento. I file restano sul tuo disco e l’inferenza avviene sul tuo computer. Senza connessione di rete cambia solo quali modelli puoi scaricare; quelli già installati continuano a funzionare.
Su macOS l’applicazione gira in sandbox di default, è firmata e notarizzata, ed è nativa su Apple Silicon.
Su macOS le cartucce che fanno il lavoro girano in un servizio XPC separato senza accesso di rete di default. Una cartuccia che fa da proxy verso un servizio cloud deve dichiararlo ed essere revisionata prima di essere accettata, quindi nulla comunica verso l’esterno a tua insaputa. Vedi Cartucce per i dettagli della sandbox e Contribuire per i criteri di revisione.
Cosa leggere dopo
- Modelli: porta il tuo modello, incollando un id HuggingFace, con i backend MLX/llama.cpp/Candle e le famiglie di modelli.
- Capacità: cosa mostra il menu e come ci arriva.
- Cartucce: layout di installazione, sandbox e firma del codice.
- Costruisci la tua prima cartuccia: genera, installa ed esegui una capacità di sviluppo.