{
  "generator": "ds-gate-chain-run.mjs",
  "subject": "tvu-ds",
  "subjectSha": "4a68e02d3d695cee3c39d255ea5d20f7f2bf9b8c",
  "worktree": "/Users/nancy/.ai-ds-lab/pins/tvu-ds-4a68e02d",
  "repeat": 3,
  "measuredAt": "2026-08-25T02:53:09.222Z",
  "scope": "prepublishOnly 全链",
  "chain": {
    "topLevelSteps": 39,
    "gateSteps": 38,
    "nonGateSteps": 1
  },
  "timing": {
    "unit": "ms",
    "note": "热态 = 丢弃第一次后的中位数（AGENTS §3.6）；逐步独立跑，非链内跑（边界 ①）",
    "totalWarmMs": 8362,
    "totalColdMs": 8440,
    "coldRatio": 1.01
  },
  "contractCoverage": {
    "denominatorName": "在链步骤（prepublishOnly 顶层口径）",
    "denominator": 39,
    "parsedContract": 11,
    "findingsReadable": 11,
    "checkedUnitsReadable": 11,
    "emptyDenominator": [
      "audit:figma-conformance"
    ],
    "auditIds": [
      "icon-fill-currentcolor",
      "no-hardcoded-design-tokens",
      "component-no-inline-svg",
      "figma-conformance",
      "docs-site-readiness",
      "docs-single-theme",
      "component-token-linkage",
      "tokenized-diff",
      "design-system",
      "figma-published-vs-code",
      "translation-completeness"
    ],
    "auditIdDuplicates": []
  },
  "crossCheckTally": {
    "clean": 7,
    "no-contract-output": 27,
    "reported-not-blocked": 3,
    "⚠️ empty-denominator": 1,
    "not-a-gate": 1
  },
  "controls": [
    {
      "name": "must-hit:散文前缀 + 末尾 JSON 可解析",
      "ok": true,
      "detail": "{\"ok\":true,\"value\":{\"auditId\":\"x\",\"totals\":{\"findings\":3,\"checkedUnits\":10},\"findings\":[]},\"startLine\":3}"
    },
    {
      "name": "must-hit:字符串里的 } 不扫歪",
      "ok": true,
      "detail": "{\"ok\":true,\"value\":{\"auditId\":\"x\",\"note\":\"文本里有个 } 括号\",\"totals\":{\"findings\":0,\"checkedUnits\":7},\"findings\":[]},\"startLine"
    },
    {
      "name": "must-hit:多个 JSON 块取最后一个",
      "ok": true,
      "detail": "实得 auditId=last"
    },
    {
      "name": "must-not-hit:纯散文不产生契约对象",
      "ok": true,
      "detail": "实得 {\"ok\":false,\"reason\":\"最后一行非 } 结尾：检查了 12 个文件\"}"
    },
    {
      "name": "must-not-hit:JSON 后还有散文 ⇒ 不算契约发射",
      "ok": true,
      "detail": "实得 {\"ok\":false,\"reason\":\"最后一行非 } 结尾：收尾散文一行\"}"
    },
    {
      "name": "must-not-hit:缺 findings 不得伪造成 0",
      "ok": true,
      "detail": "{\"auditId\":\"x\",\"hasAuditId\":true,\"hasCheckedAt\":false,\"findingsReadable\":false,\"findings\":null,\"checkedUnitsReadable\":true,\"checkedUnits\":5,\"denominatorEmpty\":false,\"hasFindingsArray\":false}"
    },
    {
      "name": "must-not-hit:缺 checkedUnits ≠ 分母为空",
      "ok": true,
      "detail": "{\"auditId\":\"x\",\"hasAuditId\":true,\"hasCheckedAt\":false,\"findingsReadable\":true,\"findings\":0,\"checkedUnitsReadable\":false,\"checkedUnits\":null,\"denominatorEmpty\":null,\"hasFindingsArray\":false}"
    },
    {
      "name": "must-hit:findings>0 且 checkedUnits=0 判成 empty-denominator（DS 表在此格不看分母）",
      "ok": true,
      "detail": "实得 ⚠️ empty-denominator"
    },
    {
      "name": "must-hit:exit≠0 且 checkedUnits=0 同样判成 empty-denominator",
      "ok": true,
      "detail": "实得 ⚠️ empty-denominator"
    },
    {
      "name": "must-not-hit:分母正常不得报 empty-denominator",
      "ok": true,
      "detail": "实得 reported-not-blocked / clean"
    },
    {
      "name": "一致性:步骤数 = prepublishOnly 顶层 && 切分数",
      "ok": true,
      "detail": "steps=39 topSteps=39"
    },
    {
      "name": "一致性:每步都跑了 REPEAT 次",
      "ok": true,
      "detail": "有步骤的热跑次数不对"
    },
    {
      "name": "must-not-hit:没有步骤以 exit 127 收场（那是量具的 PATH 问题）",
      "ok": true,
      "detail": "实得 {} —— 检查 PATH 里有没有 /Users/nancy/.ai-ds-lab/pins/tvu-ds-4a68e02d/node_modules/.bin"
    },
    {
      "name": "must-not-hit:退出码不得跨重跑漂移",
      "ok": true,
      "detail": "实得 {}"
    },
    {
      "name": "一致性:链里至少有一条非闸实体（lint:ds）",
      "ok": true,
      "detail": "全部被判成闸 ⇒ 实体解析可疑（E14 记过：39 步里有 1 步是 eslint，不是闸）"
    }
  ],
  "coverageBoundaries": [
    "逐步独立跑 ≠ 在链里跑：进程启动成本相同，OS 缓存与 && 顺序效应不同",
    "不判断闸的判据对不对，只测耗时与输出形态",
    "缺外部凭据导致的失败与发现问题导致的失败，退出码上分不开 —— 如实记录，不猜",
    "checkedUnits 单位各闸自定义，跨闸不可相加",
    "尾部解析是 lab 独立实现，与 DS 的 parseGateOutputTail 不同源 —— 两者不一致要逐条对账"
  ],
  "steps": [
    {
      "index": 1,
      "npmKey": "audit:icon-fill-currentcolor",
      "gateFile": "figma-sync/audit-icon-fill-currentcolor.mjs",
      "isGate": true,
      "coldMs": 29,
      "warmMedianMs": 26,
      "warmRunsMs": [
        26,
        26
      ],
      "coldRatio": 1.11,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 385,
      "stderrBytes": 0,
      "contractParsed": true,
      "contractParseFailReason": null,
      "contract": {
        "auditId": "icon-fill-currentcolor",
        "hasAuditId": true,
        "hasCheckedAt": true,
        "findingsReadable": true,
        "findings": 0,
        "checkedUnitsReadable": true,
        "checkedUnits": 644,
        "denominatorEmpty": false,
        "hasFindingsArray": true
      },
      "crossCheck": "clean"
    },
    {
      "index": 2,
      "npmKey": "audit:icon-category-enum",
      "gateFile": "scripts/audit-icon-naming-rules.mjs",
      "isGate": true,
      "coldMs": 23,
      "warmMedianMs": 23,
      "warmRunsMs": [
        23,
        23
      ],
      "coldRatio": 0.99,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 116,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：OK — all registry names conform.",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 3,
      "npmKey": "audit:icon-leaf-kebab",
      "gateFile": "scripts/audit-icon-naming-rules.mjs",
      "isGate": true,
      "coldMs": 37,
      "warmMedianMs": 23,
      "warmRunsMs": [
        24,
        23
      ],
      "coldRatio": 1.58,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 129,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：OK — all registry names conform.",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 4,
      "npmKey": "audit:no-hardcoded-design-tokens",
      "gateFile": "figma-sync/audit-no-hardcoded-design-tokens.mjs",
      "isGate": true,
      "coldMs": 36,
      "warmMedianMs": 32,
      "warmRunsMs": [
        32,
        32
      ],
      "coldRatio": 1.13,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 6419,
      "stderrBytes": 0,
      "contractParsed": true,
      "contractParseFailReason": null,
      "contract": {
        "auditId": "no-hardcoded-design-tokens",
        "hasAuditId": true,
        "hasCheckedAt": true,
        "findingsReadable": true,
        "findings": 19,
        "checkedUnitsReadable": true,
        "checkedUnits": 74,
        "denominatorEmpty": false,
        "hasFindingsArray": true
      },
      "crossCheck": "reported-not-blocked"
    },
    {
      "index": 5,
      "npmKey": "audit:component-no-inline-svg",
      "gateFile": "figma-sync/audit-component-no-inline-svg.mjs",
      "isGate": true,
      "coldMs": 26,
      "warmMedianMs": 26,
      "warmRunsMs": [
        26,
        26
      ],
      "coldRatio": 1,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 239,
      "stderrBytes": 0,
      "contractParsed": true,
      "contractParseFailReason": null,
      "contract": {
        "auditId": "component-no-inline-svg",
        "hasAuditId": true,
        "hasCheckedAt": true,
        "findingsReadable": true,
        "findings": 0,
        "checkedUnitsReadable": true,
        "checkedUnits": 72,
        "denominatorEmpty": false,
        "hasFindingsArray": true
      },
      "crossCheck": "clean"
    },
    {
      "index": 6,
      "npmKey": "audit:figma-conformance",
      "gateFile": "figma-sync/audit-figma-conformance.mjs",
      "isGate": true,
      "coldMs": 22,
      "warmMedianMs": 24,
      "warmRunsMs": [
        23,
        25
      ],
      "coldRatio": 0.94,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 864,
      "stderrBytes": 0,
      "contractParsed": true,
      "contractParseFailReason": null,
      "contract": {
        "auditId": "figma-conformance",
        "hasAuditId": true,
        "hasCheckedAt": true,
        "findingsReadable": true,
        "findings": 0,
        "checkedUnitsReadable": true,
        "checkedUnits": 0,
        "denominatorEmpty": true,
        "hasFindingsArray": true
      },
      "crossCheck": "⚠️ empty-denominator"
    },
    {
      "index": 7,
      "npmKey": "audit:docs-site",
      "gateFile": "figma-sync/audit-docs-site-readiness.mjs",
      "isGate": true,
      "coldMs": 27,
      "warmMedianMs": 26,
      "warmRunsMs": [
        26,
        26
      ],
      "coldRatio": 1.01,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 30907,
      "stderrBytes": 0,
      "contractParsed": true,
      "contractParseFailReason": null,
      "contract": {
        "auditId": "docs-site-readiness",
        "hasAuditId": true,
        "hasCheckedAt": true,
        "findingsReadable": true,
        "findings": 9,
        "checkedUnitsReadable": true,
        "checkedUnits": 38,
        "denominatorEmpty": false,
        "hasFindingsArray": true
      },
      "crossCheck": "reported-not-blocked"
    },
    {
      "index": 8,
      "npmKey": "audit:docs-single-theme",
      "gateFile": "figma-sync/audit-docs-single-theme.mjs",
      "isGate": true,
      "coldMs": 25,
      "warmMedianMs": 27,
      "warmRunsMs": [
        27,
        27
      ],
      "coldRatio": 0.94,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 299,
      "stderrBytes": 0,
      "contractParsed": true,
      "contractParseFailReason": null,
      "contract": {
        "auditId": "docs-single-theme",
        "hasAuditId": true,
        "hasCheckedAt": true,
        "findingsReadable": true,
        "findings": 0,
        "checkedUnitsReadable": true,
        "checkedUnits": 38,
        "denominatorEmpty": false,
        "hasFindingsArray": true
      },
      "crossCheck": "clean"
    },
    {
      "index": 9,
      "npmKey": "audit:component-tokens",
      "gateFile": "figma-sync/audit-component-token-linkage.mjs",
      "isGate": true,
      "coldMs": 86,
      "warmMedianMs": 82,
      "warmRunsMs": [
        81,
        82
      ],
      "coldRatio": 1.05,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 12501,
      "stderrBytes": 0,
      "contractParsed": true,
      "contractParseFailReason": null,
      "contract": {
        "auditId": "component-token-linkage",
        "hasAuditId": true,
        "hasCheckedAt": true,
        "findingsReadable": true,
        "findings": 3,
        "checkedUnitsReadable": true,
        "checkedUnits": 8095,
        "denominatorEmpty": false,
        "hasFindingsArray": true
      },
      "crossCheck": "reported-not-blocked"
    },
    {
      "index": 10,
      "npmKey": "audit:tokenized-diff",
      "gateFile": "figma-sync/audit-tokenized-diff.mjs",
      "isGate": true,
      "coldMs": 176,
      "warmMedianMs": 172,
      "warmRunsMs": [
        173,
        172
      ],
      "coldRatio": 1.02,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 647,
      "stderrBytes": 0,
      "contractParsed": true,
      "contractParseFailReason": null,
      "contract": {
        "auditId": "tokenized-diff",
        "hasAuditId": true,
        "hasCheckedAt": true,
        "findingsReadable": true,
        "findings": 0,
        "checkedUnitsReadable": true,
        "checkedUnits": 685,
        "denominatorEmpty": false,
        "hasFindingsArray": true
      },
      "crossCheck": "clean"
    },
    {
      "index": 11,
      "npmKey": "audit:token-contract",
      "gateFile": "scripts/audit-token-contract.mjs",
      "isGate": true,
      "coldMs": 23,
      "warmMedianMs": 23,
      "warmRunsMs": [
        23,
        24
      ],
      "coldRatio": 0.99,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 310,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：bles-freshness` 判（含「下游比上游新 = 被单独手改」的点名）。",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 12,
      "npmKey": "audit:on-fill-content-color",
      "gateFile": "scripts/audit-on-fill-content-color.mjs",
      "isGate": true,
      "coldMs": 700,
      "warmMedianMs": 654,
      "warmRunsMs": [
        668,
        641
      ],
      "coldRatio": 1.07,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 238,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：assembled across multiple JS statements.",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 13,
      "npmKey": "audit:design-system",
      "gateFile": "figma-sync/audit-design-system.mjs",
      "isGate": true,
      "coldMs": 27,
      "warmMedianMs": 27,
      "warmRunsMs": [
        27,
        27
      ],
      "coldRatio": 1,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 450,
      "stderrBytes": 0,
      "contractParsed": true,
      "contractParseFailReason": null,
      "contract": {
        "auditId": "design-system",
        "hasAuditId": true,
        "hasCheckedAt": true,
        "findingsReadable": true,
        "findings": 0,
        "checkedUnitsReadable": true,
        "checkedUnits": 34,
        "denominatorEmpty": false,
        "hasFindingsArray": true
      },
      "crossCheck": "clean"
    },
    {
      "index": 14,
      "npmKey": "audit:published-vs-code",
      "gateFile": "figma-sync/audit-figma-published-vs-code.mjs",
      "isGate": true,
      "coldMs": 27,
      "warmMedianMs": 27,
      "warmRunsMs": [
        28,
        27
      ],
      "coldRatio": 1,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 1047,
      "stderrBytes": 0,
      "contractParsed": true,
      "contractParseFailReason": null,
      "contract": {
        "auditId": "figma-published-vs-code",
        "hasAuditId": true,
        "hasCheckedAt": true,
        "findingsReadable": true,
        "findings": 0,
        "checkedUnitsReadable": true,
        "checkedUnits": 43,
        "denominatorEmpty": false,
        "hasFindingsArray": true
      },
      "crossCheck": "clean"
    },
    {
      "index": 15,
      "npmKey": "audit:figma-library-vs-canonical",
      "gateFile": "scripts/audit-figma-library-vs-canonical.mjs",
      "isGate": true,
      "coldMs": 26,
      "warmMedianMs": 26,
      "warmRunsMs": [
        26,
        26
      ],
      "coldRatio": 1,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 172,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：OK — bidirectional parity.",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 16,
      "npmKey": "audit:translation-completeness",
      "gateFile": "figma-sync/audit-translation-completeness.mjs",
      "isGate": true,
      "coldMs": 159,
      "warmMedianMs": 158,
      "warmRunsMs": [
        158,
        159
      ],
      "coldRatio": 1,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 536,
      "stderrBytes": 0,
      "contractParsed": true,
      "contractParseFailReason": null,
      "contract": {
        "auditId": "translation-completeness",
        "hasAuditId": true,
        "hasCheckedAt": true,
        "findingsReadable": true,
        "findings": 0,
        "checkedUnitsReadable": true,
        "checkedUnits": 26,
        "denominatorEmpty": false,
        "hasFindingsArray": true
      },
      "crossCheck": "clean"
    },
    {
      "index": 17,
      "npmKey": "lint-skills",
      "gateFile": "scripts/lint-skills.mjs",
      "isGate": true,
      "coldMs": 24,
      "warmMedianMs": 24,
      "warmRunsMs": [
        24,
        24
      ],
      "coldRatio": 1.02,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 699,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：All skill doc links resolve. ✓",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 18,
      "npmKey": "audit:scripts-stdlib",
      "gateFile": "scripts/audit-scripts-stdlib-stability.mjs",
      "isGate": true,
      "coldMs": 38,
      "warmMedianMs": 38,
      "warmRunsMs": [
        37,
        38
      ],
      "coldRatio": 1.01,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 67,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：: 185 files scanned, 0 banned API usages",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 19,
      "npmKey": "audit:status-consistency",
      "gateFile": "scripts/audit-status-consistency.mjs",
      "isGate": true,
      "coldMs": 26,
      "warmMedianMs": 25,
      "warmRunsMs": [
        25,
        25
      ],
      "coldRatio": 1.04,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 381,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：w-queue 三个镜像面与 designer-action 标记一致 (C6)",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 20,
      "npmKey": "audit:doc-shape",
      "gateFile": "scripts/audit-doc-shape.mjs",
      "isGate": true,
      "coldMs": 23,
      "warmMedianMs": 23,
      "warmRunsMs": [
        23,
        24
      ],
      "coldRatio": 1.01,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 485,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：✓ audit:doc-shape PASS",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 21,
      "npmKey": "audit:doc-de-mirror",
      "gateFile": "scripts/audit-doc-de-mirror.mjs",
      "isGate": true,
      "coldMs": 24,
      "warmMedianMs": 23,
      "warmRunsMs": [
        23,
        23
      ],
      "coldRatio": 1.04,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 40,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：✓ doc-de-mirror PASS: 8 份耐久文档无未标记的版本镜像。",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 22,
      "npmKey": "audit:doc-sync",
      "gateFile": "scripts/audit-doc-sync.mjs",
      "isGate": true,
      "coldMs": 33,
      "warmMedianMs": 32,
      "warmRunsMs": [
        33,
        32
      ],
      "coldRatio": 1.01,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 52,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：PASS: 路径完整 + 跨文件事实一致（校验 11 路径 · 2 跨文件事实）",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 23,
      "npmKey": "audit:rule-inventory",
      "gateFile": "scripts/audit-rule-inventory.mjs",
      "isGate": true,
      "coldMs": 35,
      "warmMedianMs": 34,
      "warmRunsMs": [
        34,
        35
      ],
      "coldRatio": 1.01,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 500,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：it:rule-inventory PASS：规则清单与起手链路各只有一处真源。",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 24,
      "npmKey": "audit:stale-anchors",
      "gateFile": "scripts/audit-stale-anchors.mjs",
      "isGate": true,
      "coldMs": 55,
      "warmMedianMs": 55,
      "warmRunsMs": [
        54,
        55
      ],
      "coldRatio": 1.01,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 209,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：audit-stale-anchors OK — 所有锚点目标存在，零孤儿",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 25,
      "npmKey": "lint:ds",
      "gateFile": null,
      "isGate": false,
      "coldMs": 409,
      "warmMedianMs": 405,
      "warmRunsMs": [
        413,
        397
      ],
      "coldRatio": 1.01,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 0,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "stdout 为空",
      "contract": null,
      "crossCheck": "not-a-gate"
    },
    {
      "index": 26,
      "npmKey": "audit:prop-naming",
      "gateFile": "scripts/audit-prop-naming.mjs",
      "isGate": true,
      "coldMs": 51,
      "warmMedianMs": 49,
      "warmRunsMs": [
        49,
        49
      ],
      "coldRatio": 1.04,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 65,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：OK — 所有公开 prop 名符合命名规范。",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 27,
      "npmKey": "audit:token-exports",
      "gateFile": "scripts/audit-token-exports.mjs",
      "isGate": true,
      "coldMs": 27,
      "warmMedianMs": 25,
      "warmRunsMs": [
        26,
        25
      ],
      "coldRatio": 1.08,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 27,
      "stderrBytes": 825,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：[audit:token-exports] PASS",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 28,
      "npmKey": "audit:composition-exports",
      "gateFile": "scripts/audit-composition-exports.mjs",
      "isGate": true,
      "coldMs": 26,
      "warmMedianMs": 25,
      "warmRunsMs": [
        25,
        25
      ],
      "coldRatio": 1.07,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 33,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：[audit:composition-exports] PASS",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 29,
      "npmKey": "audit:style-contract",
      "gateFile": "scripts/audit-style-contract.mjs",
      "isGate": true,
      "coldMs": 23,
      "warmMedianMs": 23,
      "warmRunsMs": [
        22,
        23
      ],
      "coldRatio": 1.02,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 101,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：cked 10 个 canonicalToken：Effect + Text）。",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 30,
      "npmKey": "audit:consumer-contract",
      "gateFile": "scripts/audit-consumer-contract.mjs",
      "isGate": true,
      "coldMs": 25,
      "warmMedianMs": 26,
      "warmRunsMs": [
        27,
        25
      ],
      "coldRatio": 0.97,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 371,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：ed against \"files\", 0 non-path skipped).",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 31,
      "npmKey": "audit:exports-types-contract",
      "gateFile": "scripts/audit-exports-types-contract.mjs",
      "isGate": true,
      "coldMs": 26,
      "warmMedianMs": 25,
      "warmRunsMs": [
        27,
        24
      ],
      "coldRatio": 1.01,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 419,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：✓ exports types contract OK",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 32,
      "npmKey": "audit:page-recipes",
      "gateFile": "scripts/audit-page-recipes.mjs",
      "isGate": true,
      "coldMs": 54,
      "warmMedianMs": 53,
      "warmRunsMs": [
        53,
        53
      ],
      "coldRatio": 1.01,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 475,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：应式」，只代表没人声明——S5 拦的是\"说了会变却没说在哪变\"，拦不了整条漏写）",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 33,
      "npmKey": "audit:no-hardcoded-ui-strings",
      "gateFile": "scripts/audit-no-hardcoded-ui-strings.mjs",
      "isGate": true,
      "coldMs": 39,
      "warmMedianMs": 40,
      "warmRunsMs": [
        40,
        40
      ],
      "coldRatio": 0.98,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 72,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：trings (72 .vue scanned, 14 locale keys)",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 34,
      "npmKey": "audit:file-local-fidelity",
      "gateFile": "scripts/audit-file-local-fidelity.mjs",
      "isGate": true,
      "coldMs": 26,
      "warmMedianMs": 29,
      "warmRunsMs": [
        31,
        27
      ],
      "coldRatio": 0.92,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 253,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：ileKey, 2 catalog file-local heading(s).",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 35,
      "npmKey": "audit:demo-css-page-scope",
      "gateFile": "scripts/audit-demo-css-page-scope.mjs",
      "isGate": true,
      "coldMs": 28,
      "warmMedianMs": 29,
      "warmRunsMs": [
        29,
        29
      ],
      "coldRatio": 0.95,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 150,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：✓ S2 shrink-only — 豁免表每条都仍在碰撞",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 36,
      "npmKey": "audit:framework-api-floor",
      "gateFile": "scripts/audit-framework-api-floor.mjs",
      "isGate": true,
      "coldMs": 34,
      "warmMedianMs": 34,
      "warmRunsMs": [
        34,
        34
      ],
      "coldRatio": 1.01,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 698,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：误、不抛异常，链接期与 SSR 都测不出来。详见本文件头 §盲区现在各自归谁管。",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 37,
      "npmKey": "audit:layout-tokens",
      "gateFile": "scripts/audit-layout-tokens.mjs",
      "isGate": true,
      "coldMs": 36,
      "warmMedianMs": 38,
      "warmRunsMs": [
        38,
        37
      ],
      "coldRatio": 0.96,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 1598,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：ut-tokens ✓ 断点全部引用 --bp-* 值集合（含 2 条具名豁免）",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 38,
      "npmKey": "audit:plan-lifecycle",
      "gateFile": "scripts/audit-plan-lifecycle.mjs",
      "isGate": true,
      "coldMs": 5847,
      "warmMedianMs": 5852,
      "warmRunsMs": [
        5836,
        5867
      ],
      "coldRatio": 1,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 567,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：plan-lifecycle PASS：四个受管目录里每份一次性产物都有人指向。",
      "contract": null,
      "crossCheck": "no-contract-output"
    },
    {
      "index": 39,
      "npmKey": "audit:figma-env-single-source",
      "gateFile": "scripts/audit-figma-env-single-source.mjs",
      "isGate": true,
      "coldMs": 82,
      "warmMedianMs": 79,
      "warmRunsMs": [
        78,
        79
      ],
      "coldRatio": 1.04,
      "exitCode": 0,
      "exitStable": true,
      "exitCodesSeen": [
        0
      ],
      "stdoutBytes": 910,
      "stderrBytes": 0,
      "contractParsed": false,
      "contractParseFailReason": "最后一行非 } 结尾：✅ PASS — 凭据解析只有一个入口",
      "contract": null,
      "crossCheck": "no-contract-output"
    }
  ]
}
