# Edge provenance, certainty e lint

Usa questa reference per spiegare, curare o verificare `document_links` e la salute della mappa documentale. Distingui sempre `origin` (come nasce l'edge) da `certainty` (quanto e affidabile): `manual`, `inferred`, `ambiguous` e `curated`.

## Correlazione e review

1. Recupera shelf, documenti e link esistenti; per manutenzione ordinaria restringi lo scope al documento o sottodominio interessato.
2. Esegui `docs_management correlate` con `apply:false`. I candidati con confidence almeno `0.75` sono `inferred`; gli altri sono `ambiguous` e non sono persistibili dall'apply euristico.
3. Riporta signals, evidence e provenance. Con `apply:true` vengono scritti esclusivamente gli inferred, tramite il normale change-log.
4. Quando la review umana conferma un inferred, usa `docs_management manage_document_links` con `operation:"promote_link"`, `link_id` e rationale opzionale. La promozione conserva origin ed evidence, ma porta certainty a `curated`.

Un edge curated e protetto: non proporre `replace_for_document`, correlate o prune come modi per eliminarlo o rigenerarlo. `prune_heuristic_links` riguarda solo edge heuristic non curated e richiede comunque dry-run prima dell'apply. Metadata legacy assenti o JSON non valido restano leggibili: segnala la provenance non verificabile, senza interrompere l'operazione.

## Lint locale e remoto

`docs_mindmap` con `action:"lint_mindmap"` esegue i check selezionabili: `dead_links`, `stale_source_hash`, `ambiguous_edges`, `orphan_nodes`.

- Il default e `apply:false`: restituisce issue, severita, evidence e rimedio.
- `apply:true` e conservativo: tombstona solo dead link attivi `origin:"heuristic"` e certainty `inferred`.
- Non rimuovere automaticamente edge manual, curated, ambiguous, legacy non classificabili o documenti orfani.
- Su repliche read-only e remote-server, `apply:true` e rifiutato.

Per un report occasionale remoto usa `docs_remote` con `action:"lint_remote_mindmap"`, `remote` e `remote_shelf_uuid`. E un read-through dello snapshot V3: non crea repliche, non aggiorna cursor, non invia push e non risolve conflitti. Uno snapshot puo omettere endpoint esterni: non dichiararli dead link senza evidenza nel payload esportato.

## Verifica

Dopo una write locale, rileggi il documento con `include_links:true` e verifica versione, certainty, provenance/evidence e change-log quando pertinente. Per una replica o un remoto, dichiara separatamente cio che e stato solo analizzato da cio che e stato effettivamente sincronizzato.
