{
  "schemaVersion": 1,
  "slug": "ui-design-skills-tested-optimization-followup",
  "status": "verified",
  "title": {
    "zh": "Oil UI 0.24.2 独立优化候选：一次后续试验",
    "en": "Oil UI 0.24.2 Independent Optimization Candidate: One Follow-up Trial"
  },
  "scope": {
    "kind": "single-followup-trial",
    "candidate": {
      "id": "oil-ui-optimization",
      "name": "Oil UI 0.24.2 independent optimization candidate",
      "baseSkill": "Oil UI",
      "baseVersion": "0.24.2",
      "officialRelease": false,
      "representsOfficialSkillUpdate": false
    },
    "originalStudy": {
      "slug": "ui-design-skills-tested",
      "results": "/comparisons/ui-design-skills-tested/results.json",
      "originalRunCount": 15,
      "includedInOriginalResults": false,
      "supersedesOriginalResults": false
    },
    "followupRunCount": 1,
    "blindReviewCount": 2,
    "statement": {
      "zh": "这是 Oil UI 0.24.2 独立优化候选的一次 Kimi AgentSwarm kimi-1021-preview 后续复测，不是官方新版本，也不代表正式 Skill 已更新。结果不修改、不替代原始 15 次横评，只描述这一次候选试验，不能据此宣称普遍提升。",
      "en": "This is one Kimi AgentSwarm kimi-1021-preview follow-up trial of an independent optimization candidate based on Oil UI 0.24.2. It is not an official release and does not represent an update to the official Skill. It neither changes nor supersedes the original 15-run comparison and describes only this candidate trial; it does not establish a general improvement."
    }
  },
  "environment": {
    "host": "Kimi AgentSwarm",
    "model": "kimi-1021-preview",
    "thinkingEffort": "max"
  },
  "task": {
    "name": "CommonShelf",
    "stack": "Plain static HTML, CSS and JavaScript",
    "viewports": [
      { "name": "desktop", "width": 1440, "height": 900 },
      { "name": "mobile", "width": 390, "height": 844 }
    ]
  },
  "scoreScale": {
    "totalMax": 100,
    "dimensions": [
      {
        "key": "visualHierarchyAndReadability",
        "label": { "zh": "视觉层级与可读性", "en": "Visual hierarchy and readability" },
        "max": 20
      },
      {
        "key": "productFitAndOriginality",
        "label": { "zh": "产品契合与原创性", "en": "Product fit and originality" },
        "max": 20
      },
      {
        "key": "responsive",
        "label": { "zh": "响应式", "en": "Responsive behavior" },
        "max": 15
      },
      {
        "key": "interactionAndStateFeedback",
        "label": { "zh": "交互与状态反馈", "en": "Interaction and state feedback" },
        "max": 20
      },
      {
        "key": "accessibility",
        "label": { "zh": "可访问性", "en": "Accessibility" },
        "max": 15
      },
      {
        "key": "detailAndMotion",
        "label": { "zh": "细节与动效", "en": "Detail and motion" },
        "max": 10
      }
    ]
  },
  "visualReview": {
    "reviewType": "independent-visual-blind-review",
    "reviews": [
      {
        "reviewer": "A",
        "scores": {
          "visualHierarchyAndReadability": 17,
          "productFitAndOriginality": 18,
          "responsive": 14,
          "interactionAndStateFeedback": 18,
          "accessibility": 13,
          "detailAndMotion": 9
        },
        "totalScore": 89,
        "totalMax": 100,
        "sourceRecognized": false
      },
      {
        "reviewer": "B",
        "scores": {
          "visualHierarchyAndReadability": 18,
          "productFitAndOriginality": 18,
          "responsive": 14,
          "interactionAndStateFeedback": 18,
          "accessibility": 13,
          "detailAndMotion": 9
        },
        "totalScore": 90,
        "totalMax": 100,
        "sourceRecognized": false
      }
    ],
    "scoreSum": 179,
    "reviewCount": 2,
    "average": 89.5,
    "decimal": "89.500000",
    "display": "89.5",
    "fraction": "179/2",
    "dimensionAverages": {
      "visualHierarchyAndReadability": 17.5,
      "productFitAndOriginality": 18,
      "responsive": 14,
      "interactionAndStateFeedback": 18,
      "accessibility": 13,
      "detailAndMotion": 9
    },
    "averageRule": {
      "zh": "两位盲评总分的算术平均值，只适用于这一次后续试验。",
      "en": "Arithmetic mean of the two blind-review totals for this single follow-up trial only."
    },
    "rankingOrUniversalBestClaim": false
  },
  "functional": {
    "status": "passed",
    "separateFromVisualScores": true,
    "reviewersReranAcceptance": false,
    "acceptance": {
      "status": "passed",
      "scenariosPassed": 6,
      "scenariosTotal": 6,
      "scenariosFailed": 0,
      "screenshots": 17,
      "unexpectedConsoleErrors": 0,
      "httpErrors": 0,
      "externalRequests": 0,
      "pageErrors": 0,
      "expectedConsoleError": {
        "count": 1,
        "description": {
          "zh": "content-unavailable 场景故意中止 content.json，产生一次预期 net::ERR_FAILED；随后真实重试返回 200，不计入意外错误。",
          "en": "The content-unavailable scenario deliberately aborted content.json, producing one expected net::ERR_FAILED; a real retry then returned 200. It was not counted as an unexpected error."
        }
      }
    },
    "extendedInteractions": {
      "status": "passed",
      "scenariosPassed": 2,
      "scenariosTotal": 2,
      "scenariosFailed": 0,
      "continuousSteps": 11,
      "screenshots": 5,
      "videos": 2,
      "consoleErrors": 0,
      "httpErrors": 0,
      "externalRequests": 0,
      "pageErrors": 0
    },
    "officialLinksActivated": false
  },
  "observedImprovements": [
    {
      "id": "retained-dom",
      "summary": {
        "zh": "连续筛选保留原有卡片 DOM，而非每次重建。",
        "en": "Continuous filtering retained the original card DOM instead of rebuilding it every time."
      },
      "evidence": {
        "zh": "补充报告的 11 个连续检查点中，所有保留卡片均记录 sameOriginalNode=true。",
        "en": "Across all 11 continuous checkpoints in the extended report, every retained card recorded sameOriginalNode=true."
      }
    },
    {
      "id": "no-whole-list-replay",
      "summary": {
        "zh": "连续筛选未见整片卡片入场重播。",
        "en": "No whole-list entrance replay was observed during continuous filtering."
      },
      "evidence": {
        "zh": "11 个检查点的卡片与建议 animationstart 记录均为空，两位评审另查看了连续操作录屏。保存按钮的局部 CSS Transition 单独存在，不计作列表重播。",
        "en": "Card and suggestion animationstart records were empty at all 11 checkpoints, and both reviewers inspected the continuous-interaction video. A localized CSS Transition on the save button was recorded separately and was not misclassified as a list replay."
      }
    },
    {
      "id": "restored-state-no-replay",
      "summary": {
        "zh": "刷新恢复卡片与建议时不重播入场动画。",
        "en": "Cards and the restored suggestion did not replay entrance motion after refresh."
      },
      "evidence": {
        "zh": "恢复后的六张卡片和建议 cssAnimations 均为 0，restoreAnimationStarts 为空；保存状态与建议内容均恢复。",
        "en": "All six restored cards and the suggestion had cssAnimations=0, restoreAnimationStarts was empty, and both saved state and suggestion content were restored."
      }
    },
    {
      "id": "mobile-error-actions-reachable",
      "summary": {
        "zh": "移动长错误表单中，取消与提交操作保持可达。",
        "en": "Cancel and submit remained reachable in the long mobile error form."
      },
      "evidence": {
        "zh": "在 390×844 Chromium 视口的四项错误状态下，两枚按钮均高 48px、底边为 819px 且位于视口内；取消与提交均记录为真实触控点击，纠错后的提交在刷新后恢复。",
        "en": "With four errors in the 390×844 Chromium viewport, both buttons were 48px high with a bottom edge of 819px and remained within the viewport. Cancel and submit were trusted touch clicks, and the corrected submission was restored after refresh."
      }
    },
    {
      "id": "no-thick-top-emphasis-bar",
      "summary": {
        "zh": "弹窗与错误摘要没有粗顶部强调条。",
        "en": "The dialog and error summary had no thick top emphasis bar."
      },
      "evidence": {
        "zh": "两位盲评在实际截图中均确认无粗顶部强调条，且错误与弹窗层级仍然清楚。",
        "en": "Both blind reviewers confirmed the absence of a thick top emphasis bar in the inspected captures while the error and dialog hierarchy remained clear."
      }
    }
  ],
  "remainingIssues": [
    {
      "id": "stale-errors-after-correction",
      "summary": {
        "zh": "字段改正后、再次提交前，旧错误摘要与逐字段错误仍然保留。",
        "en": "After fields were corrected and before the next submission, the old error summary and field-level errors remained visible."
      },
      "scope": {
        "zh": "这符合按提交校验的功能约定，不是功能验收失败，但会影响反馈及时性。",
        "en": "This matches the submit-time validation contract and is not a functional acceptance failure, but it weakens feedback timeliness."
      }
    },
    {
      "id": "small-text-and-placeholder-contrast",
      "summary": {
        "zh": "部分次级文字仍为 9–11px；输入占位文字的局部对比度点测不足。",
        "en": "Some supporting text remained 9–11px, and a localized contrast check of input placeholder text was insufficient."
      },
      "scope": {
        "zh": "两位评审均指出小字问题；评审 A 点测占位文字对比度约为 3.76:1，低于普通文字 4.5:1 的参考线。该点测不是完整对比度认证。",
        "en": "Both reviewers noted the small text. Reviewer A measured placeholder contrast at approximately 3.76:1, below the 4.5:1 reference for normal text. This spot check was not a complete contrast audit."
      }
    }
  ],
  "media": {
    "demo": "/comparisons/ui-design-skills-tested/demos/oil-ui-optimization/run-1/index.html",
    "desktopInitial": "/comparisons/ui-design-skills-tested/shots/oil-ui-optimization-run-1-desktop-initial.png",
    "mobileInitial": "/comparisons/ui-design-skills-tested/shots/oil-ui-optimization-run-1-mobile-initial.png"
  },
  "limitations": [
    {
      "zh": "只有一次候选复测和两位独立盲评，不是大样本用户研究、统计显著性实验或普遍排名依据。",
      "en": "This was one candidate follow-up with two independent blind reviews, not large-scale user research, a statistical-significance experiment, or a basis for general ranking."
    },
    {
      "zh": "直接证据覆盖 Chromium 的 1440×900 与 390×844 视口；未做真实手机、全断点、跨浏览器、屏幕阅读器、文本缩放、虚拟键盘或完整对比度认证。",
      "en": "Direct evidence covered Chromium at 1440×900 and 390×844. Real phones, all breakpoints, other browsers, screen readers, text scaling, virtual keyboards and a complete contrast audit were not tested."
    },
    {
      "zh": "功能结果来自独立验收报告；两位盲评未重新运行 Playwright，功能通过也未直接抬升视觉分。",
      "en": "Functional results came from the independent acceptance reports; the two blind reviewers did not rerun Playwright, and functional passes did not directly raise visual scores."
    },
    {
      "zh": "动效判断结合短录屏、抽帧、DOM 引用与动画事件，不宣称覆盖所有交互、设备或性能环境。",
      "en": "Motion findings combined short videos, frame inspection, DOM references and animation events; they do not cover every interaction, device or performance environment."
    },
    {
      "zh": "notes 的原生 240 字上限先用 241 次真实按键验证，再通过 DOM 测试注入覆盖超长错误分支；这不表示用户可绕过原生上限。取消和提交均为真实触控点击。",
      "en": "The native 240-character notes limit was verified with 241 real key presses before DOM instrumentation exercised the over-limit validation branch. This does not show that users can bypass the native limit. Cancel and submit were trusted touch clicks."
    }
  ]
}
