Benjamin Sutter
71f4b1eeb6
feat: F019 AI monitoring layer — output transparency & governance workspace
...
Full 2-panel workspace at /ops/ai-monitoring: metrics strip (total, failed,
pending, approval rate, top prompt version, active model), filterable output
table by type/status/error, and detail panel with output preview, prompt
versioning, error details, and role-aware review actions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-17 13:11:35 +02:00
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
Benjamin Sutter
2e68638246
feat: F016 future availability workspace
...
2-panel workspace at /supply/future-availability: filterable signal list with FutureSignalCard (type/sensitivity/review badges + mandatory disclaimer) and collapsible detail panel with full evidence, review workflow (IN_REVIEW→APPROVED/REJECTED), shortlist action, and review task creation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-16 21:19:52 +02:00
Benjamin Sutter
65130efca7
feat: F015 shortlist management
...
3-panel Shortlists page with left list, center detail, right decision brief panel. AddToShortlistDialog wired into result feed cards and match detail. Full DRAFT→REVIEW_READY→FINALIZED workflow, AI-generated decision brief draft, duplicate prevention, and compare-view integration.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-16 21:10:06 +02:00
Benjamin Sutter
cb18f3c381
feat: F021 market intelligence & signal discovery
...
Signal domain types, mock data (8 signals), provider interface + MockupMarketIntelligenceProvider, marketIntelligenceService, TanStack Query hooks, 10 ops components (SignalInbox, MarketSignalCard, MarketSignalFilterBar, MarketSignalSkeleton, MarketSignalEmptyState, SignalConfidenceBadge, SourceReliabilityBadge, SensitivityWarningPanel, SignalConversionPanel, SignalEvidenceList), MarketIntelligence page wired into AppShell nav and App router.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-15 17:07:58 +02:00
Benjamin Sutter
3cd2e83b25
feat: F007 property repository & detail view
...
- useProperties: added usePropertyById, usePropertyMatches, usePropertySignals hooks
- propertyService.getProperties(), matchService.getMatchesForProperty(),
futureSignalService.getSignalsForProperty() added
- PropertyFilterBar: asset type chips, availability select, sort select, search
- PropertyTable: sortable columns, row selection highlight, loading skeletons,
empty/error states, Eye/Plus/Bookmark actions
- PropertyCard: decision-object card with header, primary, matchability,
data quality and action zones; card states (selected, compareSelected,
stale, low-confidence)
- PropertyDetailView: 7-tab detail panel (Übersicht, Hard Facts, Soft Factors,
Matchability, Datenqualität, Quelle, Signale) with low-quality banner,
missing field UX, data update CTA
- PropertyDetailSkeleton: loading state
- Properties page: two-panel layout (table + sliding detail panel)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-15 16:53:51 +02:00
Benjamin Sutter
46acca9e62
feat: F006 supply dashboard — KPI grid, strong matches, data quality, future signals, review tasks
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-15 16:08:49 +02:00
Benjamin Sutter
c65e565dc7
feat: F023 signal-to-match pipeline & shadow market decision flow
2026-05-15 15:52:53 +02:00
Benjamin Sutter
fce0f684af
feat: F022 source acquisition, crawling & connector abstraction
2026-05-15 15:32:53 +02:00
Benjamin Sutter
5ef8b9d69d
feat(services): F005 – complete service layer
...
New domain types:
- shortlist.ts: Shortlist, ShortlistItem, CreateShortlistInput
- review.ts: ReviewQueueItem, ReviewPriority, ReviewQueueStatus
New mock data:
- shortlists.ts: 2 sample shortlists
- reviewQueue.ts: 3 pending review items
New providers (interface + mockup):
- IShortlistProvider / MockupShortlistProvider (with 150ms latency)
- IReviewProvider / MockupReviewProvider (priority-sorted, with latency)
- IDashboardProvider / MockupDashboardProvider (computed from all mock data)
New services:
- reviewService: getQueue, approve, reject, assign
- shortlistService: CRUD + addItem/removeItem
- authService: wraps sessionStore, swappable for real auth
- dashboardService: getStats(organizationId?)
Enhancements:
- types.ts: typed ServiceErrorCode + ServiceError, Pagination alias
- aiService.ts: openRouterAIService stub (throws ai_generation_failed)
- lib/mockUtils.ts: mockDelay(ms) utility
New hooks:
- useUnifiedResults(needId?): joins matches+properties+signals → UnifiedMatchResult[]
- useReviewQueue: + useApproveReviewItem + useRejectReviewItem
- useMatchDetail, usePropertyDetail, useNeedProfiles aliases
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-15 11:12:06 +02:00
Benjamin Sutter
3b45b0c121
feat(F020): frontend infrastructure foundation
...
- src/lib/constants.ts: centralized route paths, labels, thresholds
- src/lib/utils.ts: formatting, color helpers, math utils
- src/hooks/: useProperties, useMatches, useFutureSignals, useNeeds
- src/components/scores/MatchScoreRing
- src/components/data-quality/DataQualityBar
- src/components/future-signals/SignalTypeBadge
- src/components/cards/SourceTypeBadge
- src/provider/AuthProvider (placeholder, swappable)
- main.tsx: AuthProvider + centralized stale time
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-15 10:50:26 +02:00