Un sistema che osserva un dominio, sceglie una tensione, esegue, verifica, accumula — e corregge la struttura, non il sintomo.
Il plugin Researcher installa un ciclo di ricerca autonomo notturno nell'ambiente in cui vive. Il dominio arriva dall'installatore — numeri primi, mercati, proteine, lingua, segnali, dati propri. Il ciclo porta il metodo: osservare, eseguire, autopsiare, affinare, accumulare.
Non una pipeline di script. Un agente AI che legge il campo, sceglie una tensione, scrive un esperimento, lo esegue, produce un report. Un osservatore separato guarda il passo stesso — non il risultato — e propone evoluzione. L'autopsia della notte precedente entra nel campo della notte successiva: il sistema sa cosa è accaduto.
Prima che il ciclo suggerisca, legge. Il campo vivo si assembla a ogni notte da seed, ultimi report, convergenze, autopsia. Nulla è inventato.
Il ciclo non conosce il dominio. Lo apprende dal seed. Primi o mercati, fisica o linguistica — lo stesso loop. Il dominio cambia, il metodo resta.
Quando qualcosa nel ciclo si interrompe, il fix non vive nel presente in cui emerge. L'autopsia nomina il nodo a monte dove la condizione relazionale mancava. Il ciclo successivo riceve quel nodo. L'agente decide consapevole.
Una sola esecuzione pianificata ogni notte. Quattro passi, ognuno con il proprio ruolo.
Pura I/O, nessuna LLM, nessun timeout. Classifica l'esito della notte precedente, nomina il nodo regressivo, produce lab_health.json.
Il contesto fresco si costruisce da seed, tensioni, ultimi report, mappa convergenza, salute autopsia. Quello che serve alla notte, non di più.
Un'istanza AI sceglie una tensione, scrive o riusa un esperimento, lo esegue contro una baseline nulla, scrive il report scientifico.
Un secondo osservatore AI guarda il passo stesso, non il risultato. Segnala latenza superflua, propone evoluzione strutturale. Se fallisce, il ciclo resta in piedi.
Ogni notte lascia tre artefatti sul disco. Il mattino porta tutti e tre.
reports/agent_YYYYMMDD_HHMM.md
lab_health.json
evolution/evolution_YYYYMMDD_HHMM.md
Si legge. Si decide. Si rimette nel seme. La notte successiva parte da dove la precedente è arrivata.
Il ciclo funziona bene dove il dominio ha struttura e dove le domande aperte possono essere formulate come tensioni falsificabili.
Non è adatto a domande one-shot, a domini senza struttura, a pipeline con catene di dipendenza rigide, a contesti che richiedono dati real-time durante il run.
Prerequisito: il seme base D-ND installato nel progetto.
./install.sh profiles/example-researcher.json
L'installer legge il profilo researcher, adatta i template al nome del dominio e ai path, scrive il ciclo, l'autopsia, l'affinatore, il costruttore del campo, un esperimento d'esempio. La configurazione specifica del dominio vive in data/seed.json (tensioni, direzione) e data/agent_context.md (guida per l'agente notturno).
exp_*.py, oppure il primo lo scrive l'agenteLe tensioni si accumulano. Alcune verificate, alcune falsificate, altre al cimitero. Il seed diventa una mappa vivente di cosa il dominio ha raccontato.
La timeline dei report evoluzione mostra dove il ciclo ha speso energia, dove ha trovato struttura, dove l'investimento era fuori direzione. Meta-segnale sul metodo stesso.
~300 esperimenti autonomi, ~300 autopsie, ~300 affinamenti. Nessuna sessione perduta. Ogni mattina riparte da dove la notte è arrivata.
Researcher è un profilo tra quelli che il seme D-ND supporta. Il kernel — assiomi, identità base, safety guard, memoria, cascata di propagazione — è condiviso. Il ciclo è specifico di Researcher.