This commit is contained in:
team3
2026-09-07 07:44:00 +02:00
parent 5d42b4cfc5
commit c6bbed4049
250 changed files with 13372 additions and 6203 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
/home/arbeit/arbeit/MtoRagSystem

View File

@@ -0,0 +1,157 @@
<!-- titel -->
Anbindung
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Bindet einen externen Server kontrolliert an
----------------------------------------
<!-- regeln -->
- Ein Token wird nie gespeichert, nur sein Name
- Eine Anbindung startet eingeschaltet, ohne Chatfreigabe
- Eine Anbindung wirkt erst nach Freigabe
- Ein Import führt nie ein Werkzeug aus
- Ein Import liest keine Inhalte
- Anweisungen fremder Inhalte werden entfernt
- Ein Transport über Standardeingabe ist gesperrt
- Nur verschlüsselte Verbindungen sind erlaubt
- Interne Netze sind gesperrt
- Weiterleitungen werden nicht verfolgt
- Protokolle enthalten nur Metadaten
- Der Bereich braucht die höchste Rolle
----------------------------------------
<!-- funktion -->
Anbindung anlegen
<!-- regeln -->
- Speichern folgt einer bestandenen Prüfung
- Ein Speichern ändert keine Antwort
- Ein Formulartoken ist Pflicht
<!-- testen -->
- Menüeintrag MCP Quellen wählen
- Reiter Anbindung anlegen wählen
- Formular ausfüllen
- Anbindung speichern
- Anbindung in der Übersicht
----------------------------------------
<!-- funktion -->
Anbindung prüfen
<!-- ziel -->
Testet die Angaben gegen Erlaubnisliste und Regeln
<!-- regeln -->
- Ohne Onlinetest entstehen keine Abrufe
- Das Ergebnis nennt den Grund
- Die Prüfung speichert nicht
<!-- testen -->
- Formular ausfüllen
- LMB auf Anbindung prüfen
- Prüfergebnis mit Begründung
----------------------------------------
<!-- funktion -->
Anbindung bearbeiten
<!-- regeln -->
- Änderungen wirken erst nach dem Speichern
- Werkzeugdaten bleiben erhalten
- Zugewiesene Inhalte bleiben am Kurznamen gebunden
<!-- testen -->
- Übersicht öffnen
- LMB auf Bearbeiten
- Formular vorbefüllt
----------------------------------------
<!-- funktion -->
Anbindung umschalten
<!-- ziel -->
Legt eine Anbindung vorübergehend still
<!-- regeln -->
- Ausgewählte Inhalte bleiben gespeichert
- Eine stillgelegte Anbindung wirkt nicht
- Wiedereinschalten braucht keine neue Freigabe
<!-- testen -->
- Übersicht öffnen
- LMB auf Deaktivieren
- Zustandsmarke wechselt
----------------------------------------
<!-- funktion -->
Anbindung entfernen
<!-- regeln -->
- Der Raum wird zuvor abgeschaltet
- Eine Rückfrage geht voraus
<!-- testen -->
- Übersicht öffnen
- LMB auf Entfernen
- Bestätigen
- Anbindung verschwindet
----------------------------------------
<!-- funktion -->
Ressource übernehmen
<!-- ziel -->
Schreibt eine gefundene Ressource in die Anbindung
<!-- regeln -->
- Nur erkannte Ressourcen sind übernehmbar
- Die Übernahme schaltet den Chat nicht ein
<!-- testen -->
- Serverinhalte aktualisieren
- LMB auf Ressource übernehmen
- Ressource in der Anbindung
----------------------------------------
<!-- funktion -->
Serverinhalte aktualisieren
<!-- ziel -->
Erkennt Ressourcen, Werkzeuge und Vorlagen als Metadaten
<!-- regeln -->
- Kein Werkzeug wird ausgeführt
- Vorlagen werden erkannt, nie ausgeführt
- Ressourcen werden nicht gelesen
- Gefundene Werkzeuge sind zunächst gesperrt
<!-- testen -->
- Übersicht öffnen
- LMB auf Inhalte aktualisieren
- Gefundene Inhalte sichtbar
----------------------------------------
<!-- funktion -->
Anbindung online prüfen
<!-- ziel -->
Prüft eine gespeicherte Anbindung im Terminal
<!-- regeln -->
- Geprüft werden Freigabe und ein Inhalt
- Ohne prüfbaren Inhalt bricht der Lauf ab
- Ein fehlendes Geheimnis blockt vorher
- Anfragen werden bereinigt protokolliert
<!-- testen -->
- Kommando mit Servernamen aufrufen
- Prüfbericht sichtbar
----------------------------------------
<!-- funktion -->
Schutzregeln ansehen
<!-- ziel -->
Zeigt Grenzen und Systemprüfung der Anbindungen
<!-- regeln -->
- Die Anzeige ruft nichts extern ab
- Freie Werkzeugnutzung ist gesperrt
<!-- testen -->
- Menüeintrag Quellen wählen
- Reiter Sicherheit wählen
- Grenzen und Prüfstand sichtbar
----------------------------------------
<!-- funktion -->
Freigaben prüfen
<!-- ziel -->
Prüft die Serverliste der Grundeinstellung
<!-- regeln -->
- Kein Transport wird geöffnet
- Das Ergebnis nennt Server, Fehler und Warnungen
<!-- testen -->
- Kommando aufrufen
- Prüfstand je Regel sichtbar
----------------------------------------
<!-- funktion -->
Brücke trocken testen
<!-- ziel -->
Prüft Bereinigung und Belegbrücke ohne Serverkontakt
<!-- regeln -->
- Nur lokale Nutzlasten werden geprüft
- Kein Transport, keine Chatwirkung
- Fremde Anweisungsmarker fallen weg
<!-- testen -->
- Kommando aufrufen
- Bereinigte Nutzlast sichtbar

View File

@@ -0,0 +1,115 @@
<!-- titel -->
Antwort
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Beantwortet eine Frage aus geprüften Quellen
----------------------------------------
<!-- regeln -->
- Nur Aussagen aus den Quellen
- Fehlende Werte werden nicht erfunden
- Keine Schätzung ersetzt einen fehlenden Wert
- Fakten und Ableitungen bleiben getrennt
- Ableitungen sind als solche markiert
- Eignung gilt als belegpflichtige Aussage
- Negativaussagen brauchen einen Quellenbeleg
- Werbesprache ist untersagt
- Sprache der Frage gilt für die Antwort
- Interne Belegkennungen bleiben auf Nachfrage beschränkt
- Interne Denktexte erreichen niemanden
- Die genutzte Datenbasis steht an der Antwort
- Trefferzahl aus Wissen und Shop liegt bei
- Die Antwortdauer wird ausgewiesen
- Ein Vertrauensabzeichen steht an der Antwort
- Wiederholungsschleifen werden sichtbar abgeschnitten
- Transparente Unsicherheit schlägt sichere Falschaussage
----------------------------------------
<!-- funktion -->
Frage stellen
<!-- ziel -->
Sendet eine Frage und empfängt die Antwort laufend
<!-- regeln -->
- Leere Frage wird abgewiesen
- Höchstens 10000 Zeichen
- Warnung ab 7500 Zeichen
- Erneutes Senden bleibt bis zum Ende gesperrt
- Entwurf überlebt einen Neuladen
- Unterbrochener Empfang wird fortgesetzt
- Ein Lauf verfällt nach 900 Sekunden
- Ein stehender Lauf wird beendet
<!-- testen -->
- Text eingeben
- Enter drücken
- Frage im Verlauf
- Antwort läuft ein
----------------------------------------
<!-- funktion -->
Antwort abbrechen
<!-- ziel -->
Beendet eine laufende Antwort vorzeitig
<!-- regeln -->
- Nur während des Empfangs möglich
- Der Serverlauf arbeitet weiter
- Der Vermerk gilt nur in der laufenden Ansicht
- Nach dem Neuladen steht die volle Antwort
<!-- testen -->
- Frage stellen
- LMB auf Abbrechen
- Abbruchvermerk im Verlauf
----------------------------------------
<!-- funktion -->
Frage erneut senden
<!-- ziel -->
Wiederholt die Frage mit anderer Einstellung
<!-- regeln -->
- Angeboten sind nur ungenutzte Varianten
- Der Klick setzt die Einstellung passend
- Während des Empfangs gesperrt
<!-- testen -->
- Frage stellen
- LMB auf eine Variante
- Frage erneut im Verlauf
----------------------------------------
<!-- funktion -->
Antwortmodus wählen
<!-- ziel -->
Wählt zwischen gründlicher und schneller Antwort
<!-- regeln -->
- Zwei Werte: Standard und schnell
- Ungültiger Wert fällt auf Standard
- Der schnelle Modus nutzt ein anderes Modell
- Der schnelle Modus antwortet ungenauer
- Die Wahl gilt für die ganze Unterhaltung
<!-- testen -->
- Chat-Einstellungen öffnen
- Antwortmodus wählen
- Modus an der nächsten Antwort
----------------------------------------
<!-- funktion -->
Datenbasis wählen
<!-- ziel -->
Legt fest, ob Wissen oder Shopdaten zählen
<!-- regeln -->
- Vier Werte: automatisch, Wissen, Shop, beides
- Unbekannter Wert fällt auf automatisch
- Nur Wissen löst keine Shopsuche aus
- Die genutzte Basis steht in der Antwort
<!-- testen -->
- Chat-Einstellungen öffnen
- Datenbasis wählen
- Basis in der Zusammenfassung
----------------------------------------
<!-- funktion -->
Folgeaktion auslösen
<!-- ziel -->
Sendet eine vorgeschlagene Folgefrage sofort
<!-- regeln -->
- Der Fragetext kommt vom Server
- Angebot entfällt bei ablehnender Antwort
- Während des Empfangs passiert nichts
<!-- testen -->
- Frage stellen
- LMB auf eine Folgeaktion
- Folgefrage im Verlauf

View File

