Advanced diagnostics · internal
Orchestrated graph of loops
No single loop owns the global objective. Each declares one job, a measurable goal, a confidence threshold, and an escalation path. A loop escalates to a human when its goal is missed OR its confidence falls below threshold.
Calls the real /api/stylist with a canned board-meeting payload and scores each loop against its goal.
Styling path
Identity Engine
identityConvert chosen traits + inspiration into a weighted Identity Vector — the signature every recommendation is tuned to.
Measurable goal
trait_coverage ≥ 3 traitsResolve at least 3 weighted traits so the signature is specific enough to style against.
Confidence threshold
0.60
Status
Idle
Escalation · Escalate to human if fewer than 3 traits resolve OR confidence < 0.60.
On upload
Closet Ingestion
closet_ingestionVision-detect a single garment from a photo into a structured, PROPOSED item — provenance-first, never auto-approved.
Measurable goal
attribute_confidence ≥ 0.75Only auto-propose when the vision model’s attribute confidence is ≥ 0.75; otherwise hold for review.
Confidence threshold
0.75
Status
Idle
Escalation · Item stays "proposed" and escalates to user review whenever confidence < 0.75.
Styling path
Daily Recommendation
recommendationFrom the deterministically-eligible closet, choose a primary look + alternatives and explain why it works and how it reinforces identity.
Measurable goal
coverage_and_explanation ≥ 1Score 1 only when there is ≥1 primary item AND a non-empty "why it works". Bare clothing with no rationale fails.
Confidence threshold
0.65
Status
Idle
Escalation · Escalate if coverage/explanation is missing OR confidence < 0.65 (or no eligible items exist).
Flow
Identity Engine → deterministic eligibility gate → Daily Recommendation → (goal + confidence check) → ship or escalate
Closet Ingestion runs separately on upload; detected items stay proposed until a human approves them (provenance-first — an email receipt is not ownership).