Open-source · master del generatore

D-ND_LAB.
Il Lab installabile.

L'orchestratore che fa girare il laboratorio D-ND. Il demo physics e' il master vivo: 19 movimenti, producer, bias_corrector, falsifier counter-pole, bicono, verify_assertions, seme e cimitero. Lo stesso core puo' essere configurato per altri domini quando assiomi, fonti e primo cycle sono definiti.

MIT Provider policy Counter-pole Python 3.11+

Un comando, poi configurazione di dominio.

L'installer prepara il runtime. Il Lab diventa utile quando il dominio viene configurato: context, assertions, seed_tensions, fonti e capability attive. La procedura viva e' in INSTALL_PROCEDURE.md; il generatore futuro automatizzera' questa intervista.

$ curl -fsSL https://raw.githubusercontent.com/GrazianoGuiducci/D-ND_LAB/main/install.sh | bash # dopo l'install $ cd ~/.d-nd-lab $ docker compose run --rm lab # un ciclo $ docker compose --profile cron up -d # cicli notturni $ docker compose --profile dashboard up -d # UI web + chat

Diciannove movimenti.

Il cuore nuovo e' la catena producer -> bias_corrector -> report_falsifier. Il producer scrive, A8 interna riformula claim fragili, il counter-pole applica le 5 lenti e cio' che resiste entra nel seme; cio' che cade alimenta il cimitero quando il verdict lo richiede.

0
autopsyosserva il run precedente, identifica il nodo regressivo
1
build_fieldassembla il campo vivo dal seme + report + tensioni
2
agentl'agente LLM esegue un esperimento autonomo
3
bias_correctorA8 autologica interna: riscrive claim biased prima del falsifier
4
report_falsifiercounter-pole asimmetrico, 5 lenti contro il report
5
bicono_extractorestrae radici, singolare, invariante, campo dal report
6
validate_seedintegrita' + bootstrap dal seed_tensions iniziali
7
verify_assertionsesegue claim del dominio, PASS / FAIL / SKIP
8
structural_checkscansiona codice, inietta tensioni META su anti-pattern
9
build_lab_datasnapshot piano + tensioni + ultimo report
10
build_graphnodi + archi del grafo della conoscenza
11
syncpropaga lo stato verso target dichiarati
12
verify_endpointshealth-check dei consumatori a valle
13
refinersecondo LLM osserva il PASSO, non il risultato
14
semantic_bridgemappa scoperte alle categorie del dominio
15
refresh_detectortrigger event-driven della rigenerazione
16
seed_integratorcristallizza il nuovo seme, anche da verify_assertions
17
trajectory_evaldecide STOP / NEXT / REDESIGN / ESCALATE
18
notifywebhook all'operatore

Provider policy, non lock-in.

Il Lab non impone il nostro setup. Ogni installazione puo' usare modelli locali, account subscription o API esterne in base a privacy, budget, latenza, tool richiesti e profondita' del ciclo.

local-first
ollama / endpoint locale
Per domini sensibili o ambienti on-premise: dati e inferenza restano nel perimetro scelto.
subscription
account operator / team
Per ridurre dipendenza da API billed quando il workflow lo permette.
api provider
OpenAI-compatible
Per tool calling, modelli specializzati, fallback controllati e deployment gestiti.
per movement
policy separata
Producer, critic, falsifier e refiner possono avere vincoli diversi.

Il demo pubblico usa una policy specifica al nostro ambiente. Chi installa il Lab sceglie la propria policy: locale, subscription, API o combinazione per movement.

Domini nel seme, non dominio nel core.

Il core resta agnostico. Ogni dominio porta context, assertions, seed_tensions, fonti e capability. Physics e' il demo vivo; editorial dimostra il pattern oltre il numerico; gli altri Lab passano dalla procedura canvas prima di essere installati.

physics

demo live

Il lab physics che gira a lab.d-nd.com: primi, zeta, GUE, sistemi dinamici, theory crossing TQGE+R. E' il master vivo del prodotto, non una pagina di marketing.

tensions21 mappate, 8 attive iniziali
toolsbuilt-in + dnd_*.py portabili
outputreport scientifici + bicono + cimitero

editorial

domain pattern

Il lab che legge l'archivio dell'operatore, discrimina source da echo, redige bozze attraverso il filtro non-dual-copy. Dominio semantico — la prova che il pattern funziona oltre il numerico.

tensions12 categorie, 8 iniziali
toolsarchive_search + voice_check
outputdraft + bicono + voice-check verdict

Scrivere un dominio nuovo: docs/domains/extending.md. La procedura completa del generatore futuro vive in docs/INSTALL_PROCEDURE.md.

Sicurezza per default.

Il lab esegue codice e LLM in un contesto operativo. La sandbox e' esplicita, gli operatori sono ridotti, i segreti sono separati, e il layer semantico blocca claim biased prima che diventino base.

Sandbox path-allowlist

I tool dell'agente vedono solo il data dir del dominio (read+write) e la dir di config (read-only). Tutto il resto solleva PermissionError.

Env stripping nei subprocess

LLM_*, *TOKEN*, *API_KEY*, *SECRET* vengono rimossi dall'env passato ai subprocess. Codice agentico non può leakare credenziali.

Hard caps per ciclo

LLM_MAX_TURNS, LLM_TIMEOUT_SECONDS, LLM_MAX_COST_USD opzionale — tre vincoli esplicitamente enforced nel loop dell'adapter.

Container non-root

UID 1001, healthcheck Python imports, niente shell di default. Volume /data isolato.

Corpus privacy

domains/*/corpus/* e' gitignored. Solo README + .gitkeep tracciati. Il contenuto utente resta fuori dal repo e dalla pubblicazione di default.

Auth opt-in dashboard

DASHBOARD_AUTH=enabled per esposizione di rete. Demo pubblica in modalità read-only blocca le scritture.

Falsifier counter-pole

Il report non passa direttamente al seme: viene letto da un polo critico con 5 lenti legate agli assiomi del modello.

Dashboard viva, read-only nel demo pubblico.

La dashboard mostra il campo: grafo, bicono, report, falsifier, cimitero, tassonomia e traiettoria. Il run cycle pubblico e' spento in produzione: early access finche' il demo non e' stabile per uso esterno.

Domain dashboard

Cards per ogni dominio attivo con piano, tensioni, report e direzione corrente.

Falsifier + cimitero

Il counter-pole mostra flag, evidence e suggestion. Cio' che non sopravvive non sparisce: resta come memoria del filtro.

Early access

Il cycle dal browser richiede accesso controllato. La UI pubblica serve a vedere il sistema vivere, non a consumare risorse senza contesto.

Demo live (modalità read-only, lab fisica nightly): lab.d-nd.com/dashboard.

Provarlo

Installabile, poi validato dal primo cycle.

L'installazione prepara il runtime. Il primo cycle serve a verificare dominio, assertions, fonti, provider e output. Se fallisce, il Lab resta in stato da correggere; se regge, puo' entrare in schedule.

Status

Alpha — demo physics vivo, dashboard pubblica read-only, cycle pubblico in early access. Il codice evolve come master del generatore; la migrazione di nuovi Lab resta controllata finche' la procedura non e' stabilizzata.