@@ -0,0 +1,85 @@
<!-- titel -->
Auftrag
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Führt Indexierung und Neuaufbau nachvollziehbar aus
----------------------------------------
<!-- regeln -->
- Jeder Lauf hinterlässt einen Auftrag
- Der Auftrag nennt Typ, Zustand, Zeiten und Person
- Fünf Zustände bis zum Abbruch
- Nur der Neuaufbau schreibt eine Protokolldatei
- Nur ein Indexlauf läuft gleichzeitig
- Ein Strukturwechsel erzwingt einen sichtbaren Neuaufbau
- Ein unvollständiger Aufbau bricht ab
----------------------------------------
<!-- funktion -->
Aufträge einsehen
<!-- ziel -->
Zeigt den Verlauf aller Indexläufe
<!-- regeln -->
- Neueste Aufträge stehen oben
- Der Fehlertext endet in der Liste bei 120 Zeichen
<!-- testen -->
- Menüeintrag Aufträge wählen
- Auftragsliste sichtbar
----------------------------------------
<!-- funktion -->
Auftrag verfolgen
<!-- ziel -->
Beobachtet einen einzelnen Lauf bis zum Ende
<!-- regeln -->
- Die Kennung muss dem Kennungsformat folgen
- Der Stand wird zweisekündlich nachgeladen
- Geliefert werden Typ, Zustand, Zeiten und Fehler
- Das Nachladen endet mit dem Auftrag
<!-- testen -->
- Auftragsliste öffnen
- LMB auf eine Kennung
- Zustandsmarke wechselt
----------------------------------------
<!-- funktion -->
Index neu aufbauen
<!-- ziel -->
Überführt vorgemerkte Änderungen in den Index
<!-- regeln -->
- Nur die höchste Rolle darf starten
- Der Auftrag beginnt wartend
- Die Arbeit läuft im Hintergrund
- Ein Fehlstart markiert den Auftrag als gescheitert
- Nach Erfolg wird der Zwischenspeicher geleert
<!-- testen -->
- Dokumentliste öffnen
- LMB auf Index neu aufbauen
- Bestätigen
- Auftragsseite sichtbar
----------------------------------------
<!-- funktion -->
Auftrag ausführen
<!-- ziel -->
Startet einen vorhandenen Auftrag im Terminal
<!-- regeln -->
- Unbekannte Kennung wird abgewiesen
- Abgeschlossene Aufträge laufen nicht erneut
- Ein Trockenlauf vermeidet schwere Schritte
<!-- testen -->
- Kommando mit Kennung aufrufen
- Zustandszeile sichtbar
----------------------------------------
<!-- funktion -->
Index hart neu aufbauen
<!-- ziel -->
Baut Chunks, Vektoren und Tags vollständig neu
<!-- regeln -->
- Ohne Erzwingen bricht der Lauf ab
- Vier Schritte laufen in fester Reihenfolge
- Einzelne Schritte lassen sich überspringen
- Ein gescheiterter Schritt beendet den Lauf
- Ein Trockenlauf schreibt keine Indexdatei
<!-- testen -->
- Kommando mit Erzwingen aufrufen
- Vier Schritte sichtbar
- Gesundheitsstand am Ende

View File

@@ -0,0 +1,118 @@
<!-- titel -->
Batch
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Importiert viele Dokumente in einem Lauf
----------------------------------------
<!-- regeln -->
- Höchstens 250 Dateien je Upload
- Erlaubt sind PDF, Text, Markdown und Word
- Geschützte PDF gelten als nicht verarbeitbar
- Doppelte Prüfsummen werden übersprungen
- Höchstens ein Neuaufbau je Lauf
- Ohne Indexwirkung entfällt der Neuaufbau
- Der Eingang wird nach dem Lauf geräumt
- Je gelungener Lauf entsteht ein Bericht
----------------------------------------
<!-- funktion -->
Batch hochladen
<!-- ziel -->
Lädt viele Dateien gesammelt und verarbeitet sie
<!-- regeln -->
- Ohne Datei bricht der Lauf ab
- Titel entstehen aus Dateinamen oder Manifest
- Schwache Titel werden markiert
- Wissenskarten entstehen nur auf Wunsch
- Aktivierung ohne Wissenskarte wird verworfen
<!-- testen -->
- Menüeintrag Batch wählen
- Dateien wählen
- Batch starten
- Ergebniszahlen sichtbar
----------------------------------------
<!-- funktion -->
Batch vorab prüfen
<!-- ziel -->
Prüft einen Eingang ohne jede Schreibwirkung
<!-- regeln -->
- Kein Dokument wird importiert
- Kein Modell wird aufgerufen
- Dateityp, Prüfsumme und Dubletten werden geprüft
- Zusatzschalter erzeugen eine Warnung
<!-- testen -->
- Kommando im Trockenlauf aufrufen
- Bericht mit Dateiliste sichtbar
----------------------------------------
<!-- funktion -->
Batch importieren
<!-- ziel -->
Importiert einen Eingang im Terminal
<!-- regeln -->
- Der Import ist über Prüfsummen wiederholbar
- Ohne eindeutigen Benutzer bricht der Lauf ab
- Der Kommandolauf hat keine Dateigrenze
- Erfolgreiche Quellen verlassen den Eingang
- Fehler und Übersprungenes landen getrennt
- Abgeleitete Versionen bleiben ohne Schalter inaktiv
<!-- testen -->
- Kommando mit Eingang aufrufen
- Bericht als Datei geschrieben
----------------------------------------
<!-- funktion -->
Berichte auflisten
<!-- regeln -->
- Höchstens 100 Berichte, neueste oben
- Defekte Berichte werden übersprungen
<!-- testen -->
- Menüeintrag Batch wählen
- Berichtsliste sichtbar
----------------------------------------
<!-- funktion -->
Bericht ansehen
<!-- ziel -->
Zeigt einen Lauf je Datei und Schritt
<!-- regeln -->
- Die Kennung darf keine Sonderzeichen tragen
- Ein unbekannter Bericht meldet einen Fehler
- Die Ansicht startet keine Verarbeitung
<!-- testen -->
- Berichtsliste öffnen
- LMB auf Anzeigen
- Schritte und Dateien sichtbar
----------------------------------------
<!-- funktion -->
Bericht herunterladen
<!-- regeln -->
- Zwei Formate: JSON und Markdown
- Eine fehlende Datei meldet einen Fehler
<!-- testen -->
- Berichtsliste öffnen
- LMB auf ein Format
- Datei im Download
----------------------------------------
<!-- funktion -->
Bericht löschen
<!-- regeln -->
- Beide Formate fallen zusammen weg
- Dokumente und Index bleiben unberührt
<!-- testen -->
- Berichtsliste öffnen
- LMB auf Löschen
- Bestätigen
- Bericht verschwindet
----------------------------------------
<!-- funktion -->
Eingang bereinigen
<!-- ziel -->
Räumt leere Ordner und falsche Ablagen auf
<!-- regeln -->
- Die Bereinigung wirkt nur im Importverzeichnis
- Namenskollisionen bekommen einen Zähler
- Kein Einfluss auf Suche oder Antwort
<!-- testen -->
- Menüeintrag Batch wählen
- LMB auf Eingang bereinigen
- Zahl geräumter Ordner sichtbar

View File

@@ -0,0 +1,71 @@
<!-- titel -->
Beleg
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Weist nach, worauf eine Aussage sich stützt
----------------------------------------
<!-- regeln -->
- Belegquellen sind Wissen, Shop und URL-Inhalte
- Frühere Antworten belegen keine Fachwerte
- Jede Antwort erhält genau einen Belegzustand
- Direkt belegt gilt nur bei einem tragenden Beleg
- Verstreute Anforderungen ergeben schwach belegt
- Fehlende Pflichtangabe ergibt nicht vollständig belegt
- Ohne Quelle gilt nicht geprüft
- Jeder Beleg trägt eine Stärke
- Fehlende Pflichtmerkmale werden einzeln benannt
- Direkte Dokumentquellen stehen unter der Antwort
- Höchstens vier Quellentitel erscheinen
- Eine genutzte Uploaddatei bleibt in der Quellenliste
----------------------------------------
<!-- funktion -->
Belegdetails aufklappen
<!-- ziel -->
Zeigt Prüfsignale hinter der Vertrauenslage
<!-- regeln -->
- Ohne echte Signale erscheint keine Belegkarte
- Konflikte werden gesondert benannt
- Die Anzeige gilt für alle sichtbaren Antworten
<!-- testen -->
- Frage stellen
- LMB auf technische Details
- Claims und Belege sichtbar
----------------------------------------
<!-- funktion -->
Zusatzinfos umschalten
<!-- ziel -->
Blendet Quellen und Folgeaktionen ein
<!-- regeln -->
- Nur genutzte Quellen werden gelistet
- Die Einstellung überlebt einen Neuladen
<!-- testen -->
- Chat-Einstellungen öffnen
- Zusatzinfos umschalten
- Quellenblock verschwindet
----------------------------------------
<!-- funktion -->
Statusprotokoll einschalten
<!-- ziel -->
Macht Prüf- und Quellenschritte sichtbar
<!-- regeln -->
- Der Bereich öffnet sich beim Einschalten
- Statusinfos stehen neben dem Verlauf
- Fehlermeldungen bleiben immer sichtbar
- Prompts und Geheimnisse erscheinen nie
<!-- testen -->
- Chat-Einstellungen öffnen
- Statusprotokoll einschalten
- Seitenbereich mit Zeitleiste sichtbar
----------------------------------------
<!-- funktion -->
Statusprotokoll schließen
<!-- regeln -->
- Schließen schaltet die Einstellung aus
- Der Zustand überlebt einen Neuladen
<!-- testen -->
- Statusprotokoll einschalten
- LMB auf Schließen im Bereich
- Bereich verschwindet

View File

@@ -0,0 +1,82 @@
<!-- titel -->
Benutzer
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Regelt Zugang und Rollen der Menschen
----------------------------------------
<!-- regeln -->
- Ein Passwort wird nur verschlüsselt gespeichert
- Eine E-Mail ist eindeutig
- Ein deaktiviertes Konto wird abgewiesen
- Niemand deaktiviert sich selbst
- Der letzte oberste Verwalter bleibt geschützt
- Die Verwaltung braucht die höchste Rolle
- Ein Konto lässt sich nicht löschen
- Deaktivierung beendet die laufende Sitzung
----------------------------------------
<!-- funktion -->
Benutzer filtern
<!-- regeln -->
- Filter nach Text, Zustand und Rolle
- Die Suche trifft Namen, E-Mail und Abteilung
- Ein ungültiger Wert fällt auf alle
- Die Gesamtzahlen bleiben ungefiltert
<!-- testen -->
- Menüeintrag Benutzer wählen
- Filter setzen
- LMB auf Filtern
- Trefferzahl sichtbar
----------------------------------------
<!-- funktion -->
Benutzer erstellen
<!-- regeln -->
- Das Passwort braucht acht Zeichen
- Die Wiederholung muss übereinstimmen
- Mindestens eine Rolle ist Pflicht
- Unbekannte Rollen werden abgewiesen
- Die Grundrolle ist nicht vergebbar
<!-- testen -->
- Benutzerliste öffnen
- Formular ausfüllen
- Rollen ankreuzen
- Erstellen
- Benutzer in der Liste
----------------------------------------
<!-- funktion -->
Benutzer bearbeiten
<!-- regeln -->
- Leeres Passwortfeld ändert nichts
- Die oberste Rolle entzieht sich niemand selbst
- Namen enden bei 100 Zeichen
- Abteilung endet bei 120 Zeichen
<!-- testen -->
- Benutzerliste öffnen
- LMB auf Bearbeiten
- Felder ändern
- Speichern
- Änderung in der Liste
----------------------------------------
<!-- funktion -->
Benutzer umschalten
<!-- ziel -->
Sperrt oder öffnet den Zugang sofort
<!-- regeln -->
- Bestehende Rollen bleiben erhalten
<!-- testen -->
- Benutzerliste öffnen
- LMB auf Zustand
- Bestätigen
- Zustandsspalte wechselt
----------------------------------------
<!-- funktion -->
Benutzer im Terminal anlegen
<!-- regeln -->
- Doppelte E-Mail wird abgewiesen
- Die Eingabe erfolgt abgefragt
<!-- testen -->
- Kommando aufrufen
- Angaben eintragen
- Benutzer angelegt

View File

