{
"tool_response": {
"type": "update",
"filePath": "\/var\/www\/claude.md",
"content": "# Server-Kontext\n\n## Projekt-Root\n`\/var\/www\/dev.campus.systemische-tools.de\/`\n\n## Architektur\n```\n\/src\/ # Backend (MVC)\n├── Framework\/ # App, Router, Controller-Base\n├── Controller\/ # HTTP Controller\n├── Domain\/ # Entity, Repository-Interfaces\n├── UseCases\/ # Anwendungsfälle\n├── Infrastructure\/ # DB, External Services\n└── View\/ # Server-Templates\n\n\/app\/ # Frontend (MVP)\n├── Presenter\/ # UI-Logik\n└── View\/ # Passive Views\n```\n\n## Datenbanken\n\n| DB | Zweck |\n|----|-------|\n| `ki_dev` | Infrastruktur: Tasks, Contracts, Docs, Pipeline, Logs |\n| `ki_content` | Content: Chat, Wissen, Entitäten, Taxonomie |\n\n## MCP-Server (Pflicht)\n\n### MCP-DB\nDatenbankzugriff. **Immer statt direkter SQL verwenden.**\n- `db_select(query, database)` - SELECT\n- `db_tables(database)` - Tabellen\n- `db_describe(table, database)` - Struktur\n- `db_insert\/update\/delete()` - Schreiboperationen\n- `db_execute()` - DDL (ALTER, CREATE, DROP)\n\n### MCP-Tasks\nTask-Management.\n- `tasks_list(compact=True)` - Auflisten\n- `tasks_create(title, type)` - Erstellen\n- `tasks_get(id)` - Details\n- `tasks_status(id, status)` - Status ändern\n- `quality_check(path)` - PHP-Prüfung\n\n### MCP-Contracts\nContract-Management.\n- `contracts_list(compact=True)` - Auflisten\n- `contracts_get(id|name)` - Details\n- `contracts_validate(id|name)` - Validieren\n- `contracts_create\/update()` - Ändern\n\n### MCP-Docs\nDokumentations-Management.\n- `docs_list(compact=True)` - Auflisten\n- `docs_get(id|path)` - Abrufen\n- `docs_search(query)` - Suchen\n- `docs_hierarchy()` - Baum\n- `docs_create\/update\/delete()` - Ändern\n\n## Scripts\n\n| Script | Zweck |\n|--------|-------|\n| `\/opt\/scripts\/php-check.sh` | PHPStan + CS-Fixer + Semgrep + Audit |\n| `\/opt\/scripts\/sync-dev-prod.sh` | Deploy dev → prod |\n| `\/opt\/scripts\/backup.sh` | Backup |\n\n## Hooks\n\n| Hook | Trigger | Aktion |\n|------|---------|--------|\n| `log_to_db.py` | Alle | Protokolliert in `ki_dev.protokoll` |\n| `file_backup_hook.py` | Edit, Write | Sichert vor Änderung |\n| `block_direct_db.py` | Bash | Blockiert mysql\/mariadb-Befehle |\n| `task_hook.py` | Prompt | Erkennt TODO:\/TASK:\/@task\/#task |\n\n## Regeln\n\n1. **Kein Git** - Verboten auf diesem Server\n2. **MCP nutzen** - Kein direkter DB-Zugriff\n3. **Dev first** - Entwicklung auf dev, dann sync zu prod\n4. **Quality vor Sync** - `\/opt\/scripts\/php-check.sh` muss bestehen\n",
"structuredPatch": [
{
"oldStart": 1,
"oldLines": 304,
"newStart": 1,
"newLines": 83,
"lines": [
"-# Server st",
"+# Server-Kontext",
" ",
"-## Pfade",
"+## Projekt-Root",
"+`\/var\/www\/dev.campus.systemische-tools.de\/`",
" ",
"-- Docs (statisch): `\/var\/www\/docs\/`",
"-- Docs (online): `https:\/\/dev.campus.systemische-tools.de\/docs`",
"-- Backup-Script: `\/opt\/scripts\/backup.sh`",
"-- Sync-Script: `\/opt\/scripts\/sync-dev-prod.sh`",
"-- PHP-Check-Script: `\/opt\/scripts\/php-check.sh`",
"-- Contracts: `\/var\/www\/docs\/contracts\/`",
"-",
"-## PHP Quality & Security Tools",
"-",
"-- **Installation:** `\/opt\/php-tools\/`",
"-- **PHPStan:** 2.1.33 + Strict Rules (Level 5)",
"-- **PHP-CS-Fixer:** 3.92.3 (PSR-12)",
"-- **Semgrep:** 1.146.0 (OWASP Security Scanner)",
"-- **Composer Audit:** CVE-Check für Dependencies",
"-- **Docs:** `\/docs\/modul\/php-quality`",
"-",
"-**4 Checks:**",
"-1. PHPStan + Strict Rules (Typen, Bugs)",
"-2. PHP-CS-Fixer (PSR-12 Style)",
"-3. Composer Audit (Dependency CVEs)",
"-4. Semgrep (SQL Injection, XSS, Command Injection, etc.)",
"-",
"-**Automatisierung:**",
"-- PostToolUse Hook: Style-Check nach jeder PHP-Änderung (Warnung)",
"-- Pre-Sync: Alle 4 Checks vor Deployment (blockierend)",
"-",
"-**Verwendung:**",
"-```bash",
"-\/opt\/scripts\/php-check.sh # dev prüfen",
"-\/opt\/scripts\/php-check.sh \/pfad --fix # mit Korrektur",
"+## Architektur",
" ```",
"-",
"-## Datenbanken",
"-",
"-### ki_dev (Entwicklung\/Infrastruktur)",
"-Alles für Claude Code, MCP, Tasks, Contracts, Docs, Pipeline:",
"-- **Logs:** protokoll, mcp_log, file_backup_history, llm_requests",
"-- **Tasks:** tasks, task_assignments, task_results, task_comments",
"-- **Contracts:** contracts, contract_history, contract_validations",
"-- **Docs:** dokumentation, dokumentation_chunks, dokumentation_history",
"-- **Pipeline:** pipeline_log, pipeline_queue, prompts, prompt_tests, system_prompts",
"-",
"-### ki_content (Inhalt\/User-facing)",
"-Alles für Content, Chat, Wissen, Taxonomie:",
"-- **Content:** content_contracts, content_critiques, content_orders, content_sources, content_structures, content_versions",
"-- **Chat:** chat_messages, chat_sessions",
"-- **Wissen:** chunks, chunk_entities, chunk_semantics, chunk_taxonomy, documents, document_taxonomy",
"-- **Entitäten:** entities, entity_classifications, entity_relations, entity_synonyms",
"-- **Taxonomie:** taxonomy_terms, ontology_classes",
"-- **Sonstige:** author_profiles, critics, prompts, search_history",
"-",
"-## Claude Code Hooks",
"-",
"-### KI-Protokoll",
"-- **Script:** `\/var\/www\/tools\/ki-protokoll\/claude-hook\/log_to_db.py`",
"-- **Datenbank:** `ki_dev.protokoll`",
"-- **Trigger:** Alle Hooks (UserPromptSubmit, PreToolUse, PostToolUse, etc.)",
"-- **Docs:** `\/docs\/modul\/ki-protokoll`",
"-",
"-### File Backup Hook",
"-- **Script:** `\/var\/www\/tools\/ki-protokoll\/claude-hook\/file_backup_hook.py`",
"-- **Datenbank:** `ki_dev.file_backup_history`",
"-- **Trigger:** PreToolUse (Edit, Write)",
"-- **Docs:** `\/docs\/modul\/file-backup-hook`",
"-",
"-### Task Hook",
"-- **Script:** `\/var\/www\/tools\/ki-protokoll\/claude-hook\/task_hook.py`",
"-- **Trigger:** Erkennt `TODO:`, `TASK:`, `@task`, `#task` in Prompts",
"-",
"-### DB-Block Hook",
"-- **Script:** `\/var\/www\/tools\/ki-protokoll\/claude-hook\/block_direct_db.py`",
"-- **Trigger:** Blockiert direkte mysql\/mariadb Befehle",
"-",
"-### Hooks-Konfiguration",
"-- **Pfad:** `\/var\/www\/dev.campus.systemische-tools.de\/.claude\/settings.local.json`",
"-",
"-## KI-Tasks",
"-",
"-Task-Management-System für Mensch-KI-Kollaboration.",
"-",
"-- **Web-UI:** `\/tasks` (https:\/\/dev.campus.systemische-tools.de\/tasks)",
"-- **API:** `\/api\/v1\/tasks`",
"-- **CLI:** `\/var\/www\/tools\/ki-tasks\/cli.php`",
"-- **Datenbank:** `ki_dev` (tasks, task_assignments, task_results, task_comments)",
"-- **Docs:** `\/docs\/ki-tasks`",
"-",
"-**Task-Typen:** human_task, ai_task, mixed",
"-**Status:** pending → in_progress → completed | failed | cancelled",
"-**Assignees:** human, ollama, claude, anthropic_api",
"-",
"-**CLI-Befehle:**",
"-```bash",
"-php \/var\/www\/tools\/ki-tasks\/cli.php create --title=\"Aufgabe\" --type=ai_task",
"-php \/var\/www\/tools\/ki-tasks\/cli.php list --status=pending",
"-php \/var\/www\/tools\/ki-tasks\/cli.php execute <id> --model=mistral",
"-php \/var\/www\/tools\/ki-tasks\/cli.php stats",
"-```",
"-",
"-**API-Endpoints:**",
"-- `GET \/api\/v1\/tasks` - Liste mit Filtern",
"-- `POST \/api\/v1\/tasks` - Task erstellen",
"-- `POST \/api\/v1\/tasks\/{id}\/execute` - KI-Ausführung",
"-- `PUT \/api\/v1\/tasks\/{id}\/status` - Status ändern",
"-",
"-## Contracts",
"-",
"-Contracts werden in der Datenbank verwaltet mit Web-UI und MCP-API.",
"-",
"-- **Web-UI:** `\/contracts` (https:\/\/dev.campus.systemische-tools.de\/contracts)",
"-- **Datenbank:** `ki_dev.contracts`",
"-- **MCP-Tools:** contracts_list, contracts_get, contracts_create, contracts_update, contracts_validate, contracts_history",
"-- **Legacy-Pfad:** `\/var\/www\/docs\/contracts\/` (migriert)",
"-- **Docs:** `\/docs\/modul\/contracts`",
"-",
"-### Betriebsdokumentation",
"-- **Contract:** `\/var\/www\/docs\/contracts\/betriebsdokumentation-pruefung_v1.1.yaml`",
"-- **Scope:** Alle `.php` Dateien in `\/src\/View\/docs\/`",
"-- **Platform:** Debian 13, Systemd, Apache 2.4",
"-",
"-**Validierungsfaktoren (Priorität):**",
"-1. path_existence (critical) - Dateipfade müssen existieren",
"-2. command_validity (critical) - Befehle müssen korrekt sein",
"-3. service_accuracy (critical) - Ports\/Versionen müssen stimmen",
"-4. config_correctness (major) - Konfig-Beispiele müssen passen",
"-5. structure_compliance (major) - Breadcrumb, h1, Intro, Tabelle, Commands",
"-6. link_integrity (major) - Interne Links müssen funktionieren",
"-7. terminology (minor) - Einheitliche Begriffe",
"-",
"-**Pass-Schwelle:**",
"-- 0 critical violations (sonst: rejected)",
"-- max 2 major violations (sonst: revision required)",
"-- max 5 minor violations",
"-",
"-**Enforcement:** Kein Sync zu prod bei critical violations.",
"-",
"-### Layered Architecture",
"-- **Contract:** `\/var\/www\/docs\/contracts\/layered-architecture-pruefung_v1.0.yaml`",
"-- **Status:** active (migriert 2025-12-20)",
"-",
"-**Aktuelle Architektur:**",
"-```",
" \/src\/ # Backend (MVC)",
" ├── Framework\/ # App, Router, Controller-Base",
" ├── Controller\/ # HTTP Controller",
"-├── Domain\/Entity\/ # Entitäten (leer, für Erweiterung)",
"-├── Domain\/Repository\/ # Repository-Interfaces (leer)",
"-├── UseCases\/ # Anwendungsfälle (leer)",
"+├── Domain\/ # Entity, Repository-Interfaces",
"+├── UseCases\/ # Anwendungsfälle",
" ├── Infrastructure\/ # DB, External Services",
"-│ └── Persistence\/ # Connection.php",
" └── View\/ # Server-Templates",
" ",
" \/app\/ # Frontend (MVP)",
"-├── Presenter\/ # UI-Logik (leer, für Erweiterung)",
"-└── View\/ # Passive Views (leer)",
"+├── Presenter\/ # UI-Logik",
"+└── View\/ # Passive Views",
" ```",
" ",
"-**Namespace-Mapping (autoload.php):**",
"-- `Framework\\` → `\/src\/Framework\/`",
"-- `Controller\\` → `\/src\/Controller\/`",
"-- `Domain\\` → `\/src\/Domain\/`",
"-- `UseCases\\` → `\/src\/UseCases\/`",
"-- `Infrastructure\\` → `\/src\/Infrastructure\/`",
"-- `Presenter\\` → `\/app\/Presenter\/`",
"+## Datenbanken",
" ",
"-### JS Browser Architecture (ZUKÜNFTIG)",
"-- **Contract:** `\/var\/www\/docs\/contracts\/js-browser-architecture-contract_v2.yaml`",
"-- **Status:** future (keine komplexe JS-App vorhanden)",
"+| DB | Zweck |",
"+|----|-------|",
"+| `ki_dev` | Infrastruktur: Tasks, Contracts, Docs, Pipeline, Logs |",
"+| `ki_content` | Content: Chat, Wissen, Entitäten, Taxonomie |",
" ",
"-## Dokumentation",
"-",
"-### Server",
"-- `\/docs\/server` - Übersicht, Domains, Sicherheit, System",
"-- `\/docs\/modul\/backup` - Tägliches Backup (03:00)",
"-- `\/docs\/modul\/file-backup-hook` - Claude Code Pre-Hook",
"-",
"-### KI-Stack",
"-- `\/docs\/modul\/ki-protokoll` - Claude Logging",
"-- `\/docs\/modul\/ollama` - LLM Runtime",
"-- `\/docs\/modul\/qdrant` - Vektor-Datenbank",
"-- `\/docs\/modul\/nvidia` - NVIDIA CUDA",
"-",
"-### Anwendungen",
"-- `\/docs\/anwendungen` - Übersicht",
"-- `\/docs\/modul\/apache` - Webserver",
"-- `\/docs\/modul\/php` - PHP 8.4",
"-- `\/docs\/modul\/mariadb` - Datenbank",
"-- `\/docs\/modul\/phpmyadmin` - Web-Verwaltung",
"-- `\/docs\/modul\/nextcloud` - Cloud-Speicher",
"-- `\/docs\/modul\/php-quality` - PHPStan, PHP-CS-Fixer",
"-",
"-## Dokumentations-Template",
"-",
"-```php",
"-<?php ob_start(); ?>",
"-",
"-<nav class=\"breadcrumb\">",
"- <a href=\"\/docs\">Dokumentation<\/a> » <a href=\"\/docs\/server\">Server<\/a> » Modulname",
"-<\/nav>",
"-",
"-<h1>Modulname<\/h1>",
"-<p>Kurzbeschreibung.<\/p>",
"-",
"-<table>",
"- <tr><th>Eigenschaft<\/th><td>Wert<\/td><\/tr>",
"-<\/table>",
"-",
"-<h2>Verwendung<\/h2>",
"-<pre><code>befehl --optionen<\/code><\/pre>",
"-",
"-<?php $content = ob_get_clean(); ?>",
"-<?php require VIEW_PATH . '\/layout.php'; ?>",
"-```",
"-",
" ## MCP-Server (Pflicht)",
" ",
"-### MCP-DB - Datenbankzugriff",
"-**IMMER** für Datenbank-Lesezugriffe verwenden:",
"-- `db_select(query)` - SELECT-Abfragen",
"-- `db_schema()` - Schema anzeigen",
"-- `db_tables(database)` - Tabellen auflisten",
"-- `db_describe(table)` - Tabellenstruktur",
"-- `db_insert()`, `db_update()`, `db_delete()` - Schreiboperationen",
"-- `db_execute()` - DDL-Statements (ALTER, CREATE, DROP)",
"+### MCP-DB",
"+Datenbankzugriff. **Immer statt direkter SQL verwenden.**",
"+- `db_select(query, database)` - SELECT",
"+- `db_tables(database)` - Tabellen",
"+- `db_describe(table, database)` - Struktur",
"+- `db_insert\/update\/delete()` - Schreiboperationen",
"+- `db_execute()` - DDL (ALTER, CREATE, DROP)",
" ",
"-**NIEMALS** direkte mysql\/mariadb-Befehle mit Passwörtern ausführen.",
"-",
"-Vorteile: Keine Credentials im Verlauf, Audit-Logging, SQL-Injection-Schutz.",
"-Docs: `\/docs\/mcp\/mcp-db`",
"-",
"-### MCP-Tasks - Task-Management",
"-**IMMER** für Task-Operationen verwenden:",
"-- `tasks_list(compact=True, limit=10)` - Tasks auflisten (Token-optimiert)",
"-- `tasks_create()` - Task erstellen",
"-- `tasks_get(id)` - Task-Details (vollständig)",
"+### MCP-Tasks",
"+Task-Management.",
"+- `tasks_list(compact=True)` - Auflisten",
"+- `tasks_create(title, type)` - Erstellen",
"+- `tasks_get(id)` - Details",
" - `tasks_status(id, status)` - Status ändern",
"-- `tasks_execute(id)` - Mit Ollama ausführen",
"-- `quality_check()` - PHP-Prüfung",
"-- `quality_report()` - Vollständiger Report",
"+- `quality_check(path)` - PHP-Prüfung",
" ",
"-**Token-Optimierung (tasks_list):**",
"-- `compact=True` (default): nur id\/title\/description(100)\/status\/type",
"-- `compact=False`: alle 13 Felder",
"-- `limit=10` (default), max 100",
"+### MCP-Contracts",
"+Contract-Management.",
"+- `contracts_list(compact=True)` - Auflisten",
"+- `contracts_get(id|name)` - Details",
"+- `contracts_validate(id|name)` - Validieren",
"+- `contracts_create\/update()` - Ändern",
" ",
"-**NIEMALS** direkte SQL auf tasks\/task_assignments\/task_results.",
"+### MCP-Docs",
"+Dokumentations-Management.",
"+- `docs_list(compact=True)` - Auflisten",
"+- `docs_get(id|path)` - Abrufen",
"+- `docs_search(query)` - Suchen",
"+- `docs_hierarchy()` - Baum",
"+- `docs_create\/update\/delete()` - Ändern",
" ",
"-**Workflow:**",
"-1. `tasks_create()` → Task erstellen",
"-2. `tasks_status(id, \"in_progress\")` → Starten",
"-3. Arbeit erledigen",
"-4. `quality_check()` → Bei Code-Änderungen",
"-5. `tasks_status(id, \"completed\")` → Abschließen",
"+## Scripts",
" ",
"-Docs: `\/docs\/mcp\/mcp-tasks`",
"+| Script | Zweck |",
"+|--------|-------|",
"+| `\/opt\/scripts\/php-check.sh` | PHPStan + CS-Fixer + Semgrep + Audit |",
"+| `\/opt\/scripts\/sync-dev-prod.sh` | Deploy dev → prod |",
"+| `\/opt\/scripts\/backup.sh` | Backup |",
" ",
"-### MCP-Contracts - Contract-Management",
"-**IMMER** für Contract-Operationen verwenden:",
"-- `contracts_list(compact=True)` - Contracts auflisten (Token-optimiert)",
"-- `contracts_get(id)` - Contract-Details",
"-- `contracts_create()` - Contract erstellen",
"-- `contracts_update()` - Neue Version (mit Historie)",
"-- `contracts_validate(id)` - Validierung ausführen",
"-- `contracts_history(id)` - Änderungshistorie",
"-- `contracts_violations(id)` - Letzte Validierungen",
"-- `contracts_statistics()` - Statistiken",
"+## Hooks",
" ",
"-**Token-Optimierung (contracts_list):**",
"-- `compact=True` (default): nur id\/name\/version\/status",
"-- `compact=False`: inkl. yaml_content",
"+| Hook | Trigger | Aktion |",
"+|------|---------|--------|",
"+| `log_to_db.py` | Alle | Protokolliert in `ki_dev.protokoll` |",
"+| `file_backup_hook.py` | Edit, Write | Sichert vor Änderung |",
"+| `block_direct_db.py` | Bash | Blockiert mysql\/mariadb-Befehle |",
"+| `task_hook.py` | Prompt | Erkennt TODO:\/TASK:\/@task\/#task |",
" ",
"-**NIEMALS** direkte SQL auf contracts\/contract_history\/contract_validations.",
"+## Regeln",
" ",
"-Docs: `\/docs\/mcp\/mcp-contracts`",
"-",
"-### MCP-Docs - Dokumentations-Management",
"-**IMMER** für Dokumentations-Operationen verwenden:",
"-- `docs_list(compact=True)` - Dokumente auflisten (Token-optimiert)",
"-- `docs_get(id)` oder `docs_get(path=\"\/server\/ssh\")` - Dokument abrufen",
"-- `docs_create()` - Neues Dokument erstellen",
"-- `docs_update(id)` - Dokument bearbeiten",
"-- `docs_delete(id)` - Dokument löschen",
"-- `docs_move(id, new_parent_id)` - Position ändern",
"-- `docs_hierarchy()` - Kompletter Baum",
"-- `docs_search(query)` - Volltextsuche",
"-- `docs_statistics()` - Statistiken",
"-",
"-**Token-Optimierung (docs_list):**",
"-- `compact=True` (default): nur id\/path\/title\/status (ohne Content)",
"-- `compact=False`: vollständige Ausgabe inkl. Content",
"-",
"-**NIEMALS** direkte SQL auf ki_dev.dokumentation.",
"-",
"-Docs: `\/docs\/mcp\/mcp-docs`",
"-",
"-## Wichtige Regeln",
"-",
"-- **KEIN GIT** - Git ist auf diesem Server verboten",
"-- **Backup vor Änderungen** - File Backup Hook sichert automatisch",
"-- **Entwicklung zuerst auf dev** - dann sync zu prod",
"-- **MCP nutzen** - Kein direkter DB-Zugriff, keine direkte Task-SQL",
"+1. **Kein Git** - Verboten auf diesem Server",
"+2. **MCP nutzen** - Kein direkter DB-Zugriff",
"+3. **Dev first** - Entwicklung auf dev, dann sync zu prod",
"+4. **Quality vor Sync** - `\/opt\/scripts\/php-check.sh` muss bestehen"
]
}
],
"originalFile": "# Server st\n\n## Pfade\n\n- Docs (statisch): `\/var\/www\/docs\/`\n- Docs (online): `https:\/\/dev.campus.systemische-tools.de\/docs`\n- Backup-Script: `\/opt\/scripts\/backup.sh`\n- Sync-Script: `\/opt\/scripts\/sync-dev-prod.sh`\n- PHP-Check-Script: `\/opt\/scripts\/php-check.sh`\n- Contracts: `\/var\/www\/docs\/contracts\/`\n\n## PHP Quality & Security Tools\n\n- **Installation:** `\/opt\/php-tools\/`\n- **PHPStan:** 2.1.33 + Strict Rules (Level 5)\n- **PHP-CS-Fixer:** 3.92.3 (PSR-12)\n- **Semgrep:** 1.146.0 (OWASP Security Scanner)\n- **Composer Audit:** CVE-Check für Dependencies\n- **Docs:** `\/docs\/modul\/php-quality`\n\n**4 Checks:**\n1. PHPStan + Strict Rules (Typen, Bugs)\n2. PHP-CS-Fixer (PSR-12 Style)\n3. Composer Audit (Dependency CVEs)\n4. Semgrep (SQL Injection, XSS, Command Injection, etc.)\n\n**Automatisierung:**\n- PostToolUse Hook: Style-Check nach jeder PHP-Änderung (Warnung)\n- Pre-Sync: Alle 4 Checks vor Deployment (blockierend)\n\n**Verwendung:**\n```bash\n\/opt\/scripts\/php-check.sh # dev prüfen\n\/opt\/scripts\/php-check.sh \/pfad --fix # mit Korrektur\n```\n\n## Datenbanken\n\n### ki_dev (Entwicklung\/Infrastruktur)\nAlles für Claude Code, MCP, Tasks, Contracts, Docs, Pipeline:\n- **Logs:** protokoll, mcp_log, file_backup_history, llm_requests\n- **Tasks:** tasks, task_assignments, task_results, task_comments\n- **Contracts:** contracts, contract_history, contract_validations\n- **Docs:** dokumentation, dokumentation_chunks, dokumentation_history\n- **Pipeline:** pipeline_log, pipeline_queue, prompts, prompt_tests, system_prompts\n\n### ki_content (Inhalt\/User-facing)\nAlles für Content, Chat, Wissen, Taxonomie:\n- **Content:** content_contracts, content_critiques, content_orders, content_sources, content_structures, content_versions\n- **Chat:** chat_messages, chat_sessions\n- **Wissen:** chunks, chunk_entities, chunk_semantics, chunk_taxonomy, documents, document_taxonomy\n- **Entitäten:** entities, entity_classifications, entity_relations, entity_synonyms\n- **Taxonomie:** taxonomy_terms, ontology_classes\n- **Sonstige:** author_profiles, critics, prompts, search_history\n\n## Claude Code Hooks\n\n### KI-Protokoll\n- **Script:** `\/var\/www\/tools\/ki-protokoll\/claude-hook\/log_to_db.py`\n- **Datenbank:** `ki_dev.protokoll`\n- **Trigger:** Alle Hooks (UserPromptSubmit, PreToolUse, PostToolUse, etc.)\n- **Docs:** `\/docs\/modul\/ki-protokoll`\n\n### File Backup Hook\n- **Script:** `\/var\/www\/tools\/ki-protokoll\/claude-hook\/file_backup_hook.py`\n- **Datenbank:** `ki_dev.file_backup_history`\n- **Trigger:** PreToolUse (Edit, Write)\n- **Docs:** `\/docs\/modul\/file-backup-hook`\n\n### Task Hook\n- **Script:** `\/var\/www\/tools\/ki-protokoll\/claude-hook\/task_hook.py`\n- **Trigger:** Erkennt `TODO:`, `TASK:`, `@task`, `#task` in Prompts\n\n### DB-Block Hook\n- **Script:** `\/var\/www\/tools\/ki-protokoll\/claude-hook\/block_direct_db.py`\n- **Trigger:** Blockiert direkte mysql\/mariadb Befehle\n\n### Hooks-Konfiguration\n- **Pfad:** `\/var\/www\/dev.campus.systemische-tools.de\/.claude\/settings.local.json`\n\n## KI-Tasks\n\nTask-Management-System für Mensch-KI-Kollaboration.\n\n- **Web-UI:** `\/tasks` (https:\/\/dev.campus.systemische-tools.de\/tasks)\n- **API:** `\/api\/v1\/tasks`\n- **CLI:** `\/var\/www\/tools\/ki-tasks\/cli.php`\n- **Datenbank:** `ki_dev` (tasks, task_assignments, task_results, task_comments)\n- **Docs:** `\/docs\/ki-tasks`\n\n**Task-Typen:** human_task, ai_task, mixed\n**Status:** pending → in_progress → completed | failed | cancelled\n**Assignees:** human, ollama, claude, anthropic_api\n\n**CLI-Befehle:**\n```bash\nphp \/var\/www\/tools\/ki-tasks\/cli.php create --title=\"Aufgabe\" --type=ai_task\nphp \/var\/www\/tools\/ki-tasks\/cli.php list --status=pending\nphp \/var\/www\/tools\/ki-tasks\/cli.php execute <id> --model=mistral\nphp \/var\/www\/tools\/ki-tasks\/cli.php stats\n```\n\n**API-Endpoints:**\n- `GET \/api\/v1\/tasks` - Liste mit Filtern\n- `POST \/api\/v1\/tasks` - Task erstellen\n- `POST \/api\/v1\/tasks\/{id}\/execute` - KI-Ausführung\n- `PUT \/api\/v1\/tasks\/{id}\/status` - Status ändern\n\n## Contracts\n\nContracts werden in der Datenbank verwaltet mit Web-UI und MCP-API.\n\n- **Web-UI:** `\/contracts` (https:\/\/dev.campus.systemische-tools.de\/contracts)\n- **Datenbank:** `ki_dev.contracts`\n- **MCP-Tools:** contracts_list, contracts_get, contracts_create, contracts_update, contracts_validate, contracts_history\n- **Legacy-Pfad:** `\/var\/www\/docs\/contracts\/` (migriert)\n- **Docs:** `\/docs\/modul\/contracts`\n\n### Betriebsdokumentation\n- **Contract:** `\/var\/www\/docs\/contracts\/betriebsdokumentation-pruefung_v1.1.yaml`\n- **Scope:** Alle `.php` Dateien in `\/src\/View\/docs\/`\n- **Platform:** Debian 13, Systemd, Apache 2.4\n\n**Validierungsfaktoren (Priorität):**\n1. path_existence (critical) - Dateipfade müssen existieren\n2. command_validity (critical) - Befehle müssen korrekt sein\n3. service_accuracy (critical) - Ports\/Versionen müssen stimmen\n4. config_correctness (major) - Konfig-Beispiele müssen passen\n5. structure_compliance (major) - Breadcrumb, h1, Intro, Tabelle, Commands\n6. link_integrity (major) - Interne Links müssen funktionieren\n7. terminology (minor) - Einheitliche Begriffe\n\n**Pass-Schwelle:**\n- 0 critical violations (sonst: rejected)\n- max 2 major violations (sonst: revision required)\n- max 5 minor violations\n\n**Enforcement:** Kein Sync zu prod bei critical violations.\n\n### Layered Architecture\n- **Contract:** `\/var\/www\/docs\/contracts\/layered-architecture-pruefung_v1.0.yaml`\n- **Status:** active (migriert 2025-12-20)\n\n**Aktuelle Architektur:**\n```\n\/src\/ # Backend (MVC)\n├── Framework\/ # App, Router, Controller-Base\n├── Controller\/ # HTTP Controller\n├── Domain\/Entity\/ # Entitäten (leer, für Erweiterung)\n├── Domain\/Repository\/ # Repository-Interfaces (leer)\n├── UseCases\/ # Anwendungsfälle (leer)\n├── Infrastructure\/ # DB, External Services\n│ └── Persistence\/ # Connection.php\n└── View\/ # Server-Templates\n\n\/app\/ # Frontend (MVP)\n├── Presenter\/ # UI-Logik (leer, für Erweiterung)\n└── View\/ # Passive Views (leer)\n```\n\n**Namespace-Mapping (autoload.php):**\n- `Framework\\` → `\/src\/Framework\/`\n- `Controller\\` → `\/src\/Controller\/`\n- `Domain\\` → `\/src\/Domain\/`\n- `UseCases\\` → `\/src\/UseCases\/`\n- `Infrastructure\\` → `\/src\/Infrastructure\/`\n- `Presenter\\` → `\/app\/Presenter\/`\n\n### JS Browser Architecture (ZUKÜNFTIG)\n- **Contract:** `\/var\/www\/docs\/contracts\/js-browser-architecture-contract_v2.yaml`\n- **Status:** future (keine komplexe JS-App vorhanden)\n\n## Dokumentation\n\n### Server\n- `\/docs\/server` - Übersicht, Domains, Sicherheit, System\n- `\/docs\/modul\/backup` - Tägliches Backup (03:00)\n- `\/docs\/modul\/file-backup-hook` - Claude Code Pre-Hook\n\n### KI-Stack\n- `\/docs\/modul\/ki-protokoll` - Claude Logging\n- `\/docs\/modul\/ollama` - LLM Runtime\n- `\/docs\/modul\/qdrant` - Vektor-Datenbank\n- `\/docs\/modul\/nvidia` - NVIDIA CUDA\n\n### Anwendungen\n- `\/docs\/anwendungen` - Übersicht\n- `\/docs\/modul\/apache` - Webserver\n- `\/docs\/modul\/php` - PHP 8.4\n- `\/docs\/modul\/mariadb` - Datenbank\n- `\/docs\/modul\/phpmyadmin` - Web-Verwaltung\n- `\/docs\/modul\/nextcloud` - Cloud-Speicher\n- `\/docs\/modul\/php-quality` - PHPStan, PHP-CS-Fixer\n\n## Dokumentations-Template\n\n```php\n<?php ob_start(); ?>\n\n<nav class=\"breadcrumb\">\n <a href=\"\/docs\">Dokumentation<\/a> » <a href=\"\/docs\/server\">Server<\/a> » Modulname\n<\/nav>\n\n<h1>Modulname<\/h1>\n<p>Kurzbeschreibung.<\/p>\n\n<table>\n <tr><th>Eigenschaft<\/th><td>Wert<\/td><\/tr>\n<\/table>\n\n<h2>Verwendung<\/h2>\n<pre><code>befehl --optionen<\/code><\/pre>\n\n<?php $content = ob_get_clean(); ?>\n<?php require VIEW_PATH . '\/layout.php'; ?>\n```\n\n## MCP-Server (Pflicht)\n\n### MCP-DB - Datenbankzugriff\n**IMMER** für Datenbank-Lesezugriffe verwenden:\n- `db_select(query)` - SELECT-Abfragen\n- `db_schema()` - Schema anzeigen\n- `db_tables(database)` - Tabellen auflisten\n- `db_describe(table)` - Tabellenstruktur\n- `db_insert()`, `db_update()`, `db_delete()` - Schreiboperationen\n- `db_execute()` - DDL-Statements (ALTER, CREATE, DROP)\n\n**NIEMALS** direkte mysql\/mariadb-Befehle mit Passwörtern ausführen.\n\nVorteile: Keine Credentials im Verlauf, Audit-Logging, SQL-Injection-Schutz.\nDocs: `\/docs\/mcp\/mcp-db`\n\n### MCP-Tasks - Task-Management\n**IMMER** für Task-Operationen verwenden:\n- `tasks_list(compact=True, limit=10)` - Tasks auflisten (Token-optimiert)\n- `tasks_create()` - Task erstellen\n- `tasks_get(id)` - Task-Details (vollständig)\n- `tasks_status(id, status)` - Status ändern\n- `tasks_execute(id)` - Mit Ollama ausführen\n- `quality_check()` - PHP-Prüfung\n- `quality_report()` - Vollständiger Report\n\n**Token-Optimierung (tasks_list):**\n- `compact=True` (default): nur id\/title\/description(100)\/status\/type\n- `compact=False`: alle 13 Felder\n- `limit=10` (default), max 100\n\n**NIEMALS** direkte SQL auf tasks\/task_assignments\/task_results.\n\n**Workflow:**\n1. `tasks_create()` → Task erstellen\n2. `tasks_status(id, \"in_progress\")` → Starten\n3. Arbeit erledigen\n4. `quality_check()` → Bei Code-Änderungen\n5. `tasks_status(id, \"completed\")` → Abschließen\n\nDocs: `\/docs\/mcp\/mcp-tasks`\n\n### MCP-Contracts - Contract-Management\n**IMMER** für Contract-Operationen verwenden:\n- `contracts_list(compact=True)` - Contracts auflisten (Token-optimiert)\n- `contracts_get(id)` - Contract-Details\n- `contracts_create()` - Contract erstellen\n- `contracts_update()` - Neue Version (mit Historie)\n- `contracts_validate(id)` - Validierung ausführen\n- `contracts_history(id)` - Änderungshistorie\n- `contracts_violations(id)` - Letzte Validierungen\n- `contracts_statistics()` - Statistiken\n\n**Token-Optimierung (contracts_list):**\n- `compact=True` (default): nur id\/name\/version\/status\n- `compact=False`: inkl. yaml_content\n\n**NIEMALS** direkte SQL auf contracts\/contract_history\/contract_validations.\n\nDocs: `\/docs\/mcp\/mcp-contracts`\n\n### MCP-Docs - Dokumentations-Management\n**IMMER** für Dokumentations-Operationen verwenden:\n- `docs_list(compact=True)` - Dokumente auflisten (Token-optimiert)\n- `docs_get(id)` oder `docs_get(path=\"\/server\/ssh\")` - Dokument abrufen\n- `docs_create()` - Neues Dokument erstellen\n... [TRUNCATED-f121355a064b7c39]"
}
}