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", }));