fix(ui): improve knowledge reading and add isolated formatting examples
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import type { MemoryCard, MemoryInput } from "../api/memory";
|
||||
|
||||
// Presentation fixtures only. Never pass these cards to persistence or recall.
|
||||
const samples: MemoryInput[] = [
|
||||
{
|
||||
family: "domain_clarification", subject: "FAKE · Distinguere eventi e soggetti",
|
||||
detail: "Questo è un esempio inventato per verificare la leggibilità di una regola lunga, non una definizione approvata del workspace. Nel catalogo dimostrativo un soggetto può comparire in più eventi e ogni evento può contenere diverse osservazioni; la chiave `demo_visuale.event_id` identifica un evento, mentre `demo_visuale.subject_id` serve esclusivamente a raggruppare le righe dello stesso soggetto fittizio. Per mostrare la separazione tra paragrafi, immaginiamo di dover descrivere il criterio di conteggio e di confrontare due risultati costruiti a partire dallo stesso insieme di righe. Il numero degli eventi e quello dei soggetti possono essere diversi anche se nessuna riga è duplicata; questa frase serve soltanto a verificare il respiro del testo dopo un punto e virgola. Nessuna delle tabelle o delle colonne citate esiste nel database operativo e questo esempio non deve essere usato per formulare query reali.",
|
||||
scope: "Archivio dimostrativo, senza dati reali.\n\n- Un solo insieme di eventi inventati.\n- Identificatori lunghi come `demo_visuale.archivio_dimostrativo_per_verifica_della_formattazione`.\n- Valido esclusivamente per la verifica grafica.",
|
||||
rationale: "**Scopo della prova:** confrontare paragrafi, elenchi e codice inline.\n\nIl testo deve usare tutta la larghezza del dettaglio e adattarsi a un pannello stretto senza uscire dai suoi bordi.",
|
||||
question: "Quanti soggetti fittizi compaiono negli eventi dimostrativi?", sql: "",
|
||||
concepts: ["esempio simulato", "eventi", "soggetti"], dependencies: [], links: [],
|
||||
},
|
||||
{
|
||||
family: "sql_rule", subject: "FAKE · Regola con elenco e identificatori lunghi",
|
||||
detail: "### Prima del conteggio\n\nLa regola è completamente simulata. Serve a verificare titoli, spaziatura e un elenco di passi ordinati, senza definire una procedura operativa.\n\n1. Leggere il campo `demo_visuale.identificatore_esteso_dell_evento_dimostrativo`.\n2. Conservare il valore originale per la visualizzazione.\n3. Mostrare il risultato senza salvarlo nell'archivio.\n\n### Casi particolari\n\n- Il numero `0.4` deve restare integro.\n- L'espressione `status IN ('A', 'B');` non deve essere spezzata in paragrafi.\n- Un [collegamento dimostrativo](https://example.com/formatting) deve mantenere testo e destinazione.",
|
||||
scope: "Solo anteprima dell'interfaccia.\n\nNessuna dipendenza da tabelle reali e nessuna indicizzazione.",
|
||||
rationale: "Verificare che gli elenchi siano leggibili e che i valori tecnici non vengano alterati.",
|
||||
question: "", sql: "", concepts: ["formattazione", "SQL simulato"], dependencies: [], links: [],
|
||||
},
|
||||
{
|
||||
family: "solved_question", subject: "FAKE · Domanda risolta con SQL dimostrativo",
|
||||
detail: "L'esempio mostra un piccolo insieme di righe letterali, completamente inventate.\n\nIl codice è presentato come testo: nessuna query viene eseguita aprendo questa scheda.",
|
||||
scope: "Solo tre righe di prova.\n\nNessuna connessione a database o a dati personali.",
|
||||
rationale: "Il risultato previsto è utile soltanto a verificare la lettura del codice e la larghezza disponibile.",
|
||||
question: "Quanti eventi fittizi appartengono a ciascuna categoria?",
|
||||
sql: "-- FAKE: esempio grafico, non eseguito\nWITH demo_visuale(categoria, evento) AS (\n VALUES ('A', 1), ('A', 2), ('B', 3)\n)\nSELECT categoria, COUNT(*) AS numero_eventi_dimostrativi\nFROM demo_visuale\nGROUP BY categoria;",
|
||||
concepts: ["domanda simulata", "conteggio"], dependencies: [], links: [],
|
||||
},
|
||||
{
|
||||
family: "explained_error", subject: "FAKE · Errore spiegato e correzione illustrativa",
|
||||
detail: "**Errore simulato:** un esempio conta le righe dopo un collegamento che moltiplica gli eventi.\n\n**Effetto visivo:** il risultato appare maggiore di quello atteso, pur partendo dagli stessi dati inventati.\n\n**Correzione illustrativa:** confrontare la granularità delle due sorgenti dimostrative prima di scegliere il conteggio.",
|
||||
scope: "Ambiente di prova grafica.\n\nQuesta scheda non descrive un incidente reale né una regola clinica.",
|
||||
rationale: "La distinzione fra sintomo, spiegazione e correzione deve essere immediatamente visibile.\n\nI tre paragrafi non devono essere riuniti in un unico blocco di testo.",
|
||||
question: "Perché il totale dell'esempio è cambiato?", sql: "",
|
||||
concepts: ["errore simulato", "leggibilità"], dependencies: [], links: [],
|
||||
},
|
||||
];
|
||||
|
||||
export const memoryFormattingExamples: readonly MemoryCard[] = samples.map((card, index) => ({
|
||||
...card, id: `formatting-example-${index + 1}`, workspace_id: "formatting-preview-only",
|
||||
origin: "manual", session_id: null, decision_seq: null, indexed: false,
|
||||
created_at: "2026-09-13T00:00:00Z", updated_at: "2026-09-13T00:00:00Z", revision: "preview-only",
|
||||
}));
|
||||
Reference in New Issue
Block a user