@@ -0,0 +1,117 @@
<!-- titel -->
Betriebsprüfung
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Bewertet Betriebsreife vor der Abnahme
----------------------------------------
<!-- regeln -->
- Jede Prüfung liest nur lokale Angaben
- Kein Chat, kein Shop, kein Modell läuft
- Ein Fehler setzt den Gesamtstand
- Ein fehlender Nachweis wird zur Warnung
- Ein Nachweis wird nie stillschweigend angenommen
- Geheimnisse bleiben Verweise
- Der Restore-Nachweis bleibt Betreiberaufgabe
- Das System richtet keine Zeitsteuerung ein
- Jedes Ergebnis landet bereinigt im Protokoll
----------------------------------------
<!-- funktion -->
Betrieb überblicken
<!-- ziel -->
Fasst alle Prüfstände und die letzte Sicherung
<!-- regeln -->
- Die Seite bewertet bei jedem Aufruf neu
- Nur ausgelöste Prüfungen landen im Protokoll
- Der nächste sinnvolle Schritt steht dabei
<!-- testen -->
- Menüeintrag Betrieb wählen
- Gesamtstand und Teilstände sichtbar
----------------------------------------
<!-- funktion -->
Sicherheit prüfen
<!-- ziel -->
Prüft Rollen, Geheimnisse und Grenzen
<!-- regeln -->
- Die Prüfung ersetzt kein externes Audit
- Geheimniswerte werden nicht gelesen
<!-- testen -->
- Betriebsseite öffnen
- LMB auf Sicherheit prüfen
- Fallliste mit Ständen sichtbar
----------------------------------------
<!-- funktion -->
Sicherungsweg prüfen
<!-- ziel -->
Bewertet Pfad, Umfang und Restore-Nachweis
<!-- regeln -->
- Es entsteht keine Sicherung
- Ein Restore-Erfolg wird nicht behauptet
<!-- testen -->
- Betriebsseite öffnen
- LMB auf Sicherungsweg prüfen
- Prüfpunkte sichtbar
----------------------------------------
<!-- funktion -->
Zeitsteuerung prüfen
<!-- ziel -->
Bewertet Automatik, Turnus und Betreibernachweise
<!-- regeln -->
- Der Betreiber dokumentiert Automatik selbst
- Nicht beschreibbare Pfade erzeugen Hinweise
<!-- testen -->
- Betriebsseite öffnen
- LMB auf Zeitsteuerung prüfen
- Nachweistabelle sichtbar
----------------------------------------
<!-- funktion -->
Protokoll einsehen
<!-- ziel -->
Zeigt die zuletzt ausgelösten Prüfungen
<!-- regeln -->
- Keine Prompts und keine Rohantworten
- Keine Geheimnisse und keine Zugangsdaten
- Der Text endet bei 220 Zeichen
- Höchstens 50 Einträge bleiben erhalten
- Die Anzeige zeigt die letzten acht
<!-- testen -->
- Betriebsseite öffnen
- Protokollbereich lesen
- Letzte Prüfungen sichtbar
----------------------------------------
<!-- funktion -->
Abnahmebericht ausgeben
<!-- ziel -->
Lädt den bereinigten Bericht zur Abnahme
<!-- regeln -->
- Zwei Formate: JSON und Markdown
- Die Datengrenze steht im Bericht
- Erledigte Aufgaben fallen weg
- Der Export startet keine Prüfung
<!-- testen -->
- Betriebsseite öffnen
- Format wählen
- Bericht im Download
----------------------------------------
<!-- funktion -->
Betriebsreife im Terminal prüfen
<!-- regeln -->
- Nur ein grüner Stand endet ohne Fehler
- Warnungen ändern den Ausgang nicht
<!-- testen -->
- Kommando aufrufen
- Fallliste sichtbar
----------------------------------------
<!-- funktion -->
Unterlagen öffnen
<!-- ziel -->
Zeigt Runbook und Checklisten im Adminbereich
<!-- regeln -->
- Nur Markdown aus dem Projektverzeichnis
- Die Anzeige ist rein lesend
<!-- testen -->
- Menüeintrag Leitfäden wählen
- Dokument wählen
- Inhalt sichtbar

View File

@@ -0,0 +1,51 @@
<!-- titel -->
Claim
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Prüft einzelne Aussagen der Antwort gegen Belege
----------------------------------------
<!-- regeln -->
- Geprüft werden Werte, Preise und Artikelnummern
- Geprüft werden URLs und Rollencodes
- Geprüft werden Relationen und Kompatibilitätsaussagen
- Ein Claim ohne Quelle gilt als unbelegt
- Ein unbelegter Claim setzt ein Prüfsignal
- Unbelegte Claims werden benannt
- Höchstens fünf Beispiele erscheinen
- Rollencodes gelten nur bei genauer Übereinstimmung
- Relationen brauchen beide Partner in einem Dokument
- Eine leere Antwort gilt als ungeprüft
- Sieben Claim-Arten stehen fest
----------------------------------------
<!-- funktion -->
Antwort bewerten
<!-- ziel -->
Meldet falsche Zuordnung oder Quellenfehler zurück
<!-- regeln -->
- Zwei Werte: zustimmend und ablehnend
- Ablehnung erlaubt einen Kommentar
- Kommentar wird auf 2000 Zeichen gekürzt
- Bewertung braucht eine fertige Antwort
- Eine fremde Antwort wird abgewiesen
- Die Oberfläche sperrt nach dem Speichern
- Ein erneuter Aufruf überschreibt die Bewertung
- Frage und Antwort werden mitgespeichert
<!-- testen -->
- Frage stellen
- LMB auf eine Bewertung
- Bestätigung sichtbar
----------------------------------------
<!-- funktion -->
Prompt kopieren
<!-- ziel -->
Übernimmt die eigene Frage in die Zwischenablage
<!-- regeln -->
- Kopiert wird nur der Fragetext
- Erfolg wird kurz gemeldet
<!-- testen -->
- Frage stellen
- LMB auf Kopieren
- Rückmeldung an der Schaltfläche

View File

@@ -0,0 +1,84 @@
<!-- titel -->
Diagnose
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Untersucht einzelne Teile des Antwortwegs
----------------------------------------
<!-- regeln -->
- Diagnosen ändern Antwortgüte und Wahrheitssicherung nicht
- Prompts und Rohantworten werden nie ausgegeben
- Betriebsfunktionen beeinflussen die Antwort nicht
----------------------------------------
<!-- funktion -->
Im Terminal fragen
<!-- ziel -->
Stellt Fragen an das System ohne Oberfläche
<!-- regeln -->
- Die Antwort läuft in Stücken ein
- Statusmeldungen stehen dazwischen
- Der Lauf löst echte Modellaufrufe aus
<!-- testen -->
- Kommando aufrufen
- Frage eintragen
- Antwort läuft ein
----------------------------------------
<!-- funktion -->
Suchweg testen
<!-- ziel -->
Prüft den hybriden Suchweg zu einer Frage
<!-- regeln -->
- Leere Frage wird abgewiesen
- Die Ausgabe nennt Dauer und Trefferzahl
<!-- testen -->
- Kommando mit Frage aufrufen
- Trefferliste sichtbar
----------------------------------------
<!-- funktion -->
Faktenabdeckung prüfen
<!-- ziel -->
Prüft, wie gut Fakten eine Frage abdecken
<!-- regeln -->
- Eine leere Frage wird abgewiesen
- Eine Mindestgüte ist wählbar
<!-- testen -->
- Kommando mit Frage aufrufen
- Abdeckung mit Zusammenfassung sichtbar
----------------------------------------
<!-- funktion -->
Ankerauflösung testen
<!-- ziel -->
Prüft die Auflösung einer Folgefrage trocken
<!-- regeln -->
- Kein Eingriff in die Laufzeit
- Mehrdeutige Anker werden verworfen
- Eine genannte Artikelnummer schlägt jeden Anker
<!-- testen -->
- Kommando mit Folgefrage aufrufen
- Auflösungsbericht sichtbar
----------------------------------------
<!-- funktion -->
Verlaufsanker auslesen
<!-- ziel -->
Zieht Bezugsanker aus einem Gesprächsverlauf
<!-- regeln -->
- Anker belegen keine Fachwerte
- Eingabe per Argument, Datei oder Strom
- Ein eingebauter Rauchtest ist wählbar
<!-- testen -->
- Kommando mit Rauchtest aufrufen
- Ankerliste sichtbar
----------------------------------------
<!-- funktion -->
Fakten inspizieren
<!-- ziel -->
Untersucht gespeicherte Fakten der Chunkdatei
<!-- regeln -->
- Eine fehlende Chunkdatei meldet einen Fehler
- Nur lesender Zugriff auf den Index
- Filter nach Text, Typ und Anzahl
<!-- testen -->
- Kommando mit Suchtext aufrufen
- Trefferliste sichtbar

View File

@@ -0,0 +1,107 @@
<!-- titel -->
Dokument
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Führt eine Wissensquelle über ihre Versionen
----------------------------------------
<!-- regeln -->
- Ein Dokument hält mehrere Versionen
- Genau eine Version ist aktiv
- Tags hängen am Dokument, nicht an der Version
- Schreiben an Dokument oder Version ändert den Index nicht
----------------------------------------
<!-- funktion -->
Dokumente filtern
<!-- ziel -->
Grenzt die Liste nach Zustand und Pflege ein
<!-- regeln -->
- Sechs Filter: Suche, Status, Index, Version, Titel, Tags
- Unbekannter Filterwert fällt auf alle
- Die Suche trifft Titel, Kennung und Dateiname
- Kennzahlen zählen immer den Gesamtbestand
<!-- testen -->
- Dokumentliste öffnen
- Filter setzen
- LMB auf Filtern
- Trefferzahl sichtbar
----------------------------------------
<!-- funktion -->
Dokument hochladen
<!-- ziel -->
Legt eine Wissensquelle mit erster Version an
<!-- regeln -->
- Die Datei ist Pflicht
- Ohne Titel dient der Dateiname als Titel
- Ein schwacher Titel bekommt einen Prüfhinweis
- Version eins entsteht aktiv
- Je Version wird eine Prüfsumme gespeichert
- Der Index bleibt bis zum Neuaufbau unverändert
<!-- testen -->
- Dokumentliste öffnen
- LMB auf neues Dokument
- Datei wählen
- Speichern
- Dokumentseite sichtbar
----------------------------------------
<!-- funktion -->
Titel ändern
<!-- ziel -->
Ersetzt einen schwachen Titel fachlich
<!-- regeln -->
- Leerer Titel wird abgewiesen
- Höchstens 255 Zeichen
- Der Prüfhinweis entfällt danach
- Index und Antwortlogik bleiben unberührt
<!-- testen -->
- Dokumentseite öffnen
- Titel ändern
- Speichern
- Titel als geprüft markiert
----------------------------------------
<!-- funktion -->
Titel vorschlagen lassen
<!-- ziel -->
Erzeugt Titelkandidaten aus dem Dokumentanfang
<!-- regeln -->
- Der Ausschnitt endet bei 9000 Zeichen
- Höchstens sechs Vorschläge
- Höchstens 120 Zeichen je Vorschlag
- Zu kurze Kandidaten fallen weg
- Ein Klick füllt nur das Feld
- Dokument, Version und Index bleiben unberührt
<!-- testen -->
- Dokumentseite öffnen
- LMB auf Titel vorschlagen
- Kandidat wählen
- Titelfeld gefüllt
----------------------------------------
<!-- funktion -->
Indexbereitschaft ansehen
<!-- ziel -->
Zeigt, was den Index bisher nicht erreicht hat
<!-- regeln -->
- Offene Änderungen werden gezählt
- Gelöschte Dokumente im Index werden benannt
<!-- testen -->
- Dokumentliste öffnen
- Bereitschaftsblock lesen
- Zahl offener Änderungen sichtbar
----------------------------------------
<!-- funktion -->
Dokument löschen
<!-- ziel -->
Entfernt Dokument, Versionen und Dateien endgültig
<!-- regeln -->
- Nur die höchste Rolle darf löschen
- Ein laufender Neuaufbau verhindert das Löschen
- Versionsdateien werden mitgelöscht
- Ein Auftrag hält den Vorgang fest
- Der Index ändert sich beim nächsten Neuaufbau
<!-- testen -->
- Dokumentliste öffnen
- LMB auf Löschen
- Bestätigen
- Dokument verschwindet

