fix(routines): remove dose from AI routine suggestions

This commit is contained in:
Piotr Oleszczyk 2026-03-05 14:19:18 +01:00
parent c4be7dd1be
commit db3d9514d5
4 changed files with 1 additions and 12 deletions

View file

@ -79,7 +79,6 @@ class SuggestedStep(SQLModel):
product_id: Optional[UUID] = None product_id: Optional[UUID] = None
action_type: Optional[GroomingAction] = None action_type: Optional[GroomingAction] = None
action_notes: Optional[str] = None action_notes: Optional[str] = None
dose: Optional[str] = None
region: Optional[str] = None region: Optional[str] = None
why_this_step: Optional[str] = None why_this_step: Optional[str] = None
optional: Optional[bool] = None optional: Optional[bool] = None
@ -133,7 +132,6 @@ class BatchSuggestion(SQLModel):
class _SingleStepOut(PydanticBase): class _SingleStepOut(PydanticBase):
product_id: Optional[str] = None product_id: Optional[str] = None
action_type: Optional[GroomingAction] = None action_type: Optional[GroomingAction] = None
dose: Optional[str] = None
region: Optional[str] = None region: Optional[str] = None
action_notes: Optional[str] = None action_notes: Optional[str] = None
why_this_step: Optional[str] = None why_this_step: Optional[str] = None
@ -143,7 +141,6 @@ class _SingleStepOut(PydanticBase):
class _BatchStepOut(PydanticBase): class _BatchStepOut(PydanticBase):
product_id: Optional[str] = None product_id: Optional[str] = None
action_type: Optional[GroomingAction] = None action_type: Optional[GroomingAction] = None
dose: Optional[str] = None
region: Optional[str] = None region: Optional[str] = None
action_notes: Optional[str] = None action_notes: Optional[str] = None
@ -674,6 +671,7 @@ ZASADY PLANOWANIA:
- Nie zwracaj "pustych" kroków: każdy krok musi mieć product_id albo action_type. - Nie zwracaj "pustych" kroków: każdy krok musi mieć product_id albo action_type.
- Pole region uzupełniaj tylko gdy ma znaczenie kliniczne/praktyczne (np. broda, wąsy, okolica oczu, szyja). - Pole region uzupełniaj tylko gdy ma znaczenie kliniczne/praktyczne (np. broda, wąsy, okolica oczu, szyja).
Dla standardowych kroków pielęgnacji całej twarzy pozostaw region puste. Dla standardowych kroków pielęgnacji całej twarzy pozostaw region puste.
- Nie podawaj dawek ani ilości produktu (np. "1 pompa", "2 krople", "pea-size").
JAK ROZWIĄZYWAĆ KONFLIKTY: JAK ROZWIĄZYWAĆ KONFLIKTY:
- Bezpieczeństwo > wszystko. - Bezpieczeństwo > wszystko.
@ -879,7 +877,6 @@ def suggest_routine(
product_id=UUID(s["product_id"]) if s.get("product_id") else None, product_id=UUID(s["product_id"]) if s.get("product_id") else None,
action_type=s.get("action_type") or None, action_type=s.get("action_type") or None,
action_notes=s.get("action_notes"), action_notes=s.get("action_notes"),
dose=s.get("dose"),
region=s.get("region"), region=s.get("region"),
why_this_step=s.get("why_this_step"), why_this_step=s.get("why_this_step"),
optional=s.get("optional"), optional=s.get("optional"),
@ -986,7 +983,6 @@ def suggest_batch(
product_id=UUID(s["product_id"]) if s.get("product_id") else None, product_id=UUID(s["product_id"]) if s.get("product_id") else None,
action_type=s.get("action_type") or None, action_type=s.get("action_type") or None,
action_notes=s.get("action_notes"), action_notes=s.get("action_notes"),
dose=s.get("dose"),
region=s.get("region"), region=s.get("region"),
why_this_step=s.get("why_this_step"), why_this_step=s.get("why_this_step"),
optional=s.get("optional"), optional=s.get("optional"),

View file

@ -229,7 +229,6 @@ export interface SuggestedStep {
product_id?: string; product_id?: string;
action_type?: GroomingAction; action_type?: GroomingAction;
action_notes?: string; action_notes?: string;
dose?: string;
region?: string; region?: string;
why_this_step?: string; why_this_step?: string;
optional?: boolean; optional?: boolean;

View file

@ -76,7 +76,6 @@ export const actions: Actions = {
product_id?: string; product_id?: string;
action_type?: string; action_type?: string;
action_notes?: string; action_notes?: string;
dose?: string;
region?: string; region?: string;
}>; }>;
try { try {
@ -96,7 +95,6 @@ export const actions: Actions = {
product_id: s.product_id || undefined, product_id: s.product_id || undefined,
action_type: s.action_type || undefined, action_type: s.action_type || undefined,
action_notes: s.action_notes || undefined, action_notes: s.action_notes || undefined,
dose: s.dose || undefined,
region: s.region || undefined region: s.region || undefined
}); });
} }
@ -120,14 +118,12 @@ export const actions: Actions = {
product_id?: string; product_id?: string;
action_type?: string; action_type?: string;
action_notes?: string; action_notes?: string;
dose?: string;
region?: string; region?: string;
}>; }>;
pm_steps: Array<{ pm_steps: Array<{
product_id?: string; product_id?: string;
action_type?: string; action_type?: string;
action_notes?: string; action_notes?: string;
dose?: string;
region?: string; region?: string;
}>; }>;
}>; }>;
@ -150,7 +146,6 @@ export const actions: Actions = {
product_id: s.product_id || undefined, product_id: s.product_id || undefined,
action_type: s.action_type || undefined, action_type: s.action_type || undefined,
action_notes: s.action_notes || undefined, action_notes: s.action_notes || undefined,
dose: s.dose || undefined,
region: s.region || undefined region: s.region || undefined
}); });
} }

View file

@ -55,7 +55,6 @@
function stepMeta(step: SuggestedStep): string { function stepMeta(step: SuggestedStep): string {
const parts: string[] = []; const parts: string[] = [];
if (step.dose) parts.push(step.dose);
if (step.region && step.region.toLowerCase() !== 'face') parts.push(step.region); if (step.region && step.region.toLowerCase() !== 'face') parts.push(step.region);
if (step.action_notes && !step.action_type) parts.push(step.action_notes); if (step.action_notes && !step.action_type) parts.push(step.action_notes);
return parts.join(' · '); return parts.join(' · ');