# -*- coding: utf-8 -*-
"""Track A: BytePlus提案の4軸プロンプト。各軸を独立採点（アンカー比較方式）。
配点: 濃度30 / 水位25 / 油25 / 沸騰20。"""

DIMENSIONS = [
    {"key": "density", "name": "濃度", "max": 30,
     "desc": "申告されたBrix値に見合う見た目の濃さ（とろみ・白濁の濃度感）か。"},
    {"key": "water", "name": "水位", "max": 25,
     "desc": "スープ液面が寸胴の縁からどれだけ近いか（高いほど良い）。"},
    {"key": "oil", "name": "油", "max": 25,
     "desc": "油のバランス（重すぎず薄すぎず、均一に混ざっているか）。"},
    {"key": "boiling", "name": "沸騰", "max": 20,
     "desc": "火力・沸騰の活発さ（適切に対流・沸騰しているか）。"},
]

def build_prompt(dim, brix, slot):
    return f"""あなたはラーメン豚山のスープを評価する熟練の職人です。
提示する画像（同一スープの複数フレーム）について「{dim['name']}」の1軸だけを採点してください。
- 評価軸の定義: {dim['desc']}
- このスープの申告Brix（濃度計の実測値）: {brix}
- 時間帯: {slot}（開店前の目標Brixは13、ディナーは12）
- 配点: 0〜{dim['max']}点（高いほど良い状態）
- 添付の参照アンカー画像（高/中/低の見本）と比較して、相対的に採点すること。
- 感覚ではなくアンカーとの比較で、再現性ある点数を出すこと。"""

SCHEMA_HINT = '必ず次のJSON形式のみで答えよ: {"score": <整数>, "label": "<短い状態ラベル>", "reason": "<簡潔な根拠>"}'
