# FRENETIC — cosa non deve MAI finire in un repository.
#
# Il progetto oggi non e' un repo git, ma il sito e' pubblico e invita a
# installarlo: il giorno in cui qualcuno fa `git init` qui dentro, questo file
# deve gia' esistere. Aggiungerlo dopo il primo commit non serve a niente,
# perche' quello che e' entrato nella storia ci resta.

# --- Dati personali e riservati -------------------------------------------

# Impronta vocale: 256 numeri derivati dalla voce di una persona. Sotto il
# GDPR un dato biometrico usato per identificare qualcuno e' una categoria
# particolare di dati (art. 9). Non va in nessun repository e in nessun backup
# condiviso, nemmeno privato.
voices/
*.npz

# Appunti e ricordi: contengono nomi di clienti, trattative, cose dette a voce
# davanti al microfono.
memory/

# Documenti aziendali dati in pasto alla knowledge base. Il listino
# dell'azienda e' esplicitamente coperto da riservatezza: "e' severamente
# vietato divulgare il listino a terze parti".
documenti/
!documenti/COME-SI-USA.md

# E LE SEDI DEI CLIENTI, che dal 01/09/2026 stanno accanto alla loro
# configurazione invece che dentro documenti/. Lo spostamento serve a
# tenere separati i documenti di aziende diverse (vedi conoscenza.Sede).
# Corretto il 15/09/2026: qui c'era scritto che senza questa riga i
# documenti di un'azienda sarebbero finiti nel repository. Non e' cosi':
# `documenti/` qui sopra non ha la barra iniziale e vale a ogni livello,
# quindi copre gia' clients/<cliente>/documenti/ (provato con git
# check-ignore). Questa riga resta come seconda protezione, se un giorno
# quella sopra cambiasse. La configurazione del cliente resta versionata,
# i suoi documenti no.
clients/*/documenti/

# Registro delle azioni: dice cosa e' stato letto, aperto ed eseguito.
logs/

# Foto di riferimento per il colore dell'orb: hanno un autore e una licenza,
# e servono solo a campionare dei colori su questa macchina. Un colore non e'
# protetto da copyright; la fotografia si'.
riferimenti/
!riferimenti/COSA-METTERE-QUI.md

# --- Credenziali e cache di servizi ----------------------------------------

# Cache di Wrangler: contiene account id e l'indirizzo email dell'account
# Cloudflare. Nessun token, ma non c'e' motivo di pubblicarli.
.wrangler/
sito/.wrangler/

# IL PACCHETTO PUBBLICO, che `prepara-pacchetto.ps1` costruisce dentro sito/.
# Non si versiona: e' un DERIVATO del versionamento stesso (git archive), e
# tenerlo dentro vorrebbe dire mettere nel repository una copia compressa del
# repository, che a ogni versione cambia tutta. Si rigenera con un comando.
sito/frenetic.zip

.env
.env.*
*.pem
*.key

# --- Roba pesante e ricostruibile ------------------------------------------

# Ambienti e interprete rilocabile: si rifanno con `uv venv` e con l'installer.
.venv/
.venv-vecchio-contenitore/
runtime/

# Profilo Chrome dedicato: si ricrea da solo al primo avvio, e contiene
# cronologia e permessi del browser.
browser-profilo/

# Pesi dei modelli: centinaia di MB, si riscaricano.
models/
*.onnx
*.gguf

__pycache__/
*.py[cod]
*.egg-info/
build/
dist/

# --- Sistema ---------------------------------------------------------------
Thumbs.db
desktop.ini
.DS_Store

# Dati identificativi dell'azienda: ragione sociale, sede, partita IVA e il
# recapito per le richieste di cancellazione. Servono a UN adempimento -- la
# lettera dell'art. 14 ai commercialisti -- e non c'entrano con il
# programma. Un'azienda reale non entra nel repository del software che usa.
azienda.yaml
!azienda.esempio.yaml

# Regole commerciali: margini, pavimenti di sconto, cosa si propone.
# Sono informazioni dell'azienda, non del programma. Il file di esempio
# senza numeri resta, cosi' chi installa FRENETIC sa che forma dargli.
regole-commerciali.yaml
!regole-commerciali.esempio.yaml

# Cio' che FRENETIC produce per l'utente: impaginati, immagini generate,
# schermate, file scritti su richiesta. Contenuto suo, non del programma.
uscite/

# La chiave con cui gli altri apparecchi della rete possono bussare. E' un
# segreto di QUESTA installazione: chi ce l'ha entra dal telefono. Si
# rigenera cancellando il file.
chiave-rete.txt

# Il si' al modello pesante (docs/modello-per-macchina.md). Lo scrive
# installa.ps1, con --scegli-modello, solo dopo averlo scaricato: e' una
# scelta di QUESTO computer, come la chiave qui sopra. Un file versionato
# arriverebbe con il pacchetto (che parte da git archive) a computer che il
# modello non l'hanno scaricato e magari nemmeno la memoria per usarlo.
# Il .tmp e' quello che resta se la scrittura si interrompe a meta'.
modello-scelto.txt
modello-scelto.txt.tmp

# Il file che lascia `coverage run`: e' una misura di una macchina e di un
# momento, non una cosa del progetto.
.coverage

# La cache del grafo del codice. Si rigenera da sola con `graphify update .`,
# e `last_query_stamp` viene riscritto a OGNI interrogazione: tenerla dentro
# il versionamento faceva risultare `git status` sporco senza che nessuno
# avesse toccato del codice -- cioe' metteva rumore esattamente dove serve il
# silenzio, visto che CLAUDE.md chiede di guardare git status prima di ogni
# commit. Il grafo vero (graph.json, GRAPH_REPORT.md) resta versionato.
graphify-out/cache/

# Le skill di terze parti installate qui dentro. Sono attrezzatura di chi
# sviluppa l'interfaccia, non codice di FRENETIC, e nessun sorgente le
# importa: 54 file per 1,87 MB, fra cui tre CSV di dati. La ricetta per
# rimetterle sta in skills-lock.json, che resta versionato: sorgente,
# percorso e impronta di ognuna. I file restano su disco e continuano a
# funzionare; smettono solo di viaggiare con il progetto.
.claude/skills/

# Li scrive prepara-pacchetto.ps1 insieme, e cambiano a ogni costruzione:
# tenerli qui dentro riempirebbe la storia di differenze che non dicono niente.
sito/versione.json

# Gli esiti dei banchi di misura: si rigenerano lanciandoli, e committarli
# vorrebbe dire tenere in repository numeri che invecchiano da soli.
prima_t0.json
dopo*_t0.json

# L'app di misura per il telefono (docs/telefono/app-misura, 17/09/2026):
# percorsi di questa macchina e prodotti della compilazione.
docs/telefono/app-misura/local.properties
docs/telefono/app-misura/.gradle/
docs/telefono/app-misura/app/.cxx/
docs/telefono/app-misura/**/build/

# L'app dell'ascolto (docs/telefono/app-ascolto, 21/09/2026, passo 3b): le
# stesse regole. Gli spezzoni WAV in assets/ INVECE SI VERSIONANO: sono la
# misura, e rigenerarli con Piper darebbe onde diverse (la sintesi non e'
# deterministica) e numeri non confrontabili.
docs/telefono/app-ascolto/local.properties
docs/telefono/app-ascolto/.gradle/
docs/telefono/app-ascolto/app/.cxx/
docs/telefono/app-ascolto/**/build/