View File

@@ -0,0 +1,77 @@
<!-- titel -->
Evalfall
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Beschreibt einen prüfbaren Fall für die Antwortgüte
----------------------------------------
<!-- regeln -->
- Neun Falltypen stehen im Adminbereich
- Ein zehnter Typ läuft nur im Terminal
- Eine Fallkennung ist projektweit eindeutig
- Pflichtfelder sind Kennung, Typ und Frage
- Fälle liegen als Zeilendatei je Typ und Bereich
- Schreiben erfolgt mit ausschließender Sperre
----------------------------------------
<!-- funktion -->
Bereich wählen
<!-- ziel -->
Schaltet zwischen Systembasis und Fachbereich
<!-- regeln -->
- Der Bereich prägt jede weitere Handlung
- Fachbereiche liegen in eigenen Ordnern
<!-- testen -->
- Menüeintrag Eval Suite wählen
- LMB auf einen Bereichsreiter
- Fälle des Bereichs sichtbar
----------------------------------------
<!-- funktion -->
Evalfall anlegen
<!-- regeln -->
- Doppelte Kennung wird abgewiesen
- Erwartung muss ein Objekt sein
- Verlauf muss eine Liste sein
- Ein Fehler verhindert jede Änderung
<!-- testen -->
- Menüeintrag Eval Suite wählen
- LMB auf neuer Test
- Formular ausfüllen
- Absenden
- Fall in der Datei
----------------------------------------
<!-- funktion -->
Evalfall geführt anlegen
<!-- ziel -->
Legt einen Fall über einen Assistenten an
<!-- regeln -->
- Eigener Entwurf mit eigener Fehlerprüfung
<!-- testen -->
- Menüeintrag Eval Suite wählen
- LMB auf Assistent
- Schritte ausfüllen
- Fall in der Datei
----------------------------------------
<!-- funktion -->
Evalfall ableiten
<!-- ziel -->
Übernimmt einen gescheiterten Lauf als Fall
<!-- regeln -->
- Kennung und Frage werden vorbelegt
<!-- testen -->
- Lauf mit Fehlschlag öffnen
- LMB auf Fall übernehmen
- Formular vorbefüllt
----------------------------------------
<!-- funktion -->
Evalfall löschen
<!-- regeln -->
- Eine defekte Zeile verhindert die Änderung
- Unbekannte Kennung meldet einen Fehler
- Eine Rückfrage geht voraus
<!-- testen -->
- Seite neuer Test öffnen
- LMB auf Löschen
- Bestätigen
- Fall verschwindet

View File

@@ -0,0 +1,100 @@
<!-- titel -->
Evallauf
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Prüft die Antwortpipeline gegen gespeicherte Fälle
----------------------------------------
<!-- regeln -->
- Ein gescheiterter Fall setzt den Gesamtstand
- Eine leere Auswahl gilt nicht als Fehlschlag
- Berichte entstehen unteilbar
- Evals messen Fälle, nicht jede mögliche Frage
- Fünf Falltypen rufen das Modell
- Vier Falltypen laufen ohne Modell
----------------------------------------
<!-- funktion -->
Evallauf starten
<!-- ziel -->
Führt Fälle aus dem Adminbereich aus
<!-- regeln -->
- Der Lauf braucht die Wissensrolle
- Der Bericht wird zusätzlich archiviert
- Der Lauf blockiert die Anfrage bis zum Ende
<!-- testen -->
- Menüeintrag Eval Suite wählen
- Auswahl treffen
- Lauf starten
- Ergebnis je Fall sichtbar
----------------------------------------
<!-- funktion -->
Einzelfall erneut testen
<!-- ziel -->
Wiederholt genau einen gescheiterten Fall
<!-- regeln -->
- Nur der gewählte Fall läuft
<!-- testen -->
- Lauf mit Fehlschlag öffnen
- LMB auf erneut testen
- Ergebnis des Falls sichtbar
----------------------------------------
<!-- funktion -->
Läufe vergleichen
<!-- ziel -->
Stellt zwei Berichte als Unterschied gegenüber
<!-- regeln -->
- Der Vergleich nennt behoben, neu und entfernt
<!-- testen -->
- Menüeintrag Eval Suite wählen
- Vergleichsbasis wählen
- Unterschied sichtbar
----------------------------------------
<!-- funktion -->
Evallauf im Terminal ausführen
<!-- regeln -->
- Die Auswahl folgt Typ und Bereich
- Ein Abbruch nach dem ersten Fehler ist wählbar
- Ein Lauf ohne Schreiben ist wählbar
- Fälle lassen sich nur auflisten
<!-- testen -->
- Kommando mit Typ aufrufen
- Ergebnis je Fall sichtbar
----------------------------------------
<!-- funktion -->
Evallauf parallelisieren
<!-- ziel -->
Verteilt Fälle auf mehrere Kindprozesse
<!-- regeln -->
- Zwischen einem und 32 Prozessen
- Vorgabe sind zwei Prozesse
- Ein Zeitlimit je Prozess ist wählbar
- Das Ergebnis ist ein Sammelbericht
<!-- testen -->
- Kommando mit Prozesszahl aufrufen
- Sammelbericht sichtbar
----------------------------------------
<!-- funktion -->
Berichte aufräumen
<!-- regeln -->
- Nur erzeugte Dateinamen fallen weg
- Aufräumen behält 20 Läufe je Bereich
- Die Liste zeigt zehn Läufe
<!-- testen -->
- Menüeintrag Eval Suite wählen
- LMB auf Aufräumen
- Berichtszahl sinkt
----------------------------------------
<!-- funktion -->
Berichte löschen
<!-- ziel -->
Entfernt alle Läufe eines Bereichs
<!-- regeln -->
- Der aktuelle Lauf fällt mit weg
- Eine Rückfrage geht voraus
<!-- testen -->
- Menüeintrag Eval Suite wählen
- LMB auf alle löschen
- Bestätigen
- Berichtsliste leer

View File

@@ -0,0 +1,138 @@
<!-- titel -->
Fremdinhalt
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Prüft externe Inhalte vor jeder Nutzung
----------------------------------------
<!-- regeln -->
- Geprüft wird der ausgewählte Inhalt
- Ein Lesen führt kein Werkzeug aus
- Ein Lesen ändert die Antwortpipeline nicht
- Vorschauen sind gekürzt und bereinigt
- Externe Inhalte heben ihren Rang nicht selbst
- Der Bereich braucht die höchste Rolle
- Keine Übernahme ins Standardwissen erfolgt automatisch
----------------------------------------
<!-- funktion -->
Inhalt live prüfen
<!-- ziel -->
Liest den ausgewählten Inhalt einmalig online
<!-- regeln -->
- Nur der gewählte Inhalt wird gelesen
- Ohne Zutun wird nichts gespeichert
<!-- testen -->
- Übersicht öffnen
- LMB auf Inhalt prüfen
- Bestätigen
- Vorschau mit Abrufzahl
----------------------------------------
<!-- funktion -->
Inhalt bereitstellen
<!-- ziel -->
Merkt einen gelesenen Inhalt als Kandidat vor
<!-- regeln -->
- Chat und Antwortnutzung bleiben aus
- Der Kandidat startet ohne Freigabe
- Eine Rückfrage geht voraus
<!-- testen -->
- Inhalt live prüfen
- LMB auf bereitstellen
- Bestätigen
- Kandidat in der Liste
----------------------------------------
<!-- funktion -->
Inhalt auswählen
<!-- ziel -->
Ordnet einen Inhalt einem Raum zur Prüfung zu
<!-- regeln -->
- Zwei Arten: eigener Raum und Ergänzung
- Die Auswahl gilt schon als geprüft
- Die Auswahl schaltet den Chat nicht ein
- Standardwissen wird dadurch nicht ergänzt
<!-- testen -->
- Räume überblicken
- LMB auf Inhalt auswählen
- Bestätigen
- Inhalt im Freigabebereich
----------------------------------------
<!-- funktion -->
Inhalt entscheiden
<!-- ziel -->
Gibt einen geprüften Inhalt frei oder stellt zurück
<!-- regeln -->
- Fünf Wege bis zum Zurücksetzen
- Eine unbekannte Entscheidung wird abgewiesen
- Eine Freigabe schaltet den Chat nicht ein
- Die Notiz endet bei 1000 Zeichen
<!-- testen -->
- Freigabebereich öffnen
- LMB auf Inhalt ansehen
- Entscheidung wählen
- Zustandsmarke wechselt
----------------------------------------
<!-- funktion -->
Inhalt im Chat einschalten
<!-- ziel -->
Fügt einen freigegebenen Inhalt dem Raum zu
<!-- regeln -->
- Nur geprüfte Inhalte eines eigenen Raums
- Nicht vorbereitete Inhalte werden abgewiesen
- Suche und Belege bleiben unberührt
- Es entsteht kein gespeichertes Wissen
<!-- testen -->
- Freigabebereich öffnen
- LMB auf im Chat einschalten
- Inhalt als aktiv markiert
----------------------------------------
<!-- funktion -->
Kandidaten filtern
<!-- ziel -->
Grenzt vorbereitete Inhalte nach Zustand ein
<!-- regeln -->
- Filter nach Zustand, Anbindung, Art und Zeit
- Das Filtern ruft nichts extern ab
<!-- testen -->
- Vorbereitete Inhalte öffnen
- Filter setzen
- Trefferliste eingegrenzt
----------------------------------------
<!-- funktion -->
Kandidat entfernen
<!-- ziel -->
Löscht einen vorbereiteten Inhalt endgültig
<!-- regeln -->
- Die Vorschau fällt mit weg
<!-- testen -->
- Vorbereitete Inhalte öffnen
- LMB auf Entfernen
- Kandidat verschwindet
----------------------------------------
<!-- funktion -->
Kandidaten ausgeben
<!-- ziel -->
Lädt vorbereitete Inhalte als Datei herunter
<!-- regeln -->
- Zwei Formate: Markdown und JSONL
- Der Export gibt die gefilterte Menge aus
- Der Export wirkt nicht als Freigabe
<!-- testen -->
- Vorbereitete Inhalte öffnen
- Format wählen
- Herunterladen
- Datei im Download
----------------------------------------
<!-- funktion -->
Ressource lesen
<!-- ziel -->
Liest eine freigegebene Ressource im Terminal
<!-- regeln -->
- Nur erlaubte Server und Adressen
- Der Inhalt wird bereinigt
- Ausgegeben werden nur Metadaten und Prüfsumme
- Eine Kürzung wird gekennzeichnet
<!-- testen -->
- Kommando mit Adresse aufrufen
- Metadaten und Prüfsumme sichtbar

