5d3323617c
Replaces the old ad-hoc ReviewQueue page with a full governance-compliant workflow: filterable task list, detail panel with confidence/risk context, role-aware approve/reject/escalate/more-data actions, and persistent notes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
188 lines
6.1 KiB
TypeScript
188 lines
6.1 KiB
TypeScript
import type { ReviewTask } from '../domain/review'
|
|
|
|
export const mockReviewQueue: ReviewTask[] = [
|
|
{
|
|
id: 'rev-001',
|
|
entityType: 'FUTURE_SIGNAL',
|
|
entityId: 'sig-001',
|
|
title: 'Vertrauliches Signal: Auszug Zürich-Nord Seebach',
|
|
description: 'Signal mit Sensitivity RESTRICTED — muss vor Anzeige im Demand Feed manuell geprüft werden. KI-Konfidenz 82%. Quelle: Stellenausschreibungen.',
|
|
priority: 'CRITICAL',
|
|
status: 'PENDING',
|
|
createdBy: 'system',
|
|
createdAt: '2026-05-15T08:00:00Z',
|
|
updatedAt: '2026-05-15T08:00:00Z',
|
|
dueDate: '2026-05-19T17:00:00Z',
|
|
reviewNotes: [],
|
|
relatedOrganizationId: 'org-wincasa',
|
|
confidenceScore: 0.82,
|
|
riskLevel: 'HIGH',
|
|
},
|
|
{
|
|
id: 'rev-002',
|
|
entityType: 'LOW_CONFIDENCE_MATCH',
|
|
entityId: 'match-021',
|
|
title: 'Niedriger Konfidenz-Match: Bern Wabern Office',
|
|
description: 'Match-Score 47 mit Konfidenz 0.38. Fehlende Daten: Mietpreis, Ausbaustandard. AI-Begründung unsicher.',
|
|
priority: 'HIGH',
|
|
status: 'PENDING',
|
|
createdBy: 'system',
|
|
createdAt: '2026-05-15T09:30:00Z',
|
|
updatedAt: '2026-05-15T09:30:00Z',
|
|
dueDate: '2026-05-22T17:00:00Z',
|
|
reviewNotes: [],
|
|
relatedOrganizationId: 'org-wincasa',
|
|
confidenceScore: 0.38,
|
|
riskLevel: 'MEDIUM',
|
|
matchId: 'match-021',
|
|
matchScore: 47,
|
|
},
|
|
{
|
|
id: 'rev-003',
|
|
entityType: 'CONTACT_RELEASE',
|
|
entityId: 'need-005',
|
|
title: 'Kontaktfreigabe: Mobimo Management AG → Zollstrasse 12',
|
|
description: 'Nachfrager Mobimo AG bittet um Direktkontakt mit Eigentümer Wincasa. Anfrage durch property-manager prüfen.',
|
|
priority: 'HIGH',
|
|
status: 'PENDING',
|
|
createdBy: 'user-dem',
|
|
createdAt: '2026-05-15T11:00:00Z',
|
|
updatedAt: '2026-05-15T11:00:00Z',
|
|
dueDate: '2026-05-20T17:00:00Z',
|
|
reviewNotes: [
|
|
{
|
|
id: 'note-001',
|
|
content: 'Nachfrager hat Bonität A+ bei CRIF. Anfrage scheint seriös.',
|
|
createdBy: 'admin@ideal-sharing.ch',
|
|
createdAt: '2026-05-15T12:00:00Z',
|
|
},
|
|
],
|
|
relatedOrganizationId: 'org-wincasa',
|
|
confidenceScore: 0.91,
|
|
riskLevel: 'LOW',
|
|
},
|
|
{
|
|
id: 'rev-004',
|
|
entityType: 'MATCH_EXPLANATION',
|
|
entityId: 'match-008',
|
|
title: 'Match-Begründung prüfen: Basel Logistik',
|
|
description: 'AI-Erklärung für Match enthält widersprüchliche Faktoren. Konfidenz niedrig bei Soft Factors.',
|
|
priority: 'HIGH',
|
|
status: 'IN_REVIEW',
|
|
assignedTo: 'user-rev',
|
|
createdBy: 'system',
|
|
createdAt: '2026-05-14T14:00:00Z',
|
|
updatedAt: '2026-05-15T08:30:00Z',
|
|
dueDate: '2026-05-18T17:00:00Z',
|
|
reviewNotes: [
|
|
{
|
|
id: 'note-002',
|
|
content: 'Soft Factor "Passantenfrequenz" ist für Logistik nicht relevant. Score neu berechnen.',
|
|
createdBy: 'reviewer@ideal-sharing.ch',
|
|
createdAt: '2026-05-15T08:30:00Z',
|
|
},
|
|
],
|
|
relatedOrganizationId: 'org-mobimo',
|
|
confidenceScore: 0.55,
|
|
riskLevel: 'MEDIUM',
|
|
matchId: 'match-008',
|
|
matchScore: 63,
|
|
},
|
|
{
|
|
id: 'rev-005',
|
|
entityType: 'AI_OUTPUT',
|
|
entityId: 'ai-summary-zug-001',
|
|
title: 'AI Portfolio-Zusammenfassung: Zug Kantonsstrasse',
|
|
description: 'Automatisch generierte Marktzusammenfassung für Zug-Portfolio. Vor Weitergabe an Eigentümer prüfen.',
|
|
priority: 'MEDIUM',
|
|
status: 'PENDING',
|
|
createdBy: 'system',
|
|
createdAt: '2026-05-14T10:00:00Z',
|
|
updatedAt: '2026-05-14T10:00:00Z',
|
|
reviewNotes: [],
|
|
relatedOrganizationId: 'org-ubs',
|
|
confidenceScore: 0.72,
|
|
riskLevel: 'LOW',
|
|
promptVersion: 'claude-3-5-sonnet-v1.2',
|
|
},
|
|
{
|
|
id: 'rev-006',
|
|
entityType: 'PROPERTY_DATA_ISSUE',
|
|
entityId: 'prop-031',
|
|
title: 'Datenfehler: Mietpreis fehlt — Bürofläche Winterthur',
|
|
description: 'Pflichtfeld Mietpreis/m² fehlt seit Import. Match-Scoring wird blockiert. Quelle: HomegateImport 2026-05-10.',
|
|
priority: 'MEDIUM',
|
|
status: 'NEEDS_MORE_DATA',
|
|
createdBy: 'system',
|
|
createdAt: '2026-05-13T07:00:00Z',
|
|
updatedAt: '2026-05-14T16:00:00Z',
|
|
reviewNotes: [
|
|
{
|
|
id: 'note-003',
|
|
content: 'PM wurde benachrichtigt. Wartet auf Rückmeldung vom Eigentümer.',
|
|
createdBy: 'admin@ideal-sharing.ch',
|
|
createdAt: '2026-05-14T16:00:00Z',
|
|
},
|
|
],
|
|
relatedOrganizationId: 'org-wincasa',
|
|
riskLevel: 'MEDIUM',
|
|
propertyId: 'prop-031',
|
|
},
|
|
{
|
|
id: 'rev-007',
|
|
entityType: 'FUTURE_SIGNAL',
|
|
entityId: 'sig-004',
|
|
title: 'Signal genehmigt: Baugesuch Basel-Gündeldingen',
|
|
description: 'Öffentliches Baugesuch für Büroumbau. Quelle: Kantonales Amtsblatt.',
|
|
priority: 'LOW',
|
|
status: 'APPROVED',
|
|
assignedTo: 'user-rev',
|
|
createdBy: 'system',
|
|
createdAt: '2026-05-10T09:00:00Z',
|
|
updatedAt: '2026-05-12T14:30:00Z',
|
|
reviewNotes: [
|
|
{
|
|
id: 'note-004',
|
|
content: 'Quelle verifiziert. Baugesuch öffentlich zugänglich. Freigabe für Demand Feed.',
|
|
createdBy: 'reviewer@ideal-sharing.ch',
|
|
createdAt: '2026-05-12T14:30:00Z',
|
|
},
|
|
],
|
|
relatedOrganizationId: 'org-wincasa',
|
|
confidenceScore: 0.78,
|
|
riskLevel: 'LOW',
|
|
},
|
|
{
|
|
id: 'rev-008',
|
|
entityType: 'LOW_CONFIDENCE_MATCH',
|
|
entityId: 'match-015',
|
|
title: 'Eskaliert: Match Zürich Retail — widersprüchliche Daten',
|
|
description: 'Match wurde eskaliert weil Fläche lt. Inserat (320m²) und Katasterdaten (290m²) abweichen.',
|
|
priority: 'CRITICAL',
|
|
status: 'ESCALATED',
|
|
assignedTo: 'user-001',
|
|
createdBy: 'user-rev',
|
|
createdAt: '2026-05-11T15:00:00Z',
|
|
updatedAt: '2026-05-13T09:00:00Z',
|
|
reviewNotes: [
|
|
{
|
|
id: 'note-005',
|
|
content: 'Abweichung 30m² zwischen Inserat und Kataster. Klärung mit Eigentümer notwendig.',
|
|
createdBy: 'reviewer@ideal-sharing.ch',
|
|
createdAt: '2026-05-12T10:00:00Z',
|
|
},
|
|
{
|
|
id: 'note-006',
|
|
content: 'An Org-Admin eskaliert für finale Entscheidung.',
|
|
createdBy: 'reviewer@ideal-sharing.ch',
|
|
createdAt: '2026-05-13T09:00:00Z',
|
|
},
|
|
],
|
|
relatedOrganizationId: 'org-wincasa',
|
|
confidenceScore: 0.44,
|
|
riskLevel: 'HIGH',
|
|
matchId: 'match-015',
|
|
matchScore: 61,
|
|
},
|
|
]
|