fix(metrics): 数字口径 basis 结构强制,删除详情页虚构佐证

复评 P0 收尾:把「每个数字带口径」从个别页自觉升级为结构性强制。
- metrics-basis.ts:METRIC_BASES / METRIC_BASIS_NOTES + resolveMetricBasis
  (缺失·非法·大小写错一律回落最弱 target)+ weakestBasis(一组数字取最弱者聚合)
  + FORBIDDEN_PROOF_PHRASES;MetricsBasisNote 收 basis prop
- 类型层 Product.metrics / DataProof / ServiceMetric / Solution.outcomes /
  DataMetric / about keyMetrics 全部加 basis?;9 处调用点改为 basis 驱动
- content-types.ts 新增共享 metricBasisField(select)展开进 9 处字段定义;
  trustSignals 有意跳过(已有自己的 source)。seed 显式声明 55 条 target
- 删除字面虚构佐证:详情页「每一项指标都源自真实客户案例」、「经过实战验证」×3、
  「来自真实客户的使用数据」、「经实际场景验证」;给此前完全裸奔的 3 个共享
  数字渲染器(DataProofSection / detail-trust / detail-product-value)补上角注
- metrics-basis.test 3→16 例:basis 解析正控制、weakestBasis 次序、seed 全量
  显式声明 + 覆盖证明(防空跑假绿)+ 禁任何条目自称 verified + 禁词全源码扫描
- 文档同源:DESIGN.md 立 The Declared-Basis Rule;PRODUCT.md 常驻禁令;
  CONTEXT.md 记决策并警示 admin 字段需重跑 seed 才激活

边界:CMS 字段定义存 ContentModel.fields(DB 内 JSON),basis 下拉须重跑 seed
才会出现在 admin 表单;本次 DB 与 seed 数据值零改动,渲染端对缺 basis 兜底 target。

Gates: type-check 0 · jest 1594/132 · contrast 7/7 · headings 10/10
lint 0e/128w(与 stash 基线逐行比对,零新增告警)
This commit is contained in:
2026-09-20 10:38:23 +08:00
parent 82accb7cee
commit 3ed3afd819
27 changed files with 332 additions and 97 deletions
+12 -12
View File
@@ -37,8 +37,8 @@ export const SOLUTIONS: Solution[] = [
},
painPoints: ['生产数据孤岛,决策缺乏实时数据支撑', '库存管理粗放,资金占用成本高'],
outcomes: [
{ value: '30%', label: '库存周转提升' },
{ value: '40%', label: '生产效率提升' },
{ value: '30%', label: '库存周转提升', basis: 'target' },
{ value: '40%', label: '生产效率提升', basis: 'target' },
],
recommendedProducts: ['erp', 'bi', 'sds'],
},
@@ -77,8 +77,8 @@ export const SOLUTIONS: Solution[] = [
},
painPoints: ['线上线下渠道割裂,会员体验碎片化', '供应链响应慢,库存积压与缺货并存'],
outcomes: [
{ value: '25%', label: '营收增长' },
{ value: '99%', label: '全渠道库存准确率' },
{ value: '25%', label: '营收增长', basis: 'target' },
{ value: '99%', label: '全渠道库存准确率', basis: 'target' },
],
recommendedProducts: ['crm', 'bi', 'sds'],
},
@@ -117,8 +117,8 @@ export const SOLUTIONS: Solution[] = [
},
painPoints: ['招生线索管理分散,转化率难以提升', '教学资源管理混乱,优质内容难以沉淀'],
outcomes: [
{ value: '45%', label: '线索转化率提升' },
{ value: '60%', label: '内容发布效率提升' },
{ value: '45%', label: '线索转化率提升', basis: 'target' },
{ value: '60%', label: '内容发布效率提升', basis: 'target' },
],
recommendedProducts: ['cms', 'oa', 'crm'],
},
@@ -157,8 +157,8 @@ export const SOLUTIONS: Solution[] = [
},
painPoints: ['临床数据分散,医生调阅效率低', '运营决策依赖人工统计,时效性差'],
outcomes: [
{ value: '10x', label: '决策效率提升' },
{ value: '30%', label: '运营成本下降' },
{ value: '10x', label: '决策效率提升', basis: 'target' },
{ value: '30%', label: '运营成本下降', basis: 'target' },
],
recommendedProducts: ['erp', 'sds', 'bi'],
},
@@ -197,8 +197,8 @@ export const SOLUTIONS: Solution[] = [
},
painPoints: ['监管要求持续升级,合规管理成本高', '数据孤岛严重,客户画像难以落地'],
outcomes: [
{ value: '70%', label: '财务效率提升' },
{ value: '0', label: '重大合规事故' },
{ value: '70%', label: '财务效率提升', basis: 'target' },
{ value: '0', label: '重大合规事故', basis: 'target' },
],
recommendedProducts: ['bi', 'sds', 'erp'],
},
@@ -237,8 +237,8 @@ export const SOLUTIONS: Solution[] = [
},
painPoints: ['运输过程不透明,客户体验差', '调度依赖人工经验,车辆空驶率高'],
outcomes: [
{ value: '20%', label: '空驶率降低' },
{ value: '95%+', label: '全程可视化率' },
{ value: '20%', label: '空驶率降低', basis: 'target' },
{ value: '95%+', label: '全程可视化率', basis: 'target' },
],
recommendedProducts: ['erp', 'bi', 'sds'],
},