View File

@@ -0,0 +1,64 @@
<!-- titel -->
Indexprofil
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Legt Struktur für Chunking und Einbettung fest
----------------------------------------
<!-- regeln -->
- Ein Profil ist unveränderlich
- Genau ein Profil ist aktiv
- Einsehen braucht die Wissensrolle
- Ändern braucht die höchste Rolle
- Die Version zählt beim Anlegen hoch
- Ein neues Profil entsteht inaktiv
----------------------------------------
<!-- funktion -->
Profile prüfen
<!-- ziel -->
Gleicht das aktive Profil gegen den Index ab
<!-- regeln -->
- Der Vergleich läuft gegen die Indexmetadaten
- Eine abweichende Zeile setzt den Gesamtstand
- Fehlende Metadaten gelten als Strukturabweichung
- Die Ansicht startet keinen Neuaufbau
<!-- testen -->
- Menüeintrag Indexprofile wählen
- Abweichungen je Zeile sichtbar
----------------------------------------
<!-- funktion -->
Profil anlegen
<!-- regeln -->
- Chunkgröße von 50 bis 1000 in Schritten von 25
- Überlappung von 25 bis 200 in Schritten von 25
- Das Einbettungsmodell ist Pflicht
- Fehlende Pflichtwerte nennen das Feld
- Nur die höchste Rolle darf anlegen
<!-- testen -->
- Indexprofile öffnen
- Werte eintragen
- Profil erstellen
- Inaktives Profil sichtbar
----------------------------------------
<!-- funktion -->
Profil aktivieren
<!-- regeln -->
- Das bisherige Profil wird deaktiviert
- Die Aktivierung startet keinen Neuaufbau
<!-- testen -->
- Indexprofile öffnen
- LMB auf Aktivieren
- Bestätigen
- Profil als aktiv markiert
----------------------------------------
<!-- funktion -->
Profil löschen
<!-- regeln -->
- Der Löschweg erscheint nur bei inaktiven Profilen
<!-- testen -->
- Indexprofile öffnen
- LMB auf Löschen
- Bestätigen
- Profil verschwindet

View File

@@ -0,0 +1,46 @@
<!-- titel -->
Konfiguration
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Prüft die wirksamen Einstellungen vor dem Betrieb
----------------------------------------
<!-- regeln -->
- Fachsemantik gehört in die Konfiguration
- Harte Sonderpfade im Antwortkern sind verboten
- Geänderter Kataloginhalt wirkt ohne Codeänderung
----------------------------------------
<!-- funktion -->
Konfiguration validieren
<!-- regeln -->
- Fehler und Warnungen erscheinen getrennt
- Warnungen ändern den Ausgang nicht
- Regressionswächter melden nur Warnungen
<!-- testen -->
- Kommando aufrufen
- Fehler- und Warnliste sichtbar
----------------------------------------
<!-- funktion -->
Konfiguration ausgeben
<!-- ziel -->
Zeigt die aufgelöste Einstellung zur Diagnose
<!-- regeln -->
- Die Ausgabe ist nicht bereinigt
- Pfade und Adressen stehen darin
- Nur der Shopschlüssel bleibt verborgen
<!-- testen -->
- Kommando aufrufen
- Vollständige Ausgabe sichtbar
----------------------------------------
<!-- funktion -->
Quellen auditieren
<!-- ziel -->
Prüft Herkunft, Muster und Fachneutralität
<!-- regeln -->
- Reine Quelltextanalyse ohne Laufzeitwirkung
- Ein Fehlerstand beendet den Lauf
<!-- testen -->
- Kommando aufrufen
- Kennzahlen und Funde sichtbar

View File

@@ -0,0 +1,68 @@
<!-- titel -->
Modellprofil
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Stellt Modell und Suchparameter der Antwort ein
----------------------------------------
<!-- regeln -->
- Höchstens ein Profil ist systemweit aktiv
- Ohne aktives Profil greifen die Vorgabewerte
- Die Version zählt je Modellname hoch
- Ein neues Profil entsteht inaktiv
- Ein aktives Profil lässt sich nicht löschen
- Nur fehlende Felder erben die Vorgabewerte
- Wertebereiche greifen erst beim Aktivieren
- Suchwerte werden still auf 1 bis 200 begrenzt
----------------------------------------
<!-- funktion -->
Profile auflisten
<!-- regeln -->
- Das aktive Profil steht oben
- Die Anzeige startet keine Erzeugung
<!-- testen -->
- Menüeintrag Modellsetup wählen
- Profilliste sichtbar
----------------------------------------
<!-- funktion -->
Profil erstellen
<!-- regeln -->
- Der Modellname ist Pflicht
- Nur die höchste Rolle darf anlegen
<!-- testen -->
- Profilliste öffnen
- Werte eintragen
- Absenden
- Inaktives Profil sichtbar
----------------------------------------
<!-- funktion -->
Profil aktivieren
<!-- testen -->
- Profilliste öffnen
- LMB auf Aktivieren
- Bestätigen
- Profil als aktiv markiert
----------------------------------------
<!-- funktion -->
Profil löschen
<!-- testen -->
- Profilliste öffnen
- LMB auf Löschen
- Bestätigen
- Profil verschwindet
----------------------------------------
<!-- funktion -->
Suche testen
<!-- ziel -->
Prüft das Trefferverhalten eines Profils
<!-- regeln -->
- Leere Frage liefert kein Ergebnis
- Der Test ändert das Profil nicht
- Der Test aktiviert das Profil nicht
<!-- testen -->
- Profilliste öffnen
- LMB auf Testen
- Frage eintragen
- Trefferliste sichtbar

View File

@@ -0,0 +1,43 @@
<!-- titel -->
Protokoll
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Zeigt Betriebsmeldungen der Dienste
----------------------------------------
<!-- regeln -->
- Nur die höchste Rolle darf lesen
- Die Anzeige ist rein lesend
- Kein Löschen ist vorgesehen
----------------------------------------
<!-- funktion -->
Protokolle auflisten
<!-- regeln -->
- Nur Dateien nach festem Namensmuster
- Neueste Änderung steht oben
<!-- testen -->
- Menüeintrag Protokolle wählen
- Dateiliste mit Größe sichtbar
----------------------------------------
<!-- funktion -->
Protokoll anzeigen
<!-- regeln -->
- Höchstens 1000 Zeilen
- Gelesen wird vom Dateiende
- Eine fehlende Datei meldet einen Fehler
<!-- testen -->
- Protokollliste öffnen
- LMB auf Anzeigen
- Letzte Zeilen sichtbar
----------------------------------------
<!-- funktion -->
Vektorprotokoll anzeigen
<!-- regeln -->
- Feste Quelle im Protokollverzeichnis
- Höchstens 500 Zeilen
- Eine fehlende Datei meldet einen Hinweis
<!-- testen -->
- Menüeintrag Vektorprotokoll wählen
- Letzte Zeilen sichtbar

View File

@@ -0,0 +1,99 @@
<!-- titel -->
Rückmeldung
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Sammelt Nutzerkritik für die Verbesserung
----------------------------------------
<!-- regeln -->
- Eine Rückmeldung hängt an einer Antwort
- Die Adminsicht braucht die Wissensrolle
- Ein Löschen ist endgültig
- Der Export enthält Frage und Antwort im Klartext
- Der Export folgt den gesetzten Filtern
----------------------------------------
<!-- funktion -->
Rückmeldungen filtern
<!-- ziel -->
Grenzt Fälle nach zehn Merkmalen ein
<!-- regeln -->
- Filter nach Bewertung und Bearbeitungsstand
- Filter nach Einordnung und Fehlerverdacht
- Filter nach Vorrang und Referenzwert
- Seitengröße wählbar mit 25, 50 oder 100
<!-- testen -->
- Menüeintrag Chat-Feedback wählen
- Filter setzen
- Trefferliste sichtbar
----------------------------------------
<!-- funktion -->
Rückmeldung ansehen
<!-- ziel -->
Zeigt einen Fall mit Frage und Antwort
<!-- testen -->
- Rückmeldungen filtern
- LMB auf einen Fall
- Frage und Antwort sichtbar
----------------------------------------
<!-- funktion -->
Rückmeldung erledigen
<!-- regeln -->
- Eine Notiz ist möglich
<!-- testen -->
- Rückmeldung ansehen
- LMB auf erledigt
- Zustand wechselt
----------------------------------------
<!-- funktion -->
Rückmeldung wieder öffnen
<!-- testen -->
- Erledigte Rückmeldung ansehen
- LMB auf wieder öffnen
- Zustand wechselt
----------------------------------------
<!-- funktion -->
Rückmeldungen gesammelt erledigen
<!-- ziel -->
Setzt den Stand für die ganze Auswahl
<!-- regeln -->
- Auswahl über Kästchen oder Filter
- Höchstens 5000 Fälle je Aktion
<!-- testen -->
- Rückmeldungen filtern
- Auswahl treffen
- LMB auf Auswahl erledigen
- Zustände wechseln
----------------------------------------
<!-- funktion -->
Rückmeldung löschen
<!-- testen -->
- Rückmeldung ansehen
- LMB auf Löschen
- Bestätigen
- Eintrag verschwindet
----------------------------------------
<!-- funktion -->
Rückmeldungen ausgeben
<!-- regeln -->
- Zwei Formate: Markdown und JSONL
- Der Export ist nicht bereinigt
- Vorgefertigte Auszüge je Vorrang
<!-- testen -->
- Rückmeldungen filtern
- Format wählen
- Datei im Download
----------------------------------------
<!-- funktion -->
Rückmeldungen einordnen
<!-- ziel -->
Bestimmt Typ, Risiko und Vorrang im Terminal
<!-- regeln -->
- Ohne Erzwingen nur ungeordnete Einträge
- Höchstens 5000 Einträge je Lauf
- Vorgabe sind 500 Einträge
- Zwischenstände werden gespeichert
<!-- testen -->
- Kommando aufrufen
- Zähler je Risiko sichtbar

View File

