Files
property-match/src/mock-data/reviewQueue.ts
T
Benjamin Sutter 5d3323617c feat: F018 human review queue — 2-panel governance workspace
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>
2026-05-17 13:03:34 +02:00

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,
},
]