feat: Tender-Analyse Pipeline — Upload, Extraction, Control-Matching
Phase 3 des Payment Compliance Moduls: 1. Backend: Tender Upload + LLM Requirement Extraction + Control Matching - DB Migration 025 (tender_analyses Tabelle) - TenderHandlers: Upload, Extract, Match, List, Get (5 Endpoints) - LLM-Extraktion via Anthropic API mit Keyword-Fallback - Control-Matching mit Domain-Bonus + Keyword-Overlap Relevance 2. Frontend: Dritter Tab "Ausschreibung" in /sdk/payment-compliance - PDF/TXT/Word Upload mit Drag-Area - Automatische Analyse-Pipeline (Upload → Extract → Match) - Ergebnis-Dashboard: Abgedeckt/Teilweise/Luecken - Requirement-by-Requirement Matching mit Control-IDs + Relevanz% - Gap-Beschreibung fuer nicht-gematchte Requirements - Analyse-Historie mit Klick-to-Detail Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -107,6 +107,7 @@ func main() {
|
||||
registrationStore := ucca.NewRegistrationStore(pool)
|
||||
registrationHandlers := handlers.NewRegistrationHandlers(registrationStore, uccaStore)
|
||||
paymentHandlers := handlers.NewPaymentHandlers(pool)
|
||||
tenderHandlers := handlers.NewTenderHandlers(pool, paymentHandlers.GetControlLibrary())
|
||||
roadmapHandlers := handlers.NewRoadmapHandlers(roadmapStore)
|
||||
workshopHandlers := handlers.NewWorkshopHandlers(workshopStore)
|
||||
portfolioHandlers := handlers.NewPortfolioHandlers(portfolioStore)
|
||||
@@ -307,6 +308,13 @@ func main() {
|
||||
payRoutes.GET("/assessments", paymentHandlers.ListAssessments)
|
||||
payRoutes.GET("/assessments/:id", paymentHandlers.GetAssessment)
|
||||
payRoutes.PATCH("/assessments/:id/verdict", paymentHandlers.UpdateControlVerdict)
|
||||
|
||||
// Tender Analysis
|
||||
payRoutes.POST("/tender/upload", tenderHandlers.Upload)
|
||||
payRoutes.POST("/tender/:id/extract", tenderHandlers.Extract)
|
||||
payRoutes.POST("/tender/:id/match", tenderHandlers.Match)
|
||||
payRoutes.GET("/tender", tenderHandlers.ListAnalyses)
|
||||
payRoutes.GET("/tender/:id", tenderHandlers.GetAnalysis)
|
||||
}
|
||||
|
||||
// RAG routes - Legal Corpus Search & Versioning
|
||||
|
||||
Reference in New Issue
Block a user