@@ -0,0 +1,76 @@
<!-- titel -->
Selbsttest
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Sichert Grenzen des Systems gegen Rückschritte
----------------------------------------
<!-- regeln -->
- 23 Selbsttests decken die Regressionsfläche
- Jeder Test hat sein eigenes Kommando
- Es gibt kein Sammelkommando
- Jeder Test liefert Fallliste und Ausgang
- Jeder Test kennt eine maschinenlesbare Ausgabe
- 15 Tests prüfen nur den Quelltext
- Sechs Tests prüfen gemischt
- Zwei Tests prüfen nur Verhalten
----------------------------------------
<!-- funktion -->
Einzeltest ausführen
<!-- ziel -->
Prüft eine benannte Grenze des Systems
<!-- regeln -->
- Kein Modell, kein Netz, keine Antwort
- Keine Datenbank und kein Import
- Ein gescheiterter Fall beendet den Lauf
<!-- testen -->
- Kommandonamen aus der Übersicht holen
- Kommando aufrufen
- Fallliste mit Ständen sichtbar
----------------------------------------
<!-- funktion -->
Ingestgrenzen prüfen
<!-- ziel -->
Sichert Markdown, Chunks und Batchgrenzen ab
<!-- regeln -->
- Zwölf Kommandos decken diesen Bereich
- Ein Test räumt sein Verzeichnis selbst auf
<!-- testen -->
- Kommando aus der Ingestgruppe aufrufen
- Fallliste mit Ständen sichtbar
----------------------------------------
<!-- funktion -->
Anbindungsgrenzen prüfen
<!-- ziel -->
Sichert Fremddaten und Werkzeuggrenzen ab
<!-- regeln -->
- Drei Kommandos decken diesen Bereich
- Verbotene Zeichenketten gelten als Fall
<!-- testen -->
- Kommando aus der Anbindungsgruppe aufrufen
- Fallliste mit Ständen sichtbar
----------------------------------------
<!-- funktion -->
Architekturgrenzen prüfen
<!-- ziel -->
Sichert Flussgrenzen und Produktregeln ab
<!-- regeln -->
- Fünf Kommandos decken diesen Bereich
- Ein Test hängt an einer Freigabeversion
<!-- testen -->
- Kommando aus der Architekturgruppe aufrufen
- Fallliste mit Ständen sichtbar
----------------------------------------
<!-- funktion -->
Antwortgrenzen prüfen
<!-- ziel -->
Sichert Anker, Prüfung und Raumauswahl ab
<!-- regeln -->
- Drei Kommandos decken diesen Bereich
- Keine Chatantwort und kein Shopzugriff
- Unbelegte Begriffe bleiben unrepariert
<!-- testen -->
- Kommando aus der Antwortgruppe aufrufen
- Fallliste mit Ständen sichtbar

View File

@@ -0,0 +1,75 @@
<!-- titel -->
Shoptreffer
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Liefert Preis und Verfügbarkeit aus dem Shop
----------------------------------------
<!-- regeln -->
- Der Preis stammt allein aus dem Shopdatensatz
- Ohne Shoppreis erscheint kein Preis
- Ein fehlender Preis wird nicht zu null
- Kostenlos gilt nur mit Quellenbeleg
- Verfügbarkeit stammt allein aus dem Shopfeld
- Die Produktadresse stammt aus dem Shoppfad
- Reine Wissensantworten tragen keine Shopadressen
- Ein Shoptreffer belegt keine technische Eignung
- Zubehör wird nicht als Hauptgerät ausgegeben
- Bündelangaben bleiben unzerlegt
- Gefilterte Treffer sind keine fehlenden Treffer
- Kein Treffer bedeutet nicht: gibt es nicht
- Ein Shopausfall wird gemeldet
- Bei automatischer Basis startet sie nur bei Kaufbezug
- Die Basis Shop erzwingt die Suche
- Die gesendete Suchanfrage wird offengelegt
- Bilder stammen aus dem Bildfeld desselben Datensatzes
----------------------------------------
<!-- funktion -->
Shopsuche auslösen
<!-- ziel -->
Sucht aus einer Wissensantwort passende Produkte
<!-- regeln -->
- Angebot entfällt bei gleicher Suche
- Angebot entfällt bei ablehnender Antwort
- Eine erweiterte Suche wird ausgewiesen
<!-- testen -->
- Frage stellen
- LMB auf Shopsuche
- Trefferliste sichtbar
----------------------------------------
<!-- funktion -->
Preis nachfragen
<!-- ziel -->
Ruft Handelsdaten zum genannten Produkt ab
<!-- regeln -->
- Angebot entfällt bei genanntem Preis
- Die Folgeantwort bleibt am Produkt
<!-- testen -->
- Frage nach einem Produkt stellen
- LMB auf Preis anzeigen
- Preis und Artikelnummer sichtbar
----------------------------------------
<!-- funktion -->
Treffer filtern
<!-- ziel -->
Grenzt die Liste auf Zubehör oder Geräte ein
<!-- regeln -->
- Angebot erscheint nur bei Wirkung
- Mehrdeutige Rollen gelten nicht als Gerät
<!-- testen -->
- Shopsuche auslösen
- LMB auf eine Rolle
- Liste eingegrenzt
----------------------------------------
<!-- funktion -->
Shopsuche diagnostizieren
<!-- ziel -->
Prüft eine Suchanfrage samt Reparatur im Terminal
<!-- regeln -->
- Der Zugriff läuft live gegen den Shop
- Die Reparatursuche bevorzugt den angefragten Code
<!-- testen -->
- Kommando mit Suchtext aufrufen
- Suchanfrage und Treffer sichtbar

View File

@@ -0,0 +1,90 @@
<!-- titel -->
Sicherung
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Sichert Anwendung und Datenbank nachvollziehbar
----------------------------------------
<!-- regeln -->
- Geheimnisse werden nie mitkopiert
- Fremdbibliotheken und Zwischenspeicher bleiben draußen
- Ein Datenbankabzug entsteht auf Anforderung oder Vorgabe
- Eine Sperrdatei verhindert parallele Läufe
- Sieben Stände bleiben rollierend erhalten
- Symlinks werden übersprungen
- Ein Verzeichnis nennt Umfang und Kennung
- Eine gelungene Sicherung beweist keinen Restore
----------------------------------------
<!-- funktion -->
Sicherung testen
<!-- ziel -->
Prüft den geplanten Umfang ohne Schreibvorgang
<!-- regeln -->
- Keine Sicherungsdatei entsteht
- Keine alte Sicherung fällt weg
- Fehlende Pflichtquellen erscheinen als Warnung
- Fehlende Zusatzquellen zählen getrennt
<!-- testen -->
- Betriebsseite öffnen
- LMB auf Sicherung testen
- Umfang und Warnungen sichtbar
----------------------------------------
<!-- funktion -->
Sicherung starten
<!-- regeln -->
- Ein Datenbankabzug braucht Schalter oder Vorgabe
- Das Verzeichnis nennt keinen Zugang
- Geräumte Sicherungen werden benannt
- Eine Rückfrage geht voraus
<!-- testen -->
- Betriebsseite öffnen
- LMB auf Sicherung starten
- Bestätigen
- Sicherung in der Liste
----------------------------------------
<!-- funktion -->
Sicherung herunterladen
<!-- ziel -->
Holt ein Archiv für den Restore-Test
<!-- regeln -->
- Nur die höchste Rolle darf herunterladen
- Nur gültige lokale Kennungen
- Der Abruf startet keine Sicherung
<!-- testen -->
- Betriebsseite öffnen
- LMB auf Herunterladen
- Archiv im Download
----------------------------------------
<!-- funktion -->
Restore prüfen
<!-- ziel -->
Bewertet eine Sicherung als Wiederherstellungsgrundlage
<!-- regeln -->
- Nur die höchste Rolle darf prüfen
- Es läuft keine Wiederherstellung
- Kein Datenbankimport erfolgt
- Gelesen werden Verzeichnis und Bestandteile
- Das Ergebnis liefert einen Plan
<!-- testen -->
- Betriebsseite öffnen
- LMB auf Restore prüfen
- Prüfpunkte und Plan sichtbar
----------------------------------------
<!-- funktion -->
Sicherung im Terminal erstellen
<!-- regeln -->
- Ein Trockenlauf schreibt keine Datei
- Die Aufbewahrung ist wählbar
<!-- testen -->
- Kommando aufrufen
- Kennung und Umfang sichtbar
----------------------------------------
<!-- funktion -->
Restore im Terminal prüfen
<!-- regeln -->
- Kein Netz, kein Modell, kein Chat
<!-- testen -->
- Kommando mit Kennung aufrufen
- Prüfpunkte und Plan sichtbar

View File

@@ -0,0 +1,83 @@
<!-- titel -->
Sitzung
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Hält Zugang und Verlauf einer Unterhaltung
----------------------------------------
<!-- regeln -->
- Chat und Adminbereich teilen eine Anmeldung
- Ein Abmelden beendet beide Bereiche
- Der Verlauf hängt an einem Browserkennzeichen
- Ein Abmelden löscht dieses Kennzeichen nicht
- Deaktivierte Konten werden abgewiesen
- Der Verlauf löst nur Bezüge auf
- Der Verlauf belegt keine Fachwerte
- Ein Hinweis nennt Fehlerrisiko und Datennutzung
----------------------------------------
<!-- funktion -->
Am Chat anmelden
<!-- regeln -->
- E-Mail und Passwort sind Pflicht
- Ohne Chatrolle erscheint eine Verbotsseite
- Falscher Zugang behält die E-Mail
- Angemeldete landen sofort im Chat
<!-- testen -->
- Anmeldeseite aufrufen
- E-Mail und Passwort eintragen
- Bestätigen
- Chat mit Verlauf sichtbar
----------------------------------------
<!-- funktion -->
Vom Chat abmelden
<!-- regeln -->
- Gemerkte Einstellungen bleiben erhalten
<!-- testen -->
- LMB auf Abmelden
- Anmeldeseite sichtbar
----------------------------------------
<!-- funktion -->
Am Adminbereich anmelden
<!-- regeln -->
- Ohne Adminrolle erscheint eine Verbotsseite
- Berechtigte landen auf der Systemübersicht
- Der letzte Benutzername ist vorbelegt
<!-- testen -->
- Adminanmeldung aufrufen
- E-Mail und Passwort eintragen
- Bestätigen
- Systemübersicht sichtbar
----------------------------------------
<!-- funktion -->
Vom Adminbereich abmelden
<!-- testen -->
- LMB auf Abmelden
- Anmeldeseite sichtbar
----------------------------------------
<!-- funktion -->
Verlauf löschen
<!-- ziel -->
Entfernt Gespräch, Produktbezüge und Uploads
<!-- regeln -->
- Während des Empfangs gesperrt
- Löscht alle temporären Uploads mit
- Keine Rückfrage, keine Wiederherstellung
- Danach fehlen alle Bezugsanker
<!-- testen -->
- LMB auf Verlauf löschen
- Verlauf leer
- Uploadliste leer
----------------------------------------
<!-- funktion -->
Hilfe öffnen
<!-- ziel -->
Zeigt das Bedienhandbuch im Chat
<!-- regeln -->
- Nur bei vorhandener Handbuchdatei
- Höchstens 512 KB werden gelesen
- Die Hilfe ändert keine Antwortlogik
<!-- testen -->
- LMB auf Hilfe
- Handbuch im Fenster sichtbar

View File

