{
  "schema": "huskpark.mecha.cockpit.prototype.v1",
  "states": {
    "persona_pending": "人物待选：选择内置人物、描述或本地上传肖像",
    "persona_ready": "人物就位：可以进入悬浮装配",
    "standby": "待机：人物照片居中，装备在固定位置小幅上下浮动，尚未选择组件",
    "ready": "装配完成：选中组件锁定，保持固定坐标、透明度与小幅上下浮动，可以启动",
    "accepted": "启动受理：选中组件磁吸归体，外甲分件闭合成完整麦壳机甲；人物照片退场，不保留面部贴片，不代表分析完成",
    "review": "研判入口就绪：展示完整麦壳机甲与已有真实结果入口；无面罩闪光、无通体电流，未生成新数据"
  },
  "transitions": [
    {
      "from": "persona_pending",
      "on": "select_persona|custom_persona",
      "to": "standby"
    },
    {
      "from": "standby",
      "on": "select_component",
      "to": "ready"
    },
    {
      "from": "ready",
      "on": "select_component|remove_component|full_configuration",
      "to": "ready"
    },
    {
      "from": "ready",
      "on": "clear_configuration",
      "to": "standby"
    },
    {
      "from": "ready",
      "on": "start",
      "guard": "selected_count>0",
      "to": "accepted"
    },
    {
      "from": "accepted",
      "on": "startup_animation_finished",
      "to": "review"
    },
    {
      "from": "review",
      "on": "adjust_configuration",
      "to": "ready"
    },
    {
      "from": "review",
      "on": "clear_configuration",
      "to": "standby"
    }
  ],
  "personas": [
    {
      "id": "zhangting",
      "role": "市场作曲家",
      "name": "张婷",
      "tagline": "把复杂的事，谱成自己的节奏",
      "image": "zhangting.jpg"
    },
    {
      "id": "wangqiang",
      "role": "越跌越买的铁头娃",
      "name": "王强",
      "tagline": "韧劲要有，边界也要看清",
      "image": "wangqiang.jpg"
    },
    {
      "id": "mulan",
      "role": "节奏大师",
      "name": "穆兰",
      "tagline": "信息与执行，都快而不乱",
      "image": "mulan.jpg"
    },
    {
      "id": "wangyuqing",
      "role": "不看盘的高僧",
      "name": "王余庆",
      "tagline": "低频观察，心有定力",
      "image": "wangyuqing.jpg"
    },
    {
      "id": "laopan",
      "role": "价值慢狗",
      "name": "潘吉",
      "tagline": "慢慢研究，耐心生长",
      "image": "laopan.jpg"
    }
  ],
  "components": [
    {
      "id": "collection",
      "name": "集合定位",
      "part": "头盔",
      "icon": "helmet_collection.png",
      "href": "https://lab.huskpark.com",
      "eligible": true,
      "status": "需研究员权限 · 以系统校验为准",
      "result": "集合图与候选榜"
    },
    {
      "id": "abc",
      "name": "麦壳 ABC",
      "part": "研判胸核",
      "icon": "chest_abc.png",
      "href": "https://huskpark.com/abc/",
      "eligible": true,
      "status": "需现有ABC权限 · 以系统校验为准",
      "result": "深研报告、评分与估值锚"
    },
    {
      "id": "knowledge",
      "name": "麦壳知识库",
      "part": "背部蓝图舱",
      "icon": "back_knowledge.png",
      "href": "https://huskpark.com/knowledge.html",
      "eligible": true,
      "status": "公开可读",
      "result": "模型方法与装备说明"
    },
    {
      "id": "backtest",
      "name": "公开回测",
      "part": "回流底座",
      "icon": "base_verification.png",
      "href": "https://huskpark.com/index.html#verification",
      "eligible": true,
      "status": "公开可读 · 非真实账户",
      "result": "回测曲线、样本与T2/T5/T8"
    },
    {
      "id": "4p",
      "name": "麦壳 4P",
      "part": "成本定位左臂",
      "icon": "left_arm_4p.png",
      "href": "https://huskpark.com/four-price.html",
      "eligible": false,
      "status": "独立授权 · 当前入口升级中",
      "reason": "独立授权且入口升级中，不进入全配",
      "result": "成本坐标"
    },
    {
      "id": "validation",
      "name": "4V／3S",
      "part": "验证组件右臂",
      "icon": "right_arm_validation.png",
      "href": "https://huskpark.com/arsenal.html",
      "eligible": false,
      "status": "验证中",
      "reason": "验证中，不冒充可运行装备",
      "result": "验证状态说明"
    },
    {
      "id": "tracking",
      "name": "麦壳追踪",
      "part": "追踪腿组",
      "icon": "legs_tracking.png",
      "href": "https://huskpark.com/arsenal.html",
      "eligible": false,
      "status": "联合实验预约 · 不收费",
      "reason": "联合实验预约，不进入全配",
      "result": "持续跟踪说明"
    }
  ],
  "startup_seconds": {
    "desktop": 3.2,
    "mobile": 2.4,
    "reduced_motion": 0
  },
  "future_backend_states": [
    "queued",
    "running",
    "completed",
    "failed",
    "permission_required"
  ],
  "boundaries": [
    "不生成假数据",
    "不自动开权限",
    "不自动交易",
    "启动动画不等于分析完成",
    "结果只接已有真实入口",
    "人物只影响展示与默认说明，不改模型或阈值",
    "肖像仅本地预览，不上传服务器、不做人脸识别"
  ]
}