--- tipo: cantiere id: consolidamento-notturno nome: Consolidamento notturno aliases: ["Consolidamento notturno"] fase: attivo (v1 dal 30/06; compiti 6-7 aggiunti 01/07) output: script cron su la Nave che mantiene il vault pulito (alias, backlink, indice, graph-map, ancoraggio archivio) + report orfani + report link irrisolti fonte: [sessione 30/06, estensione 01/07] aggiornato: 2026-07-01 --- Primo lavoro autonomo di [[Adrian]]. Script deterministico, gira di notte sulla Nave (cron 04:00), fa **manutenzione meccanica** del vault — fatica senza giudizio. v1 attiva dal 30/06 (compiti 1-5). Compito 6 aggiunto il 01/07. ## I 7 compiti 1. **Back-fill alias** — per ogni nodo senza `aliases:`, aggiungerlo dal campo `nome` (+ forme corte usate nei wikilink). Scrive nel frontmatter (additivo). Auto. 2. **Archi inversi (backlink)** — derivare "chi punta verso di me", materializzare in `_index/backlinks.md`. Auto. 3. **Census orfani/anomalie** — `_index/orphans.md`. **Solo segnalazione.** Considera **tutti** i `.md` del vault e li partiziona in bucket per cartella + esito parsing (*esteso 01/07*): **A** nodi-nel-grafo (sani, solo conteggio); **B** orfani veri (nodo, 0 archi → flag); **C** sink/source-only (archi in una sola direzione → **flag soft**, es. [[Federico Di Chio]]); **D** in cartella-nodo ma non parsato (nodo caduto fuori dal grafo in silenzio → **flag duro**); **E** servizio (`_recipe/ _inbox/ _sorgenti/`, README, pilastri: edgeless *atteso*, elencati non flaggati); **F** archivio. Header: `totali = nodi + servizio + archivio`, così il gap file-vs-nodi è auto-esplicativo. Il giudizio su cosa farne resta umano. 4. **Indice** — `_index/index.md`: conteggi per tipo, lista file. Auto. 5. **Graph-map** — `_index/graph-map.md`: adiacenza completa nodo→archi (in/out) dei **soli nodi canonici**. Caricata al boot da Elon per ragionare sulla struttura senza query. **Esclude `_archivio/`**; sul nodo [[Archivio]] collassa i link d'archivio a un conteggio (es. `→ 34 file d'archivio`), per non gonfiare la mappa. **Nell'header emette il banner `SEGNALI` (nuovo 01/07):** `unresolved:N · sink(C):N · unparsed(D):N · Δ:{si|no}` — riassunto dei flag dei compiti 3 e 7, che Elon legge al boot a **costo zero** (viaggia dentro un file già caricato). `Δ` confronta i tre conteggi col banner della notte prima. AUTO-GENERATO. 6. **Ancoraggio archivio (nuovo 01/07)** — rigenerare nel nodo [[Archivio]] (`entità/archivio.md`) una sezione AUTO-GENERATA che linka **ogni `.md` in `_archivio/` (ricorsivo) non già collegato altrove**. L'ancora punta ai file (non viceversa) → nella graph view ogni file d'archivio risulta connesso, la corona si riassorbe in un grappolo ordinato. **NON modifica i file d'archivio** (restano verbatim: unica interazione = leggerli per elencarli). Idempotente. Auto. 7. **Report link irrisolti / fantasmi (nuovo 01/07)** — `_index/unresolved.md`. Elencare ogni wikilink che **non risolve** a nessun file/alias, con **chi lo cita**. Distinguere due cause: (a) **alias mancante** sul nodo destinazione (bug → il compito 1 lo sistema); (b) **stub voluto**, link a nodo non ancora creato (atteso, §6). Scopo: rendere visibili i fantasmi, che `orphans.md` NON vede (un fantasma non è un file, è un link nel vuoto). Così ogni puntino della graph view ha nome e causa. **Sola segnalazione**, non tocca nulla. Auto. ## Modello di autonomia (chiave) - Compiti **1-2-4-5-6 = scrittura autonoma** (deterministici, idempotenti, ricostruiti dai file ogni notte). - Compiti **3 e 7 = sola segnalazione.** Il giudizio "collegare o lasciare" / "riempire lo stub o è un bug" non si automatizza (principio [[Distillazione automatica]]: automatizza la fatica, mai il giudizio). Elon aggancia un orfano o riempie uno stub solo dopo indicazione di Mauro. - Le scritture toccano: frontmatter alias (compito 1, additivo); file derivati in `_index/` (2,4,5); il nodo [[Archivio]] (compito 6, sezione auto-generata). **Mai** il contenuto dei file in `_archivio/`. ## Regola che serve (CLAUDE.md §9, Mauro 01/07) **Zero file orfani.** Ogni `.md` è un nodo (collegato per contenuto) o archivio (collegato a [[Archivio]]). Da qui un puntino nudo è sempre un'anomalia, non tolleranza "di categoria". Collegare ≠ cancellare: i file d'archivio restano (rete ri-derivabile). ## Vincoli File derivati marcati "AUTO-GENERATO — non editare a mano". Non inventare tipi di arco fuori dal vocabolario di CLAUDE.md. Non creare sinapsi *di contenuto* nuove (è giudizio) — l'ancoraggio archivio non è una sinapsi di contenuto, è un aggancio strutturale deterministico. Colla su misura, non un motore KG. ## Riferimenti - [[Adrian]] — esecutore - [[Archivio]] — nodo-àncora del cold store (compito 6) - [[Distillazione automatica]] — stesso principio (fatica vs giudizio)