Sophia Console · guida (KB2, tappa 1)
KB2 è una memoria a scritture esplicite: nessun estrattore LLM, nessun episodio. Le entità si identificano per nome (unico per workspace); i fatti (archi) hanno un uuid, sono temporali e firmati. Ogni scrittura — anche fallita — lascia un evento nel log. In questa tappa la console è ispettore & cura; la chat agentica arriva in tappa 2.
La disciplina
- Cerca prima di creare. Il nome è unico per workspace: se esiste già, il core non crea e ti ridà l'esistente. Prima di una nuova entità, cerca il nome e i sinonimi plausibili.
- Chiudi, non cancellare. Un fatto superato si chiude (motivo obbligatorio) e resta nella Storia; se serve se ne registra uno nuovo. Il delete è solo per errori materiali (doppioni, refusi irrecuperabili) e lascia un tombstone nel log. Non esiste il ripristino: la storia non si riscrive.
- Ogni scrittura è firmata. Actor e origin finiscono nell'event log.
Esplora
Feed Attività (colonna sinistra): le ultime scritture dall'event log — chi, cosa, quando, da dove, con che esito. I tentativi falliti compaiono col bordo rosso (il messaggio nel tooltip). Filtri: tutto · entità · fatti · errori. Un click apre la scheda dell'entità toccata, o il dettaglio grezzo dell'evento.
Eentità (add/update) · Rfatto/relazione (add/update) · Cchiusura · Ddelete · Sseed
Ricerca (input del feed e della colonna centrale): full-text deterministico su entità e fatti correnti. I risultati sono cliccabili nel thread.
Scheda entità: tipo (con chip provvisorio se fuori ontologia), summary, Vicinato (fatti correnti a 1 hop, con link alle altre entità) e Storia (tutti i fatti, i chiusi in grigio con «fino al…»). Ogni fatto mostra chi l'ha scritto e da dove. Si naviga di scheda in scheda.
Cura (ruoli writer/admin)
- chiudi su un fatto corrente: motivo obbligatorio, il fatto diventa storia.
- ✎ su un fatto: correzione materiale di enunciato/relazione (refusi) — il log conserva prima e dopo.
- ✎ Modifica sull'entità: nome (rename sicuro: i fatti seguono il nodo), tipo (validato contro l'ontologia), summary.
- Elimina (entità o fatto): solo errori materiali, motivo obbligatorio, tombstone nel log.
Add
Nuova entità: nome, tipo (dall'ontologia — la spunta «tipo provvisorio» è la scappatoia per i tipi fuori vocabolario, raccolti poi in cura e segnalati dal badge in alto), summary. Nuovo fatto: collega due entità esistenti; l'enunciato è una frase completa, la relazione in MAIUSCOLO_CON_UNDERSCORE; «valido da» opzionale (vuoto = adesso). Gli errori del core sono didattici: leggili, spiegano cosa fare.
Ontologia
La costituzione viva: tipi validi (cliccabili — sono entità del workspace _ontology,
si curano lì come qualsiasi entità, ruolo admin), relazioni suggerite (vocabolario, non gabbia),
meta-vocabolario, regole d'uso e naming.
Novità
Il log di sviluppo della console e del motore: ogni modifica col suo perché
(changelog.json).
Badge in alto: verde = KB ok · N grafi; ambra = ci sono tipi provvisori in attesa di
cura (elencati nel tooltip); rosso = KB non raggiungibile. Il token resta nel browser
(localStorage) e viaggia come bearer verso /graphql, same-origin.