@@ -0,0 +1,46 @@
<!-- titel -->
Systemprompt
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Steuert die Grundanweisung an das Modell
----------------------------------------
<!-- regeln -->
- Genau eine Version ist aktiv
- Die Version zählt fortlaufend hoch
- Eine neue Version überschreibt keine alte
- Nur die höchste Rolle darf ändern
----------------------------------------
<!-- funktion -->
Version speichern
<!-- regeln -->
- Leerer Inhalt wird abgewiesen
- Die neue Version wird sofort aktiv
- Die bisherige Version wird abgeschaltet
<!-- testen -->
- Menüeintrag Systemprompt wählen
- Text eintragen
- Speichern
- Neue aktive Version oben
----------------------------------------
<!-- funktion -->
Version aktivieren
<!-- ziel -->
Schaltet auf eine frühere Version zurück
<!-- testen -->
- Systemprompt öffnen
- LMB auf Aktivieren
- Bestätigen
- Kennzeichnung wechselt
----------------------------------------
<!-- funktion -->
Version löschen
<!-- regeln -->
- Eine aktive Version bleibt geschützt
<!-- testen -->
- Systemprompt öffnen
- LMB auf Löschen
- Bestätigen
- Version verschwindet

View File

@@ -0,0 +1,92 @@
<!-- titel -->
Tag
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Lenkt die Suche über gepflegte Signale
----------------------------------------
<!-- regeln -->
- Drei Typen: allgemein, Katalogobjekt, Vertriebssignal
- Unbekannter Typ fällt auf allgemein
- Ein Slug ist eindeutig
- Jede Änderung stößt einen Neuaufbau an
- Ein laufender Neuaufbau verhindert einen zweiten
----------------------------------------
<!-- funktion -->
Tag anlegen
<!-- regeln -->
- Slug und Bezeichnung sind Pflicht
- Der Slug wird kleingeschrieben
- Leerzeichen werden zu Bindestrichen
- Ein doppelter Slug wird abgewiesen
<!-- testen -->
- Tagliste öffnen
- Bezeichnung und Slug eintragen
- Anlegen
- Tag in der Liste
----------------------------------------
<!-- funktion -->
Tag löschen
<!-- regeln -->
- Alle Zuweisungen fallen mit weg
<!-- testen -->
- Tagliste öffnen
- LMB auf Löschen
- Bestätigen
- Tag verschwindet
----------------------------------------
<!-- funktion -->
Dokumente zuweisen
<!-- ziel -->
Ordnet einem Tag mehrere Dokumente zu
<!-- regeln -->
- Nur aktive Dokumente stehen zur Wahl
- Doppelte Kennungen werden entfernt
- Nur Unterschiede werden geschrieben
<!-- testen -->
- Tagliste öffnen
- LMB auf Zuweisen
- Dokumente ankreuzen
- Speichern
- Zähler angepasst
----------------------------------------
<!-- funktion -->
Dokument-Tags bearbeiten
<!-- ziel -->
Setzt die Tags eines einzelnen Dokuments
<!-- regeln -->
- Tags erscheinen nach Typ sortiert
- Nicht angekreuzte Tags fallen weg
<!-- testen -->
- Dokumentliste öffnen
- LMB auf Tags
- Tags ankreuzen
- Speichern
- Neuaufbau angestoßen
----------------------------------------
<!-- funktion -->
Neuaufbau verfolgen
<!-- ziel -->
Zeigt den Fortschritt des Tag-Neuaufbaus laufend
<!-- regeln -->
- Der Stand wird zweisekündlich abgefragt
- Ein Lebenszeichen kommt zehnsekündlich
- Vier Zustände: wartend, laufend, fertig, gescheitert
- Das Zusehen stößt keinen Neuaufbau an
<!-- testen -->
- Tagliste öffnen
- Statuszeile beobachten
- Zustand wechselt bis fertig
----------------------------------------
<!-- funktion -->
Tagindex neu aufbauen
<!-- ziel -->
Baut Tagexport und Tagvektoren im Terminal neu
<!-- regeln -->
- Entweder Auftragskennung oder Neuanlage
- Eine Sperrdatei verhindert Parallelläufe
<!-- testen -->
- Kommando mit Neuanlage aufrufen
- Kennzahlen sichtbar

View File

@@ -0,0 +1,68 @@
<!-- titel -->
Upload
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Stellt eine Datei als Quelle der Sitzung bereit
----------------------------------------
<!-- regeln -->
- Erlaubt sind PDF, Markdown und Text
- Höchstens drei Dateien je Sitzung
- Höchstens 10 MB je Datei
- Ein Upload verfällt nach 60 Minuten
- Uploads ändern die Wissensbasis nie
- Ein Upload beginnt nachrangig
- Ein Upload lässt sich auf vorrangig stellen
- Der ausgewertete Text endet bei 60000 Zeichen
- Der Client prüft, der Server prüft erneut
----------------------------------------
<!-- funktion -->
Datei hochladen
<!-- regeln -->
- Eine leere Datei weist erst der Server ab
- Übergroße Datei wird abgewiesen
- Bei erreichtem Maximum ist der Zugang gesperrt
- Ein Upload beginnt nachrangig
<!-- testen -->
- LMB auf Hinzufügen
- Datei wählen
- Datei mit Größe sichtbar
----------------------------------------
<!-- funktion -->
Nutzung wählen
<!-- ziel -->
Legt fest, ob der Upload allein zählt
<!-- regeln -->
- Abfrage erscheint nach dem Hochladen
- Als eigener Raum zählt nur der Upload
- Als Ergänzung bleibt Standardwissen führend
- Ohne Freigabe bleibt Standardwissen wirksam
<!-- testen -->
- Datei hochladen
- Eine Nutzungsart wählen
- Wissensraum passt sich an
----------------------------------------
<!-- funktion -->
Upload priorisieren
<!-- ziel -->
Hebt den Upload gegenüber dem Wissen an
<!-- regeln -->
- Zwei Modi: nachrangig und vorrangig
- Als eigener Raum entfällt der Schalter
- Ein Widerspruch bleibt sichtbar ausgewiesen
<!-- testen -->
- Datei hochladen
- LMB auf den Rangvermerk
- Vermerk zeigt vorrangig
----------------------------------------
<!-- funktion -->
Upload entfernen
<!-- regeln -->
- Wirkt nur auf eigene Uploads
- Ohne Upload fällt der Raum zurück
<!-- testen -->
- Datei hochladen
- LMB auf Entfernen
- Datei verschwindet

View File

@@ -0,0 +1,135 @@
<!-- titel -->
Version
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Hält einen unveränderlichen Stand eines Dokuments
----------------------------------------
<!-- regeln -->
- Eine Version wird nie überschrieben
- Jede Version trägt eine Prüfsumme
- Eine neue Version entsteht inaktiv
- Nur die aktive Version speist den Index
----------------------------------------
<!-- funktion -->
Version hochladen
<!-- ziel -->
Legt einen Nachfolgestand als neue Version ab
<!-- regeln -->
- Die Datei ist Pflicht
- Die Nummer zählt vom höchsten Stand hoch
- Die aktive Version bleibt unverändert
<!-- testen -->
- Dokumentseite öffnen
- LMB auf neue Version
- Datei wählen
- Hochladen
- Inaktive Version sichtbar
----------------------------------------
<!-- funktion -->
Originaltext ansehen
<!-- ziel -->
Zeigt die Textbasis vor der Chunk-Erzeugung
<!-- regeln -->
- Die Anzeige ändert die Datei nicht
- Jede Seite liefert 40000 Zeichen
- Eine angeforderte Seitengröße endet bei 80000
- Weitere Seiten laden beim Blättern nach
- Nicht lesbare Formate melden einen Fehler
<!-- testen -->
- Dokumentseite öffnen
- LMB auf Original ansehen
- Text im Fenster sichtbar
----------------------------------------
<!-- funktion -->
Version ableiten
<!-- ziel -->
Speichert korrigierten Text als neue Version
<!-- regeln -->
- Die Arbeitskopie endet bei 180000 Zeichen
- Leerer Inhalt wird abgewiesen
- Der Dateiname nennt die Quellversion
- Quelle und aktive Version bleiben unberührt
- Die neue Version ist inaktiv
<!-- testen -->
- Originaltext ansehen
- Text anpassen
- Als neue Version speichern
- Inaktive Version sichtbar
----------------------------------------
<!-- funktion -->
Wissenskarte erzeugen
<!-- ziel -->
Erstellt eine strukturierte Markdown-Fassung der Version
<!-- regeln -->
- Die Quelle wird segmentiert verarbeitet
- Ein unvollständiger Plan bricht ab
- Der Zusammenbau erfolgt durch das System
- Der Nachweis nennt Modell und Segmentzahl
- Kein Index wird geschrieben
- Doppelklicks bleiben während des Laufs gesperrt
<!-- testen -->
- Dokumentseite öffnen
- LMB auf Wissenskarte erzeugen
- Bestätigen
- Neue inaktive Version sichtbar
----------------------------------------
<!-- funktion -->
Version aktivieren
<!-- ziel -->
Wählt eine Version als künftige Antwortbasis
<!-- regeln -->
- Genau eine Version bleibt aktiv
- Die Version wird zum Neuaufbau vorgemerkt
- Kein Auftrag und kein Neuaufbau startet
- Bis dahin gilt der letzte stabile Index
<!-- testen -->
- Dokumentseite öffnen
- LMB auf Version aktivieren
- Bestätigen
- Warnung zum Neuaufbau sichtbar
----------------------------------------
<!-- funktion -->
Version vormerken
<!-- ziel -->
Markiert die aktive Version für den Neuaufbau
<!-- regeln -->
- Nur die aktive Version lässt sich vormerken
- Es startet kein Einzellauf
<!-- testen -->
- Dokumentseite öffnen
- LMB auf vormerken
- Bestätigen
- Version als vorgemerkt markiert
----------------------------------------
<!-- funktion -->
Chunks lesen
<!-- ziel -->
Zeigt die Chunks einer Version aus dem Index
<!-- regeln -->
- Die Anzeige ändert keine Antwortlogik
- Höchstens 300 Chunks je Version
- Je Chunk höchstens 1400 Zeichen
- Je Chunk höchstens 30 Fakten
- Ohne Indexeinträge erscheint eine Warnung
<!-- testen -->
- Dokumentseite öffnen
- LMB auf Chunks lesen
- Chunkliste sichtbar
----------------------------------------
<!-- funktion -->
Chunkgüte vergleichen
<!-- ziel -->
Stellt Original und Wissenskarte gegenüber
<!-- regeln -->
- Die Prüfung läuft nur im Speicher
- Kein Index wird geschrieben
- Kein Modell wird aufgerufen
- Ein fehlendes Gegenstück meldet einen Hinweis
- Der Vergleich nennt Chunks, Tabellen und Fakten
<!-- testen -->
- Dokumentseite öffnen
- LMB auf Güte vergleichen
- Vergleich sichtbar

View File

