# KNOW-Ontologie: Quelle der Wahrheit für Begriffe, Beziehungen und Vokabulare der n8n-Wissensdatenbank. # Pflege: SPEC-ontology.md. Kern (classes, relations) per Commit; Vokabulare wachsen über Vorschläge der # Service-Routine und `knaster ontology apply`. Erzeugt: Turtle, Graph, Webseite (`knaster ontology export`). id: know version: 1 label: KNOW-Ontologie namespace: urn:mygodel:know# modules: mail: Mail & Absender kanbau: Kontakte & Projekte docs: Dokumente kaf: Ankauf (KAF) finance: Buchhaltung learning: Lernen agent: Agent bsb: Browser-Sessions llm: LLM-Worker system: Externe Systeme classes: Postfach: label: Postfach module: mail definition: Ein Microsoft-365-Postfach, das die Workflows lesen. Es gibt keine eigene Tabelle, das Postfach steckt in der Spalte mailbox mehrerer Tabellen. key: mailbox Mail: label: Mail module: mail definition: Eine eingegangene und klassifizierte Mail. table: mail_events key: message_id sensitive: Absender und Betreff jeder verarbeiteten Mail attributes: id: BIGSERIAL message_id: TEXT mailbox: TEXT sender: TEXT subject: TEXT received_at: TIMESTAMPTZ category: TEXT assigned_project_key: TEXT workflow_status: TEXT raw_signals: JSONB last_processed_at: TIMESTAMPTZ Absender: label: Absender module: mail definition: Absenderadresse, beobachtet in einem Postfach über ein Zeitfenster (Profil mit Kategorien, Junk-Anteil, Abmelde-Link). table: sender_observations key: observation_key attributes: id: BIGSERIAL observation_key: TEXT mailbox: TEXT email: TEXT registered_domain: TEXT display_name: TEXT window_from: TIMESTAMPTZ window_to: TIMESTAMPTZ mail_count: INTEGER junk_count: INTEGER category_histogram: JSONB dominant_category: TEXT dominant_share: NUMERIC avg_confidence: NUMERIC absender_typ: TEXT mail_art: TEXT unsubscribe_url: TEXT unsubscribe_mailto: TEXT unsubscribe_one_click: BOOLEAN first_mail_at: TIMESTAMPTZ last_mail_at: TIMESTAMPTZ subjects_sample: JSONB source: TEXT created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Domain: label: Domain module: mail definition: Registrierte Domain eines Absenders; bekannte Plattformen sind eigens markiert. table: platform_domains key: registered_domain attributes: id: BIGSERIAL registered_domain: TEXT display_name: TEXT status: TEXT source: TEXT evidence_json: JSONB first_seen_at: TIMESTAMPTZ last_seen_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Postfachzugriff: label: Postfachzugriff module: mail definition: Delegierter Zugriff auf ein Postfach (OAuth-Token, verschlüsselt gespeichert). table: mailbox_grants key: grant_key + provider sensitive: OAuth-Tokens, verschlüsselt (AES-256-GCM) attributes: id: BIGSERIAL grant_key: TEXT provider: TEXT scope: TEXT token_ciphertext: TEXT token_iv: TEXT token_tag: TEXT token_alg: TEXT expires_hint: TIMESTAMPTZ status: TEXT source_workflow: TEXT created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ MailKategorie: label: Mail-Kategorie module: mail definition: 'Fachliche Kategorie einer Mail mit Regeln: ab wie vielen Beobachtungen die KI übersprungen wird, Priorität, Modellwahl, Safety-Floor.' table: workflow_hint_config key: config_key attributes: config_key: TEXT min_observations_for_skip_ai: INTEGER priority_level: TEXT preferred_model: TEXT safety_floor: BOOLEAN relevance_weight: NUMERIC outlook_category: TEXT requires_action: BOOLEAN description: TEXT updated_at: TIMESTAMPTZ Projekt: label: Projekt module: kanbau definition: Bauprojekt aus KanBau mit Adresse und Kürzel. table: projects key: project_key attributes: id: BIGSERIAL project_key: TEXT kanbau_project_id: TEXT project_number: TEXT project_name: TEXT short_code: TEXT company_context: TEXT street: TEXT zip: TEXT city: TEXT full_address: TEXT normalized_address: TEXT status: TEXT raw_kanbau_json: JSONB last_synced_at: TIMESTAMPTZ created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ ProjektAlias: label: Projekt-Alias module: kanbau definition: 'Andere Bezeichnung für ein Projekt: Adresse, Kürzel oder ein aus Mails gelerntes Token.' table: project_aliases key: alias_key attributes: id: BIGSERIAL alias_key: TEXT project_key: TEXT kanbau_project_id: TEXT alias_type: TEXT alias_value: TEXT normalized_value: TEXT source_workflow: TEXT confidence: NUMERIC evidence_json: JSONB quality_status: TEXT verified_at: TIMESTAMPTZ created_at: TIMESTAMPTZ Kontakt: label: Kontakt module: kanbau definition: Firma oder Person mit Kontaktdaten, Steuernummern und Relevanz-Score. table: contacts key: contact_key sensitive: 'Personenbezogen: E-Mail, Telefon, Steuer-Nr., USt-IdNr. (IBAN nur als Hash)' attributes: id: BIGSERIAL contact_key: TEXT contact_type: TEXT display_name: TEXT legal_name: TEXT normalized_name: TEXT email: TEXT phone: TEXT website: TEXT tax_id: TEXT vat_id: TEXT iban_hash: TEXT address_json: JSONB source: TEXT source_confidence: NUMERIC kanbau_address_id: TEXT raw_evidence_json: JSONB quality_status: TEXT first_seen_at: TIMESTAMPTZ last_seen_at: TIMESTAMPTZ verified_at: TIMESTAMPTZ created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ business_relevance_score: NUMERIC KontaktAlias: label: Kontakt-Alias module: kanbau definition: Andere Schreibweise eines Kontakts. table: contact_aliases key: alias_key attributes: id: BIGSERIAL alias_key: TEXT contact_key: TEXT alias_type: TEXT alias_value: TEXT normalized_value: TEXT source_workflow: TEXT confidence: NUMERIC evidence_json: JSONB quality_status: TEXT created_at: TIMESTAMPTZ Projektbeteiligung: label: Projektbeteiligung module: kanbau definition: Rolle eines Kontakts in einem Projekt, mit Gültigkeitszeitraum (reifizierte Beziehung). table: contact_project_relations key: relation_key attributes: id: BIGSERIAL relation_key: TEXT contact_key: TEXT project_key: TEXT relation_type: TEXT confidence: NUMERIC source_workflow: TEXT evidence_json: JSONB valid_from: DATE valid_to: DATE quality_status: TEXT created_at: TIMESTAMPTZ Projektereignis: label: Projektereignis module: kanbau definition: Aus einer Mail erkanntes Ereignis zu einem Projekt (Verzögerung, Mangel, Termin, Kosten, Info) mit Dringlichkeit. table: project_events key: message_id attributes: id: BIGSERIAL message_id: TEXT project_key: TEXT mailbox: TEXT sender: TEXT event_date: TIMESTAMPTZ category: TEXT affected_unit: TEXT urgency: TEXT summary: TEXT sharepoint_path: TEXT quality_status: TEXT source_workflow: TEXT created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Ereignisart: label: Ereignisart module: kanbau definition: Art eines Projektereignisses. Als CHECK-Constraint der Spalte project_events.category festgelegt. key: category Projektordner: label: Projektordner module: kanbau definition: SharePoint-Ordner eines Projekts. table: project_folders key: project_key + drive_id attributes: id: BIGSERIAL project_key: TEXT drive_id: TEXT folder_item_id: TEXT folder_path: TEXT folder_name: TEXT verified_at: TIMESTAMPTZ source_workflow: TEXT created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Projektkuerzel: label: Projektkürzel module: kanbau definition: Kürzel einer Baustelle mit der zuständigen Gesellschaft. table: project_companies key: kuerzel attributes: kuerzel: TEXT gesellschaft: TEXT quelle: TEXT bestaetigt: BOOLEAN baustelle: TEXT evidence_json: JSONB created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Gesellschaft: label: Gesellschaft module: kanbau definition: Rechtsträger, dem Projekte und Rechnungen zugeordnet werden. Als CHECK-Constraint festgelegt. key: gesellschaft Rechnungsbeobachtung: label: Rechnungsbeobachtung module: kanbau definition: In einer Rechnung (Mail-Anhang) beobachtete Zuordnung Kürzel → Gesellschaft. table: invoice_company_observations key: message_id + file_name attributes: message_id: TEXT file_name: TEXT kuerzel: TEXT gesellschaft: TEXT mailbox: TEXT source_workflow: TEXT created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Dokument: label: Dokument module: docs definition: Oberbegriff für alle gespeicherten Dokumente und Extraktionen (abstrakt). abstract: true AnhangExtraktion: label: Anhang-Extraktion module: docs definition: Text und strukturierte Felder, die aus einem Mail-Anhang gelesen wurden. table: document_extractions key: id sensitive: Extrahierter Volltext von Anhängen subclass_of: Dokument attributes: id: BIGSERIAL request_id: TEXT message_id: TEXT mailbox: TEXT attachment_id: TEXT file_name: TEXT content_type: TEXT extraction_source: TEXT document_type: TEXT sender_contact_key: TEXT project_key: TEXT extracted_text: TEXT structured_json: JSONB detected_addresses_json: JSONB detected_contacts_json: JSONB confidence: NUMERIC created_at: TIMESTAMPTZ Ankaufsfall: label: Ankaufsfall module: kaf definition: 'Grundstück oder Objekt in der Ankaufsprüfung: Pipeline-Status, Ergebnis, Fristen, Angebote, Unterlagen, Risiko.' table: property_development_cases key: case_key sensitive: Kaufpreise, Provisionen und Besprechungsmitschriften attributes: id: BIGSERIAL case_key: TEXT name: TEXT normalized_name: TEXT status: TEXT pipeline_status: TEXT outcome_status: TEXT case_code: TEXT case_opened_at: DATE folder_name: TEXT folder_path: TEXT folder_status_source: TEXT source_channel: TEXT location_city: TEXT location_district: TEXT street_address: TEXT assigned_to: TEXT asset_type: TEXT process_type: TEXT notes: TEXT property_size_sqm: NUMERIC original_purchase_price_eur: NUMERIC average_price_per_sqm_eur: NUMERIC commission_including_vat: TEXT apartment_count: INTEGER development_plan_available: BOOLEAN godel_internal: BOOLEAN contact_broker: TEXT start_date: DATE offer_deadline: DATE offer_submitted_at: DATE last_offer_at: DATE offer_count: INTEGER review_status: TEXT review_result: TEXT meeting_transcripts: TEXT just_one_week_more: BOOLEAN deadline_is_overdue: BOOLEAN godel_offer: TEXT project_lead: TEXT planning: TEXT nda_present: BOOLEAN loi_present: BOOLEAN bplan_document_present: BOOLEAN wirtschaftlichkeit_present: BOOLEAN purchase_offer_present: BOOLEAN building_permit_present: BOOLEAN risk_summary: TEXT missing_documents: JSONB next_action: TEXT next_action_due_at: DATE last_document_at: DATE document_count: INTEGER case_readiness: TEXT detected_documents: JSONB risk_level: TEXT readiness_json: JSONB source_system: TEXT sharepoint_json: JSONB raw_evidence_json: JSONB quality_status: TEXT confidence: NUMERIC first_seen_at: TIMESTAMPTZ last_seen_at: TIMESTAMPTZ created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ confirmation_token_hash: TEXT confirmation_status: TEXT confirmation_expires_at: TIMESTAMPTZ selected_project_id: TEXT created_saleagr_id: TEXT created_saleagr_url: TEXT confirmation_request_id: TEXT Falldokument: label: Falldokument module: kaf definition: Unterlage zu einem Ankaufsfall aus SharePoint, mit Dokumenttyp und Versionierung. table: property_development_documents key: document_key subclass_of: Dokument attributes: id: BIGSERIAL case_key: TEXT document_key: TEXT sharepoint_item_id: TEXT file_name: TEXT file_path: TEXT folder_segment: TEXT document_type: TEXT document_date: DATE received_at: DATE author_or_sender: TEXT source_party: TEXT extracted_summary: TEXT extracted_fields_json: JSONB confidence: NUMERIC is_current_version: BOOLEAN supersedes_document_key: TEXT processing_status: TEXT created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Dokumenttyp: label: Dokumenttyp module: kaf definition: Typ eines Falldokuments, im KNOW-Code als feste Liste hinterlegt. key: document_type Kaufvertragspruefung: label: Kaufvertragsprüfung module: kaf definition: 'Prüfstand eines Kaufvertrags: extrahierte Felder, Einheiten, Freigabe durch eine Mitarbeiterin oder einen Mitarbeiter.' table: kaf_review_snapshots key: case_key sensitive: Kaufvertragsfelder und Prüfer attributes: id: BIGSERIAL case_key: TEXT review_schema_version: TEXT confirmation_token_hash: TEXT confirmation_expires_at: TIMESTAMPTZ review_status: TEXT request_id: TEXT review_to: TEXT delivery_mode: TEXT original_json: JSONB distribution_json: JSONB fields_json: JSONB units_json: JSONB artifacts_json: JSONB reviewed_values_json: JSONB review_comment: TEXT reviewed_by: TEXT review_identity_source: TEXT review_submission_hash: TEXT reviewed_at: TIMESTAMPTZ created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Notarkanzlei: label: Notarkanzlei module: kaf definition: Notarkanzlei mit gelernten Feldmustern für das Auslesen von Kaufverträgen. table: kanzlei_field_patterns key: kanzlei_key attributes: kanzlei_key: TEXT kanzlei_display: TEXT patterns: JSONB updated_at: TIMESTAMPTZ Kanzleimandat: label: Kanzleimandat module: kaf definition: Zuordnung Kanzlei ↔ Projekt mit Notarname (reifizierte Beziehung). table: kanzlei_project_relations key: relation_key attributes: relation_key: TEXT kanzlei_key: TEXT project_key: TEXT project_name: TEXT notar_name: TEXT updated_at: TIMESTAMPTZ Ort: label: Ort / Flurstück module: kaf definition: Geokodierte Adresse mit Flurstück und Bundesland. table: place_enrichments key: place_key attributes: id: BIGSERIAL place_key: TEXT input_address: TEXT match_address: TEXT flurstueck: TEXT lat: DOUBLE PRECISION lon: DOUBLE PRECISION bundesland: TEXT enrichment_json: JSONB provenance_json: JSONB quality_status: TEXT confidence: DOUBLE PRECISION source_workflow: TEXT created_at: TIMESTAMPTZ refreshed_at: TIMESTAMPTZ KanbauKaufvertrag: label: KanBau-Kaufvertrag module: kaf definition: Kaufvertrag, der nach Bestätigung in KanBau angelegt wird (created_saleagr_id). key: created_saleagr_id Beleg: label: Beleg module: finance definition: Verarbeiteter SEPA-Beleg mit Betrag, reserviert und dann hochgeladen. table: bel_processed_belege key: beleg_hash sensitive: Bank, Konto-Referenz und Beträge attributes: id: BIGSERIAL beleg_hash: TEXT status: TEXT bank: TEXT account_ref: TEXT amount_cents: BIGINT sharepoint_path: TEXT export_ref: TEXT request_id: TEXT raw_evidence_json: JSONB reserved_at: TIMESTAMPTZ uploaded_at: TIMESTAMPTZ last_seen_at: TIMESTAMPTZ created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Bankkonto: label: Bankkonto module: finance definition: Konto, zu dem ein Beleg gehört (bank + account_ref). key: account_ref Workflow: label: n8n-Workflow module: learning definition: Ein n8n-Workflow, der entscheidet, lernt oder aufgerufen wird. Steht nur als Name in Spalten. key: workflow Entscheidung: label: Entscheidung module: learning definition: Vorschlag eines Workflows und die tatsächliche Entscheidung mit Korrekturgrund. table: workflow_decisions key: id attributes: id: BIGSERIAL request_id: TEXT workflow: TEXT reference_type: TEXT reference_id: TEXT proposed_decision: JSONB final_decision: JSONB confidence: NUMERIC correction_reason: TEXT quality_status: TEXT created_at: TIMESTAMPTZ verified_at: TIMESTAMPTZ decision_type: TEXT decided_by: TEXT updated_at: TIMESTAMPTZ Referenzobjekt: label: Referenzobjekt module: learning definition: Objekt, auf das sich eine Entscheidung bezieht. Polymorph über reference_type und reference_id, die Typen legt das Schema nicht fest. key: reference_type + reference_id Hinweis: label: Hinweis (gelerntes Muster) module: learning definition: Gelerntes Muster (Schlüssel und Wert → vorgeschlagene Aktion) mit Zähler, Konfidenz und Bestätigung. table: workflow_hints key: hint_key attributes: hint_key: TEXT workflow: TEXT hint_type: TEXT pattern_key: TEXT pattern_value: TEXT suggested_action: JSONB observation_count: INTEGER confidence: NUMERIC quality_status: TEXT pending_notification: BOOLEAN notified_at: TIMESTAMPTZ confirmed_at: TIMESTAMPTZ confirmed_by: TEXT created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ KanbauApiMethode: label: KanBau-API-Methode module: learning definition: Validiertes Request/Response-Beispiel einer KanBau-API-Methode. table: kanbau_method_examples key: method_key attributes: method_key: TEXT swagger_ref: TEXT example_request: JSONB example_response: JSONB validated_at: TIMESTAMPTZ created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Mitarbeiter: label: Mitarbeiter:in module: learning definition: Person im Unternehmen (@mygodel.de), die prüft, bestätigt oder bearbeitet. Steht nur als Name oder Adresse in Spalten. key: E-Mail AgentBereich: label: Agent-Bereich module: agent definition: Einsatzbereich eines Agenten (scope_key). key: scope_key Faehigkeit: label: Fähigkeit module: agent definition: 'Was ein Agent tun darf: Beispiel-Intents, Workflow, Risiko, Freigabepflicht.' table: agent_capabilities key: scope_key + capability_key attributes: id: BIGSERIAL scope_key: TEXT capability_key: TEXT title: TEXT description: TEXT intent_examples: JSONB workflow_name: TEXT workflow_operation: TEXT read_or_write: TEXT risk_level: TEXT requires_approval: BOOLEAN enabled: BOOLEAN created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Kontextdokument: label: Kontextdokument module: agent definition: Eingelesenes Dokument als Wissen für einen Agenten. table: agent_context_documents key: scope_key + source_path + content_hash sensitive: Volltext eingelesener Dokumente subclass_of: Dokument attributes: id: BIGSERIAL scope_key: TEXT source_path: TEXT document_type: TEXT title: TEXT content: TEXT content_hash: TEXT last_ingested_at: TIMESTAMPTZ AgentAusfuehrung: label: Agent-Ausführung module: agent definition: Protokoll einer Agent-Anfrage mit gewählter Fähigkeit und Ergebnis. table: agent_execution_log key: id attributes: id: BIGSERIAL request_id: TEXT agent_scope: TEXT user_request: TEXT selected_capability: TEXT workflow_called: TEXT inputs_json: JSONB status: TEXT errors_json: JSONB created_at: TIMESTAMPTZ LoginAnbieter: label: Login-Anbieter module: bsb definition: Webanwendung mit hinterlegtem Login-Ablauf für die Browser-Automation. table: session_providers key: provider_id attributes: provider_id: TEXT display_name: TEXT login_url: TEXT auth_type: TEXT steps_json: JSONB credential_key: TEXT max_session_age_minutes: INTEGER notes: TEXT created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ BrowserSession: label: Browser-Session module: bsb definition: Gespeicherte Sitzung bei einem Login-Anbieter mit Ablaufzeit. table: browser_sessions key: provider_id sensitive: Session-Daten als JSON; am Schema nicht erkennbar, ob verschlüsselt attributes: provider_id: TEXT session_data: JSONB expires_at: TIMESTAMPTZ created_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ LlmWorker: label: LLM-Worker module: llm definition: Lokaler Rechner mit LLM, der sich per Heartbeat meldet (optional mit OpenAI-Endpoint). table: llm_workers key: mac attributes: id: BIGSERIAL mac: TEXT host: TEXT model: TEXT tier: TEXT tier_rank: SMALLINT status: TEXT hardware_json: JSONB last_seen_at: TIMESTAMPTZ registered_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ endpoint: JSONB WorkerSperre: label: Worker-Sperre module: llm definition: Gesperrter Worker (unsupported). table: llm_worker_blocklist key: mac attributes: id: BIGSERIAL mac: TEXT host: TEXT reason: TEXT hardware_json: JSONB blocked_at: TIMESTAMPTZ LlmJob: label: LLM-Job module: llm definition: 'Auftrag im Job-Board: Prompt, Mindest-Tier, Ergebnis, Dauer.' table: llm_jobs key: job_id sensitive: Prompt und Ergebnis im Klartext attributes: id: BIGSERIAL job_id: TEXT prompt: TEXT min_tier: TEXT min_tier_rank: SMALLINT status: TEXT assigned_to: TEXT model: TEXT tier: TEXT result: TEXT duration_ms: INTEGER error_message: TEXT created_at: TIMESTAMPTZ assigned_at: TIMESTAMPTZ completed_at: TIMESTAMPTZ updated_at: TIMESTAMPTZ Tier: label: Tier module: llm definition: Leistungsstufe eines Workers bzw. Mindeststufe eines Jobs. key: tier Modell: label: Modell module: llm definition: LLM-Modell, das ein Worker betreibt. Erlaubte Werte stehen in der Worker Registry. key: model KanBau: label: KanBau module: system definition: Externes Bau- und Projektverwaltungssystem (Projekte, Adressen, Kaufverträge). SharePoint: label: SharePoint module: system definition: Ablage für Projekt-, Fall- und Belegdokumente. Microsoft365: label: Microsoft 365 module: system definition: Postfächer und delegierter Zugriff (provider microsoft). relations: - source: Mail name: empfangenIn target: Postfach via: mail_events.mailbox - source: Mail name: gesendetVon target: Absender via: mail_events.sender = sender_observations.email kind: soft - source: Mail name: hatKategorie target: MailKategorie via: mail_events.category = workflow_hint_config.config_key kind: soft - source: Mail name: zugeordnetZu target: Projekt via: mail_events.assigned_project_key - source: Absender name: beobachtetIn target: Postfach via: sender_observations.mailbox - source: Absender name: gehoertZuDomain target: Domain via: sender_observations.registered_domain (JOIN) - source: Absender name: entsprichtKontakt target: Kontakt via: E-Mail-Adresse (contacts.email) kind: soft - source: Postfachzugriff name: gewaehrtFuer target: Postfach via: mailbox_grants.grant_key kind: soft - source: Postfach name: liegtIn target: Microsoft365 via: mailbox_grants.provider = 'microsoft' kind: external - source: AnhangExtraktion name: ausMail target: Mail via: document_extractions.message_id - source: AnhangExtraktion name: vonKontakt target: Kontakt via: document_extractions.sender_contact_key - source: AnhangExtraktion name: betrifftProjekt target: Projekt via: document_extractions.project_key - source: ProjektAlias name: bezeichnet target: Projekt via: project_aliases.project_key (JOIN) - source: KontaktAlias name: bezeichnet target: Kontakt via: contact_aliases.contact_key - source: Projektbeteiligung name: vonKontakt target: Kontakt via: contact_project_relations.contact_key - source: Projektbeteiligung name: betrifftProjekt target: Projekt via: contact_project_relations.project_key - source: Projekt name: stammtAus target: KanBau via: projects.kanbau_project_id kind: external - source: Kontakt name: stammtAus target: KanBau via: contacts.kanbau_address_id kind: external - source: Projektereignis name: ausMail target: Mail via: project_events.message_id - source: Projektereignis name: betrifftProjekt target: Projekt via: project_events.project_key - source: Projektereignis name: hatArt target: Ereignisart via: project_events.category - source: Projektereignis name: abgelegtIn target: SharePoint via: project_events.sharepoint_path kind: external - source: Projektordner name: betrifftProjekt target: Projekt via: project_folders.project_key - source: Projektordner name: liegtIn target: SharePoint via: project_folders.drive_id, folder_item_id kind: external - source: Projektkuerzel name: gehoertZu target: Gesellschaft via: project_companies.gesellschaft - source: Rechnungsbeobachtung name: ausMail target: Mail via: invoice_company_observations.message_id - source: Rechnungsbeobachtung name: nenntKuerzel target: Projektkuerzel via: invoice_company_observations.kuerzel (JOIN) - source: Rechnungsbeobachtung name: gehoertZu target: Gesellschaft via: invoice_company_observations.gesellschaft - source: Ankaufsfall name: hatDokument target: Falldokument via: property_development_documents.case_key (JOIN) - source: Falldokument name: ersetzt target: Falldokument via: supersedes_document_key - source: Falldokument name: hatTyp target: Dokumenttyp via: property_development_documents.document_type - source: Falldokument name: liegtIn target: SharePoint via: sharepoint_item_id, file_path kind: external - source: Ankaufsfall name: hatPruefung target: Kaufvertragspruefung via: kaf_review_snapshots.case_key - source: Ankaufsfall name: wirdZuProjekt target: Projekt via: selected_project_id (KanBau-Projekt-ID) - source: Ankaufsfall name: erzeugt target: KanbauKaufvertrag via: created_saleagr_id, created_saleagr_url - source: KanbauKaufvertrag name: liegtIn target: KanBau via: created_saleagr_url kind: external - source: Ankaufsfall name: liegtAn target: Ort via: street_address, location_city ↔ place_enrichments.input_address kind: soft - source: Ankaufsfall name: liegtIn target: SharePoint via: folder_path, sharepoint_json kind: external - source: Ankaufsfall name: bearbeitetVon target: Mitarbeiter via: assigned_to, project_lead kind: soft - source: Projekt name: liegtAn target: Ort via: full_address ↔ place_enrichments.input_address kind: soft - source: Kanzleimandat name: vonKanzlei target: Notarkanzlei via: kanzlei_project_relations.kanzlei_key - source: Kanzleimandat name: betrifftProjekt target: Projekt via: kanzlei_project_relations.project_key - source: Kaufvertragspruefung name: geprueftVon target: Mitarbeiter via: reviewed_by, review_to (@mygodel.de) kind: soft - source: Beleg name: gehoertZuKonto target: Bankkonto via: bel_processed_belege.bank, account_ref - source: Beleg name: abgelegtIn target: SharePoint via: bel_processed_belege.sharepoint_path kind: external - source: Entscheidung name: getroffenVon target: Workflow via: workflow_decisions.workflow - source: Entscheidung name: betrifft target: Referenzobjekt via: reference_type + reference_id kind: soft - source: Hinweis name: gelerntIn target: Workflow via: workflow_hints.workflow - source: Hinweis name: hatKategorie target: MailKategorie via: workflow_hints.hint_type = config_key (JOIN) - source: Hinweis name: betrifftKontakt target: Kontakt via: workflow_hints.pattern_key = contact_key (JOIN) - source: Hinweis name: bestaetigtVon target: Mitarbeiter via: workflow_hints.confirmed_by kind: soft - source: KanbauApiMethode name: beschreibt target: KanBau via: method_key, swagger_ref kind: external - source: Faehigkeit name: gehoertZu target: AgentBereich via: agent_capabilities.scope_key - source: Faehigkeit name: ruftAuf target: Workflow via: agent_capabilities.workflow_name - source: Kontextdokument name: gehoertZu target: AgentBereich via: agent_context_documents.scope_key - source: AgentAusfuehrung name: imBereich target: AgentBereich via: agent_execution_log.agent_scope - source: AgentAusfuehrung name: waehlt target: Faehigkeit via: agent_execution_log.selected_capability - source: AgentAusfuehrung name: ruftAuf target: Workflow via: agent_execution_log.workflow_called - source: BrowserSession name: fuerAnbieter target: LoginAnbieter via: browser_sessions.provider_id - source: LoginAnbieter name: meldetAnBei target: KanBau via: über BSB - Get Session für das KanBau-Gateway kind: soft - source: LlmJob name: bearbeitetVon target: LlmWorker via: llm_jobs.assigned_to = llm_workers.host - source: LlmJob name: verlangtTier target: Tier via: llm_jobs.min_tier - source: LlmJob name: nutzteModell target: Modell via: llm_jobs.model - source: LlmWorker name: hatTier target: Tier via: llm_workers.tier - source: LlmWorker name: betreibt target: Modell via: llm_workers.model - source: WorkerSperre name: sperrt target: LlmWorker via: llm_worker_blocklist.mac vocabularies: MailKategorie: label: Mail-Kategorie class: MailKategorie columns: - mail_events.category - workflow_hints.hint_type - workflow_hint_config.config_key concepts: mahnung: label: Mahnung zahlungsaufforderung: label: Zahlungsaufforderung buchhaltung: label: Rechnungen alt: - Buchhaltung mangel: label: Mangel newsletter_werbung: label: Newsletter alt: - Newsletter und Werbung plattformen: label: Plattformen versand_bestellungen: label: Versand alt: - Versand und Bestellungen sonstiges: label: Sonstige alt: - Sonstiges default: label: Standard note: technischer Rückfall der Hinweis-Konfiguration, keine fachliche Kategorie technical: true Ereignisart: label: Ereignisart class: Ereignisart columns: - project_events.category concepts: verzoegerung: label: Verzögerung mangel: label: Mangel termin: label: Termin kosten: label: Kosten info: label: Info Dokumenttyp: label: Dokumenttyp class: Dokumenttyp columns: - property_development_documents.document_type - document_extractions.document_type concepts: expose: {} bplan: {} wirtschaftlichkeitsberechnung: {} kaufangebot: {} loi: {} nda: {} vertraulichkeitserklaerung: {} telefonnotiz: {} mail: {} lageplan: {} kataster: {} grundbuch: {} baugenehmigung: {} gutachten: {} pruefplan: {} fotos: {} wettbewerbsunterlagen: {} vertrag_notar: {} unknown: {} Tier: label: Tier class: Tier columns: - llm_workers.tier - llm_jobs.min_tier - llm_jobs.tier concepts: basic: {} standard: {} capable: {} expert: {} Gesellschaft: label: Gesellschaft class: Gesellschaft columns: - project_companies.gesellschaft - invoice_company_observations.gesellschaft concepts: p_gmbh: label: P-GmbH p_b_kg: label: P+B KG Pipelinestatus: label: Pipeline-Status (Ankauf) columns: - property_development_cases.pipeline_status concepts: vorab_check: {} vorpruefung: {} in_pruefung: {} angebot_in_vorbereitung: {} angebot_abgegeben: {} verhandlung: {} wettbewerb_aktuell: {} projektierung: {} planung: {} abgeschlossen: {} Ergebnisstatus: label: Ergebnis (Ankauf) columns: - property_development_cases.outcome_status concepts: offen: {} negativ_nicht_weiterverfolgt: {} positiv_angeboten_nicht_zustande: {} positiv_angeboten_zustande: {} wettbewerb_erledigt: {} wettbewerb_nicht_teilgenommen: {} wettbewerb_nicht_zugelassen: {} ohne_abschluss_erledigt: {} Dringlichkeit: label: Dringlichkeit columns: - project_events.urgency concepts: low: {} normal: {} high: {} Pruefstatus: label: Prüfstatus (Kaufvertrag) columns: - kaf_review_snapshots.review_status concepts: pending: {} approved: {} manual_review: {} Zugriffsstatus: label: Status Postfachzugriff columns: - mailbox_grants.status concepts: active: {} revoked: {} needs_reconsent: {} Belegstatus: label: Belegstatus columns: - bel_processed_belege.status concepts: reserved: {} uploaded: {} Qualitaetsstatus: label: Qualitätsstatus columns: - project_aliases.quality_status - contacts.quality_status - contact_aliases.quality_status - contact_project_relations.quality_status - workflow_decisions.quality_status - property_development_cases.quality_status - workflow_hints.quality_status - place_enrichments.quality_status - project_events.quality_status concepts: observed: label: beobachtet proposed: label: vorgeschlagen confirmed: label: bestätigt alt: - verified note: workflow_decisions schreibt 'verified' statt 'confirmed' (KNOW-Befund B31) rejected: label: verworfen