证据强度与结论范围:一次 JFR 无停顿不证明 GC 永不影响 P99
一次 JFR 没看到 GC 停顿、单节点 MongoDB majority 成功、H2 事务实验通过——这些观察各自成立,但"GC 永不影响 P99""可容任一机房故障""MySQL 所有隔离一致"都越过了证据覆盖域。本页定义四类证据的回答范围、评审顺序与决策完成条件。证据契约的维护机制见架构证据与维护。
四类证据不能随意升级
规范说明某个实现必须或允许做什么;源码说明指定版本如何实现;实验说明一个受控环境里的观察;生产遥测说明指定工作负载和部署中的行为;纸面推导说明模型在声明假设下的结果。它们回答的问题不同。源码观察不能自动证明公开 API 保证,单机实验不能证明多区故障语义,生产相关性也不能单独证明因果。它们不是单一由弱到强排序:实测不出错误不能推翻规范允许的另一结果,模型证明也不能弥补实现漏了条件。
评审材料应给每项关键结论标明来源、版本、环境和范围,并记录相反证据。数值结论需提供单位、分母、窗口和误差;定性结论要写明机制与不成立条件。若某来源会滚动更新,应固定版本或引用具体修订。证据缺失时保留为待验证假设,不用"行业最佳实践"填补空白。
教学错误:一次JFR没看到GC停顿就说GC永不影响P99;单节点Mongo majority成功就说可容任一机房故障;H2事务实验通过就说MySQL所有隔离一致。这些结论都越过证据覆盖域。
评审顺序和决策完成条件
评审可按顺序推进:先确认需求与不变量,再检查状态和数据所有权,然后审查接口、正常路径、异常路径和恢复,最后检查容量、安全、发布、观测、成本与责任。先讨论组件选型容易掩盖目标分歧;先确认问题边界能减少无效方案争论。
对每项未决风险记录影响、检测信号、缓解动作、负责人和截止条件。阻塞型风险意味着方案尚不可实施;接受型风险则要有明确接受人和复查时间。会议结束时列出决定、被否决选项、仍未验证的假设、上线门槛和回滚/前向修复触发器。
架构评审不是替代实现团队承担设计责任。专家的责任是说明论证是否充分、约束是否满足、风险是否被拥有;决策人要对偏好和风险接受负责。评审结论应随新证据修订,不能以"曾经通过评审"作为继续保持旧决策的理由。
负面结果与未知项
源码文件存在只证明路径有效,不证明读者解释对;查到函数名也不能自动证明分支语义。网络无法获取某源码时保留未核查标记,不能编行号。实验失败应区分程序bug、依赖缺失与预期反例,保留原始输出和环境而非只截PASS。
容量实测取多次运行与饱和区间,记录错误/丢弃,不只挑最好一次。没有足够样本时给范围,敏感结论安排更小的定点试验,不虚构P值或生产收益。
可重复审阅任务
将十条结论标上证据类型与条件:是否固定tag、是否实际执行、是否真实多节点、是否触及外部副作用。选两条故意扩大结论,让评审者找反例并改写。例如"无重复"改成"给定六种线性化模型历史下账务不重复,未证明真实分布式网络与磁盘故障"。
最终交付列已执行、源码核查、预期与剩余边界;教材的内容覆盖和个人闭卷掌握分别验收。一个透明的未验证项比假的实测数字更有工程价值。
证据—结论矩阵与升降级规则
本页讲了五类证据不能随意升级,评审时还需要一张矩阵:每条结论一行,列是证据类型、覆盖域、升级路径。升级不是改措辞,而是扩大覆盖域——从模型到实验、从单机到多节点、从演练到生产遥测。
示例三条:结论"不重复扣款"的证据是模型(六种线性化历史),升级路径是混沌实验加真实网络再到生产遥测;结论"200ms 内完成"的证据是单机台架(合成数据),升级路径是多节点负载测试;结论"RTO 180 秒"的证据是纸面演练(单区),升级路径是带监控静默场景的真实演练。三条的覆盖域不同,不能互相引用。
反例一:把"源码里有这个方法"当成"语义被证明"。源码只说明指定版本如何实现,不证明公开 API 的保证,更不证明你的用法正确。反例二:把单机实验结论写成"可容任一机房故障"——覆盖域从单机跳到多区,中间缺了协议复制与共享控制面的证据。
降级同样重要:当生产遥测与实验冲突时,以生产观测触发复核,实验降级为解释工具;当依赖升级后,旧结论标记待复核并定点验证,而不是继续引用。矩阵要记录降级理由,防止"曾经验证过"变成永久免检。
执行 python3 labs/review_models.py evidence_matrix:预期输出三条结论、证据等级(model 1 / lab 2 / drill 3 / telemetry 4)与规则"升级需要新覆盖域,不是改写措辞"。脚本只做结构检查,不评价证据真实性。
两个合理选择:A 所有结论都要求生产遥测,慢且多数早期决策无法进行;B 按结论风险分配证据等级,高风险结论要求更高覆盖域。本例选 B,并规定不可逆决策(数据迁移、权限模型、计费)必须有实验或演练级证据,不接受纯模型。
架构师变化条件
把"实验环境"从单节点换成三节点集群:证据覆盖域扩大到协议复制语义,但仍不覆盖机房与共享控制面——每升级一次环境要重写结论范围而不是沿用旧句。若生产遥测与实验结论冲突,以生产观测触发复核,实验降级为解释工具。每次变化重标十条结论的证据类型与条件。
闭卷验收
本页 8 道闭卷题收进了下方自测面板:先回忆,再展开参考答案与评分点,最后给三档自评。