feat(gtm): v2.5 - Hard Fact Extraction & UI

- Backend: Implemented secondary extraction phase for structured specs (JSON schema).

- Backend: Added strict normalization rules (min, cm, kg).

- Frontend: Added 'Phase1Data' interface update for specs.

- Frontend: Implemented new UI component for 'Technical Specifications' in Phase 1.

- Frontend: Updated header and sidebar to display 'v2.5' build marker.

- Docs: Updated architectural documentation.
This commit is contained in:
2026-01-06 19:36:42 +00:00
parent 2c5d50fd1a
commit 7a3e397037
6 changed files with 268 additions and 4 deletions

View File

@@ -28,6 +28,47 @@ export interface Phase1Data {
relatedProduct?: string;
};
rawAnalysis: string;
specs?: {
metadata: {
product_id: string;
brand: string;
model_name: string;
category: string;
manufacturer_url: string;
};
core_specs: {
battery_runtime_min: number | null;
charge_time_min: number | null;
weight_kg: number | null;
dimensions_cm: { l: number | null; w: number | null; h: number | null };
max_slope_deg: number | null;
ip_rating: string | null;
climb_height_cm: number | null;
navigation_type: string | null;
connectivity: string[];
};
layers: {
cleaning?: {
fresh_water_l: number | null;
dirty_water_l: number | null;
area_performance_sqm_h: number | null;
mop_pressure_kg: number | null;
};
service?: {
max_payload_kg: number | null;
number_of_trays: number | null;
display_size_inch: number | null;
ads_capable: boolean | null;
};
security?: {
camera_types: string[];
night_vision: boolean | null;
gas_detection: string[];
at_interface: boolean | null;
};
};
extended_features: { feature: string; value: string; unit: string }[];
};
}
export interface Phase2Data {