{
  "schema": "trustbase-corrections/v1",
  "publisher": "Trustbase Lab",
  "spec_reference": [
    "TBDS-1-9.1",
    "TBDS-1-9.2",
    "TBDS-1-9.3"
  ],
  "license": "CC-BY-4.0",
  "as_of": "2026-10-12",
  "generated_at": "2026-10-12",
  "channel": {
    "email": "info@trustbaselab.com",
    "wechat": "再生炭黑产业",
    "first_response_hours": 48
  },
  "entries": [
    {
      "id": "COR-2026-001",
      "status": "fixed",
      "status_label": "fixed",
      "title": {
        "zh": "自有文章中残留了被列入「不作来源」名单的商业数据商",
        "en": "Own articles still cited data vendors on our excluded-source list"
      },
      "original_statement": {
        "zh": "本站对来源设有一条硬规则：**二手商业数据商不得作为数据来源**（内部称 R4 级）。但站内自有文章库（共 66 篇产业观察）中，仍有文章在正文或来源清单里点名或引用此类机构（隆众、卓创、Mordor、MarketWatch、GII Research 等）。这是一个与自家规则直接冲突的残留，**此前没有对外说明过**。",
        "en": "We apply a hard rule to sources: **secondary commercial data vendors may not be used as a data source** (internally graded R4). Nevertheless, among our 66 in-house industry articles some still named or cited such vendors (Longzhong, Sci99, Mordor, MarketWatch, GII Research and others). This contradicted our own rule and **had not been disclosed**."
      },
      "basis": {
        "zh": "对全部 66 篇自有文章逐篇定位该名单机构的出现位置与语境，逐篇判定是「引用其数据」还是「仅提及」。结论：**命中 13 篇，全部属「引用其数据」，「仅提及」为 0**。",
        "en": "Every one of the 66 in-house articles was scanned to locate the named vendors and classify the context as either &ldquo;cited its data&rdquo; or &ldquo;mere mention&rdquo;. Result: **13 articles matched, all of them &lsquo;cited its data&rsquo;; zero were mere mentions**."
      },
      "recorded": {
        "zh": "发现与处置：**2026-10-11 ~ 2026-10-12**",
        "en": "Detected and remediated: **11–12 October 2026**"
      },
      "action": {
        "zh": "按本站处理被禁来源的既有做法**下线标注、不删文章**：13 篇的标识写入文章库的「排除清单」（含原因、证据、日期），观察列表页的生成链读取该清单后重新生成。",
        "en": "Following our existing practice for excluded sources, the 13 articles were **marked as withdrawn but not deleted**: their identifiers were written to the article library's exclusion list (with reason, evidence and date), which the observations index build consumes before regenerating the list page."
      },
      "current_status": {
        "zh": "已修复 · 实测 `https://trustbaselab.com/insights/` HTTP 200，页面自述 **53 篇**（66 − 13 = 53）；13 个被禁机构名逐个检索，**全部 0 命中**。",
        "en": "Fixed · measured: `https://trustbaselab.com/insights/` returns HTTP 200 and states **53 articles** (66 − 13 = 53); each of the 13 excluded vendors returns **zero hits**."
      },
      "related_record_ids": [
        "rcb-art-026",
        "rcb-art-028",
        "rcb-art-050",
        "rcb-art-051"
      ]
    },
    {
      "id": "COR-2026-002",
      "status": "open",
      "status_label": "open",
      "title": {
        "zh": "中英双语口径下，观察列表页只有中文一个 URL",
        "en": "Under a bilingual claim, the observations index exists at one Chinese URL only"
      },
      "original_statement": {
        "zh": "本站对外宣称中英双语，并设有语言切换。但「观察」列表页只有 `/insights/` 一个地址，该页 `lang` 为 `zh-CN`、canonical 指向自身——**英文侧没有等价的列表页**。因此英文读者从英文入口点进「观察」时会落到中文页面。",
        "en": "We claim bilingual delivery and provide a language toggle. However, the observations index exists only at `/insights/`, whose `lang` is `zh-CN` and whose canonical points to itself — **there is no equivalent English list page**, so English readers landing there from an English entry point see Chinese."
      },
      "basis": {
        "zh": "本次实测（HTTP 状态码）：`/insights/` → **200**；`/zh/insights/` → **404**；`/insights` → **301**。即不存在 `/zh/` 前缀的对应路径，英文侧亦无等价地址。",
        "en": "Measured HTTP status: `/insights/` → **200**; `/zh/insights/` → **404**; `/insights` → **301**. There is no `/zh/`-prefixed equivalent and no English counterpart."
      },
      "recorded": {
        "zh": "首次记录：**2026-10-12**（复核确认同日仍存在）",
        "en": "First recorded: **12 October 2026** (re-confirmed the same day)"
      },
      "action": {
        "zh": "**尚未修复。** 修复需同时处理 URL 结构与 i18n 路由，属一次独立的展示层改动；本轮只做记录，不做半成品改动。",
        "en": "**Not yet fixed.** Fixing it requires a coordinated change to URL structure and i18n routing — a separate publishing-layer task. This round records it rather than shipping a half-change."
      },
      "current_status": {
        "zh": "**未收敛（如实登记）**：页面可用，问题在「双语口径与 URL 结构不一致」。本站以「自证一致」为方法论要求，因此这条在修好之前**就应当公开**——纠错档案的用途是记录，不是只收录已经摆平的事。",
        "en": "**Open, recorded as-is**: the page works; the defect is the mismatch between the bilingual claim and the URL structure. Because self-consistency is part of our stated method, this entry is published **before** it is fixed — an archive records, it does not only collect closed items."
      },
      "related_record_ids": []
    },
    {
      "id": "COR-2026-003",
      "status": "partial",
      "status_label": "partially-converged",
      "title": {
        "zh": "记录总数对外出现三个不同数字：2,347 / 2,348 / 2,415",
        "en": "Three different public record totals: 2,347 / 2,348 / 2,415"
      },
      "original_statement": {
        "zh": "站内多个公开面各自报「记录总数」，且数值不一致。2026-10-12 实测：MCP 数据服务 `total_records` = **2,347**；首页状态栏 = **2,348**；权威数据集 `data.json` 的 `meta.total_records` = **2,415**。对一个以「可核验」为卖点的数据基础设施，**总记录数是最容易被外部抽查的一个数**，三个数字并存本身就是不可信信号。",
        "en": "Several public surfaces each report a &ldquo;total record count&rdquo; and the numbers disagreed. Measured on 12 October 2026: the MCP data service returned `total_records` = **2,347**; the homepage status bar showed **2,348**; the authoritative dataset `data.json` reported `meta.total_records` = **2,415**. For a data infrastructure selling verifiability, **the total is the single easiest number for an outsider to spot-check** — three coexisting values are themselves an untrustworthy signal."
      },
      "basis": {
        "zh": "逐项复算（下表口径与命令均在 `corrections.json` 中给出）：\n① 线上 MCP 快照（`data_version` 0.12，`exported_at` 2026-10-11T18:44:15）：12 张表之和 = **2,347**，其中 `domestic` = 37；\n② 首页快照：同样 12 张表，但 `domestic` = 38，之和 = **2,348**；\n③ 本地权威数据集：13 张表（含 `fitness` 领域 67 条），之和 = **2,415**。",
        "en": "Recomputed table by table (definitions and commands are in `corrections.json`):\n(1) the live MCP snapshot (`data_version` 0.12, `exported_at` 2026-10-11T18:44:15): 12 tables summing to **2,347**, with `domestic` = 37;\n(2) the homepage snapshot: the same 12 tables but with `domestic` = 38, summing to **2,348**;\n(3) the authoritative local dataset: 13 tables (including the `fitness` domain, 67 records), summing to **2,415**."
      },
      "recorded": {
        "zh": "首次记录 **2026-10-12**；口径定义同日确立",
        "en": "First recorded **12 October 2026**; the definition below was fixed the same day"
      },
      "action": {
        "zh": "**确立唯一口径**：对外记录总数 = 权威数据集 `data.json` 的 `meta.total_records`，且必须等于 `meta.counts` **全部键**之和；不含被排除（`excluded=true`）的记录。任何公开面引用总数时必须由该字段驱动，不得各自计算。",
        "en": "**One definition, fixed**: the public total equals `meta.total_records` in the authoritative dataset `data.json`, and must equal the sum of **all** keys in `meta.counts`; records flagged `excluded=true` are not counted. Every public surface must be driven by that field instead of computing its own."
      },
      "current_status": {
        "zh": "**部分收敛（如实登记）**：口径已定义；**两个差异尚未消除，需要一次数据发布**——① `fitness` 领域 67 条尚未在本站公开面发布，导致权威口径（2,415）与对外口径（2,348）仍相差 67；② 线上 MCP 快照比首页少 1 条 `domestic` 记录（37 vs 38）。在完成发布前，**对外数字仍为 2,348，本档案不声称已一致**。",
        "en": "**Partially converged, recorded as-is**: the definition is fixed, but **two discrepancies remain and require a data release** — (1) the `fitness` domain (67 records) is not yet published on our public surfaces, so the authoritative total (2,415) still exceeds the public total (2,348) by 67; (2) the live MCP snapshot is one `domestic` record behind the homepage (37 vs 38). Until that release lands, **the public figure remains 2,348 and this archive does not claim it has converged.**"
      },
      "related_record_ids": [
        "rcb-cn-001 (示例)",
        "cb-trade-*",
        "tbm-*"
      ]
    }
  ],
  "record_total_definition": {
    "zh": "对外记录总数 = 权威数据集 data.json 的 meta.total_records，且必须等于 meta.counts 全部键之和；不含 excluded=true 的记录。",
    "en": "Public record total = meta.total_records in the authoritative dataset data.json, which must equal the sum of all keys in meta.counts; records with excluded=true are not counted.",
    "observed": {
      "mcp_total_records": 2347,
      "homepage_status_bar": 2348,
      "authoritative_data_json": 2415,
      "mcp_exported_at": "2026-10-11T18:44:15",
      "mcp_data_version": "0.12"
    },
    "open_deltas": [
      "fitness domain 67 records not yet published publicly",
      "live MCP snapshot one domestic record behind the homepage (37 vs 38)"
    ],
    "recompute": "sum(meta.counts.values()) == meta.total_records"
  },
  "citation": "Trustbase Lab, Public correction archive, entries COR-2026-001..003, as_of 2026-10-12, https://trustbaselab.com/corrections"
}