Pablan, as it stands
Self-hosted knowledge management for SMEs: a split-screen Markdown editor whose sections an LLM refines while you write, and RAG question answering over the documents that result. FastAPI + Postgres/pgvector on the back, SvelteKit on the front, everything OpenAI-compatible and self-hostable. Squashed into a single commit; the development history stays local. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CA43ZJda8Rbp2hKXNy8f6b
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# Short chats whose LAST message loses the topic (a greeting, a meta-question),
|
||||
# even though the conversation is clearly about a documented subject. Used by
|
||||
# tests/evals/test_topic_retrieval_eval.py to compare retrieval over an LLM
|
||||
# topic summary against retrieval over the raw last message. `expected` is the
|
||||
# corpus slug the conversation is really about. German product content.
|
||||
|
||||
- messages:
|
||||
- role: user
|
||||
content: "Wie beantrage ich Urlaub?"
|
||||
- role: assistant
|
||||
content: "Urlaub beantragst du digital im Personalportal unter Abwesenheit, neuer Antrag."
|
||||
- role: user
|
||||
content: "Und was war eigentlich meine erste Frage?"
|
||||
expected: [urlaubsantrag-prozess]
|
||||
|
||||
- messages:
|
||||
- role: user
|
||||
content: "Wie oft muss die CNC-Fräse F-350 gewartet werden?"
|
||||
- role: assistant
|
||||
content: "Die Intervalle stehen im Wartungsplan der F-350, gestaffelt nach Betriebsstunden."
|
||||
- role: user
|
||||
content: "Alles klar, danke dir."
|
||||
expected: [wartungsplan-cnc-f350]
|
||||
|
||||
- messages:
|
||||
- role: user
|
||||
content: "Wie rechne ich eine Dienstreise ab?"
|
||||
- role: assistant
|
||||
content: "Reisekosten reichst du mit allen Belegen über das übliche Formular ein."
|
||||
- role: user
|
||||
content: "Hi"
|
||||
expected: [reisekosten]
|
||||
|
||||
- messages:
|
||||
- role: user
|
||||
content: "Was bedeutet der Fehlercode an der S7-Steuerung in Halle 2?"
|
||||
- role: assistant
|
||||
content: "Die Fehlercodes der S7 sind dokumentiert, jeder Code hat eine Ursache und Behebung."
|
||||
- role: user
|
||||
content: "Kannst du das nochmal wiederholen?"
|
||||
expected: [fehlercodes-sps-s7]
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
id: angebotskalkulation
|
||||
title: "Angebotskalkulation Sondermaschinen"
|
||||
department: Sales
|
||||
visibility: restricted
|
||||
grants: [Sales]
|
||||
---
|
||||
|
||||
# Angebotskalkulation Sondermaschinen
|
||||
|
||||
Vertraulich — enthält unsere Kalkulationslogik und Zuschlagssätze.
|
||||
|
||||
## Kalkulationsschema
|
||||
|
||||
Basis ist die Stückliste aus der Konstruktion plus die geplanten
|
||||
Fertigungsstunden der Arbeitsvorbereitung (AV). Darauf kommen:
|
||||
|
||||
- Materialgemeinkosten: 12 %
|
||||
- Fertigungsstundensatz: laut aktueller Satztabelle im Laufwerk
|
||||
V:\Kalkulation (wird jährlich zum 1. März aktualisiert)
|
||||
- Engineering-Stunden werden separat ausgewiesen, nie in den
|
||||
Maschinenpreis eingerechnet
|
||||
- Projektzuschlag für Risiko: 5 % bei Standardnähe, 15 % bei Neuland
|
||||
|
||||
## Untergrenzen
|
||||
|
||||
Angebote unter Deckungsbeitrag 2 gehen nicht raus. Ausnahmen genehmigt
|
||||
ausschließlich die Geschäftsführung schriftlich — „strategischer Kunde"
|
||||
ist kein Selbstbedienungsargument.
|
||||
|
||||
## Gültigkeit und Nachkalkulation
|
||||
|
||||
Angebote gelten 60 Tage. Nach Auftragsabschluss macht die AV eine
|
||||
Nachkalkulation; Abweichungen über 10 % werden im Vertriebsmeeting
|
||||
besprochen, damit die Sätze realistisch bleiben.
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: crm-leitfaden
|
||||
title: "CRM-Pflege: Leitfaden für den Vertrieb"
|
||||
department: Sales
|
||||
visibility: department
|
||||
---
|
||||
|
||||
# CRM-Pflege: Leitfaden für den Vertrieb
|
||||
|
||||
Unser CRM ist nur so gut wie seine Daten. Angebote ohne gepflegte
|
||||
Kontakthistorie sind im Urlaubsfall für niemanden nachvollziehbar.
|
||||
|
||||
## Pflichtfelder je Kontakt
|
||||
|
||||
- Firma, Ansprechpartner mit Funktion
|
||||
- Branche und Maschinenpark (Freitextfeld „Ausstattung")
|
||||
- Nächster vereinbarter Schritt mit Datum
|
||||
|
||||
## Aktivitäten erfassen
|
||||
|
||||
Jedes Telefonat und jeder Besuch wird noch am selben Tag als Aktivität
|
||||
erfasst. Kurzform reicht: Anlass, Ergebnis, nächster Schritt. E-Mails
|
||||
zieht das CRM automatisch, wenn die Adresse am Kontakt hinterlegt ist.
|
||||
|
||||
## Verkaufschancen
|
||||
|
||||
Eine Verkaufschance wird angelegt, sobald der Kunde ein konkretes
|
||||
Projekt nennt — nicht erst beim Angebot. Phasen: Anfrage, Angebot,
|
||||
Verhandlung, Auftrag/Verloren. Beim Schließen als „Verloren" immer den
|
||||
Grund auswählen; die Auswertung geht quartalsweise an die
|
||||
Geschäftsführung.
|
||||
|
||||
## Wiedervorlagen
|
||||
|
||||
Wiedervorlagen gehören ins CRM, nicht in Outlook. Der Montagsbericht
|
||||
zieht automatisch alle überfälligen Wiedervorlagen — wer seine Liste
|
||||
leer hält, taucht dort nicht auf.
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
id: datenschutz-grundlagen
|
||||
title: "Datenschutz im Arbeitsalltag"
|
||||
department: Administration
|
||||
visibility: public
|
||||
---
|
||||
|
||||
# Datenschutz im Arbeitsalltag
|
||||
|
||||
Kurzfassung der wichtigsten DSGVO-Regeln für den Alltag bei Nordwind.
|
||||
Die vollständige Datenschutzrichtlinie liegt im Intranet; Ansprechpartner
|
||||
ist der externe Datenschutzbeauftragte (Kontakt am Schwarzen Brett).
|
||||
|
||||
## Grundregeln
|
||||
|
||||
- Personenbezogene Daten nur erheben, wenn sie für die Aufgabe nötig sind
|
||||
- Keine Kundendaten auf private Geräte oder in private Cloud-Speicher
|
||||
- Bildschirm sperren beim Verlassen des Platzes (Windows-Taste + L)
|
||||
- Unterlagen mit Personenbezug in den Datenschutztonnen entsorgen, nicht
|
||||
im Papiermüll
|
||||
|
||||
## E-Mail und Verteiler
|
||||
|
||||
Bei Rundmails an externe Empfänger immer BCC verwenden. Bewerbungen
|
||||
werden ausschließlich von der Personalabteilung weitergeleitet — auch
|
||||
intern nicht „mal eben" an Kollegen schicken.
|
||||
|
||||
## Datenpannen melden
|
||||
|
||||
Verlorener Laptop, falsch versendete E-Mail mit Personendaten,
|
||||
verdächtige Anmeldungen: sofort an it@nordwind-maschinenbau.example
|
||||
UND die Personalabteilung melden. Die 72-Stunden-Meldefrist der DSGVO
|
||||
beginnt, sobald irgendjemand im Unternehmen von der Panne weiß.
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
---
|
||||
id: edi-rechnungen
|
||||
title: "EDI-Rechnungsversand an Großkunden"
|
||||
department: Administration
|
||||
visibility: department
|
||||
---
|
||||
|
||||
# EDI-Rechnungsversand an Großkunden
|
||||
|
||||
EDI steht für Electronic Data Interchange — den elektronischen
|
||||
Datenaustausch strukturierter Belege direkt zwischen den ERP-Systemen.
|
||||
Drei Großkunden erhalten ihre Rechnungen ausschließlich per EDI;
|
||||
Papier- oder PDF-Rechnungen werden dort automatisch abgewiesen.
|
||||
|
||||
## Angebundene Kunden
|
||||
|
||||
- Bremer & Söhne: EDIFACT INVOIC über den Provider Retarus
|
||||
- MK Antriebstechnik: ZUGFeRD-PDF per E-Mail an deren Rechnungseingang
|
||||
- Feldmann Gruppe: XRechnung über das Kundenportal
|
||||
|
||||
## Tagesablauf
|
||||
|
||||
Der Rechnungslauf erzeugt die EDI-Nachrichten automatisch um 17:00 Uhr.
|
||||
Danach im ERP unter „EDI-Monitor" prüfen, ob alle Nachrichten den Status
|
||||
„übertragen" haben.
|
||||
|
||||
## Fehlerbehandlung
|
||||
|
||||
Bleibt eine Nachricht auf „fehlerhaft" stehen:
|
||||
|
||||
1. Fehlertext im EDI-Monitor öffnen — meist fehlt die Bestellnummer des
|
||||
Kunden auf der Auftragsposition
|
||||
2. Auftrag korrigieren und die Nachricht erneut auslösen
|
||||
3. Bei Übertragungsfehlern (Provider nicht erreichbar) eine Stunde
|
||||
warten, dann erneut senden; danach Ticket beim Provider öffnen
|
||||
|
||||
Unklare Fälle bitte nicht liegen lassen: Bei Bremer & Söhne führt jede
|
||||
verspätete Rechnung zu Skontoabzug-Diskussionen.
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
id: fehlercodes-sps-s7
|
||||
title: "Fehlercodes der S7-Steuerung (Halle 2)"
|
||||
department: Engineering
|
||||
visibility: department
|
||||
---
|
||||
|
||||
# Fehlercodes der S7-Steuerung (Halle 2)
|
||||
|
||||
Die Anlagen in Halle 2 melden Störungen über das Panel mit E-Nummern.
|
||||
Die SPS (speicherprogrammierbare Steuerung) schreibt zusätzlich ein
|
||||
Diagnosepuffer-Protokoll, das bei Servicefällen exportiert werden muss.
|
||||
|
||||
## Häufige Fehlercodes
|
||||
|
||||
| Code | Bedeutung | Sofortmaßnahme |
|
||||
|-------|------------------------------------|----------------|
|
||||
| E-101 | Not-Aus-Kreis unterbrochen | Alle Not-Aus-Taster prüfen, dann quittieren |
|
||||
| E-115 | Türkontakt Schutzhaube offen | Haube schließen, Kontakt auf Verschleiß prüfen |
|
||||
| E-203 | Hydraulikdruck unter Sollwert | Aggregat prüfen, siehe Dokument HP-20 |
|
||||
| E-207 | Kühlmitteldurchfluss zu gering | Filter am Kühlmittelkreislauf tauschen |
|
||||
| E-311 | Werkzeugwechsler Timeout | Späne im Greifer? Wechsler im Handbetrieb freifahren |
|
||||
| E-408 | Kommunikation zum Panel gestört | PROFINET-Stecker am Schaltschrank prüfen |
|
||||
|
||||
## Quittieren von Störungen
|
||||
|
||||
Störungen werden am Panel mit der blauen Taste quittiert. E-101 und
|
||||
E-115 sind sicherheitsgerichtet und erfordern zusätzlich die Freigabe
|
||||
durch den Schichtleiter mit dem Schlüsselschalter.
|
||||
|
||||
## Diagnosepuffer exportieren
|
||||
|
||||
1. Am Panel: Menü „Service" → „Diagnose" → „Export USB"
|
||||
2. USB-Stick aus dem Schaltschrank-Fach verwenden (kein privater Stick!)
|
||||
3. Datei an instandhaltung@nordwind-maschinenbau.example mailen
|
||||
|
||||
Bei wiederkehrenden E-203-Meldungen bitte immer auch den Ölstand des
|
||||
Hydraulikaggregats dokumentieren, bevor der Servicetechniker kommt.
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
id: hydraulik-presse-hp20
|
||||
title: "Hydraulikpresse HP-20: Anfahren und Störungen"
|
||||
department: Engineering
|
||||
visibility: department
|
||||
---
|
||||
|
||||
# Hydraulikpresse HP-20: Anfahren und Störungen
|
||||
|
||||
Die HP-20 wird nur von eingewiesenem Personal gefahren. Die Einweisung
|
||||
dokumentiert der Schichtleiter im Schulungsordner.
|
||||
|
||||
## Anfahren nach Stillstand
|
||||
|
||||
1. Hauptschalter ein, Steuerung hochfahren lassen (ca. 90 Sekunden)
|
||||
2. Ölstand am Aggregat prüfen: Schauglas muss zwischen Min und Max stehen
|
||||
3. Pumpe im Leerlauf starten und zwei Minuten warmlaufen lassen
|
||||
4. Probehub ohne Werkstück fahren, Druckanzeige beobachten
|
||||
5. Solldruck 180 bar; Abweichungen über ±10 bar melden
|
||||
|
||||
## Typische Störungen
|
||||
|
||||
### Druck fällt unter Sollwert
|
||||
|
||||
Meldet die Steuerung E-203 (siehe Fehlercode-Liste), zuerst Ölstand
|
||||
prüfen. Häufigste Ursache ist eine undichte Verschraubung an der
|
||||
Druckleitung — Leckagen sofort der Instandhaltung melden, nicht selbst
|
||||
nachziehen, solange die Anlage unter Druck steht.
|
||||
|
||||
### Presse fährt nicht in Grundstellung
|
||||
|
||||
Meist steht der Wahlschalter noch auf „Einrichten". In Stellung
|
||||
„Automatik" bringt die Steuerung den Stößel selbstständig in die
|
||||
Grundstellung.
|
||||
|
||||
## Sicherheit
|
||||
|
||||
Der Lichtvorhang darf niemals überbrückt werden, auch nicht beim
|
||||
Einrichten. Für Einrichtbetrieb gibt es den Zustimmtaster am Bedienpult.
|
||||
Jede Manipulation an Sicherheitseinrichtungen ist ein Kündigungsgrund.
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
id: it-onboarding-arbeitsplatz
|
||||
title: "IT-Ausstattung neuer Arbeitsplätze"
|
||||
department: Administration
|
||||
visibility: department
|
||||
---
|
||||
|
||||
# IT-Ausstattung neuer Arbeitsplätze
|
||||
|
||||
Checkliste für die Verwaltung, damit neue Kolleginnen und Kollegen am
|
||||
ersten Tag arbeitsfähig sind. Vorlauf: mindestens zwei Wochen vor
|
||||
Eintritt.
|
||||
|
||||
## Standardausstattung
|
||||
|
||||
- Notebook aus dem Standardwarenkorb (Büro) oder Terminal-Zugang
|
||||
(Fertigung)
|
||||
- Benutzerkonto im Verzeichnisdienst, E-Mail-Postfach
|
||||
- Zugänge: ERP-Rolle laut Abteilungsprofil, CRM nur für den Vertrieb
|
||||
- Telefonnebenstelle bzw. DECT-Gerät in der Fertigung
|
||||
|
||||
## Ablauf
|
||||
|
||||
1. Personalabteilung meldet den Eintritt über das IT-Ticketportal
|
||||
2. IT legt Konto und Postfach an, richtet die ERP-Rolle ein
|
||||
3. Verwaltung bestellt Hardware und bereitet den Arbeitsplatz vor
|
||||
4. Am ersten Tag: Übergabeprotokoll unterschreiben lassen, Einweisung
|
||||
in Passwortrichtlinie und Datenschutz-Grundlagen
|
||||
|
||||
## Zugangskarten
|
||||
|
||||
Zugangskarten erstellt der Empfang. Fertigungsmitarbeiter erhalten
|
||||
zusätzlich die Berechtigung für Halle 1/2 erst nach der
|
||||
Sicherheitsunterweisung durch den Schichtleiter.
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: messevorbereitung
|
||||
title: "Messevorbereitung: Checkliste Hannover"
|
||||
department: Sales
|
||||
visibility: department
|
||||
---
|
||||
|
||||
# Messevorbereitung: Checkliste Hannover
|
||||
|
||||
Erfahrungswerte aus den letzten drei Messeauftritten. Verantwortlich ist
|
||||
der Vertriebsinnendienst, Start der Vorbereitung: 16 Wochen vor Messe.
|
||||
|
||||
## 16 bis 8 Wochen vorher
|
||||
|
||||
- Standfläche und Standbau bestätigen (Vertrag prüfen: Strom, Druckluft!)
|
||||
- Exponat festlegen — Abstimmung mit Fertigung, ob die Maschine
|
||||
rechtzeitig aus der Produktion genommen werden kann
|
||||
- Hotelkontingent buchen (Innenstadt ist 12 Monate vorher ausgebucht,
|
||||
Ausweichoption Laatzen)
|
||||
|
||||
## 8 Wochen bis Messebeginn
|
||||
|
||||
- Transport des Exponats mit Spedition Grothe terminieren
|
||||
- Standdienstplan erstellen: immer mindestens ein Techniker am Stand
|
||||
- Gesprächsleitfaden und Preislisten-Auszug drucken (keine vollständigen
|
||||
Preislisten am Stand!)
|
||||
|
||||
## Nach der Messe
|
||||
|
||||
Alle Messekontakte innerhalb von fünf Arbeitstagen im CRM erfassen und
|
||||
mit dem Kennzeichen der Messe versehen. Die Nachverfolgung läuft über
|
||||
den normalen CRM-Wiedervorlagen-Prozess.
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: netzwerk-produktions-it
|
||||
title: "Produktions-IT: Netzwerk und Maschinenanbindung"
|
||||
department: Engineering
|
||||
visibility: restricted
|
||||
---
|
||||
|
||||
# Produktions-IT: Netzwerk und Maschinenanbindung
|
||||
|
||||
Vertraulich — Zugriff nur für die Produktions-IT. Enthält
|
||||
Netzwerkstruktur und Zugangsdaten-Speicherorte.
|
||||
|
||||
## Netzsegmente
|
||||
|
||||
Die Produktion ist vom Büronetz vollständig getrennt. Es gibt drei
|
||||
VLANs: Maschinen (nur Maschinensteuerungen), Panels (Bedienpanels und
|
||||
Terminals) und Erfassung (BDE-Terminals der Betriebsdatenerfassung).
|
||||
Übergänge laufen ausschließlich über die Firewall in Schrank R2.
|
||||
|
||||
## Maschinenanbindung
|
||||
|
||||
Neue Maschinen werden über OPC UA angebunden. Der OPC-UA-Server läuft
|
||||
auf dem Edge-Rechner in Halle 2; Zertifikate liegen im Passwort-Tresor
|
||||
der IT (Eintrag „OPC-UA Edge"). Die alte F-500 spricht kein OPC UA und
|
||||
wird über eine serielle Brücke ausgelesen — Finger weg von dem grauen
|
||||
Kasten neben ihrem Schaltschrank.
|
||||
|
||||
## Fernwartung
|
||||
|
||||
Servotec erhält Fernzugriff nur über die Wartungs-VPN mit
|
||||
Einmal-Freischaltung durch die IT. Dauerhafte Fernzugänge sind nicht
|
||||
zulässig und werden von der Firewall geblockt.
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
id: offboarding-krause-instandhaltung
|
||||
title: "Wissenssicherung: Werner Krause (Instandhaltung)"
|
||||
department: Engineering
|
||||
visibility: restricted
|
||||
grants: [Engineering]
|
||||
---
|
||||
|
||||
# Wissenssicherung: Werner Krause (Instandhaltung)
|
||||
|
||||
Werner Krause geht im September 2026 nach 31 Jahren in den Ruhestand.
|
||||
Dieses Dokument fasst sein Erfahrungswissen aus dem Abschlussinterview
|
||||
zusammen.
|
||||
|
||||
## Undokumentierte Eigenheiten der Maschinen
|
||||
|
||||
Die F-350 verliert nach einem Stromausfall gelegentlich die Position der
|
||||
vierten Achse, obwohl die Referenzfahrt fehlerfrei durchläuft. Werner
|
||||
fährt in dem Fall die Achse einmal manuell auf Endlage und wieder
|
||||
zurück, danach stimmt die Position wieder. Servotec kennt das Problem,
|
||||
konnte es aber nie reproduzieren.
|
||||
|
||||
Beim Umbau der HP-20 im Jahr 2019 wurde ein Zwischenring am
|
||||
Stößel eingebaut, der nicht in den Zeichnungen auftaucht. Bei
|
||||
Ersatzteilbestellungen für den Stößel immer zuerst den Ring ausmessen.
|
||||
|
||||
## Lieferanten und Ansprechpartner
|
||||
|
||||
- Servotec: Herr Balke ist der einzige Techniker, der die F-350 wirklich
|
||||
kennt. Bei Terminen explizit nach ihm fragen.
|
||||
- Hydraulik-Ersatzteile: Firma Prüßmann liefert schneller als der
|
||||
Hersteller, Qualität identisch.
|
||||
|
||||
## Was der Nachfolger zuerst lernen sollte
|
||||
|
||||
1. Diagnosepuffer der S7 lesen und exportieren
|
||||
2. Zentralschmierung der Fräsen (Dosierventile reagieren empfindlich
|
||||
auf falsches Öl)
|
||||
3. Den Schichtbuch-Rhythmus: alles, was nicht dokumentiert ist,
|
||||
ist nach zwei Wochen vergessen
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
id: qualitaetspruefung-wareneingang
|
||||
title: "Qualitätsprüfung im Wareneingang"
|
||||
department: Engineering
|
||||
visibility: public
|
||||
---
|
||||
|
||||
# Qualitätsprüfung im Wareneingang
|
||||
|
||||
Jede Anlieferung durchläuft die Qualitätssicherung (QS), bevor sie ins
|
||||
Lager gebucht wird. Ungeprüfte Ware steht in der gelben Zone und darf
|
||||
nicht entnommen werden.
|
||||
|
||||
## Prüfumfang
|
||||
|
||||
Standardteile prüfen wir nach AQL-Stichprobenplan (Annehmbare
|
||||
Qualitätsgrenzlage, Stufe II). Zeichnungsteile von Neulieferanten werden
|
||||
in den ersten drei Lieferungen zu 100 % gemessen, danach nach
|
||||
Stichprobenplan.
|
||||
|
||||
## Ablauf
|
||||
|
||||
1. Lieferschein mit Bestellung im ERP abgleichen
|
||||
2. Sichtprüfung auf Transportschäden
|
||||
3. Stichprobe ziehen laut AQL-Tabelle (hängt am QS-Arbeitsplatz)
|
||||
4. Messwerte im ERP unter „WE-Prüfung" erfassen
|
||||
5. Bei i.O.: grünes Etikett, Buchung ins Lager
|
||||
6. Bei n.i.O.: Sperrbestand, QS-Meldung an den Einkauf
|
||||
|
||||
## Sonderfreigaben
|
||||
|
||||
Eine Sonderfreigabe gesperrter Ware darf nur die QS-Leitung erteilen,
|
||||
schriftlich im ERP. Mündliche Freigaben gelten nicht — auch nicht,
|
||||
wenn die Fertigung auf das Material wartet.
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
id: rabattrichtlinie
|
||||
title: "Rabatt- und Konditionenrichtlinie"
|
||||
department: Sales
|
||||
visibility: department
|
||||
---
|
||||
|
||||
# Rabatt- und Konditionenrichtlinie
|
||||
|
||||
Gültig ab 01.01.2026, ersetzt alle älteren Regelungen.
|
||||
|
||||
## Rabattstufen Ersatzteile
|
||||
|
||||
- Bis 5 %: eigenverantwortlich durch den Vertriebsmitarbeiter
|
||||
- 5–10 %: Freigabe durch den Vertriebsleiter
|
||||
- Über 10 %: nur mit schriftlicher Freigabe der Geschäftsführung
|
||||
|
||||
## Maschinen und Sondermaschinen
|
||||
|
||||
Für Maschinen gibt es keine Standardrabatte. Preisnachlässe entstehen
|
||||
ausschließlich über den Verhandlungsrahmen, der in der Kalkulation
|
||||
hinterlegt ist.
|
||||
|
||||
## Zahlungsbedingungen
|
||||
|
||||
Standard: 30 % bei Auftrag, 60 % bei Liefermeldung, 10 % nach
|
||||
Inbetriebnahme. Abweichende Zahlungspläne prüft die Buchhaltung auf
|
||||
Bonität, bevor der Vertrag unterschrieben wird.
|
||||
|
||||
## Skonto
|
||||
|
||||
Skonto gewähren wir grundsätzlich nicht. Bestandskunden mit
|
||||
Altverträgen (2 % / 14 Tage) behalten ihre Kondition bis zur nächsten
|
||||
Vertragsverlängerung.
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
---
|
||||
id: reisekosten
|
||||
title: "Reisekostenabrechnung"
|
||||
department: Administration
|
||||
visibility: public
|
||||
---
|
||||
|
||||
# Reisekostenabrechnung
|
||||
|
||||
Reisekosten werden monatlich abgerechnet, Abgabefrist ist der 5. des
|
||||
Folgemonats. Später eingereichte Abrechnungen rutschen in den nächsten
|
||||
Lauf.
|
||||
|
||||
## Was wird erstattet
|
||||
|
||||
- Fahrten mit Privat-PKW: 0,30 € pro Kilometer laut Routenplaner
|
||||
- Bahn: 2. Klasse, Tickets über das Firmenkonto im Bahnportal buchen
|
||||
- Hotel: bis 120 € pro Nacht ohne Rückfrage, darüber vorher genehmigen
|
||||
lassen
|
||||
- Verpflegungsmehraufwand: gesetzliche Pauschalen, das Formular rechnet
|
||||
automatisch
|
||||
|
||||
## Ablauf
|
||||
|
||||
1. Formular „Reisekosten" aus dem Intranet verwenden (aktuelle Version!)
|
||||
2. Belege als PDF anhängen — Fotos sind okay, solange sie lesbar sind
|
||||
3. An buchhaltung@nordwind-maschinenbau.example senden
|
||||
4. Erstattung kommt mit der nächsten Gehaltsabrechnung
|
||||
|
||||
## Firmenwagen und Poolfahrzeuge
|
||||
|
||||
Für Poolfahrzeuge wird nur getankt (Tankkarte im Handschuhfach), keine
|
||||
Kilometer abgerechnet. Das Fahrtenbuch im Fahrzeug ist Pflicht und wird
|
||||
von der Verwaltung monatlich geprüft.
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
id: reklamationsprozess
|
||||
title: "Reklamationsprozess (Kundenreklamationen)"
|
||||
department: Sales
|
||||
visibility: public
|
||||
---
|
||||
|
||||
# Reklamationsprozess (Kundenreklamationen)
|
||||
|
||||
Gilt für alle Kundenreklamationen, unabhängig davon, wer sie
|
||||
entgegennimmt. Ziel: Erstantwort an den Kunden innerhalb von 24 Stunden.
|
||||
|
||||
## Ablauf in acht Schritten
|
||||
|
||||
1. **Eingang erfassen**: Reklamation im ERP als Vorgang „REK" anlegen,
|
||||
Kunde, Auftragsnummer und Fehlerbeschreibung erfassen.
|
||||
2. **Eingangsbestätigung**: Der Vertrieb bestätigt dem Kunden den
|
||||
Eingang innerhalb von 24 Stunden mit der REK-Nummer.
|
||||
3. **Ersteinschätzung**: QS bewertet, ob es sich um einen Sachmangel,
|
||||
einen Transportschaden oder einen Bedienfehler handelt.
|
||||
4. **Sofortmaßnahme**: Falls der Kunde stillsteht, entscheidet der
|
||||
Vertriebsleiter über Ersatzlieferung oder Technikereinsatz.
|
||||
5. **Ursachenanalyse**: QS und Fertigung ermitteln die Ursache
|
||||
(5-Why-Methode, Ergebnis im REK-Vorgang dokumentieren).
|
||||
6. **Abstellmaßnahme**: Maßnahme festlegen, Verantwortlichen und
|
||||
Termin eintragen.
|
||||
7. **Kundenantwort**: Der Vertrieb formuliert die Antwort auf Basis der
|
||||
Analyse — keine Rohdaten aus der QS unkommentiert weiterleiten.
|
||||
8. **Wirksamkeitsprüfung**: QS prüft nach drei Monaten, ob die Maßnahme
|
||||
gewirkt hat, und schließt den Vorgang.
|
||||
|
||||
## Zuständigkeiten
|
||||
|
||||
Der Vorgangsverantwortliche ist immer der Vertriebsmitarbeiter des
|
||||
Kunden. QS unterstützt bei Analyse und Bewertung, übernimmt aber nicht
|
||||
die Kundenkommunikation.
|
||||
|
||||
## Eskalation
|
||||
|
||||
Reklamationen mit Stillstand beim Kunden oder Streitwert über 10.000 €
|
||||
gehen sofort an die Geschäftsführung.
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
id: schmierstoffe-wartung
|
||||
title: "Schmierstoffe und Wartungsintervalle"
|
||||
department: Engineering
|
||||
visibility: department
|
||||
---
|
||||
|
||||
# Schmierstoffe und Wartungsintervalle
|
||||
|
||||
Übersicht der freigegebenen Schmierstoffe für alle Maschinen in Halle 1
|
||||
und Halle 2. Nicht gelistete Öle und Fette dürfen ohne Freigabe der
|
||||
Instandhaltung nicht eingesetzt werden — falsche Schmierstoffe sind die
|
||||
häufigste Ursache für Garantieverlust.
|
||||
|
||||
## Freigegebene Schmierstoffe
|
||||
|
||||
- **Getriebeöl GX-220**: Zentralschmierung der CNC-Fräsen (F-350, F-500),
|
||||
Nachfüllintervall monatlich
|
||||
- **Bettbahnöl BB-68**: Führungsbahnen, wöchentlich nach Reinigung
|
||||
- **Hochdruckfett HF-2**: Lagerstellen Hydraulikpresse HP-20,
|
||||
alle 500 Betriebsstunden
|
||||
- **Spindelöl SP-10**: nur durch Servotec bei der Jahreswartung
|
||||
|
||||
## Intervalle je Maschine
|
||||
|
||||
### CNC-Fräse F-350
|
||||
|
||||
Die F-350 hat eine automatische Zentralschmierung; der Behälter wird
|
||||
monatlich mit GX-220 aufgefüllt. Die Führungsbahnen zusätzlich wöchentlich
|
||||
mit BB-68 benetzen. Der vollständige Plan steht im „Wartungsplan
|
||||
CNC-Fräse F-350".
|
||||
|
||||
### Hydraulikpresse HP-20
|
||||
|
||||
Lagerstellen alle 500 Betriebsstunden mit HF-2 abschmieren
|
||||
(Betriebsstundenzähler am Panel). Hydrauliköl wird NICHT von uns
|
||||
gewechselt — Ölwechsel nur durch den Hersteller-Service.
|
||||
|
||||
## Lagerung und Entsorgung
|
||||
|
||||
Schmierstoffe lagern im Gefahrstoffschrank in Halle 1. Altöl kommt in
|
||||
die gekennzeichneten Behälter am Wertstoffplatz; die Entsorgung holt
|
||||
die Firma Reko alle sechs Wochen ab. Sicherheitsdatenblätter hängen am
|
||||
Gefahrstoffschrank aus.
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
id: urlaubsantrag-prozess
|
||||
title: "Urlaubsanträge und Abwesenheiten"
|
||||
department: Administration
|
||||
visibility: public
|
||||
---
|
||||
|
||||
# Urlaubsanträge und Abwesenheiten
|
||||
|
||||
Gilt für alle Beschäftigten. Urlaubsanträge laufen seit 2025 digital
|
||||
über das Personalportal — Papieranträge werden nicht mehr angenommen.
|
||||
|
||||
## Urlaub beantragen
|
||||
|
||||
1. Personalportal → „Abwesenheit" → „Neuer Antrag"
|
||||
2. Zeitraum wählen; das Portal zeigt den Resturlaub automatisch an
|
||||
3. Antrag geht zur Genehmigung an die Führungskraft
|
||||
4. Nach Genehmigung erscheint der Urlaub im Teamkalender
|
||||
|
||||
Anträge für mehr als zwei Wochen am Stück bitte mindestens acht Wochen
|
||||
vorher stellen. In der Fertigung gilt zusätzlich: pro Schicht dürfen
|
||||
maximal zwei Personen gleichzeitig Urlaub haben.
|
||||
|
||||
## Krankmeldung
|
||||
|
||||
Am ersten Krankheitstag bis 9:00 Uhr telefonisch beim Schichtleiter
|
||||
bzw. bei der Führungskraft melden. Die Arbeitsunfähigkeitsbescheinigung
|
||||
kommt elektronisch von der Krankenkasse; ein Papierschein ist nur noch
|
||||
für Privatversicherte nötig.
|
||||
|
||||
## Sonderurlaub
|
||||
|
||||
Sonderurlaub (Umzug, Hochzeit, Todesfall) regelt der Manteltarifvertrag.
|
||||
Im Zweifel vor der Buchung bei der Personalabteilung nachfragen —
|
||||
nachträgliche Umbuchungen sind aufwendig.
|
||||
@@ -0,0 +1,56 @@
|
||||
---
|
||||
id: wartungsplan-cnc-f350
|
||||
title: "Wartungsplan CNC-Fräse F-350"
|
||||
department: Engineering
|
||||
visibility: department
|
||||
---
|
||||
|
||||
# Wartungsplan CNC-Fräse F-350
|
||||
|
||||
Die F-350 ist unsere meistgenutzte Fräse in Halle 2. Ausfälle blockieren
|
||||
direkt die Fertigung der Serienteile für Bremer & Söhne. Deshalb gilt der
|
||||
folgende Plan verbindlich; Abweichungen bitte immer im Schichtbuch
|
||||
dokumentieren.
|
||||
|
||||
## Tägliche Kontrolle (Schichtbeginn)
|
||||
|
||||
- Kühlschmierstoff-Stand am Schauglas prüfen (Sollbereich grün)
|
||||
- Späneförderer auf Blockaden kontrollieren
|
||||
- Referenzfahrt durchführen und auf ungewöhnliche Geräusche achten
|
||||
- Absaugung: Filteranzeige darf nicht im roten Bereich stehen
|
||||
|
||||
## Wöchentliche Wartung
|
||||
|
||||
Jeden Freitag in der Spätschicht, Dauer ca. 45 Minuten:
|
||||
|
||||
1. Führungsbahnen mit Pinsel reinigen, danach mit Bettbahnöl benetzen
|
||||
2. Werkzeugaufnahmen (WKZ-Kegel) mit Reinigungskegel abfahren
|
||||
3. Kühlschmierstoff-Konzentration mit dem Refraktometer messen
|
||||
(Soll: 8–10 %)
|
||||
4. Druckluftwartungseinheit: Kondensat ablassen
|
||||
|
||||
## Monatliche Wartung
|
||||
|
||||
### Schmierung
|
||||
|
||||
Die Zentralschmierung versorgt die Linearführungen automatisch, der
|
||||
Vorratsbehälter muss aber monatlich mit Getriebeöl GX-220 aufgefüllt
|
||||
werden. Nur GX-220 verwenden — andere Öle verharzen die Dosierventile.
|
||||
Details zu Schmierstoffen und Freigaben stehen im Dokument
|
||||
„Schmierstoffe und Wartungsintervalle".
|
||||
|
||||
### Geometrieprüfung
|
||||
|
||||
- Rundlaufprüfung an der Spindel mit Messuhr (Toleranz 0,01 mm)
|
||||
- Referenzwerte im Maschinenordner ablegen
|
||||
|
||||
## Jahreswartung (extern)
|
||||
|
||||
Die Jahreswartung führt die Firma Servotec durch (Vertrag NW-2019-114).
|
||||
Termin koordiniert die Arbeitsvorbereitung (AV). Vorher unbedingt den
|
||||
Werkzeugwechsler leerräumen und die Paletten aus dem Speicher nehmen.
|
||||
|
||||
## Ansprechpartner
|
||||
|
||||
Instandhaltung: Werner Krause (bis 09/2026), danach Team Instandhaltung
|
||||
über das Schichtbuch. Ersatzteile bestellt ausschließlich der Einkauf.
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
# Golden retrieval queries against the fixture corpus.
|
||||
# `expected`: document slugs — a query counts as a hit (recall@5) if ANY
|
||||
# expected document appears in the top 5 results. An empty `expected` list
|
||||
# marks a no-answer case: the corpus contains nothing relevant.
|
||||
|
||||
- query: "Wie oft muss die Zentralschmierung der F-350 aufgefüllt werden?"
|
||||
expected: [wartungsplan-cnc-f350, schmierstoffe-wartung]
|
||||
# Declarative statements must retrieve the same documents as the equivalent
|
||||
# question. The hybrid German full-text component closes the statement-vs-
|
||||
# question gap the pure-cosine similarity path is more sensitive to (notes.md).
|
||||
- query: "Die Zentralschmierung der F-350 muss regelmäßig aufgefüllt werden."
|
||||
expected: [wartungsplan-cnc-f350, schmierstoffe-wartung]
|
||||
- query: "Der Solldruck der Hydraulikpresse ist fest vorgegeben."
|
||||
expected: [hydraulik-presse-hp20]
|
||||
- query: "Welches Öl kommt in die Zentralschmierung der Fräse?"
|
||||
expected: [wartungsplan-cnc-f350, schmierstoffe-wartung]
|
||||
- query: "Was bedeutet Fehlercode E-203?"
|
||||
expected: [fehlercodes-sps-s7, hydraulik-presse-hp20]
|
||||
- query: "Wie exportiere ich den Diagnosepuffer der Steuerung?"
|
||||
expected: [fehlercodes-sps-s7]
|
||||
- query: "Wer muss eine Not-Aus-Störung freigeben?"
|
||||
expected: [fehlercodes-sps-s7]
|
||||
- query: "Welcher Solldruck gilt für die Hydraulikpresse?"
|
||||
expected: [hydraulik-presse-hp20]
|
||||
- query: "Die Presse fährt nicht in die Grundstellung zurück, was tun?"
|
||||
expected: [hydraulik-presse-hp20]
|
||||
- query: "Welche Schmierstoffe sind bei uns freigegeben?"
|
||||
expected: [schmierstoffe-wartung]
|
||||
- query: "Welcher Servotec-Techniker kennt die F-350 am besten?"
|
||||
expected: [offboarding-krause-instandhaltung]
|
||||
- query: "Die vierte Achse verliert nach einem Stromausfall die Position."
|
||||
expected: [offboarding-krause-instandhaltung]
|
||||
- query: "Wie werden neue Maschinen an das Produktionsnetzwerk angebunden?"
|
||||
expected: [netzwerk-produktions-it]
|
||||
- query: "Stichprobenprüfung bei Anlieferungen" # synonym for AQL/Wareneingang
|
||||
expected: [qualitaetspruefung-wareneingang]
|
||||
- query: "Wer darf gesperrte Ware freigeben?"
|
||||
expected: [qualitaetspruefung-wareneingang]
|
||||
- query: "Welche Pflichtfelder müssen im CRM gepflegt werden?"
|
||||
expected: [crm-leitfaden]
|
||||
- query: "Wie schnell muss auf eine Reklamation reagiert werden?"
|
||||
expected: [reklamationsprozess]
|
||||
- query: "Ablauf bei Kundenbeschwerden" # synonym: Beschwerde vs. Reklamation
|
||||
expected: [reklamationsprozess]
|
||||
- query: "Wie hoch ist der Zuschlag für Materialgemeinkosten?"
|
||||
expected: [angebotskalkulation]
|
||||
- query: "Wie lange sind unsere Angebote gültig?"
|
||||
expected: [angebotskalkulation]
|
||||
- query: "Wo übernachten wir während der Messe in Hannover?"
|
||||
expected: [messevorbereitung]
|
||||
- query: "Wie viel Rabatt darf ich auf Ersatzteile geben?"
|
||||
expected: [rabattrichtlinie]
|
||||
- query: "Wie beantrage ich Urlaub?"
|
||||
expected: [urlaubsantrag-prozess]
|
||||
- query: "Kilometerpauschale für Dienstfahrten mit dem Privatauto" # synonym: PKW
|
||||
expected: [reisekosten]
|
||||
- query: "elektronischer Datenaustausch von Rechnungen mit Großkunden" # spelled-out EDI
|
||||
expected: [edi-rechnungen]
|
||||
- query: "Was muss vor dem ersten Arbeitstag eines neuen Mitarbeiters vorbereitet werden?"
|
||||
expected: [it-onboarding-arbeitsplatz]
|
||||
- query: "Wie melde ich eine Datenpanne?"
|
||||
expected: [datenschutz-grundlagen]
|
||||
|
||||
# --- no-answer cases: nothing in the corpus covers these ---
|
||||
- query: "Wie konfiguriere ich den Farblaserdrucker im dritten Obergeschoss?"
|
||||
expected: []
|
||||
- query: "Welche Gerichte gibt es in der Kantine für Veganer?"
|
||||
expected: []
|
||||
- query: "Wie stelle ich den Beamer im Konferenzraum scharf?"
|
||||
expected: []
|
||||
- query: "Gibt es einen Zuschuss zum Deutschlandticket?"
|
||||
expected: []
|
||||
Vendored
+58
@@ -0,0 +1,58 @@
|
||||
"""Loader for the shared fixture corpus — seeds and tests draw from it.
|
||||
|
||||
The corpus is product content (German knowledge documents of the fictional
|
||||
SME "Nordwind Maschinenbau GmbH"). PyYAML is available through
|
||||
uvicorn[standard]; it becomes a declared dependency with the template
|
||||
import in M6.
|
||||
"""
|
||||
|
||||
from dataclasses import dataclass, field
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
import yaml
|
||||
|
||||
FIXTURES_DIR = Path(__file__).resolve().parent
|
||||
CORPUS_DIR = FIXTURES_DIR / "corpus"
|
||||
|
||||
|
||||
@dataclass
|
||||
class CorpusDoc:
|
||||
slug: str
|
||||
title: str
|
||||
department: str
|
||||
visibility: str
|
||||
content_md: str
|
||||
grants: list[str] = field(default_factory=list)
|
||||
|
||||
|
||||
def load_corpus() -> list[CorpusDoc]:
|
||||
docs: list[CorpusDoc] = []
|
||||
for path in sorted(CORPUS_DIR.glob("*.md")):
|
||||
text = path.read_text()
|
||||
if not text.startswith("---\n"):
|
||||
raise ValueError(f"corpus file without frontmatter: {path.name}")
|
||||
_, frontmatter, body = text.split("---\n", 2)
|
||||
meta = yaml.safe_load(frontmatter)
|
||||
docs.append(
|
||||
CorpusDoc(
|
||||
slug=meta["id"],
|
||||
title=meta["title"],
|
||||
department=meta["department"],
|
||||
visibility=meta["visibility"],
|
||||
grants=list(meta.get("grants", [])),
|
||||
content_md=body.strip() + "\n",
|
||||
)
|
||||
)
|
||||
return docs
|
||||
|
||||
|
||||
def load_golden_queries() -> list[dict[str, Any]]:
|
||||
return yaml.safe_load((FIXTURES_DIR / "golden_queries.yaml").read_text())
|
||||
|
||||
|
||||
def load_conversation_snippets() -> list[dict[str, Any]]:
|
||||
"""Short chats whose LAST message is a topic-losing follow-up, with the
|
||||
corpus slug the conversation is really about — for comparing topic-summary
|
||||
retrieval against retrieval over the raw last message."""
|
||||
return yaml.safe_load((FIXTURES_DIR / "conversation_snippets.yaml").read_text())
|
||||
Reference in New Issue
Block a user