@@ -0,0 +1,72 @@
<!-- titel -->
Vision
----------------------------------------
<!-- art -->
vision
----------------------------------------
<!-- ziel -->
Antworten sollen nicht nur plausibel klingen, sondern nachprüfbar sein.
----------------------------------------
<!-- funktion -->
Beleggeführt antworten
<!-- ziel -->
Jede Aussage bekommt einen nachvollziehbaren Belegzustand
- Was nicht in den Quellen steht, wird nicht behauptet
- Belegzustand und Abdeckung sind ablesbar
- Einzelne Aussagen werden gegen die Belege geprüft
----------------------------------------
<!-- funktion -->
Grenzen zeigen
<!-- ziel -->
Fehlendes, Schwaches und Widersprüchliches bleibt sichtbar
- Fehlende Quellen werden benannt, nicht ersetzt
- Quellenkonflikte werden gezeigt statt zusammengeführt
- Transparente Unsicherheit schlägt sichere Falschaussage
----------------------------------------
<!-- funktion -->
Quellen trennen
<!-- ziel -->
Fachwissen, Handelsdaten und Uploads bleiben unterscheidbar
- Ein Shoppreis belegt keine technische Eignung
- Wissensräume trennen die Bestände sichtbar
- Ein Upload bleibt temporär und nachrangig
----------------------------------------
<!-- funktion -->
Wissen pflegen
<!-- ziel -->
Dokumente werden antwortfähig, nicht nur abgelegt
- Versionen bleiben einzeln nachvollziehbar
- Struktur, Chunks und Fakten sind einsehbar
- Ein Neuaufbau ist eine bewusste Entscheidung
----------------------------------------
<!-- funktion -->
Fremddaten kontrollieren
<!-- ziel -->
Externe Quellen wirken nur nach bewusster Freigabe
- Nichts wird automatisch zu Standardwissen
- Nur lesende Werkzeuge, nie Schreibaktionen
- Jede Freigabe ist eine eigene Entscheidung
----------------------------------------
<!-- funktion -->
Fachfrei bleiben
<!-- ziel -->
Fachsemantik gehört in Konfiguration, nicht in den Kern
- Harte Sonderpfade im Antwortkern sind verboten
- Ein Fachpaket ist pflegbar ohne Codeänderung
- Diagnosen verändern die Antwortgüte nicht
----------------------------------------
<!-- funktion -->
Betrieb nachweisen
<!-- ziel -->
Der Betreiber kann belegen, dass das System trägt
- Prüfungen, Sicherungen und Berichte sind abrufbar
- Berichte enthalten keine Geheimnisse
- Ein Restore-Nachweis bleibt Aufgabe des Betreibers
----------------------------------------
<!-- funktion -->
Grenzen des Systems anerkennen
<!-- ziel -->
Das System ersetzt keine Prüfung durch Menschen
- Es gibt keine Rechteverwaltung im Wissen
- Kein Ersatz für Audit, Rechtsrat oder Abkommen
- Evals messen Fälle, nicht universelle Wahrheit

View File

@@ -0,0 +1,56 @@
<!-- titel -->
Werkzeug
----------------------------------------
<!-- art -->
optional
----------------------------------------
<!-- ziel -->
Erlaubt ein lesendes Werkzeug im Anbindungsraum
----------------------------------------
<!-- regeln -->
- Nur eindeutig lesende Werkzeuge sind erlaubt
- Werkzeuge mit Schreibrisiko bleiben gesperrt
- Eine Freigabe gilt nur für ihren Raum
- Das Modell schlägt vor, das System führt aus
- Ein freigegebenes Werkzeug läuft ohne Rückfrage
- Höchstens ein Werkzeug je Antwort
- Jede Nutzung erhält einen Nachweis
- Ein Werkzeugfehler wird sichtbar gemeldet
- Standardwissen und Shop bleiben ausgeschlossen
- Der Bereich braucht die höchste Rolle
----------------------------------------
<!-- funktion -->
Werkzeug freigeben
<!-- regeln -->
- Nicht eindeutig lesende Werkzeuge bleiben gesperrt
- Der Grund für eine Sperre steht dabei
- Die Freigabe führt kein Werkzeug aus
<!-- testen -->
- Räume überblicken
- Abschnitt Werkzeuge aufklappen
- LMB auf freigeben
- Werkzeug als freigegeben markiert
----------------------------------------
<!-- funktion -->
Werkzeugfreigabe zurücknehmen
<!-- regeln -->
- Die Rücknahme wirkt sofort
<!-- testen -->
- Räume überblicken
- Abschnitt Werkzeuge aufklappen
- LMB auf Freigabe entfernen
- Werkzeug wieder gesperrt
----------------------------------------
<!-- funktion -->
Werkzeugergebnis auswählen
<!-- ziel -->
Ordnet ein gespeichertes Ergebnis einem Raum zu
<!-- regeln -->
- Kein Werkzeug läuft dabei
- Ergebnisse bleiben gespeicherte Prüfinformationen
- Ergebnisse sind nicht live lesbar
<!-- testen -->
- Räume überblicken
- Abschnitt Ergebnisse aufklappen
- LMB auf auswählen
- Ergebnis im Freigabebereich

View File

@@ -0,0 +1,90 @@
<!-- titel -->
Wissensindex
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Hält die durchsuchbare Fassung des Wissens
----------------------------------------
<!-- regeln -->
- Treffer unter der Mindestgüte fallen weg
- Jeder Treffer trägt eine Chunkkennung
- Dokument und Abschnitt kommen mit, sofern vorhanden
- Eine nicht erreichbare Suche liefert keine Treffer
- Ein veralteter Index wird gemeldet
- Ein unvollständiger Aufbau bricht ab
----------------------------------------
<!-- funktion -->
Systemstand ansehen
<!-- ziel -->
Zeigt Chunkzahl und Gesundheit der Dienste
<!-- regeln -->
- Die Anzeige schreibt nichts
- Die harte Chunkgrenze liegt bei 25000
<!-- testen -->
- Menüeintrag Systemübersicht wählen
- Chunkzahl und Gesundheit sichtbar
----------------------------------------
<!-- funktion -->
Chunkindex einsehen
<!-- regeln -->
- Nur die höchste Rolle darf einsehen
- Vorgabe 50, höchstens 200 Einträge je Seite
- Die Anzeige startet keinen Neuaufbau
<!-- testen -->
- Menüeintrag Wissensbasis wählen
- Metadaten und Einträge sichtbar
----------------------------------------
<!-- funktion -->
Zwischenspeicher leeren
<!-- ziel -->
Verwirft kurzlebige Zwischenstände nach Wartung
<!-- regeln -->
- Der Dienst kennt keine Antwortlogik
- Ein nicht erreichbarer Vektordienst ergibt eine Warnung
- Eine Rückfrage geht voraus
<!-- testen -->
- Systemübersicht öffnen
- LMB auf Zwischenspeicher leeren
- Bestätigen
- Ergebnismeldung sichtbar
----------------------------------------
<!-- funktion -->
Gesundheit prüfen
<!-- ziel -->
Prüft Vektor- und Tagindex im Terminal
<!-- regeln -->
- Gesund ist jeder Zustand mit Vorsilbe OK
- Es entsteht kein Schreibzugriff
<!-- testen -->
- Kommando aufrufen
- Prüfbericht sichtbar
----------------------------------------
<!-- funktion -->
Vektordienst steuern
<!-- ziel -->
Startet, stoppt oder lädt den Vektordienst neu
<!-- regeln -->
- Die Steuerung läuft über das Kontrollskript
- Das Zeitlimit beträgt 600 Sekunden
<!-- testen -->
- Kommando mit Aktion aufrufen
- Ausgabe des Skripts sichtbar
----------------------------------------
<!-- funktion -->
Wissen zurücksetzen
<!-- ziel -->
Löscht Dokumente, Versionen, Tags und Indexdateien
<!-- regeln -->
- Nur die höchste Rolle darf ausführen
- Die Funktion ist standardmäßig gesperrt
- Der Bestätigungstext muss wörtlich stimmen
- Zuvor entsteht eine Sicherung
- Ein Fehlschlag der Sicherung bricht ab
<!-- testen -->
- Systemübersicht öffnen
- Bestätigungstext eintippen
- Absenden
- Bestätigen
- Sicherungspfad sichtbar

View File

@@ -0,0 +1,97 @@
<!-- titel -->
Wissensraum
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Bestimmt, welcher Bestand eine Antwort trägt
----------------------------------------
<!-- regeln -->
- Standardwissen ist immer verfügbar
- Standardwissen lässt sich nicht abschalten
- Ein Uploadraum antwortet nur aus dem Upload
- Ein Uploadraum kennt keinen stillen Rückfall
- Ein Anbindungsraum liest nur Freigegebenes
- Ein Anbindungsraum mischt kein Standardwissen
- Ein unbekannter Raum fällt auf Standardwissen
- Freigegebene Inhalte und Werkzeugergebnisse sind nachrangig
- Beide bleiben vom Rangvorteil ausgenommen
----------------------------------------
<!-- funktion -->
Wissensraum wählen
<!-- ziel -->
Legt die Antwortgrundlage der Unterhaltung fest
<!-- regeln -->
- Der Uploadraum braucht einen gültigen Upload
- Gesperrte Räume sind nicht wählbar
- Während des Empfangs gesperrt
<!-- testen -->
- Chat-Einstellungen öffnen
- Wissensraum wählen
- Raum in der Zusammenfassung
----------------------------------------
<!-- funktion -->
Räume überblicken
<!-- ziel -->
Zeigt, welche Räume arbeiten und angeboten werden
<!-- regeln -->
- Der Zugang braucht die höchste Rolle
- Anbindungen sind erst nach Freigabe wirksam
<!-- testen -->
- Menüeintrag Wissensräume wählen
- Räume mit Zählern sichtbar
----------------------------------------
<!-- funktion -->
Chatauswahl umschalten
<!-- ziel -->
Gibt einen Raum für die Chatauswahl frei
<!-- regeln -->
- Standardwissen bleibt gesperrt
- Ausschalten löscht keine Freigaben
- Wiedereinschalten braucht keine neue Freigabe
- Nicht vorgesehene Räume werden abgewiesen
<!-- testen -->
- Räume überblicken
- LMB auf Einschalten
- Raum als aktiv markiert
----------------------------------------
<!-- funktion -->
Freigegebenen Inhalt vorschauen
<!-- ziel -->
Liest einen freigegebenen Inhalt vor der Entscheidung
<!-- regeln -->
- Der Dialog liest nur auf Klick
- Kein Standardwissen und kein Werkzeug
- Es wird nichts gespeichert
<!-- testen -->
- Räume überblicken
- Freigabebereich öffnen
- LMB auf live lesen
- Textvorschau sichtbar
----------------------------------------
<!-- funktion -->
Herkunft ansehen
<!-- ziel -->
Zeigt, welche Inhalte welchem Raum gehören
<!-- regeln -->
- Reine Anzeige ohne Freigabe
- Kein externer Abruf entsteht
<!-- testen -->
- Räume überblicken
- Abschnitt Herkunft aufklappen
- Zuordnungen je Raum sichtbar
----------------------------------------
<!-- funktion -->
Raumgrenzen prüfen
<!-- ziel -->
Führt sechs Selbsttests zu den Raumgrenzen aus
<!-- regeln -->
- Es entsteht keine Chatantwort
- Kein Werkzeug wird ausgeführt
- Kein Inhalt wird live gelesen
- Netz und Speicher werden je Test ausgewiesen
<!-- testen -->
- Räume überblicken
- LMB auf Prüfungen ausführen
- Sammelergebnis sichtbar