Files
Dokumenten-Check/.claude/settings.local.json
Philipp Ostmeyer c75f460ec5 feat: Externe Dokument-Referenzen erkennen, herunterladen & mitbewerten
Nach der Transkription eines Dokuments werden referenzierte externe
Dokumente (AGB, Verhaltenskodex) erkannt, sicher heruntergeladen und ihr
Text dem Hauptdokument fuer die "Summen"-Bewertung angehaengt (Option D).
Die Referenzen werden zusaetzlich als eigene, herunterladbare Zeilen
gespeichert.

- DB: dc_project_documents um parent_document_id, is_reference, source_url
  erweitert (DC_REFERENCES_ALTER.sql)
- ORDS: Dokumentenliste um die Felder erweitert; neue Endpunkte
  POST /documents/:id/references und DELETE /projects/:id/references;
  q-Quote-Parserfehler im ai-costs-Handler ('[]') behoben
- Backend: ReferenceDownloadService (SSRF-sicher via DNS-/Public-IP-
  Validierung, Redirect-Pruefung, Groessen-/Timeout-Limits, jsoup fuer HTML),
  EvaluationService.extractReferenceUrls (LLM-basierte URL-Erkennung),
  Orchestrierung (Discovery in Phase A, Referenz-Skip + combinedText in Phase B)
- Config: dc.references.* in application.properties

Verifiziert an Projekt 144: AGB-PDF/-HTML heruntergeladen, verknuepft,
"Summen"-Bewertung zitiert AGB-Klauseln aus dem Referenzdokument.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 12:45:55 +02:00

54 lines
3.3 KiB
JSON

{
"permissions": {
"allow": [
"Bash(quarkus dev *)",
"Bash(bash *)",
"Bash(mvn compile *)",
"Bash(quarkus version *)",
"Bash(export KUBECONFIG=\"/mnt/c/source/Frigosped/Dokumenten-Check/env/frigo-dev.yaml\")",
"Bash(kubectl get *)",
"Bash(sql -V)",
"Bash(sql *)",
"Bash(kubectl port-forward *)",
"Bash(curl -sf http://localhost:8090/check/health)",
"Bash(curl -v \"http://localhost:8081/ords/ai_dev/api/dc/documents/2/file\" -o /tmp/test_doc.pdf)",
"Bash(curl -s -w \"\\\\nHTTP_STATUS: %{http_code}\\\\n\" \"http://localhost:8081/ords/ai_dev/api/dc/documents/2/file\" -o /tmp/test_doc.pdf)",
"Read(//tmp/**)",
"Bash(curl -s \"http://localhost:8081/ords/ai_dev/api/dc/documents/2/file\")",
"Bash(curl -s -w '\\\\nHTTP_STATUS: %{http_code}\\\\nContent-Type: %{content_type}\\\\n' http://localhost:8081/ords/ai_dev/api/dc/documents/2/file -o /tmp/test_doc2.pdf)",
"Bash(curl *)",
"Bash(python3 -m json.tool)",
"Bash(python3 -c \"import sys,json; d=json.load\\(sys.stdin\\); print\\('original_text chars:', len\\(d.get\\('original_text',''\\) or ''\\)\\); print\\('has_original_text:', d.get\\('has_original_text'\\)\\)\")",
"Bash(pkill -f \"kubectl port-forward.*8090\")",
"Bash(pkill -f \"kubectl port-forward.*8081\")",
"Bash(fuser -k 8090/tcp)",
"Bash(KUBECONFIG=\"/mnt/c/source/Frigosped/Dokumenten-Check/env/frigo-dev.yaml\" kubectl logs -n ai-env -l app=dc-backend --since=10m --tail=100)",
"Bash(KUBECONFIG=\"/mnt/c/source/Frigosped/Dokumenten-Check/env/frigo-dev.yaml\" kubectl logs *)",
"Bash(mvn package *)",
"Bash(KUBECONFIG=\"/mnt/c/source/Frigosped/Dokumenten-Check/env/frigo-dev.yaml\" kubectl port-forward -n ai-env svc/dc-backend 8090:8090)",
"Bash(pkill -f \"kubectl port-forward\")",
"Bash(pkill -f \"port-forward\")",
"Bash(KUBECONFIG=\"/mnt/c/source/Frigosped/Dokumenten-Check/env/frigo-dev.yaml\" kubectl get pods *)",
"Bash(./mvnw compile *)",
"Bash(NLS_LANG=GERMAN_GERMANY.AL32UTF8 sql *)",
"Bash(KUBECONFIG=/mnt/c/source/Frigosped/Dokumenten-Check/env/frigo-dev.yaml kubectl logs *)",
"Bash(KUBECONFIG=/mnt/c/source/Frigosped/Dokumenten-Check/env/frigo-dev.yaml kubectl get pods -n ai-env -l app=dc-backend)",
"Bash(chmod +x *)",
"Bash(JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 mvn compile -q)",
"Bash(KUBECONFIG=/mnt/c/source/Frigosped/Dokumenten-Check/env/frigo-dev.yaml kubectl get nodes)",
"Bash(KUBECONFIG=/mnt/c/source/Frigosped/Dokumenten-Check/env/frigo-dev.yaml kubectl config view --minify)",
"Bash(KUBECONFIG=../env/frigo-dev.yaml kubectl get pods *)",
"Bash(KUBECONFIG=/mnt/c/source/Frigosped/Dokumenten-Check/env/frigo-dev.yaml kubectl get pods *)",
"Bash(KUBECONFIG=../env/frigo-dev.yaml kubectl apply *)",
"Bash(KUBECONFIG=../env/frigo-dev.yaml kubectl rollout restart deployment/dc-backend -n ai-env)",
"Bash(KUBECONFIG=../env/frigo-dev.yaml kubectl rollout status deployment/dc-backend -n ai-env --timeout=120s)",
"Bash(KUBECONFIG=../env/frigo-dev.yaml kubectl logs *)",
"WebSearch",
"WebFetch(domain:docs.langchain4j.dev)",
"WebFetch(domain:mvnrepository.com)",
"WebFetch(domain:github.com)",
"WebFetch(domain:docs.mistral.ai)"
]
}
}