Il ponte collega la Sua IA desktop — Claude Desktop (o
Claude Code), ChatGPT Desktop, Qwen Desktop o Kimi Desktop — con
l'applicazione IRONSTICK in esecuzione sullo stesso computer. L'IA può
allora leggere il materiale dei Suoi casi tramite strumenti costruiti su misura
— cronache, testi integrali dei documenti, e-mail, scadenze, anagrafiche — e
lavorarci in piena profondità: analizzare, verificare, redigere. Il collegamento
è strettamente locale (127.0.0.1); nessun server IRONSTICK è
coinvolto. I dati che l'IA legge vengono trattati nell'ambito del Suo
abbonamento presso quel fornitore e alle sue condizioni — l'esposizione
completa si trova nella dichiarazione GDPR sui flussi di dati.
Perché lavorare tramite un abbonamento costa di norma molte volte meno che tramite l'API. Un'IA desktop funziona con l'abbonamento forfettario che ha comunque presso il fornitore; ogni dialogo, ogni lettura di testo integrale, ogni round di stesura è coperto da esso. Lo stesso lavoro svolto con la chat interna di IRONSTICK gira sulla Sua chiave API e viene fatturato a token — nei dialoghi lunghi su fascicoli voluminosi il conto sale in fretta.
Dove il ponte brilla è il prezzo: è un potente riduttore dei costi dei dialoghi con l'IA e lo strumento d'elezione ogni volta che documenti o grandi quantità di dati vengono curati tramite l'IA — leggere interi fascicoli, tenere aggiornati cronache, protocolli e memoria, elaborare centinaia di allegati — un lavoro che, token per token, sarebbe proibitivamente costoso.
Solo con Claude Desktop / Claude Code
Ogni accesso di un'IA desktop è un modulo aggiuntivo con licenza propria:
| Ponte | Collega | Licenza |
|---|---|---|
| Ponte Claude Desktop | Claude Desktop / Claude Code (Anthropic) | modulo proprio |
| Ponte ChatGPT Desktop | ChatGPT Desktop (OpenAI) | modulo proprio |
| Ponte Qwen Desktop | Qwen Desktop | modulo proprio |
| Ponte Kimi Desktop | Kimi Desktop (Moonshot AI) | modulo proprio |
| Bundle dei ponti | tutti e quattro i precedenti | i quattro moduli insieme |
IRONSTICK ha anche una propria chat IA integrata, che funziona sullo stesso identico livello di lavoro del ponte — gli stessi strumenti, gli stessi gate, lo stesso ancoraggio e la stessa stesura di modelli pronti per il deposito. Ciò che può fare il ponte, lo può fare anche la chat interna all'app. Oltre ai quattro fornitori del ponte offre in più Gemini di Google come fornitore.
La procedura è la stessa per ogni IA desktop; cambiano solo la fonte di download e il pulsante di configurazione.
| IA desktop | Download / accesso | Pulsante di configurazione |
|---|---|---|
| Claude Desktop / Claude Code | claude.ai/download — account Anthropic | «Configura Claude Desktop» (installa anche un plugin di skill che insegna a Claude le regole di lavoro) |
| ChatGPT Desktop | openai.com/chatgpt/download — account OpenAI | «Configura ChatGPT Desktop» |
| Qwen Desktop | Qwen Desktop (Windows) — account Qwen | «Configura Qwen Desktop» |
| Kimi Desktop | kimi.ai — account Kimi | «Configura Kimi Desktop» |
La schermata di configurazione riporta i link di download e i link ai termini d'uso e all'informativa sulla privacy di ciascun fornitore.
Parli con l'IA desktop (o con la chat interna all'app) in linguaggio naturale; sceglie da sé gli strumenti adatti. Richieste tipiche:
Seguono la panoramica dei gate, il catalogo completo dei 175 strumenti, le sezioni sui guardiani della diligenza e sul ciclo di verifica, nonché la descrizione tecnica. I nomi degli strumenti sono identificatori inglesi — esattamente come li vede l'IA.
IRONSTICK non cerca di educare l'IA collegata con dei prompt — impone la correttezza a livello strutturale. Sedici gate deterministici (pura logica, nessuna IA in alcun punto) si trovano tra il modello e i Suoi record. In tutto il catalogo degli strumenti che segue, gli strumenti protetti da un gate recano un contrassegno GATE.
| Gate | Impedisce | Come lo impone |
|---|---|---|
| 1. Gate della data | Date e anni errati provenienti dai dati di addestramento dell'IA (“il suo oggi”). | Ogni strumento che scrive in IRONSTICK viene rifiutato a meno che l'IA non abbia recuperato la data/ora reale, verificata via NTP, negli ultimi 30 minuti — per ogni IA, volutamente breve. |
| 2. Gate delle norme | Testi normativi inventati o ricordati male. | L'accesso al web per le norme è rifiutato strutturalmente finché non è stata consultata la biblioteca giuridica locale verificata; le fonti normative trovate online devono essere segnalate — ed entrano nella biblioteca solo attraverso la SUA finestra di consenso. |
| 3. Gate di verifica dell'atto | Riferimenti al fascicolo inventati, importi divergenti, nomi delle parti errati, citazioni non verificate in un atto. | La scansione deterministica a 8 classi (sezione 8): la consegna di un documento formale è bloccata senza una nuova attestazione OK per l'esatto stato del file; cinque esecuzioni fallite interrompono in modo definitivo e La avvisano. |
| 4. Guardiano della copertura di lettura | Affermazioni del tipo “ho letto tutto” su file letti a metà. | Tracciamento esatto, riga per riga, di ciò che è stato effettivamente letto — conservato anche dopo i riavvii; gli intervalli non letti sono elencati in ogni risposta, la consegna resta bloccata finché esistono lacune, e cancellare o sovrascrivere file sorgente non letti viene rifiutato. |
| 5. Blocco rigido della navigazione | Perdita del lavoro non salvato dell'utente a causa di un cambio di schermata da parte dell'IA. | Mentre è aperto un modulo di acquisizione o l'editor di testo, ogni chiamata di navigazione e di esportazione viene rifiutata a livello di handler. |
| 6. Gate human-in-the-loop | Scritture silenziose dell'IA in anagrafiche, cronaca, calendario o istruzioni. | Le modifiche dell'IA arrivano come proposte: Monitor di Coerenza dei Dati, finestre di confronto rosso/verde, finestre di conferma — nulla viene applicato senza il Suo clic. |
| 7. Rilevatore di contenuto formale | Lettere formali o atti fatti passare di nascosto oltre formattazione e verifica dichiarandoli “informali”. | Una scansione deterministica del contenuto (formule di saluto e di chiusura in sei lingue, blocco del destinatario, marcatori giuridici, blocco identificativo) respinge la dichiarazione di informalità — un simile contenuto non ha alcuna via di consegna informale, e il tentativo viene registrato. |
| 8. Guardiano della serie di versioni | Azzeramento del contatore di versione rinominando la radice del nome file (“…_v05” diventa in silenzio “NuovoNome_v01”). | Una prima consegna con una nuova radice viene rifiutata finché esiste una serie versionata con lo stesso numero di caso; l'IA deve continuare la serie — oppure dichiarare consapevolmente un documento realmente diverso, e ciò viene registrato. |
| 9. Provenienza di lettura delle norme | Contenuti normativi tratti da articoli di stampa, sintesi web o dalla memoria del modello invece che dal testo effettivo della legge. | Ogni lettura dalla biblioteca viene registrata per ogni esecuzione dell'applicazione (file sorgente + numeri degli articoli effettivamente restituiti). Un articolo citato senza tale registrazione di lettura non supera la verifica — le conoscenze da stampa/web/memoria non possono mai alimentare il registro; anche i sotto-riferimenti citati (comma/punto) vengono verificati nella loro esistenza. |
| 10. Ancora del caso | Contesto del caso inventato ricordando un caso diverso (“contaminazione tra casi”). | Ogni risposta di uno strumento che riguarda un caso reca il vero numero, il cliente e l'oggetto del caso direttamente dai record — il contesto inventato si trova accanto alla verità dei record nella stessa finestra e si smentisce da sé. |
| 11. Blocco di accesso alle istruzioni | Un'IA che lavora senza aver mai letto le regole di lavoro. | Ogni strumento — apritori dei set di strumenti, tutto — viene rifiutato finché l'IA non ha letto le istruzioni e restituito alla lettera il divieto di allucinazione (regola 5). La conferma scade 60 minuti dopo essere stata data, dopo 2 ore senza chiamate, a mezzanotte e a ogni nuova connessione; dopo una scadenza l'IA deve rileggere e restituire una regola scelta a caso — non quella che conosce a memoria; il menu a tendina sul simbolo dell'IA la mostra verde o rossa. |
| 12. Gate di preparazione | Note, voci di diario o atti su un caso che l'IA non ha mai letto. | Due livelli, registrati per ogni IA e conservati: una nota richiede profilo, giurisdizione, il digest di ogni documento (il digest È la cronaca) e la lettura dei 5 documenti più recenti; un atto, una consegna o un'esportazione richiedono inoltre la lettura integrale di ogni documento che citano o allegano. Una lettura resta valida 3 giorni — o fino al successivo documento IN ENTRATA del caso. |
| 13. Provenienza legata al documento | Allegati e riferimenti “letti” ore prima, o per un altro documento. | Una lettura del testo integrale vale 2 ore; ogni consegna dello stesso documento (qualsiasi versione) proroga di 2 ore i documenti che cita; verificare o consegnare un documento DIVERSO azzera le letture degli allegati — l'IA ricomincia da capo con gli allegati di quel documento. |
| 14. Gate di lettura per l'analisi | “Fatti” non letti riversati nella descrizione o nei campi di contatto di una persona. | Una proposta che tocca i campi di testo libero di una persona viene rifiutata a meno che l'IA non abbia letto il profilo di quella persona negli ultimi 30 minuti. |
| 15. Gate del digest | Contenuti del caso raccolti a pezzi — ricerche, cronologie, testi integrali, scadenze — su un caso di cui l'IA non ha mai letto il digest. | Ogni strumento sui contenuti del caso (cronaca, cronologia, ricerche, testi integrali, contraddizioni, obblighi, scadenze, corrispondenza, media, istituzioni, etichette, valutazione, note di istruzione) viene rifiutato finché il digest del caso non risulta letto nel registro di preparazione; il rifiuto indica la chiamata di preparazione. Il terzo tentativo rifiutato sullo stesso caso viene registrato come violazione delle regole. |
| 16. Gate delle parti simili | Persone, società o istituzioni duplicate, create perché una grafia variante non è stata riconosciuta. | A una proposta di nuovo record si risponde con l'elenco dei record simili già esistenti — nulla viene salvato — e l'IA deve decidere: registrare sul record esistente, oppure confermare esplicitamente tramite parametro che si tratta di una parte realmente nuova. Ogni nuova parte salvata restituisce l'obbligo di seguito di ricercare e registrare le sue connessioni, ricerca web compresa. |
| Strumento | Che cosa fa |
|---|---|
session_start_to_scratch | L'INTERO avvio della sessione in UNA chiamata: ancora della data, lingua di sistema, contesto attuale, briefing giornaliero, scadenze, appuntamenti e compiti aperti tra pari — assemblati in modo deterministico e scritti nello spazio di scratch; l'IA legge un solo file ed è pienamente aggiornata invece di fare sette chiamate. |
read_current_context | Dove si trova l'utente in questo momento: schermata, breadcrumb, cliente/caso aperto. |
read_system_language | La lingua di sistema dell'installazione. |
get_datetime GATE DATA | Data/ora attuali (verificate via NTP) — per il calcolo delle scadenze. |
read_instructions | Rilegge dal vivo, in qualsiasi momento, le istruzioni del connettore complete e aggiornate. |
confirm_instructions BLOCCO ACCESSO | Sblocca il connettore: dopo aver letto le istruzioni l'IA restituisce alla lettera la regola 5 (il divieto assoluto di allucinazione). Fino ad allora ogni altro strumento viene rifiutato; la conferma scade 60 minuti dopo essere stata data, dopo 2 ore di inattività, a mezzanotte e a ogni nuova connessione — l'IA deve allora rileggere e restituire una regola scelta a caso. |
user_help_request | Il manuale utente di IRONSTICK come strumento: in ingresso parole chiave in inglese, in uscita le sezioni del manuale corrispondenti — l'IA le spiega nella lingua del dialogo. Il manuale risiede cifrato e in sola lettura nell'archivio di scratch (caricato dall'applicazione a ogni avvio, mai come file in chiaro); l'IA può anche cercarvi direttamente. Ogni sezione contiene indicazioni d'uso, suggerimenti di dialogo e il flusso di lavoro. |
get_dailybriefing | Il briefing mattutino strutturato di oggi CON EvidenceID, numeri di caso e marcatori — scadenze, udienze, posta non letta, documenti acquisiti, casi caldi. |
open_screen GUARDIA NAV | Porta l'app su una schermata (richiede l'interruttore di navigazione). |
open_case / open_client / open_person / open_institution / open_evidence | Apre nell'app un caso, un cliente, una persona, un'istituzione o un documento specifici (interruttore di navigazione). |
open_dossier / open_search / open_emailmonitor / open_tagesprotokoll / open_backup | Apre l'assistente per il dossier (facoltativamente già completamente preparato), la ricerca globale, il monitor e-mail (posta in arrivo o cartella inviata, facoltativamente una mail specifica), il protocollo giornaliero (la finestra di un giorno specifico) o la schermata di backup — l'avvio di un backup si trova dietro un gate di conferma (interruttore di navigazione). |
open_deadline | Apre la schermata delle scadenze con una voce specifica mostrata ed evidenziata (interruttore di navigazione). |
open_new_client / open_new_case / open_new_person / open_new_institution / open_assign / open_capture | Apre i moduli di acquisizione/modifica (cliente, caso, persona/entità, istituzione), la schermata di assegnazione al caso o la casella/il modulo di acquisizione documenti — l'IA apre e precompila, il SALVATAGGIO lo esegue sempre l'utente (interruttore di navigazione). |
open_new_legal_source | Apre la schermata delle norme con la finestra di registrazione di una nuova fonte già aperta e l'URL precompilato; l'utente conferma (interruttore di navigazione). |
fetch_mails | Scarica e smista subito le nuove e-mail — come premere il pulsante di scaricamento della posta. |
request_case_assessment GATE CONFERMA | Avvia la valutazione IA di un caso — dietro un gate di conferma rigido con avviso sui costi. |
send_server_chat GATE CONFERMA | Invia un messaggio nella chat dello studio sul server di studio a nome dell'utente — dietro un gate di conferma rigido che riporta il testo esatto. |
manage_tag GATE CONFERMA | Elenca, aggiunge, modifica o rimuove le etichette colorate di una voce — ogni scrittura dietro un gate di conferma rigido. |
recycle_desktop_ai GATE CONFERMA | Riavvia tutte le app di IA desktop per un nuovo handshake del connettore — dietro un gate di conferma rigido che avverte che si riavvia anche la finestra dell'IA chiamante. |
| Strumento | Che cosa fa |
|---|---|
list_all_clients / list_all_cases | Elenchi completi di clienti e casi. |
resolve_case_by_number | Numero di caso (anche parziale) → caso. |
resolve_client_by_name / resolve_person_by_name / resolve_institution_by_name | Nome (approssimativo, tollerante ai segni diacritici) → record. |
find_case_by_party | Quale caso coinvolge una determinata parte. |
find_party_by_keyword | Persone e istituzioni il cui nome, le cui note o i cui campi di analisi contengono una parola chiave — il punto di partenza quando si conosce solo un frammento. |
read_hot_cases | I casi caldi (temperatura aumentata) con cliente e numero di caso — lo stesso elenco che il set di strumenti del caso fornisce all'apertura. |
get_all_fromtoday / get_all_fromyesterday | Tutto ciò che è stato acquisito oggi / ieri (per data di acquisizione) su TUTTI i clienti e casi, come elenco di EvidenceID con ora, cliente, caso e titolo. |
| Strumento | Che cosa fa |
|---|---|
read_full_case GATE DIMENSIONE | Il fascicolo completo del caso — cronaca con testi integrali, consegnata in parti per i fascicoli grandi. |
dump_case_to_scratch COPERTURA LETTURA | La lettura completa più rapida di un caso grande: assembla il testo COMPLETO del caso (non troncato — nessun limite per documento), normalizza gli artefatti OCR (spaziature, CRLF, trattini morbidi) e lo scrive direttamente nello spazio di scratch — il contenuto non passa mai per il contesto dell'IA; l'IA riceve solo il riferimento al file e poi legge pezzo per pezzo. Ambito tutto/in entrata/in uscita, oppure singoli documenti tramite evidence_ids — il modo per leggere per intero un documento di 300.000 caratteri. |
prepare_case GATE PREPARAZIONE | Prepara un caso in UNA chiamata: profilo e giurisdizione come intestazione, e il DIGEST di ogni documento — ID, data, tipo, titolo, sintesi dell'acquisizione, rimandi, dimensione del testo — che È la cronaca. La risposta inizia sempre con una nota che indica dove si trovano intestazione e digest (in linea per i casi piccoli, altrimenti file di scratch da leggere al 100 %) e i 5 documenti più recenti da leggere integralmente. Soddisfa il gate di preparazione; le prove cancellate e segrete sono escluse. |
read_chronik | Sguardo rapido alle ultime voci di cronaca di un caso — non conta nulla ai fini della preparazione; il digest è la cronaca. |
read_case_links / read_case_cliques / read_top_connected_cases | Casi padre/figlio e dello stesso gruppo di un caso; i complessi di casi di un cliente (Sachverhalte) esattamente come li raggruppa la mappa Universo; i casi più fortemente collegati. |
short_case_briefing | Orientamento rapido sul caso in una sola chiamata: ogni campo della scheda caso e della scheda cliente più gli ultimi 15 EvidenceID con le date di registrazione. |
read_client_cases / read_related_cases | Tutti i casi di un cliente; i casi collegati a quello attuale. |
list_sachverhalte | Tutti i gruppi per materia (Sachverhalte) di un cliente in una chiamata: ogni gruppo con il suo GroupID e nome, e ogni caso sottostante con CaseID, numero di fascicolo, titolo, stato e caso padre (annidamento ad albero); i casi non raggruppati sono elencati a parte. Il modo più rapido per cogliere l'intero panorama dei casi di un cliente. |
read_case_institutions | Tribunali/autorità coinvolti in un caso, con gli indirizzi. |
read_case_jurisdiction | La giurisdizione del caso (determina la lingua dei documenti). |
read_assessment | La valutazione IA del caso memorizzata. |
build_case_timeline | Cronologia di tutti gli eventi del caso. |
evidence_anexelist | Elenco degli allegati di un atto: quali prove contiene fisicamente, ciascuna con il suo timbro IS deterministico. |
briefnummer_chain | Segue una catena di numeri di registro/di lettera attraverso i documenti. |
evidence_usage | Dove un documento è stato usato/richiamato. |
list_submitted_evidence | Che cosa è stato depositato presso il tribunale, con i numeri. |
list_correspondence | Tutti i documenti in entrata OPPURE in uscita di un caso (direzione in/out, data iniziale facoltativa) come elenco di EvidenceID. |
evidenceidtoisstamp | EvidenceID → il/i timbro/i IS esatto/i dei propri documenti (mai inventare un timbro). |
list_open_obligations | Obblighi procedurali aperti di un caso. |
| Strumento | Che cosa fa |
|---|---|
evidence_readfull COPERTURA LETTURA | Il testo completo di un documento (e, se presente, il testo integrale della chat/trascrizione); legge fino a 12 documenti in una chiamata. Oltre il limite del connettore il testo finisce per intero nell'archivio di scratch e conta come letto solo una volta che il file è stato letto al 100 %. |
read_media | Voci multimediali (foto, registrazioni): metadati, geolocalizzazione, trascrizioni. |
search_evidence_by_keyword / search_evidence_by_time GATE RICERCA | Ricerca di documenti per parola chiave o per periodo. |
search_passages | Ricerca a testo integrale a livello di passaggio in tutto il fascicolo (tollerante agli errori OCR). |
find_documents_from_party | Tutti i documenti provenienti da una determinata parte. |
find_contradictions | Candidati a contraddizioni tra documenti/dichiarazioni. |
who_said_what | Dichiarazioni per interlocutore su un argomento. |
who_with_whom | Chi ha comunicato con chi, e quando. |
Cinque strumenti deterministici (nessuna IA in alcun punto) per una sola domanda: come decide un singolo giudice o pubblico ministero — che cosa accoglie delle memorie, che cosa trascura, quanto è prevedibile? Gli strumenti individuano e misurano; leggere le decisioni e giudicarle resta compito dell'IA, sui testi integrali. Contano come decisioni solo i documenti in entrata provenienti da un tribunale o da una procura.
| Strumento | Che cosa fa |
|---|---|
list_decisions_by_judge | Ogni decisione giudiziaria agli atti in cui UNA persona ha seduto come giudice (presidente / giudice) o ha agito come pubblico ministero — su tutti i casi. Una decisione conta solo se la persona è nominata nell'intestazione (composizione del collegio) o nel blocco delle firme; un nome nel corpo del testo non conta, e i cancellieri non vengono mai elencati. Per ogni decisione: tribunale, intestazione, ruolo, collegio e la prima frase del dispositivo, alla lettera. |
read_decision_structure | Scompone UNA decisione nelle sue parti: tribunale e sezione, numero di caso, tipo/numero/data, udienza, collegio, la frase che nomina parti e oggetto, il dispositivo alla lettera, le parole chiave dell'esito in esso contenute, rimedio, pronuncia, le citazioni normative con il loro stato nella biblioteca e l'ampiezza della motivazione — ciascuno con la sua posizione in caratteri nel testo memorizzato. Ciò che non è nel testo viene segnalato come NOT FOUND, mai indovinato. |
read_request_and_ruling COPERTURA LETTURA | Per UNA decisione: ogni memoria depositata in quel caso fino alla data della decisione, scritta in due file di scratch — quelle del cliente (documenti in uscita) e quelle della controparte (documenti in entrata). Contano solo i documenti indirizzati a un tribunale o a una procura; le lettere da o verso altre autorità, i documenti del tribunale, le prove e le voci di cronaca restano fuori. Ogni memoria solo con il suo DOCUMENTO PRINCIPALE — l'e-mail di accompagnamento davanti e gli allegati dietro vengono tagliati. Ciò che non può essere classificato con certezza è elencato come non assegnato, in nessuno dei due file. |
compare_ruling_with_submissions | Misura quanto la motivazione di UNA decisione condivide, come testo, con le memorie di ciascuna parte: la quota corrispondente alle memorie del cliente, a quelle della controparte, a entrambe, al testo normativo della biblioteca giuridica, e il resto — la formulazione propria del tribunale; la parte che si limita a riportare le posizioni delle parti viene misurata separatamente. I passaggi corrispondenti sono elencati con il loro tasso di corrispondenza (dal 70 %), dal più alto, nella formulazione originale con le posizioni in caratteri. Mostra dove un giudice copia — non di chi segue l'argomentazione con parole proprie. |
compare_documents | Mette a confronto DUE documenti qualsiasi — tra clienti e casi diversi — per una prima impressione su eventuali avvocati che lavorano insieme: lo stesso blocco di testo in atti di procedimenti diversi. I passaggi sono classificati come testo normativo, come fonte citata comune (un terzo documento dei due casi) o come condivisi solo da questi due — il vero segnale. Una corrispondenza di per sé non prova nulla: la risposta si apre con l'avviso che l'IA deve leggere entrambi i documenti per intero prima di affermare qualsiasi cosa su un collegamento. |
Quando un testo integrale memorizzato risulta troncato o rovinato da una vecchia esecuzione OCR, l'IA non si limita a conviverci — ripara la banca dati, con Lei come autorità finale. Richiede una nuova scansione; Lei sceglie le pagine in IRONSTICK (lo stesso selettore di pagine dell'acquisizione documenti); la nuova scansione viene normalizzata in modo deterministico (filigrane rimosse, schemi OCR corretti, spaziature uniformate) e collocata nello spazio di scratch ACCANTO al testo attuale della banca dati. L'IA poi confronta le due versioni passaggio per passaggio, conserva quella corretta, ripara solo i danni meccanici dell'OCR — mai riformulando; numeri, nomi e importi restano intatti — e restituisce la versione riparata. IRONSTICK Gliela mostra per intero, e solo il SUO clic la salva come nuovo testo integrale.
Il passo oltre: l'avvocato come strumento di precisione. L'IA non usa IRONSTICK soltanto come fonte di dati — dove l'elaborazione automatica incontra limiti fisici, si rivolge deliberatamente a Lei come strumento visivo di precisione:
I sistemi tradizionali conoscono esattamente due stati: “successo” (qualunque cosa l'OCR abbia prodotto, giusta o sbagliata) e “errore — elaborare il documento manualmente”. Qui l'avvocato diventa un micro-esecutore per esattamente lo 0,1 % di una scansione che l'IA non riesce a risolvere con certezza — una simbiosi tra la velocità dell'IA e la vista umana.
| Strumento | Che cosa fa |
|---|---|
request_ocr_rescan | Solo per le emergenze: richiede una nuova scansione OCR, accurata pagina per pagina, del PDF originale memorizzato (Lei sceglie le pagine; documenti segreti esclusi). |
ocr_rescan_status | Verifica unica dello stato, con l'ordine di lavoro completo una volta che la scansione è pronta (entrambi i testi nello spazio di scratch). |
request_pdf_handover | Ultimissima risorsa, quando anche la nuova scansione è inutilizzabile: apre la voce affinché SIA LEI a passare il PDF originale nella chat tramite la graffetta (limiti rigidi 10 MB / 90 pagine; oltre, l'IA passa al ripiego della trascrizione — max. 3 punti). |
submit_corrected_fulltext | Consegna la versione riparata a IRONSTICK — Le viene mostrata per intero; solo il Suo salvataggio sostituisce il testo integrale nella banca dati. |
| Strumento | Che cosa fa |
|---|---|
search_emails_mentioning | E-mail che menzionano un termine (mittente, oggetto, estratto, allegati). |
read_email_body | Il corpo completo di una e-mail. |
read_kalender / read_appointments | Calendario / prossimi appuntamenti (udienze, riunioni). |
read_deadlines / read_fristen | Scadenze per urgenza o per periodo. |
add_calendar_entry | Apre il modulo del calendario PRECOMPILATO (titolo, data, orari, descrizione, collegamento al caso) dopo un controllo obbligatorio dei duplicati nello stesso giorno — nulla viene salvato automaticamente, Lei verifica e salva personalmente. |
| Strumento | Che cosa fa |
|---|---|
read_person / read_person_relations / read_institution_relations | Il record di una persona — ogni campo anagrafico e di analisi completo e non troncato — e la rete di relazioni di una persona o istituzione; ogni risposta inizia con il blocco dei CASI della parte. |
who_is_connected_with | Tutti coloro che sono collegati a UNA parte — persona, società o istituzione — tramite relazioni esplicite e casi condivisi, dai più forti, con i casi della parte in cima. Obbligatorio per ogni parte nominata in un atto. |
read_cliques / read_top_connected | Le cricche della rete delle parti (rilevamento deterministico delle comunità, esattamente la vista Universo; contrassegno SUSPICIOUS per gruppi insolitamente densi; separazione facoltativa dei livelli persone / istituzioni) — il test delle cricche; e le parti più collegate. |
send_case_note GATE PREPARAZIONE | Pubblica una nota sulla bacheca del caso del server di studio (multiutente) — dietro il gate di preparazione. |
read_institution | Il record di un'istituzione con i dati di contatto. |
read_tagesprotokolle / search_tagesprotokolle | Protocolli giornalieri: leggere i giorni recenti / cercarvi. |
append_tagesprotokoll | Scrive il lavoro della giornata nel diario giornaliero (e-mail inviate, atti redatti, tesi elaborate, decisioni). A un giorno esistente si aggiunge in coda, mai sovrascrivendo; i casi interessati vengono collegati. Per «tp update». |
add_daily_note | Una breve nota come UN evento nel protocollo di oggi («annota …»). |
add_chronik_entry | Apre il modulo di acquisizione della cronaca nel caso giusto, PRECOMPILATO dall'IA (titolo, descrizione, data dell'evento, orari, parole chiave) — nulla viene salvato automaticamente: Lei completa il modulo (aggiungendo immagini, se lo desidera) e lo salva personalmente. |
daily_briefing | Briefing di inizio giornata, tracciato separatamente per ogni IA desktop: alla prima chiamata della giornata restituisce gli ultimi protocolli giornalieri per orientarsi e La segna come aggiornata; in seguito lo comunica. |
read_time_tracking | Tempo di lavoro registrato per caso/cliente. |
read_tags | Voci etichettate su tutti i casi. |
| Strumento | Che cosa fa |
|---|---|
list_ki_instructions / read_ki_instruction | Le note di istruzione IA legate al caso; la lettura restituisce sempre il testo COMPLETO (nessun troncamento). |
read_all_ki_instructions | TUTTE le istruzioni IA attive di un caso, consolidate in una chiamata (testi integrali). |
list_all_ki_instructions | Inventario globale su tutti i clienti/casi (ClientID, CaseID, ki_id, nome file — nessun testo integrale). |
read_output_format | Le specifiche vincolanti del formato di output. Per i documenti l'IA deve indicare il tipo esatto (atto giuridico / lettera semplice, ciascuno con o senza difensore) e riceve lo STESSO modello di generazione usato dalla chat interna all'app — un'unica fonte gestita centralmente. |
read_tagesprotokoll_format | Il formato vincolante del protocollo giornaliero (schema del file, formato della riga evento). |
read_mailversand_format | Il formato vincolante di consegna per la posta al tribunale / i pacchetti PDF (blocchi da copiare per oggetto e corpo, elenchi dei pacchetti). |
memory_search / memory_store | La memoria IA condivisa: richiamare intuizioni precedenti; salvarne di nuove (legate al cliente, ≤1000 caratteri, revisione/eliminazione controllate dall'utente; le voci dei casi attivi non scadono mai, e ogni utilizzo rinnova la durata di una voce). |
memory_update / memory_delete | Curare le voci della memoria: riformulare o spostare/cancellare la data di scadenza (con un resoconto della capacità — occupati/liberi dei 1000 caratteri) / cancellare definitivamente una voce. |
export_ai_instruction | Avvia l'esportazione del pacchetto di istruzioni IA (vale l'avviso lato utente). |
| Strumento | Che cosa fa |
|---|---|
propose_master_data GATE REVISIONE | Propone una correzione anagrafica — compresa una ridenominazione (campo Name) e il tipo fisica/giuridica (campo PersonKind) — o un nuovo record, per il quale va prima deciso il tipo → finisce nel Monitor di Coerenza dei Dati per l'approvazione. A un nuovo record si risponde prima con l'elenco dei record simili già esistenti — nulla viene salvato — finché l'IA non registra su uno di essi o conferma esplicitamente la nuova parte; ogni nuova parte salvata restituisce l'obbligo di seguito di ricercare e registrare le sue connessioni. |
propose_relation | Propone una relazione tra persone, o la modifica di una relazione esistente → stesso percorso di revisione. |
propose_case_link GATE REVISIONE | Propone di assegnare una persona, una società o un'istituzione a un caso (esattamente una tra entità e istituzione; una motivazione è obbligatoria, i riferimenti alle prove facoltativi) → il Monitor di Coerenza dei Dati; con la Sua accettazione la parte diventa partecipante al caso e compare nelle viste delle cricche e delle connessioni. Un collegamento esistente o un duplicato in sospeso viene segnalato invece di essere riproposto. |
propose_person_analysis GATE LETTURA ANALISI | Propone un testo di analisi per una persona — rifiutato a meno che l'IA non abbia letto il profilo entro 30 minuti. |
osint_entity | Verifica OSINT della parte (intelligence da fonti aperte su una persona o società) — la funzione di base per verificare una parte: si inseriscono nome, città, distretto, paese e natura fisica/giuridica; l'app esegue ogni volta la stessa procedura standard — ricerca a testo integrale del nome nell'intera banca dati (per ogni caso le 10 prove più recenti con inizio/fine del paragrafo, più quante altre ne esistono) e un elenco fisso di ricerche su internet nella lingua del paese della parte su Google, DuckDuckGo e Qwant, con i duplicati rimossi. Restituisce un profilo preparato con ogni termine di ricerca eseguito; l'IA verifica ogni risultato e link e inserisce i dati tramite il monitor dei dati. |
entity_scan_evidence | Verifica deterministica di elenchi: un documento che contiene un elenco di nomi — una lista di amici di Facebook, un elenco di partecipanti o di firme, un colophon — viene confrontato in una chiamata con TUTTE le persone e società registrate (ordine delle parole e nomi propri con trattino gestiti; un singolo nome proprio comune non viene mai affermato, le corrispondenze su una sola parola sono contrassegnate come ambigue). Accetta un EvidenceID, oppure solo un caso — in tal caso viene analizzata la voce più recente di quel caso, indicata nella risposta. Nessuna IA, nessuna scrittura. |
propose_deletion / propose_duplicate GATE REVISIONE | Propone la rimozione di un record errato, di un'etichetta o di una scadenza evasa (tipo frist) — è obbligatoria una motivazione nella lingua di sistema; propone l'unione di due record come duplicati. Nulla viene cancellato o unito senza il Suo clic. |
update_ki_instruction GATE REVISIONE | Propone una versione modificata di un'istruzione IA (append / source_path / contenuto completo). IRONSTICK salta al caso, Le mostra un confronto rosso/verde e applica la modifica SOLO dopo la Sua accettazione — la decisione viene comunicata all'IA. |
Un'area di lavoro locale. Qualsiasi chiamata di strumento può contenere to_scratch: il
risultato completo viene allora scritto in un file di scratch e l'IA riceve solo il
percorso e la dimensione — nessuna anteprima; e ogni risultato oltre il limite del connettore
(10.000 caratteri; 20.000 per Claude Desktop e ChatGPT Desktop) vi finisce automaticamente, allo
stesso modo — apritori dei set di strumenti compresi. I contenuti voluminosi non
transitano per l'output dell'IA in NESSUNA delle due direzioni (più veloce, più economico, nessun
errore di trascrizione). I percorsi di scratch sono direttamente utilizzabili come
source_path per deliver_file e
update_ki_instruction. L'archivio sopravvive ai riavvii: le note proprie dell'IA,
il suo registro di stato e la contabilità della copertura di lettura persistono; i dump degli strumenti
dei giorni precedenti vengono eliminati a ogni avvio, i file non toccati dopo
180 giorni.
L'archivio di scratch è un vault. Da settembre 2026 ogni file al suo interno è cifrato a riposo con AES-256, con la stessa derivazione della chiave della banca dati dei casi e dell'archivio documenti — nulla di ciò che l'IA scrive giace in chiaro sul disco. Lettura e scrittura passano solo attraverso il gate di IRONSTICK; un file in chiaro collocato nell'archivio per qualsiasi altra via (uno strumento del file system, una copia manuale) viene rifiutato, rimosso e segnalato all'IA come violazione delle regole. I file lasciano l'archivio solo attraverso la finestra di esportazione di IRONSTICK, mai verso una cartella di download. Insieme alla banca dati, all'archivio documenti e alla configurazione cifrati, ciò chiude l'ultima lacuna: nessun dato dei casi giace non cifrato sul disco dell'utente — nemmeno i file di lavoro dell'IA.
Nessuno strumento accorcia il proprio risultato. evidence_readfull,
read_full_case, read_email_body,
open_url (leggi e sentenze intere),
read_tagesprotokolle, read_person e
read_chronik consegnano sempre il loro contenuto COMPLETO. Un'unica regola
centrale decide dove arriva: sotto il limite del connettore nella risposta, sopra
di esso per intero nel file di scratch. L'IA non deve mai indovinare in anticipo quanto
sarà grande un risultato.
Guardiano della freschezza: IRONSTICK sorveglia ogni file di scratch. Nel momento in cui i dati sottostanti cambiano — un nuovo documento o una nuova voce di cronaca nel caso esportato, una scrittura nel calendario o nel protocollo — o un file semplicemente invecchia, il suo contenuto viene sostituito da un avviso di invalidazione che indica all'IA esattamente come recuperarlo di nuovo. L'IA non può mai lavorare su dump silenziosamente obsoleti.
| Strumento | Che cosa fa |
|---|---|
scratch_write / scratch_read COPERTURA LETTURA | Scrivere (anche in coda, blocco per blocco) / leggere porzioni con numeri di riga. |
scratch_grep / scratch_edit | Cercare con numeri di riga (in un file o in tutti) / sostituzione esatta di stringhe. |
scratch_insert / scratch_delete_lines / scratch_replace_lines | Inserire in una riga o dopo un marcatore / rimuovere un intervallo di righe / sostituire atomicamente un intervallo di righe — l'operazione sicura di ristrutturazione in un solo passo. |
scratch_statetracking | Registro di stato della sessione leggero (chiave→valore) — soprattutto QUALE file di scratch è l'attuale bozza principale; sopravvive ai riavvii dell'app. |
scratch_list_titles | Struttura di tutti i titoli Markdown con le righe di inizio/fine di ogni sezione. |
scratch_diff / scratch_copy | Confrontare due file / creare una copia di lavoro. |
scratch_countwords / scratch_countletters / scratch_countlines | Conteggio di parole / lettere / righe. |
scratch_correctspace / scratch_correctcrlf | Uniformazione degli spazi consapevole delle righe / CRLF→LF più rimozione del BOM e dei caratteri invisibili. |
scratch_asciskeleton | Copia uniformata in un file di destinazione (scheletro di confronto o riduzione dei segni diacritici). |
scratch_normalizemd | Passaggio di sicurezza obbligatorio per le consegne .md: converte il markdown strutturante nel formato vincolante e fisso dell'atto (tabelle → righe di testo, elenchi → “(1)”, punti elenco → “•”, link → testo) — il contenuto è preservato, mai cancellato. |
scratch_dirlist / scratch_deletefile PROTEZIONE FONTE | Inventario di tutti i file di scratch / cancellazione di uno di essi (idempotente) — l'IA è tenuta a ripulire i propri file di scratch dopo ogni compito concluso; i file non toccati vengono eliminati dopo 180 giorni (le intuizioni durature appartengono alla memoria IA, non a questo spazio). |
| Strumento | Che cosa fa |
|---|---|
web_search / open_url GATE NORME | Ricerca web — ogni chiamata interroga contemporaneamente Google, DuckDuckGo e Qwant e restituisce un unico elenco di risultati unificato con i duplicati rimossi; recupero di una pagina come testo leggibile, completo — il contenuto principale estratto (navigazione, pubblicità e banner dei cookie rimossi; nelle pagine di articoli anche il piè di pagina), righe lunghe mandate a capo ai confini delle frasi. Nelle pagine senza corpo di articolo — pagine aziendali e di contatto — il piè di pagina resta, perché è lì che si trovano indirizzo e dati di contatto; e dove l'estrazione lascerebbe quasi nulla, viene consegnata invece l'intera pagina. Una pagina bloccata o in errore viene riprovata una volta tramite il motore di rendering del browser, e lo stato HTTP viene riportato nel risultato. Una chiamata risponde entro 45 secondi: un documento grande o scansionato continua a essere elaborato in background e viene consegnato subito alla chiamata successiva con lo stesso indirizzo. |
get_legal_article | UN articolo di una legge alla lettera, per numero L e numero dell'articolo — il modo previsto, e il più economico, per fondare una citazione; registra come letto esattamente quell'articolo. |
recheck_legal_source | Riverifica subito UNA legge rispetto alla sua fonte (invariata / aggiornata / duplicata); un recupero più recente prende il posto della voce — anche a livello di studio sul server di studio, dove vince l'ultimo che ha verificato. |
search_legal_source / get_legal_source / add_legal_source BIBLIOTECA + CONSENSO | La base di conoscenza crescente delle fonti giuridiche; l'IA può aggiungere nuovi ritrovamenti. La ricerca è approssimativa e la giurisdizione è un parametro obbligatorio — gli ordinamenti giuridici non vengono mai mescolati. Il recupero restituisce il testo normativo memorizzato alla lettera come Markdown: l'IA cita dalla biblioteca verificata, mai dalla memoria del modello. Aggiungere una fonte pertinente trovata online è un dovere, non un'opzione — solo il link; l'applicazione scarica, converte e verifica il testo da sé, e l'utente lo rilascia attraverso il gate di revisione del monitor dei dati. Ogni voce reca il proprio link alla fonte e la data di revisione; le voci non revisionate da oltre un mese vengono segnalate. Una legge caricata dall'utente come file, senza fonte online, reca in ogni risposta un avviso di attualità: IRONSTICK non può verificare che si tratti della versione in vigore, e l'IA deve dirlo ovunque la citi. Il rifiuto di una legge nel monitor dei dati chiede prima una conferma e ne esplicita la conseguenza — la legge esce dalla biblioteca, e rifiutare un aggiornamento rimuove l'intera legge, anche sul server di studio. Con il server di studio facoltativo (IRONSTICK SERVER su un NAS Synology), la biblioteca è condivisa in tutto lo studio: una legge verificata una volta da un collega viene citata dall'IA su ogni scrivania — stesso testo, stessa versione, mantenuta sotto un comune dovere di revisione. |
validate_vat_vies / validate_eori / validate_lei / validate_iban / validate_id_number | Validazione dal vivo di partita IVA (VIES), EORI, LEI, IBAN, numeri di identificazione nazionali. |
list_legal_sources / grep_legal / get_legal_by_lnumber | Sfogliare l'inventario della biblioteca (id, giurisdizione, titolo, data di revisione); estrarre un brano ALLA LETTERA di una legge tramite il suo numero L interno e un intervallo di caratteri — i risultati di ricerca forniscono all'IA una chiamata già pronta con un intervallo ampliato; caricare un'intera legge per numero L. |
check_handelsregister | Consultazione del registro delle imprese per una società. |
get_my_location / get_weather | Posizione approssimativa dell'utente (paese, città) dall'ultima istantanea di accesso; meteo attuale per una località indicata. |
| Strumento | Che cosa fa |
|---|---|
handoff_to_peer | Passa un lavoro da Lei prodotto (tesi, strategia, atto) all'altra IA desktop per una revisione critica. Il testo completo viene collocato nella grande memoria a breve durata; un compito rimanda a esso. Per «dallo a GPT/Claude da controllare». |
read_open_tasks | Legge i compiti di passaggio APERTI che l'altra IA Le ha indirizzato (i propri non compaiono mai), con il contenuto completo. Per «controlla il compito aperto / controlla la memoria». |
reply_to_task | Chiude un passaggio in arrivo (il suo contenuto viene cancellato) e restituisce la Sua valutazione come nuovo compito al mittente — il giro completo in una chiamata. |
complete_task | Chiude un passaggio in arrivo senza risposta (conclude il giro); il suo contenuto a breve durata viene cancellato. |
| Strumento | Che cosa fa |
|---|---|
export_pdf | Esporta un documento del fascicolo in PDF nella Sua cartella Documenti. |
export_entity | Apre la finestra di esportazione con la scheda persona (PDF) di una parte: anagrafica, coinvolgimenti nei casi, analisi della persona e relazioni — solo i campi compilati. |
verify_pleading GATE 8 CLASSI | La verifica deterministica obbligatoria di un atto finito (sezione 8): riferimenti alle prove con provenienza delle citazioni legata al documento, citazioni normative rispetto alla biblioteca verificata, citazioni testuali, numeri di dosar, importi a tolleranza zero, anagrafiche delle parti, somme di controllo CNP/IBAN, e ogni parte nominata letta e verificata nelle connessioni. La consegna di un documento formale è bloccata senza una nuova attestazione OK per l'esatto stato del file; verificare un documento diverso azzera le letture degli allegati. |
deliver_file VERIFICA + SOLO ARCHIVIO | Consegna un file finito attraverso la finestra di esportazione di IRONSTICK — mai in una cartella di download; una bozza di testo passa al word processor con un clic, come modello pronto per il deposito. Accetta SOLO un source_path all'interno dell'archivio di lavoro dell'applicazione — contenuti in linea e percorsi esterni vengono rifiutati, così che attestazione, versionamento e tracciamento delle riconsegne restino legati a ogni consegna. |
redeliver_file SOLO INVARIATO | Riapre la finestra di IRONSTICK per un file già consegnato e da allora invariato — quando l'utente chiede ancora una volta lo stesso file. Nessun gate, nessun revisore, nessuna nuova versione. Un file mai consegnato o modificato dopo la consegna viene rifiutato e conta come violazione delle regole: si tratta di una nuova consegna tramite deliver_file. |
Quattro guardiani deterministici della diligenza sorvegliano con quanta cura l'IA collegata lavori effettivamente. Sono pura contabilità e logica di stringhe — nessuna IA coinvolta in alcun punto — perciò non possono allucinare, non costano praticamente nulla e non possono essere dissuasi da nulla:
Dalla stessa versione, anche l'esecuzione degli strumenti avviene in un thread di lavoro isolato all'interno dell'applicazione — nemmeno accessi dell'IA di diversi secondi a grandi fascicoli rallentano più l'interfaccia utente di IRONSTICK.
Atti e lettere vengono scritti in dialogo con l'IA desktop sul fascicolo dal vivo — lo stesso livello di lavoro e gli stessi gate della chat propria di IRONSTICK. Ciò che lascia il sistema è un modello pronto per il deposito, mai un atto giudiziario finito: Lei lo rivede, lo corregge e lo firma. Due gate si trovano davanti a ogni passaggio: la verifica deterministica descritta di seguito, e — se Lei lo attiva nella configurazione per il modello API attivo — il Red/Blue Team: un secondo modello legge la bozza come avvocato avversario; i rilievi sostanziali la rimandano indietro per la rielaborazione, al massimo due round, ogni punto analizzato nel merito e mai adottato ciecamente. Se l'IA ritiene i rilievi infondati, ripresenta il file invariato con una risposta scritta a ciascun rilievo — il revisore non viene eseguito una seconda volta su un file invariato, e il rapporto del revisore Le arriva insieme a quelle risposte. Il passaggio stesso avviene attraverso la finestra di esportazione di IRONSTICK, da cui la bozza passa al word processor con un clic.
Un atto formale non può lasciare il sistema sulla fiducia.
verify_pleading, uno scanner deterministico (nessuna IA coinvolta
in alcun punto), controlla la bozza finita rispetto ai Suoi record dal vivo e alla
biblioteca giuridica verificata lungo otto classi di affermazioni:
who_is_connected_with); il rifiuto indica le due chiamate e
raccomanda in aggiunta il test delle cricche (read_cliques).Ogni rilievo è VERIFIED, UNVERIFIED o CONTRADICTED. La consegna di un documento formale viene rifiutata senza una nuova attestazione OK per l'esatto stato del file — ogni modifica annulla l'attestazione. Dopo cinque esecuzioni di verifica fallite il ciclo si interrompe in modo definitivo, ordina all'IA di fermarsi e riferire, e avvisa Lei direttamente nell'applicazione. E le consegne passano esclusivamente per l'archivio di lavoro proprio dell'applicazione, così che attestazione, versionamento e tracciamento delle riconsegne restino legati a ogni file — la consegna in linea e i percorsi esterni vengono rifiutati.
Stato: 175 strumenti membro · 20 set di strumenti · revisione del protocollo MCP 2024-11-05. Il presente documento descrive il ponte in modo esaustivo — architettura, ogni livello funzionale, ogni gate, ogni limite e ogni reindirizzamento — esclusivamente in prosa.
Il ponte collega applicazioni commerciali di IA desktop (Claude Desktop, ChatGPT Desktop, Qwen Desktop, Kimi Desktop) a un'applicazione di gestione dei casi legali IRONSTICK in esecuzione sullo stesso computer. L'IA desktop riceve una superficie di strumenti controllata e autodescrittiva tramite il Model Context Protocol (MCP); ogni chiamata viene eseguita all'interno dell'applicazione IRONSTICK sulla banca dati dal vivo, e ogni risultato viene post-elaborato dal ponte prima di raggiungere il modello. Gli obiettivi di progettazione sono: carico di contesto permanente minimo sul modello, imposizione strutturale di regole di lavoro che un semplice testo di istruzioni non può garantire, protezione del lavoro non salvato dell'utente, protezione dei dati da richieste sovradimensionate o mal indirizzate, e completa assenza di materiale di configurazione leggibile nel prodotto installato.
Il ponte è composto da due processi che cooperano.
L'applicazione IRONSTICK ospita un server HTTP legato esclusivamente all'interfaccia di loopback. La sua porta e un token di accesso esadecimale di 48 caratteri sono definiti nell'archivio di configurazione dell'applicazione; ogni richiesta deve presentare il token. Questo server possiede il registro degli strumenti, esegue tutte le chiamate di strumento, applica tutti i gate e i post-processori, ed è l'unica fonte di verità su ciò che un modello collegato può vedere e fare.
Davanti a ciascuna IA desktop si trova un piccolo eseguibile nativo compilato ahead-of-time da Dart. Parla JSON-RPC su stdio verso l'IA desktop (trasporto MCP standard) e inoltra il lavoro al server HTTP dell'applicazione. Ogni IA desktop ha la propria directory di installazione, che contiene una copia di questo eseguibile e un file di configurazione privato con: la porta di loopback, il token di accesso, una stringa di identità del chiamante (per esempio claudedesktop, chatgptdesktop, qwendesktop), il percorso del file di istruzioni servito all'avvio della sessione e il percorso dello script di consegna. L'identità del chiamante viaggia con ogni chiamata di strumento come argomento interno e determina tutti i comportamenti specifici per IA descritti più avanti. Il front-end invia inoltre all'applicazione un segnale di presenza (heartbeat) circa ogni tre secondi mentre un'IA desktop è collegata; l'applicazione lo mostra come indicatore di presenza «ponte collegato» con una durata di validità di quindici secondi, così che l'utente veda sempre se un'IA esterna è attualmente collegata.
Durante l'handshake MCP di inizializzazione il front-end restituisce la propria identità di server e, incorporato nel risultato dell'inizializzazione, il testo completo delle istruzioni di avvio della sessione. I front-end dalla versione 2.6.6 in poi cercano un file compagno del percorso di istruzioni configurato, il cui nome reca un suffisso core, e lo preferiscono; questo fornisce un'istruzione di base condensata di circa quindicimila e cinquecento caratteri invece del playbook completo di circa cinquantaseimila, riducendo il carico permanente delle istruzioni a circa un quarto. Il playbook completo resta sempre disponibile al modello tramite uno strumento dedicato (vedi sezione 5).
Tutto il traffico avviene esclusivamente in loopback ed è autenticato tramite token. Gli strumenti di accesso al web applicano un filtraggio delle richieste lato server: sono ammesse solo destinazioni http e https pubbliche; localhost, intervalli di loopback, reti private e indirizzi link-local vengono respinti, così che un modello non possa mai essere indotto, tramite il ponte, a scansionare il computer o la LAN.
Il ponte e le integrazioni desktop per i singoli fornitori sono moduli aggiuntivi con licenza separata. La loro disponibilità è codificata come bit in una chiave di licenza firmata; il front-end e la superficie di strumenti di un modulo senza licenza semplicemente non vengono creati.
Per il collegamento con Claude Desktop un gate di consenso protegge il primo accesso ai dati per ogni esecuzione dell'applicazione: la prima chiamata di strumento dopo l'avvio del programma fa comparire una finestra di avviso sopra la schermata corrente. Se l'utente approva, l'accesso è libero per il resto dell'esecuzione; se l'utente rifiuta, l'accesso è bloccato per dieci minuti e ogni chiamata bloccata restituisce all'IA desktop un messaggio esplicativo che le chiede di riprovare più tardi; trascorsi i dieci minuti, l'accesso successivo fa comparire di nuovo l'avviso. Lo stato è mantenuto solo in memoria e mai reso persistente.
Indipendentemente dal consenso, un blocco di accesso alle istruzioni protegge ogni collegamento desktop: nessuno strumento — apritori dei set di strumenti, lo strumento di esecuzione dei membri, tutto — viene eseguito finché il chiamante non ha letto le istruzioni e restituito alla lettera il divieto di allucinazione (regola 5) tramite lo strumento di conferma; restano aperti solo il lettore delle istruzioni, lo strumento di conferma e lo strumento della lingua di sistema. La conferma è legata alla singola IA desktop e decade sessanta minuti dopo essere stata data, dopo due ore senza chiamate, a mezzanotte e a ogni nuovo handshake di connessione — dopo una decadenza il chiamante deve rileggere e restituire una regola scelta a caso invece di quella che conosce a memoria. Nel collegamento con Claude ogni chat è un chiamante a sé (distinto tramite gli eventi strutturati degli strumenti nel registro di sessione locale di Claude, mai tramite il testo della conversazione), una chat il cui contesto è stato compattato viene bloccata subito, senza penalità, finché non ha riletto, e a una chat che accede alla cartella dei dati con i propri strumenti di file invece che tramite il connettore ciò viene registrato come violazione delle regole; un rifiuto indica le due chiamate che aprono il blocco, e il menu a tendina sul simbolo dell'IA nell'applicazione mostra lo stato come spunta verde o croce rossa.
Ogni funzione di lettura e di scrittura dei dati viene convalidata rispetto all'identità del titolare derivata dalla licenza. I record di prova contrassegnati come segreti sono esclusi senza eccezione da ogni funzione di lettura, ricerca, dump e timbratura; i record contrassegnati come cancellati sono ugualmente invisibili.
La guida del modello arriva in tre livelli, con specificità strettamente crescente e permanenza strettamente decrescente.
L'istruzione di base viene consegnata una sola volta, all'interno del risultato dell'inizializzazione. Contiene il mandato (lavoro giuridico basato sui fatti al livello di un senior associate), le regole universali (la lingua del dialogo è la lingua di sistema di IRONSTICK; la giurisdizione dei documenti generati deriva dal caso, mai dal dialogo; disciplina delle date; nessuna citazione da estratti di ricerca — ogni pagina su cui l'IA fa affidamento deve essere aperta e letta tramite open_url, qualunque ricerca l'abbia trovata; disciplina delle citazioni e dei riferimenti; il limite di tre tentativi per ogni chiamata di strumento che fallisce; disciplina della consegna) e la descrizione del meccanismo dei set di strumenti stesso, compresa la spiegazione del campo del set di strumenti di appartenenza descritto nella sezione 6.
Le regole di lavoro per area non sono permanenti: vengono consegnate al modello alla lettera e aggiornate ogni volta che apre il set di strumenti corrispondente, come parte del contenuto di apertura.
Il playbook completo — base più tutte le regole dei set di strumenti più le appendici (tra cui il formato del file del protocollo giornaliero) — può essere riletto in qualsiasi momento tramite lo strumento di lettura delle istruzioni; il front-end legge il file dal vivo, così che le modifiche alle istruzioni raggiungano una sessione in corso senza riconnessione.
Tre di queste regole sono inoltre imposte a livello strutturale anziché testuale, tramite i gate descritti nelle sezioni 3 e 7: il blocco di accesso, la disciplina delle date e la disciplina delle fonti normative. La lettura delle istruzioni stessa è l'ultima regola del blocco universale: il modo per sbloccare il connettore è indicato solo dopo tutte le regole precedenti, così che un modello che vi arriva le abbia lette.
Un elenco piatto di 175 strumenti peggiora in modo misurabile la scelta degli strumenti nei modelli desktop attuali. Il ponte espone quindi una superficie ridotta di ventotto voci: sei strumenti di base (data e ora correnti; contesto GUI attuale; lingua di sistema; giurisdizione del caso; rilettura delle istruzioni; conferma delle istruzioni), lo strumento di consegna inserito dal front-end, venti apritori di set di strumenti, lo strumento di esecuzione dei membri e lo strumento dell'inventario completo. Tutto il resto esiste solo come membro all'interno dei set di strumenti.
Aprire un set di strumenti è una normale chiamata di strumento senza argomenti. La risposta fornisce, in un colpo solo: primo, dove il set di strumenti ne ha uno, un blocco di contesto pregenerato in modo deterministico e calcolato al momento dell'apertura (otto set di strumenti hanno tali generatori — il protocollo di avvio della sessione stesso; l'inventario attuale dei file di scratch; le dieci voci di memoria più recenti come anteprima; le prime trenta leggi della biblioteca giuridica; l'elenco dei casi caldi; i documenti registrati e le e-mail in arrivo di oggi; il protocollo giornaliero di oggi; l'istantanea attuale di scadenze e appuntamenti); secondo, le regole di lavoro dell'area alla lettera; terzo, le definizioni complete degli strumenti membro con i loro schemi di parametri completi; quarto, una riga di ripiego che rimanda all'inventario completo. Un errore all'interno di un generatore di pregenerazione non impedisce mai l'apertura.
I membri vengono eseguiti tramite lo strumento di esecuzione dei membri, che riceve il nome esatto del membro e un oggetto di argomenti. Prima dell'esecuzione viene effettuata una leggera validazione dello schema: i campi obbligatori devono essere presenti e non vuoti, e i parametri interi, numerici e booleani devono poter essere interpretati come tali; una violazione restituisce lo schema atteso invece di eseguire. Un nome di membro sconosciuto restituisce come suggerimento il nome esistente più vicino per distanza di modifica. Il livello delle istruzioni limita i tentativi di correzione a tre per ogni chiamata che fallisce, dopodiché il modello deve fermarsi e riferire l'errore esatto.
I set di strumenti non sono modali; tutti gli apritori restano richiamabili in ogni momento, uno strumento può deliberatamente essere membro di più set di strumenti, e i contenuti di apertura non vengono mai deviati nell'archivio di scratch (degli schemi in un file sarebbero inutili). I gate funzionali rimuovono interi gruppi: quando la navigazione GUI non è abilitata dall'utente, l'apritore del set di strumenti di navigazione e tutti i suoi membri sono assenti da ogni elenco e da ogni risposta. Lo strumento dell'inventario completo elenca ogni membro con uno scopo di una riga e il suo set di strumenti di appartenenza ed esiste solo come via d'uscita; le descrizioni dei set di strumenti sono l'instradatore principale. In totale i venti set di strumenti contengono 280 voci di membri sui 175 strumenti distinti.
Il costo di contesto misurato di questa disposizione: la configurazione iniziale (istruzione di base più elenco ridotto degli strumenti) è di circa diecimila token; una singola apertura di un set di strumenti aggiunge tra circa novecento e settemilacinquecento token a seconda del set di strumenti, prima del suo contenuto variabile di pregenerazione.
Ogni definizione di strumento è composta da quattro parti. La descrizione contiene lo scopo dello strumento, i suoi mandati comportamentali e i suoi rimandi — e nient'altro. Lo schema di input contiene ogni parametro con la propria descrizione, compresi valori predefiniti, formati, note di mutua esclusività e mandati per singolo parametro; le istruzioni d'uso dei parametri risiedono esclusivamente qui. Il campo di output descrive, prima di qualsiasi chiamata, esattamente che cosa restituisce la chiamata, compresi ordinamenti, marcatori e forme di errore, così che il modello possa giudicarne l'idoneità senza chiamate di prova. Il campo del set di strumenti di appartenenza indica il set di strumenti a cui lo strumento appartiene principalmente, con un valore riservato che contrassegna gli strumenti di base sempre presenti nell'elenco di primo livello; un membro incontrato all'interno di un set di strumenti estraneo indica così dove si trovano altri strumenti della sua famiglia, e ogni apertura di un set di strumenti reca una riga esplicativa che afferma che il modello non è mai vincolato al set di strumenti aperto.
Tutto il testo destinato al modello è in inglese senza eccezioni. La catena di produzione va da un unico documento sorgente canonico, tramite generatori, all'overlay compilato nel programma e al progetto dei cluster che documenta la topologia dei set di strumenti; il generatore si interrompe in modo definitivo quando una qualsiasi descrizione o testo di output — a qualsiasi profondità dello schema — corrisponde a un rilevatore di lingua tedesca, e un guardiano della deriva interrompe la sincronizzazione quando la dichiarazione di appartenenza di uno strumento punta a un set di strumenti che non elenca effettivamente lo strumento come membro. I limiti numerici dichiarati negli schemi degli strumenti sono imposti da una funzione ausiliaria di limitazione condivisa nelle funzioni esecutive, così che un massimo dichiarato sia un massimo reale.
I seguenti meccanismi valgono per l'intera superficie degli strumenti e sono implementati centralmente, non per singolo strumento.
Reindirizzamento su richiesta nello scratch: ogni strumento accetta un parametro aggiuntivo che indica un file di scratch; se impostato, il risultato completo viene scritto in quel file e il modello riceve solo il percorso e la dimensione — nessuna anteprima. I contenuti voluminosi non transitano così mai nel flusso di token del modello in nessuna delle due direzioni, e il percorso è direttamente utilizzabile ovunque sia accettato un percorso sorgente.
Protezione dal superamento: qualsiasi risultato che superi il limite del connettore — diecimila caratteri, un'unica costante centrale, raddoppiata a ventimila per Claude Desktop e ChatGPT Desktop — viene scritto automaticamente in un file di scratch generato. Il modello riceve solo una nota che indica la dimensione totale e il numero di righe, il nome del file, l'esplicita garanzia che nulla è andato perso, i due comandi di proseguimento (lettura per intervalli; ricerca per schema nel file) e l'espresso divieto di ripetere la chiamata — nessuna anteprima, così che i contenuti voluminosi vengano letti là dove risiedono e il modello si abitui a lavorare dall'archivio di scratch. L'unica eccezione è il lettore delle istruzioni, il cui pacchetto arriva sempre completo; gli apritori dei set di strumenti vengono deviati come ogni altro risultato. Nessuno strumento accorcia il proprio risultato — il limite del connettore è l'unico punto in cui si decide sulla dimensione. I risultati oltre i dieci megabyte non vengono deviati, ma ricevono in risposta un'istruzione di restringimento che indica i filtri applicabili, poiché anche l'archivio di scratch limita lì la dimensione dei file. Sono esenti dalla deviazione gli strumenti di lettura dello scratch stessi (limitati internamente; deviarli creerebbe una ricorsione) e le chiamate che hanno già richiesto il reindirizzamento nello scratch.
Gate della data: ogni strumento che scrive in IRONSTICK viene rifiutato ai chiamanti esterni a meno che quel chiamante non abbia recuperato la data e l'ora correnti negli ultimi trenta minuti. Il rifiuto indica il rimedio — recuperare l'ora, poi ripetere la chiamata identica. La finestra è legata al singolo fornitore, volutamente breve, così che una nuova conversazione non possa ereditare un vecchio recupero e che i passaggi della mezzanotte vengano intercettati. I chiamanti interni all'app non sono interessati. Questo esiste perché altrimenti i modelli esterni timbrano i record con l'«oggi» della loro epoca di addestramento.
Gate delle norme: l'accesso al web per leggi e norme è rifiutato strutturalmente finché non è stata consultata la biblioteca giuridica interna; il rifiuto rimanda alla procedura della biblioteca. Qualsiasi fonte normativa che venga comunque recuperata dal web deve essere segnalata alla biblioteca tramite lo strumento di registrazione — il livello delle istruzioni classifica l'omissione come violazione di un dovere, e i risultati che riguardano fonti giuridiche recano un marcatore ai fini della verificabilità.
Blocco rigido della navigazione: otto schermate sono dichiarate protette — i quattro moduli di acquisizione (acquisizione documenti, acquisizione documenti legata al caso, acquisizione della cronaca del caso, acquisizione cliente), il modulo di creazione del caso, il modulo di assegnazione istituzione/persona e l'editor di testo. Mentre la finestra principale dell'utente mostra una qualsiasi di esse, ogni funzione di navigazione GUI e di esportazione viene rifiutata a livello di handler — il wrapper intercetta allo stesso modo le chiamate dirette e l'esecuzione dei membri — con un messaggio che indica la schermata protetta, vieta la navigazione e istruisce il modello a rispondere con i dati di cui dispone e a proporre l'apertura solo dopo che l'utente ha terminato e salvato. Un modello non può quindi mai distruggere il lavoro non salvato dell'utente cambiando schermata. Lo strumento di apertura delle pagine web è esplicitamente esente da questo wrapper, poiché condivide il prefisso del nome ma non naviga nell'applicazione.
Offerta di navigazione: i risultati della quarantina circa di strumenti il cui output descrive un oggetto apribile nella GUI — un caso, una persona, un'istituzione, un cliente, una prova specifica, un'e-mail, voci di calendario o scadenze — ricevono una riga aggiunta che suggerisce al modello di offrire all'utente di aprire l'oggetto direttamente in IRONSTICK, indicando l'esatta chiamata di navigazione. Dove gli argomenti della chiamata contengono l'identificativo dell'oggetto la proposta è concreta; per i risultati di ricerca e di elenco fa riferimento all'identificativo di un risultato. La riga richiede esplicitamente il consenso dell'utente prima di navigare, a meno che la richiesta dell'utente non fosse già un comando di visualizzazione/apertura. L'offerta viene aggiunta solo dopo la gestione del superamento, e solo quando il risultato non è un errore, la navigazione è abilitata e il blocco rigido della navigazione non è attivo — il blocco prevale sempre sulla proposta.
Propagazione del chiamante: l'identità del chiamante accompagna ogni esecuzione e determina lo stato per singola IA — il briefing di lavoro una volta al giorno è tracciato per ogni IA desktop, gli elenchi dei compiti di revisione tra pari escludono i compiti propri del chiamante, e il registro delle chiamate attribuisce ogni riga.
Registro delle chiamate: un registro diagnostico attivabile registra una riga per ogni chiamata di strumento di tutte le IA collegate — marca temporale, chiamante, il nome effettivo dello strumento (per l'esecuzione dei membri il membro interno, non il wrapper), gli argomenti limitati a trecento caratteri, la dimensione del risultato misurata prima di qualsiasi deviazione per superamento, la durata dell'esecuzione e un indicatore di errore. L'interruttore si trova nell'archivio di configurazione dell'applicazione e viene riletto con una cache di dieci secondi, così che la registrazione possa essere attivata o disattivata senza riavvio. Esiste per l'analisi dei percorsi e l'ottimizzazione dei set di strumenti ed è pensato per essere disattivato in seguito.
Riduzione di segni diacritici e scritture: ogni ricerca per parola chiave, ricerca per schema e confronto in tutto il ponte ignora maiuscole/minuscole e segni diacritici per tutte le undici lingue di sistema, compresa la i turca con e senza punto (sostituita prima della conversione in minuscolo, poiché altrimenti cambia la lunghezza), le lettere varianti cirilliche e le legature latine; la riduzione è stabile nelle posizioni laddove vengono riportate posizioni.
Convenzioni sui risultati: gli errori vengono restituiti come testo che inizia con un prefisso di errore e contrassegnati come errori nel risultato MCP; il modello è istruito a correggere e riprovare al massimo tre volte, poi a fermarsi e riferire. I marcatori strutturati e autodescrittivi incorporati nei risultati (per operazioni di memoria, gate e simili) sono stabili e documentati nei rispettivi campi di output.
Guardiano della copertura di lettura: quando un modello richiede un dump dell'intero caso o la consegna nello scratch del lettore dell'intero caso, il ponte registra con esattezza di riga quali intervalli del file di dump sono stati effettivamente letti. Finché restano intervalli non letti, ogni risposta riuscita di uno strumento — ricerche, corrispondenze di schemi, tutto — reca gli esatti intervalli di righe non letti insieme a una percentuale di lettura; una lettura completa dichiarata è quindi impossibile. Una volta che il file è stato letto per intero, i richiami cessano e la successiva lettura per intervalli conferma una sola volta che tutte le righe sono state lette, dando al modello una fine dimostrabile del suo obbligo di lettura. Sono tracciati i dump dell'intero caso, i file di intestazione e di digest dello strumento di preparazione del caso e ogni testo integrale di documento deviato nell'archivio di scratch; le letture parziali di altri risultati reindirizzati restano legittime e silenziose. Lo stato della copertura è reso persistente accanto all'archivio e sopravvive ai riavvii dell'applicazione, e un file letto fino in fondo viene registrato nel registro di preparazione — la lettura resta valida anche dopo che la pulizia all'avvio ha rimosso il file.
Guardiano della riconsegna: dopo una consegna di file riuscita la cui sorgente si trova nell'archivio di scratch, un file marcatore accanto all'archivio registra il nome e l'ora della consegna (anche le consegne passate come contenuto in linea vengono registrate con il loro nome di consegna). Ogni successiva modifica, scrittura o normalizzazione di un file lì registrato riceve in risposta il promemoria che l'utente ha in mano la versione consegnata superata e che il file corretto deve essere consegnato di nuovo con un nuovo numero di versione. La risposta alla consegna recupera inoltre dall'applicazione lo stato attuale della copertura di lettura tramite un endpoint interno che non è uno strumento, e rimprovera una consegna effettuata nonostante intervalli non letti.
Guardiano delle bozze non consegnate: l'aggiunta al protocollo giornaliero — il segnale di chiusura del modello — elenca per nome ogni file di lavoro versionato scritto dal modello nella sessione che non è mai stato consegnato, con l'istruzione di consegnare ora l'artefatto finito; un lavoro che esiste solo nell'archivio di scratch non raggiunge mai l'utente.
Guardiano del formato e-mail: ogni risposta degli strumenti di lettura e di scaricamento delle e-mail reca il rimando fisso secondo cui l'istruzione vincolante per la formattazione e la consegna delle e-mail — riquadro da copiare per l'oggetto, riquadro da copiare per il corpo, sezione dei destinatari, contenuti obbligatori, regole linguistiche — proviene dallo strumento di specifica del formato mail, da recuperare prima di costruire qualsiasi e-mail e da seguire alla lettera.
Esecuzione in un isolate di lavoro: il nucleo computazionale degli strumenti di dati e di analisi viene eseguito in un isolate di lavoro dedicato all'interno dell'applicazione, con il proprio registro e le proprie connessioni alla banca dati; l'isolate dell'interfaccia dell'applicazione si limita a instradare, applicare i gate e post-elaborare. Nemmeno accessi di diversi secondi a grandi fascicoli rallentano quindi mai l'interfaccia utente dell'applicazione; se il worker termina, l'esecuzione ripiega senza soluzione di continuità sull'isolate dell'interfaccia e il worker viene ricreato alla prima occasione. Gli strumenti che per loro natura richiedono l'isolate dell'interfaccia — navigazione, finestre di conferma, il browser integrato, il recupero della posta e gli strumenti di scrittura protetti dal gate di revisione — sono esclusi per progettazione dall'instradamento verso il worker.
Tre strumenti rispondono deliberatamente alla loro prima chiamata con una domanda invece che con un risultato; in tutti la risposta letterale "unknown" è sempre valida e mai sanzionata.
Il gate di consegna: lo strumento di consegna dei file, chiamato senza la dichiarazione di formalità, non consegna nulla e chiede se la consegna rientra in uno dei quattro tipi di artefatto formale — atto giuridico, e-mail al tribunale, voce di cronaca, protocollo giornaliero — o in nessuno di essi. Rispondere «no» consegna immediatamente — ma la dichiarazione viene verificata nel contenuto: un rilevatore deterministico esamina il file, e un contenuto con la forma di una lettera o di un atto (formule di saluto e di chiusura in sei lingue, un blocco del destinatario, marcatori giuridici, un blocco identificativo) respinge la dichiarazione di informalità e registra il tentativo; un simile contenuto non ha alcuna via informale. Rispondere con un tipo formale restituisce, sempre senza consegnare, l'istruzione di formattazione vincolante esattamente per quel tipo, incorporata nella risposta del gate; solo la chiamata ripetuta che reca l'indicatore di conferma che il file è stato verificato rispetto a questa istruzione consegna effettivamente. Un guardiano della serie di versioni rifiuta inoltre la prima consegna con una nuova radice del nome file mentre nella cartella di consegna esiste già una serie versionata con lo stesso numero di caso — rinominare un documento per azzerarne il contatore di versione è strutturalmente impossibile; un documento realmente diverso richiede una dichiarazione consapevole e registrata. Questo gate è implementato all'interno dell'eseguibile del front-end stesso, che recupera dal vivo l'istruzione di formattazione attuale dall'applicazione. Documenti e lettere non raggiungono mai l'utente come testo di chat o riquadri da copiare — ogni accesso in scrittura a un file di lavoro testuale reca questo promemoria, e l'unico artefatto legittimo in riquadro da copiare resta l'e-mail secondo il suo strumento di formato.
Il gate di ricerca: la ricerca centrale delle prove, alla sua prima chiamata, non cerca nulla e chiede tre cose — che tipo di elemento si cerca (documento in entrata, documento in uscita, prova con documento allegato, dichiarazione/trascrizione, nota di cronaca, o sconosciuto), l'ambito quando è presente un identificativo del cliente (solo questo caso, tutti i casi del cliente, o sconosciuto — con l'elenco dei casi del cliente incluso nella domanda) e la forma di risposta desiderata. Le forme di risposta sono: un elenco pulito di identificativi (l'impostazione predefinita raccomandata; i risultati vengono poi aperti singolarmente tramite il lettore delle prove), risultati compatti con il contesto della corrispondenza, oppure il risultato completo scritto in un unico file di scratch.
Il gate dell'intero caso: il lettore dell'intero caso, alla sua prima chiamata, non carica nulla e riferisce quanto è effettivamente grande il caso — il numero di prove e il volume complessivo approssimativo dei contenuti tra titoli, descrizioni, testi integrali dei documenti e trascrizioni — poi chiede al modello di decidere tra strumenti di ricerca mirati e una chiamata ripetuta con l'argomento di consegna nello scratch, che scrive il contenuto completo del caso, normalizzato rispetto all'OCR, nell'archivio di scratch e restituisce solo il riferimento al file.
Il gate di verifica: per gli atti formali lo strumento di consegna richiede inoltre una nuova attestazione del verificatore deterministico degli atti. Tale verificatore analizza il file di scratch finito lungo otto classi di affermazioni — riferimenti alle prove nell'elenco degli allegati e nel corpo del testo (timbri e numeri, compresa la provenienza delle citazioni legata al documento: ogni elemento citato o allegato deve risultare letto per questo documento — recuperato per intero o con il suo file di scratch letto fino in fondo; una lettura vale due ore, ogni consegna dello stesso documento proroga di due ore i suoi elementi citati, e verificare o consegnare un documento con una radice diversa azzera le letture degli allegati; una riga di allegato può dichiarare un intervallo di pagine, l'obbligo di lettura resta l'intero documento), citazioni normative rispetto alla biblioteca verificata (un articolo assente dal testo normativo verificato è un rilievo contraddetto; la citazione richiede inoltre la provenienza di lettura — ogni lettura dalla biblioteca viene registrata per ogni esecuzione dell'applicazione con i numeri degli articoli effettivamente restituiti, e un articolo citato senza tale registrazione di lettura è un rilievo contraddetto, così che articoli di stampa, sintesi web e memoria del modello non possano mai fondare una norma; i sotto-riferimenti citati come comma e punto vengono verificati nella loro esistenza nella regione di testo dell'articolo; una fonte assente dalla biblioteca blocca finché non viene integrata o rifiutata), citazioni testuali — ciascuna deve essere trovata per intero nei testi integrali del caso o nella biblioteca giuridica; una citazione non trovata in alcuna fonte è contraddetta e blocca la consegna, una citazione da cui sono state solo tolte le virgolette o la cui formulazione è stata leggermente modificata resta bloccata, e le citazioni eliminate del tutto vengono segnalate all'utente al momento della consegna —, numeri di dosar, importi secondo una regola di tolleranza zero (la forma esatta registrata), anagrafiche delle parti lettera per lettera compresi i segni diacritici, identificativi personali/bancari tramite i validatori di somma di controllo, e parti nominate — ogni persona o società del registro delle entità nominata nel documento deve essere stata letta (profilo) e verificata nelle connessioni per questo documento, con il rifiuto che indica entrambe le chiamate e raccomanda il test delle cricche. I rilievi sono classificati come verificati, non verificati o contraddetti; qualsiasi rilievo contraddetto o norma mancante non risolta produce un verdetto bloccante. L'attestazione si lega all'esatto stato del file — qualsiasi modifica la annulla — e dopo cinque esecuzioni di verifica fallite il ciclo si interrompe in modo definitivo, istruisce il modello a fermarsi e riferire, e avvisa l'utente direttamente nell'applicazione.
Il gate di consenso per le fonti normative: una fonte normativa segnalata dal modello non viene più integrata in silenzio. Le richieste si raccolgono in un'unica finestra di consenso nell'applicazione — fonte, giurisdizione, IA richiedente — dove le voci spuntate vengono recuperate, verificate e memorizzate (con un avvio immediato del worker) e quelle non spuntate vengono rifiutate; una fonte rifiutata trasforma le sue citazioni successive in note visibili di mancata verifica per decisione dell'utente, invece che in blocchi silenziosi. Da quel momento il monitor dei dati riporta le leggi solo per il ciclo di revisione periodica.
La regola di consegna solo dall'archivio: lo strumento di consegna accetta esclusivamente un percorso sorgente all'interno dell'archivio di lavoro dell'applicazione; i contenuti in linea e i percorsi esterni all'archivio vengono rifiutati per ogni tipo di file. Ciò mantiene l'attestazione di verifica, il tracciamento delle riconsegne, il versionamento e la copertura di lettura legati senza eccezione a ogni artefatto consegnato.
L'apertura del set di strumenti di avvio della sessione esegue l'intero protocollo di avvio in un colpo solo e lo scrive in un file di scratch fisso e denominato; la risposta diretta restituisce solo l'ancora della data, la lingua di sistema e il contesto GUI attuale, e il modello legge il resto — voci di memoria in scadenza, il briefing giornaliero, scadenze, appuntamenti, compiti aperti tra pari e l'indice degli ultimi dieci protocolli giornalieri — con un'unica lettura dello scratch. I membri di questo set di strumenti rieseguono singoli pezzi su richiesta.
Lo strumento di data e ora risponde con una riga (data, ora, fuso orario, giorno della settimana, sincronizzata via NTP dove possibile, altrimenti orologio di sistema) e reca il mandato permanente secondo cui ogni turno di dialogo inizia con la data corrente e le date non vengono mai indovinate. Lo strumento del contesto GUI riferisce quale schermata della finestra principale dell'applicazione è aperta, con breadcrumb e il cliente e il caso aperti. Lo strumento della lingua di sistema restituisce l'identificativo della lingua che governa il dialogo e gli elenchi trasversali ai casi; lo strumento della giurisdizione restituisce, per ogni caso, la giurisdizione che governa i documenti generati e la terminologia, è obbligatorio prima di qualsiasi lavoro sui documenti e istruisce a chiedere all'utente quando non è impostata. Lo strumento del briefing mattutino restituisce il briefing strutturato di oggi con identificativi e marcatori, così che il modello possa agire su ogni voce; lo strumento del briefing di lavoro tiene traccia, per ogni IA desktop, se quell'IA è già stata aggiornata oggi, restituendo i protocolli giornalieri recenti solo al primo contatto della giornata.
L'archivio di scratch è la cartella di lavoro del modello per tutto ciò che è voluminoso. Offre: scrittura con possibilità di aggiunta in coda per un assemblaggio a blocchi; lettura per intervalli con numeri di riga che corrispondono direttamente agli editor basati sulle righe; sostituzione esatta del testo con requisito di univocità, un nuovo tentativo tollerante a spazi e virgolette tipografiche che richiede comunque l'univocità, e un ripiego prescritto su individuazione e copia in caso di qualsiasi altra mancata corrispondenza; inserimento per numero di riga o dopo un marcatore; cancellazione di intervalli di righe; sostituzione atomica di intervalli di righe come operazione sicura di ristrutturazione; ricerca per schema insensibile a maiuscole/minuscole e segni diacritici in uno o in tutti i file, con un limite di cinquanta risultati e righe di contesto facoltative; una struttura markdown che associa i titoli agli intervalli di righe senza leggere il file; un elenco della directory; la copia; un confronto per righe tra due file che nasconde le righe comuni; una normalizzazione orientata alla consegna che appiattisce il markdown strutturale secondo le convenzioni degli atti, protegge i riferimenti, completa i riferimenti brevi alle prove a sette cifre e normalizza i fine riga; l'uniformazione degli spazi; la pulizia di fine riga e caratteri invisibili; proiezioni uniformate distruttive (uno scheletro di confronto in minuscolo, oppure solo la riduzione dei segni diacritici) sempre in un file di destinazione separato; contatori di parole, lettere e righe; e la cancellazione.
Un registro di stato leggero memorizza note chiave-valore per la sessione in corso — soprattutto quale file è l'attuale bozza principale — con semantica di lettura, impostazione e cancellazione, e sopravvive ai riavvii dell'applicazione.
Ciclo di vita: l'archivio è di lunga durata e sopravvive ai riavvii; le note proprie del modello, il registro di stato, i metadati dei file e la contabilità della copertura di lettura persistono, mentre i dump degli strumenti dei giorni precedenti vengono eliminati a ogni avvio e i file non toccati da centottanta giorni vengono eliminati. Ogni accesso tramite qualsiasi strumento di scratch — compresa una semplice lettura — azzera il conto alla rovescia per la cancellazione di quel file; la sola comparsa nell'elenco della directory no. Il livello delle istruzioni obbliga il modello a cancellare i propri file di lavoro al termine di un compito e a trasferire invece le intuizioni durature nel sistema di memoria.
La memoria IA persistente è un taccuino condiviso tra le chat, comune a tutte le IA collegate e all'assistente interno all'app. Una voce contiene al massimo mille caratteri — le descrizioni del set di strumenti e degli strumenti esigono una compressione all'essenziale assoluto e la suddivisione del materiale più ampio — ed è collegata almeno a un cliente o a un caso (con un collegamento al caso il cliente viene derivato e corretto automaticamente) e facoltativamente a una prova, un'e-mail, un'entità o un'istituzione, tutti convalidati. Le voci devono essere scritte nella lingua di sistema di IRONSTICK indipendentemente dalla lingua del dialogo, e al modello è vietato usare i propri file di memoria privati per le conoscenze sui casi, poiché questi non raggiungono né l'IA pari né l'utente. Una data di scadenza facoltativa rende una voce simile a una scadenza: le voci in scadenza e scadute compaiono per prime nel protocollo di avvio della sessione e nelle viste delle scadenze dell'applicazione.
La ricerca è filtrabile per ciascuno degli identificativi collegati e per data di scadenza (tutto, esattamente oggi, o una finestra di dieci giorni attorno a una data indicata), restituisce i risultati dai più recenti con un valore predefinito di venti e un massimo di cinquanta, e contrassegna le voci del taccuino scritte dall'utente come rigorosamente in sola lettura per l'IA. L'aggiornamento sostituisce il testo e/o sposta, imposta o cancella la data di scadenza; tutto ciò che non viene fornito resta invariato. Un aggiornamento il cui testo supera il limite viene respinto con una dichiarazione di capacità che indica la lunghezza inviata, il limite, l'occupazione attuale della voce e lo spazio libero residuo; anche ogni aggiornamento di testo riuscito riferisce occupazione e spazio residuo; in entrambi i casi, quando restano liberi meno di trecento caratteri, la risposta aggiunge la raccomandazione permanente di rielaborare l'intera voce oppure di creare una voce aggiuntiva lasciando un rimando in quella vecchia. La cancellazione è irreversibile e rifiuta le voci del taccuino dell'utente e le voci di compito. La manutenzione è pensata per procedimenti di lunga durata: le voci collegate a un caso sono esenti dall'eliminazione annuale finché quel caso è attivo — decadono solo quando il caso viene reso inattivo o archiviato (il che elimina subito le sue voci) o quando il cliente viene cancellato; l'eliminazione annuale si applica solo alle voci senza caso. Inoltre, ogni voce restituita da una ricerca in memoria e ogni aggiornamento di una voce ne rinnovano la durata, e l'eliminazione misura l'età rispetto al momento più recente tra creazione e ultimo accesso — una voce effettivamente usata non scade mai; solo il materiale morto invecchia ed esce. Le voci del taccuino dell'utente non scadono mai automaticamente.
Anagrafiche, persone, relazioni e documenti non appartengono alla memoria: le descrizioni li instradano verso gli strumenti di proposta e l'acquisizione documenti.
Gli strumenti delle scadenze forniscono le scadenze attive o in forma compatta (titolo, data di scadenza, giorni rimanenti, caso, con le voci contrassegnate come segrete escluse) o con descrizioni per voce e contrassegni espliciti di scaduto e urgente (urgente significa dieci giorni o meno), e in una forma di esposizione ordinata per urgenza con filtri di periodo (tutte raggruppate per criticità, solo critiche, in scadenza a breve, oggi, questa settimana, la prossima settimana o una data specifica). Lo strumento degli appuntamenti espone un giorno o un periodo ordinato con le udienze per prime — udienze importate dal portale, poi udienze del calendario, poi le restanti voci di calendario. Il lettore del calendario elenca le voci a livello globale o per caso, con intervallo di date facoltativo.
Lo strumento di acquisizione nel calendario non scrive mai: apre il modulo del calendario dell'applicazione precompilato con titolo, data, orari, descrizione e collegamento facoltativo al caso, e l'utente completa e salva. La sua descrizione impone un controllo obbligatorio dei duplicati prima di ogni chiamata: leggere prima il calendario dello stesso giorno, confrontare solo per data ignorando gli orari e, in presenza di una voce simile, mostrarla all'utente e chiedere se si tratta dello stesso evento, chiamando lo strumento solo dopo che l'utente ha confermato una nuova voce.
Il sistema del diario scrive e legge il protocollo giornaliero trasversale ai casi. L'aggiunta riguarda un giorno (predefinito oggi, con la data recuperata tramite lo strumento dell'ora), aggiunge sempre in coda a un giorno esistente con un separatore e non sovrascrive mai, collega i casi interessati tramite un elenco di casi e si aspetta il contenuto come markdown pulito nello stile di protocollo definito nell'appendice delle istruzioni. Uno strumento per le note aggiunge una singola riga di evento al protocollo di oggi con un riferimento facoltativo al caso. Lo strumento del formato restituisce il formato vincolante del file di protocollo. La lettura funziona per data, per intervallo o dai più recenti, con opzione di testo integrale e limitazione al caso; la ricerca è una ricerca per parola chiave insensibile ai segni diacritici su titoli e testi integrali, con data, titolo ed estratto di contesto per ogni risultato. Entrambe le forme di elenco hanno come valore predefinito dieci voci e un massimo di trenta. L'apertura del set di strumenti fornisce già per intero il protocollo di oggi, con una nota su quanti altri protocolli esistono nelle ultime due settimane.
L'individuazione del caso avviene per numero di caso, per nome della parte coinvolta (tollerante ai segni diacritici, comprendendo controparte, attore, titolo e cliente — obbligatoria ogni volta che l'utente nomina una parte senza numero, poiché molti casi non hanno alcun numero) e tramite l'elenco dei casi del cliente. I procedimenti correlati derivano dalla gerarchia dei casi come voci padre, figlio e dello stesso gruppo.
Lo strumento di panoramica rapida restituisce, in una chiamata, ogni campo della scheda caso, ogni campo della scheda cliente, un fascicolo del portale collegato facoltativo e gli ultimi quindici identificativi di prova con le date di registrazione — pensato come orientamento prima di qualsiasi accesso ai testi integrali. Il lettore della cronaca restituisce la cronaca di un caso dalle voci più recenti, in forma compatta e senza testi integrali, con filtri di data e un limite fino a cinquanta voci, ed è la risposta rapida designata per «che cosa è successo per ultimo» — non conta nulla ai fini della preparazione del caso.
La preparazione del caso è uno strumento e un gate. Lo strumento di preparazione fornisce, in una chiamata, l'intestazione (profilo e giurisdizione) e il digest di ogni documento — identificativo, data, tipo, titolo, la sintesi redatta all'acquisizione, rimandi e dimensione del testo integrale — che è la cronaca; un secondo elenco delle stesse righe è stato eliminato in quanto puro spreco di token. La risposta inizia sempre con una nota che indica dove si trovano intestazione e digest (in linea quando l'intera risposta resta sotto il limite del connettore, altrimenti come due file di scratch da leggere fino in fondo) e i cinque documenti più recenti da leggere integralmente. Il gate di preparazione rifiuta poi, ai chiamanti esterni, due livelli di output sul caso: una nota o una voce su un caso (diario, nota giornaliera, voce di cronaca, nota del caso) finché profilo, giurisdizione, digest e le cinque voci di cronaca più recenti (note senza PDF né trascrizione; immagini ammesse) non sono stati letti integralmente — così che una serie in corso di voci di cronaca tenga conto delle ultime, senza costringere a leggere documenti pesanti per una semplice nota; un giudizio sul caso (verifica dell'atto, passaggio, esportazione) inoltre finché ogni documento citato o allegato non è stato letto integralmente. Le letture sono registrate per ogni IA desktop in un registro persistente, valide per tre giorni o fino al successivo documento in entrata del caso; i documenti in uscita e i record di prova non invalidano mai una lettura. Lo stesso registro alimenta il menu a tendina sul simbolo dell'IA. Un terzo livello, inferiore, protegge i contenuti del caso stessi: ogni strumento sui contenuti del caso — cronaca, cronologia, ricerche per parola chiave, per passaggio e per periodo, testi integrali, contraddizioni, dichiarazioni, obblighi, scadenze, calendario, corrispondenza, utilizzo, prove depositate, catene di lettere, elenchi degli allegati, timbri, media, istituzioni, etichette, valutazione e note di istruzione — viene rifiutato per un caso di cui il chiamante non ha letto il digest, con il rifiuto che indica lo strumento di preparazione; il terzo tentativo rifiutato sullo stesso caso viene registrato come violazione delle regole. I contatori di preparazione si azzerano a ogni lettura delle istruzioni e a ogni avvio della sessione.
La lettura completa del caso è protetta da gate come descritto nella sezione 8. Il dump nello scratch è la via completa più rapida: assembla l'intero testo del caso all'interno dell'applicazione, senza tagli, normalizza le anomalie OCR (spazi ripetuti, fine riga misti, spazi unificatori, trattini morbidi, caratteri a larghezza zero), lo scrive direttamente nell'archivio di scratch e restituisce solo il riferimento con le statistiche; i casi molto grandi vengono suddivisi in file parziali numerati. I filtri di ambito limitano il dump alla direzione in entrata, in uscita o a entrambe, e un elenco di identificativi di prova esegue il dump esattamente di quei record — il modo designato per leggere per intero un singolo documento molto grande, con il caso derivato dalla prova.
Il lettore delle prove è la base obbligatoria di ogni affermazione sostanziale: carica un record con il testo integrale estratto del documento (completo e non troncato; oltre il limite del connettore arriva per intero nell'archivio di scratch) e, se presente, il testo integrale della chat o della trascrizione (comprese chat di messaggistica e trascrizioni telefoniche, di udienza, di interrogatorio e giudiziarie), più la sintesi qualificata, la descrizione e i metadati, che sono dichiarati non sostitutivi del testo integrale. Se non compare nessuna delle due sezioni di testo integrale, non esiste alcun testo estratto e il modello non deve fare affermazioni sostanziali sul record. Un elenco separato da virgole di fino a dodici identificativi legge più record in una chiamata. Uno strumento di inventario dei media riferisce esistenza, tipo, data e dimensione degli allegati immagine, audio e video di un record o di un caso, dichiarando esplicitamente che il contenuto multimediale non è leggibile come testo e che lo strumento esiste affinché un record con soli media non venga erroneamente classificato come vuoto.
Le etichette vengono presentate come post-it liberi dell'utente sui record di prova — il testo è l'informazione, il colore non ha un significato fisso, e un record etichettato è dichiarato un forte indicatore di rilevanza. Tre modalità forniscono una panoramica globale con conteggi e record richiamati, tutte le etichette di un caso, oppure una ricerca testuale nei testi delle etichette, con un filtro di ambito che separa le etichette personali da quelle legate al caso. I gruppi per materia elencano l'intero panorama dei casi di un cliente come gruppi con casi annidati, compresa la parentela ad albero. La valutazione del caso memorizzata è recuperabile per ogni caso.
La ricerca centrale delle prove assegna un punteggio su tutti i campi delle prove, sui testi integrali estratti dei documenti e sui contenuti delle trascrizioni, con le query di più parole combinate in modo congiuntivo, indipendenza dai segni diacritici e un incremento per le frasi; i risultati sono ordinati per rilevanza senza esporre i punteggi, ogni risultato indica quale campo lo ha attivato, il valore predefinito è quindici e il massimo trenta risultati, e la forma di risposta segue la scelta del gate della sezione 8. La ricerca per passaggi suddivide documenti e trascrizioni in finestre di paragrafo e di frase e restituisce i passaggi più corrispondenti con il loro riferimento — individuando dove si trova qualcosa in un testo, non soltanto in quale record — con una corrispondenza tollerante agli errori OCR che supera gli errori di acquisizione, un bonus per le frasi e la limitazione esattamente a un caso o a tutti i casi di esattamente un cliente (lo strumento designato per le domande del tipo «X ha mai, in qualche punto»; mai trasversalmente tra clienti), con un valore predefinito di otto e un massimo di venti passaggi. Uno strumento per intervallo di date elenca le prove tra due date. Il cercatore dedicato della corrispondenza di una parte è obbligatorio quando l'utente chiede documenti da o verso una parte specifica: confronta la parte, in modo tollerante ai segni diacritici, con i record di coinvolgimento, filtra per direzione (a me, da me, o entrambe), esclude chat e trascrizioni, nasconde per impostazione predefinita le schermate autoprodotte indicandone il numero, e ordina dai più recenti — espressamente distinto dalla ricerca per parola chiave, che restituirebbe anche i record che si limitano a menzionare la parte.
Questi strumenti calcolano a partire dai record senza alcun coinvolgimento dell'IA. La cronologia restituisce tutti gli elementi di un caso ordinati per data dell'evento in ordine decrescente, con riferimento, marca temporale, tipo di record e titolo, con un valore predefinito di trecento e un massimo di cinquecento elementi. Il raccoglitore di contraddizioni volutamente non giudica: raccoglie fino a centoventi elementi candidati (predefinito sessanta), facoltativamente filtrati su un'entità, con riferimento, data, partecipanti e breve contenuto, e lascia al modello il giudizio e le successive letture dei testi integrali. Lo strumento chi-ha-detto-cosa trova ogni elemento in cui compare una persona — come partecipante, nel titolo o nel testo, o all'interno della formulazione di una trascrizione — indipendentemente dai segni diacritici, indicando la fonte di ogni risultato, con un valore predefinito di quaranta e un massimo di cento. Lo strumento della rete dei partecipanti conta quali persone ed entità compaiono insieme negli stessi elementi, a livello globale o per caso, facoltativamente concentrandosi su un'entità. Lo strumento degli obblighi elenca gli elementi aperti contrassegnati con scadenza per data di scadenza, con conteggio dei giorni, descrizioni, riferimenti e contrassegno di scaduto/urgente.
Cinque ulteriori strumenti deterministici servono alla caratterizzazione di singoli giudici e pubblici ministeri; contano come decisioni solo i documenti in entrata provenienti da un tribunale o da una procura. L'elencatore delle decisioni restituisce ogni decisione in cui una persona ha seduto come giudice o ha agito come pubblico ministero, su tutti i casi, contando solo un nome nell'intestazione (composizione del collegio) o nel blocco delle firme — un nome nel corpo del testo non conta, e i cancellieri non vengono mai elencati. Il lettore della struttura scompone una decisione in tribunale, sezione, numero di caso, tipo, numero e data, udienza, collegio, la frase che nomina parti e oggetto, il dispositivo alla lettera, le parole chiave dell'esito, rimedio, pronuncia, citazioni normative con il loro stato nella biblioteca e l'ampiezza della motivazione, ciascuno con la sua posizione in caratteri, segnalando ciò che manca come non trovato. Il raccoglitore delle memorie scrive ogni memoria depositata nel caso fino alla data della decisione in due file di scratch — i documenti in uscita del cliente e quelli in entrata della controparte — limitandosi ai documenti indirizzati a un tribunale o a una procura, ciascuno solo con il suo documento principale (e-mail di accompagnamento e allegati tagliati), ed elencando come non assegnato ciò che non può essere classificato; i suoi file comportano l'obbligo di lettura. Il confronto con la decisione misura quale quota della motivazione propria del tribunale corrisponde, come testo, alle memorie del cliente, a quelle della controparte, a entrambe, al testo normativo della biblioteca, o a nulla (la formulazione propria del tribunale), misura separatamente l'esposizione delle posizioni delle parti ed elenca i passaggi corrispondenti con il loro tasso di corrispondenza dal settanta per cento in su, dal più alto, nella formulazione originale con le posizioni in caratteri. Il confronto tra documenti mette a confronto due documenti qualsiasi tra clienti e casi diversi, classifica i passaggi corrispondenti come testo normativo, fonte citata comune o condivisi solo da questi due, e apre la sua risposta con l'avviso che fornisce solo una prima impressione e che entrambi i documenti devono essere letti per intero prima di affermare qualsiasi cosa su un collegamento.
La famiglia di strumenti per il tracciamento dei depositi opera in modo deterministico sugli atti memorizzati: lo strumento di utilizzo risponde, per una prova, quali allegati contiene fisicamente e in quali atti è stata essa stessa depositata (con data e numero di ruolo, su tutti i casi), oppure, per un caso, fornisce il rapporto delle lacune sugli elementi mai depositati; l'elencatore delle prove depositate restituisce per ogni atto memorizzato gli identificativi allegati più l'insieme totale deduplicato ed è obbligatorio prima di comporre l'elenco degli allegati di un nuovo atto, con l'avvertenza documentata che sono coperti solo gli allegati collegati strutturalmente. La catena dei numeri di registro trova, a partire da un numero di lettera o da tutti i numeri presenti in un documento, ogni documento che condivide quel numero in ordine cronologico — il percorso documentato di un procedimento amministrativo. L'elencatore degli allegati risolve gli allegati fisicamente contenuti in un documento, compreso il timbro di deposito deterministico per ciascun allegato; lo strumento dei timbri risolve qualsiasi identificativo di prova nel suo timbro di deposito deterministico (più file memorizzati producono più timbri; un record senza file memorizzato produce un marcatore esplicito di assenza). Entrambi gli strumenti che forniscono timbri vietano di inventare timbri — devono sempre essere recuperati.
Un percorso di escalation in quattro passi ripara i testi integrali memorizzati rovinati ed è esplicitamente escluso dall'uso come comodo sostituto della lettura. La richiesta di nuova scansione chiede all'applicazione di rieseguire l'OCR sul PDF originale memorizzato; l'utente seleziona le pagine in IRONSTICK, e il modello è istruito a informare l'utente in una frase e ad attendere. Lo strumento di stato va chiamato una sola volta quando l'utente dice che le pagine sono state scelte — i cicli di interrogazione ripetuta sono vietati — e, quando è pronto, restituisce l'ordine di lavoro insieme a due file di scratch contenenti la nuova scansione e il testo attuale della banca dati. La regola di confronto e riparazione consente solo correzioni meccaniche dell'OCR, mai riformulazioni, con numeri, nomi e importi mantenuti esatti. Dove un punto è illeggibile in ENTRAMBE le fonti, il modello può chiedere all'utente un controllo visivo prima dell'invio — al massimo tre punti per documento, con il record aperto nel punto esatto e il punto indicato con precisione («pagina 7, secondo paragrafo — l'importo?»); con la navigazione disattivata, record e pagina vengono invece indicati nella chat. Lo strumento di invio consegna all'applicazione il file di scratch riparato, che l'applicazione mostra all'utente in una finestra modale; solo il salvataggio da parte dell'utente sostituisce il testo nella banca dati, e nulla viene memorizzato automaticamente. L'ultima escalation, la richiesta di passaggio del PDF, apre il record e fa sì che il modello chieda all'utente di trascinare personalmente il PDF originale nella chat — il ponte volutamente non fornisce alcun aiuto sul percorso, rifiuta in modo rigido quando non è stata preceduta da una nuova scansione, e rifiuta i PDF oltre i dieci megabyte o oltre le novanta pagine; il modello legge poi il PDF visivamente, costruisce la versione riparata nell'archivio di scratch e la invia attraverso lo stesso gate di revisione. In caso di rifiuto per dimensione o numero di pagine il flusso non finisce: il ripiego della trascrizione apre comunque il record, e il modello chiede all'utente di aprire il PDF tramite la graffetta e di trascrivere alla lettera i punti decisivi («pagina X, in alto, dovrebbe esserci scritto … — lo digiti esattamente, per favore») — al massimo tre punti, ripresi alla lettera nella versione riparata; qualsiasi lacuna residua viene dichiarata apertamente. L'avvocato agisce così come strumento visivo di precisione esattamente per la frazione di una scansione che la macchina non riesce a risolvere, invece di elaborare il documento manualmente.
Gli strumenti di individuazione trovano clienti, persone e istituzioni tramite un frammento di nome, in modo tollerante ai segni diacritici; un cercatore per parola chiave cerca in nomi, note e campi di analisi quando si conosce solo un frammento. Una verifica deterministica di elenchi confronta un documento che contiene un elenco di nomi con tutte le persone e società registrate, indirizzato tramite identificativo della prova o tramite caso — in quel caso viene analizzata la voce più recente del caso, indicata nella risposta. Nei collegamenti con Claude e ChatGPT la verifica delle parti accetta in anticipo le parti successive e le cerca in background mentre quella corrente viene elaborata; i risultati sono conservati per trenta minuti e l'ordine del gate resta invariato. Gli strumenti di rete elencano tutti coloro che sono collegati a una parte tramite relazioni esplicite e casi condivisi, le cricche dell'intera rete delle parti tramite rilevamento deterministico delle comunità (esattamente la vista Universo della schermata delle persone, con un contrassegno di sospetto per gruppi insolitamente densi e una separazione facoltativa di persone e istituzioni in livelli), e le parti più collegate; ogni risposta relativa a una parte inizia con il blocco dei casi a cui la parte è collegata. Il lettore del profilo restituisce ogni campo anagrafico e di analisi completo e non troncato. I lettori dei profili restituiscono il profilo dell'entità con analisi e relazioni, tutte le relazioni di una persona in entrambe le direzioni tra persone e istituzioni, il profilo dell'istituzione e le istituzioni formalmente collegate a un caso. Il lettore del tempo di lavoro riferisce il tempo di lavoro misurato passivamente (ogni visualizzazione di pagina dura fino alla successiva, con un limite di trenta minuti, e l'ultima conta come un minuto) come panoramica dei totali e dei casi, clienti e giorni principali, oppure come ripartizione giornaliera di un caso, su un intervallo di date o su una finestra degli ultimi giorni con valore predefinito di sette.
Scrivere direttamente nelle anagrafiche è impossibile. Due strumenti di proposta collocano i risultati nel monitor di coerenza dei dati dell'applicazione come elementi da revisionare: la proposta anagrafica (solo dopo che l'utente ha confermato nella chat che il risultato deve essere registrato) riguarda un'entità o un'istituzione esistente — individuata prima per nome — oppure descrive un nuovo record per nome e campi, con un elenco di campi ammessi in cui i numeri di identificazione societari e personali condividono un unico campo, solo campi comprovati ammessi, e riferimenti facoltativi alle prove; la proposta di relazione descrive una relazione tra due persone individuate o tra una persona e un'istituzione, con esattamente una controparte, una categoria obbligatoria, una motivazione facoltativa e riferimenti facoltativi a caso, cliente e prove. Una proposta può anche rinominare un record (campo Name), impostarne il tipo (campo PersonKind: fisica o giuridica), cambiare la categoria di una relazione esistente, proporre una cancellazione (di un record, di un'etichetta o di una scadenza evasa) con una motivazione nella lingua di sistema, che è obbligatoria, oppure proporre due record come duplicati; un nuovo record viene accettato solo dopo che il tipo è stato deciso nel dialogo, e una proposta che tocca la descrizione o i dati di contatto di una persona viene rifiutata a meno che il chiamante non abbia letto quel profilo negli ultimi trenta minuti. In entrambi i flussi il record cambia solo quando l'utente accetta la proposta nel monitor. A una proposta di nuovo record si risponde prima con l'elenco dei record simili già esistenti — corrispondenza approssimativa, nulla viene salvato — e il chiamante deve o registrare su uno di essi o confermare esplicitamente, tramite parametro, che la parte è realmente nuova; una corrispondenza rigorosa viene reindirizzata al record esistente. Ogni nuova parte salvata restituisce un obbligo di seguito che impone al chiamante di ricercare e registrare le connessioni della parte, ricerca web compresa. Un terzo strumento di proposta assegna una parte a un caso: esattamente un'entità o un'istituzione, una motivazione obbligatoria e riferimenti facoltativi alle prove diventano un elemento di revisione per il collegamento al caso nello stesso monitor; l'accettazione scrive il collegamento del partecipante su cui si basano le viste delle cricche e delle connessioni, mentre un collegamento esistente, un duplicato in sospeso o un rifiuto precedente vengono segnalati invece di essere riproposti. L'applicazione conta inoltre le proposte per chiamante: dopo due proposte anagrafiche memorizzate e una proposta di relazione o di collegamento al caso considera la sessione come cura della rete delle parti, aggiunge una volta l'indicazione che questo lavoro interamente protetto da gate non richiede un modello di punta e — nella chat interna all'app — mantiene l'esecuzione sul livello di modello intermedio. Processi in background indipendenti alimentano lo stesso monitor: un estrattore di dati deduplicato alla fonte e una scansione periodica di normalizzazione che propone unioni e riclassificazioni secondo il modello a tre categorie (persona fisica; persona giuridica come qualsiasi ente che non sia un singolo essere umano, con un'iscrizione nel registro delle imprese che prevale sulla proprietà statale; istituzione come organi statali senza iscrizione nel registro) — senza mai unire automaticamente.
La biblioteca contiene i testi integrali delle leggi come file markdown con un numero di registrazione interno per ogni legge. Lo strumento di elenco sfoglia l'inventario (identificativo, giurisdizione, titolo, tipo, nome del file, data dell'ultima verifica; predefinito cinquanta, massimo cinquecento) ed è in sola lettura. Lo strumento di ricerca è obbligatorio prima di qualsiasi ricerca su internet di una norma: trova corrispondenze o per denominazione, su titolo e descrizione, o per passaggio citato con tolleranza approssimativa (bastano circa il sessanta per cento delle parole e le desinenze sono tollerate), richiede la giurisdizione ricavata dal caso, colloca le corrispondenze nel titolo molto al di sopra di quelle nel contenuto (una corrispondenza nel titolo vale nove decimi, ogni risultato nel contenuto un decimo, al massimo tre estratti per file) e restituisce per ogni risultato il numero di registrazione, il nome del file, brevi estratti con le loro esatte posizioni in caratteri e una chiamata già pronta per un brano alla lettera il cui intervallo è già ampliato — di almeno cinquecento caratteri oltre l'estratto — così che il modello recuperi da sé la formulazione autorevole invece di fidarsi dell'estratto. Lo strumento dei brani restituisce il contenuto alla lettera di una legge tra due posizioni in caratteri, indirizzato tramite numero di registrazione, limitato al file, preceduto da una nota secondo cui l'intervallo può essere regolato e l'intera legge è caricabile, con i risultati sovradimensionati deviati automaticamente nell'archivio di scratch; la corrispondenza delle cifre nelle ricerche normative usa regole di confine che tollerano la notazione con il punto delle migliaia dei portali ufficiali. Le leggi intere sono caricabili per nome del file o per numero di registrazione, con i file grandi deviati automaticamente. Lo strumento di registrazione è il canale di segnalazione obbligatorio per qualsiasi legge trovata sul web aperto: vengono inviati solo il link, la giurisdizione e, facoltativamente, titolo e frase; un processo in background recupera, converte, memorizza e annuncia la fonte nel monitor dei dati, e il modello stesso non converte mai nulla. Un ciclo di revisione della biblioteca tiene traccia della data dell'ultima verifica di ogni fonte. Una legge caricata dall'utente come file senza fonte online reca in ogni risposta un avviso di attualità, perché non se ne può verificare la vigenza. Il rifiuto di una legge nel monitor dei dati richiede una conferma che ne indica la conseguenza: la legge esce dalla biblioteca, e rifiutare un aggiornamento rimuove l'intera legge, anche sul server di studio.
Uno strumento di riverifica controlla su richiesta una legge rispetto alla sua fonte e riferisce se è invariata, aggiornata o duplicata; un recupero più recente prende il posto della voce, e sul server di studio vince l'ultimo che ha verificato, indipendentemente da chi abbia registrato la legge per primo. Le leggi intere oltre il limite del connettore finiscono nell'archivio di scratch e non registrano nulla come letto; la provenienza deriva dallo strumento degli articoli.
Strumenti di verifica deterministici coprono: IBAN (formato, lunghezza specifica per paese, somma di controllo); numeri personali, previdenziali e fiscali nazionali secondo nove schemi in sei paesi tramite cifre di controllo, con una modalità mirata per schema e una modalità automatica che prova tutti gli schemi e riferisce quelli validi; identificativi IVA europei (prima un controllo offline del formato del paese, poi il servizio ufficiale dal vivo dell'Unione, che restituisce i dati aziendali resi disponibili dove lo Stato membro li fornisce); numeri EORI tramite il servizio di validazione dal vivo dell'Unione; identificativi delle persone giuridiche (prima la somma di controllo, poi il registro globale per stato e nome); e numeri del registro delle imprese tramite il portale europeo dei registri delle imprese, visualizzato in un vero motore di browser, con il modello istruito a leggere la pagina restituita e a confermare il risultato. Ogni validatore restituisce un risultato concreto e motivato — valido con i dettagli, non valido con l'aspetto che non supera il controllo, non trovato, oppure servizio non raggiungibile con lo stato — mai un semplice sì o no, così che un numero realmente errato sia sempre distinguibile da un disservizio. Il livello delle istruzioni rende obbligatoria l'esecuzione del validatore corrispondente prima che un tale numero entri in un documento prodotto o revisionato. Lo stesso set di strumenti contiene lo strumento della posizione approssimativa dell'utente (paese, città e indirizzo pubblico dall'ultima istantanea di accesso, esplicitamente non una fonte per la giurisdizione) e uno strumento meteo fornito al meglio delle possibilità.
Due strumenti raggiungono l'internet aperto, entrambi presentati come integrazione delle capacità web proprie dell'IA desktop, con l'istruzione esplicita di usarli direttamente quando l'IA non dispone di un proprio accesso al web, e il divieto di usarli per dati relativi ai casi. Lo strumento di ricerca interroga tramite un'interfaccia web dal comportamento umano con una scelta di motori e restituisce risultati con titolo e link, destinati a essere seguiti con l'apritore di pagine. L'apritore di pagine recupera esattamente un URL pubblico con una pipeline a stadi che la descrizione elenca per intero, così che il modello non si arrenda mai prematuramente: una richiesta HTTP dal comportamento umano con veri header di browser, gestione dei reindirizzamenti e compressione; rilevamento automatico delle verifiche anti-bot con escalation verso un vero motore di browser integrato; rilevamento delle pagine-guscio JavaScript con rendering finché non compare il contenuto; conversione dei PDF esatta per pagina, usando il livello di testo per ogni pagina e l'OCR solo per le pagine scansionate, così che i documenti misti funzionino; e conversione dei formati office e di testo in testo leggibile. L'output è markdown, completo: il contenuto principale viene estratto (navigazione, pubblicità e banner dei cookie rimossi), le pagine senza corpo di articolo mantengono il piè di pagina perché lì si trovano indirizzo e dati di contatto, e dove l'estrazione lascerebbe quasi nulla viene consegnata invece l'intera pagina. Una chiamata risponde entro quarantacinque secondi; un documento grande o scansionato continua a essere elaborato in background e viene consegnato subito alla chiamata successiva con lo stesso indirizzo. I portali normativi vengono rifiutati finché non è stata effettuata una ricerca nella biblioteca, secondo il gate delle norme.
Tutta la navigazione è facoltativa e soggetta a un interruttore dell'utente; senza di esso l'intero gruppo non esiste. Gli strumenti di navigazione aprono, nella finestra principale dell'applicazione: un caso (facoltativamente sulla scheda della cronaca o della valutazione), l'elenco dei casi di un cliente, una persona, un'istituzione (entrambe evidenziate con il dettaglio aperto), una voce di prova (pagina di cronaca corretta, evidenziata), la preparazione del dossier (con una variante completamente automatica riservata al desiderio esplicito dell'utente di un PDF completo), il protocollo giornaliero (facoltativamente il dettaglio di un giorno specifico), il monitor e-mail (facoltativamente il dettaglio di una mail specifica), la ricerca globale con una query avviata (riservata al desiderio esplicito; le risposte in chat usano invece la ricerca interna), l'area di backup con avvio immediato di un backup, e qualsiasi schermata indicata dall'elenco canonico delle schermate. Le finestre di esportazione coprono l'elenco dei clienti, l'elenco delle scadenze, la panoramica dei casi di un cliente, il dossier del caso in due tipi di documento e la mappa, più la creazione del pacchetto IA del cliente. Tutti gli strumenti di navigazione sono soggetti al blocco rigido e sono i destinatari delle offerte di navigazione della sezione 7.
Il set di strumenti di scrittura vincola la produzione di documenti a specifiche recuperate. Lo strumento del formato di output restituisce l'istruzione di generazione vincolante per il tipo di artefatto richiesto — per gli atti differenziata tra atto giuridico e lettera semplice, ciascuno in forma con difensore e senza difensore, con la giurisdizione, la lingua e la data del caso risolte direttamente nell'istruzione e segnaposto che il modello compila con i dati del connettore; lo strumento del formato di invio della posta restituisce la specifica vincolante per gli invii al tribunale con consegna sequenziale dei pacchetti. Entrambi vanno seguiti alla lettera. Il passaggio all'editor inserisce un atto in markdown direttamente nel word processor di IRONSTICK con il testo caricato ma nulla memorizzato — l'utente rivede e salva — ed è disponibile sul collegamento con Claude. Lo strumento di acquisizione della cronaca apre il modulo della cronaca precompilato nel caso corretto, senza salvare nulla da sé.
La consegna dei file all'utente avviene esclusivamente tramite lo strumento di consegna, che il front-end esegue da sé: il file finisce nella cartella di consegna dedicata all'interno della directory dei download dell'utente, la cartella si apre con il file evidenziato, e viene stampato un link. La cartella è destinata solo alla consegna — nulla al suo interno viene mai letto, modificato o cancellato dal modello. Il contenuto arriva o in linea oppure, in modo preferito e obbligatorio per file grandi o già scritti, tramite percorso sorgente, che il front-end legge direttamente dal disco così che nulla venga ridigitato attraverso il modello, formati binari compresi. Il modello assegna da sé le versioni ai nomi dei file, un nuovo numero per ogni consegna, e una consegna con lo stesso nome sovrascrive; il risultato riporta le versioni esistenti della radice del nome e la più alta, avvertendo quando il numero consegnato non è il più alto. La consegna avviene una volta per compito, alla fine, mai per stati intermedi, e passa prima per il gate di formalità della sezione 8.
Lo strumento di passaggio consegna un lavoro prodotto all'altra IA desktop: il contenuto va in un grande archivio a breve termine, un record di compito vi fa riferimento, l'istruzione (limitata a mille caratteri) indica che cosa deve fare la pari, e il modello chiede poi all'utente di attivare la pari nell'altra applicazione. Lo strumento della casella in arrivo elenca i compiti aperti indirizzati al chiamante — i propri non compaiono mai — con identificativo, incarico e contenuto completo, facoltativamente filtrati per cliente o caso. Lo strumento di risposta chiude un compito (cancellandone il contenuto a breve termine) e contemporaneamente rimanda la valutazione come nuovo compito al mittente originale; lo strumento di completamento chiude senza restituire nulla. Lettura e scrittura dello scratch sono membri di questo set di strumenti per gestire i contenuti scambiati.
Per ogni caso l'utente può memorizzare file di istruzioni che il modello deve consultare. L'elencatore mostra le istruzioni di un caso con identificativo, nome del file, dimensione, data di caricamento ed estratto, senza testi integrali; l'inventario globale elenca ogni istruzione su tutti i clienti e casi; il lettore singolo restituisce un'istruzione senza tagli tramite il suo identificativo numerico, con l'opzione di instradare il contenuto grezzo nell'archivio di scratch, esatto al byte, per il passaggio diretto; il lettore cumulativo restituisce tutte le istruzioni di un caso in una chiamata con la stessa opzione di scratch. Entrambi gli output di elenco vengono deviati automaticamente quando sono sovradimensionati. Lo strumento di aggiornamento propone una versione modificata attraverso esattamente una di tre vie — un frammento da aggiungere in coda (la via preferita per le aggiunte, con l'applicazione che assembla da sé il risultato e il divieto per il modello di riprodurre il contenuto esistente), un percorso sorgente verso una nuova versione completa sul disco, oppure il nuovo contenuto completo in linea — e l'applicazione mostra la modifica all'utente come confronto; solo un'approvazione esplicita la adotta, l'esito (approvato, rifiutato o in sospeso) viene restituito, e uno stato in sospeso vieta di inviare di nuovo. L'esportazione del pacchetto costruisce il bundle completo di istruzioni e skill di un cliente e apre la finestra di esportazione.
Un complemento lato client integra il ponte senza far parte della superficie MCP: un plugin di skill installabile per ogni IA desktop (cinque skill che rispecchiano il modello di lavoro basato su set di strumenti e run-tool, generate e versionate dal configuratore dell'applicazione). La configurazione del front-end del ponte per ogni IA viene scritta dai corrispondenti pulsanti del configuratore, che scrivono sempre l'identità del chiamante e il percorso delle istruzioni per proteggere dalla condivisione della configurazione tra IA diverse.
Ogni rifiuto nel sistema è istruttivo anziché laconico: le violazioni dello schema restituiscono lo schema atteso; i nomi sconosciuti restituiscono la corrispondenza più vicina; il gate della data indica il rimedio esatto; il gate delle norme indica la procedura della biblioteca; il blocco della navigazione indica la schermata protetta e l'alternativa differita; il blocco del consenso indica la finestra per riprovare; le risposte sovradimensionate indicano il file e i due comandi di proseguimento oppure i filtri di restringimento; i fallimenti dei validatori indicano l'aspetto che non supera il controllo e distinguono i disservizi; i rifiuti per capacità nella memoria indicano occupazione e spazio residuo e, vicino al limite, le opzioni di ristrutturazione; i gate di consegna e di ricerca indicano le loro opzioni di risposta, compresa la via d'uscita universale unknown; il blocco di accesso indica le due chiamate che lo aprono; il gate di preparazione indica le parti non lette con identificativi e percentuali; il verificatore degli atti indica, per ogni lettura scaduta o azzerata, l'esatta chiamata che la ripristina. Il contratto verso il modello prevede che, dopo al massimo tre tentativi corretti su una qualsiasi chiamata che fallisce, il modello si fermi e riferisca all'utente l'errore esatto.