Hub 当前状态(2026-11-04)
本页代替里程碑 1 的最终报告(决定 136 小项:合线后写一份当前状态报告)。目标、范围和授权见 Hub r4 简报;每条决定的来源见 Hub r4 进度。
一条代码线
- 公开 main 是唯一的代码线(决定 136 ②)。原来的私有生产线已脱敏分四批搬进 main(#166–#169),之后封存,不再合入(决定 145)。
- 真实产品的数据不进 main:产品包由私有覆盖层从 main 的合成产品包反向映射生成,部署约定放在命名文档和执行器定义里(决定 144)。
- 生产部署 main 的提交:迁移到 24,模型第 37 版。切换前在生产备份的副本上完整演练过一遍,停服时间 3 分 52 秒。
生产上在用的
- 六个 MCP 工具、任务包、按产品线和版本组织的知识树、只追加的记录、网页控制台(含管理)。
- MCP 标准授权(OAuth 2.1 与 PKCE)、邀请码和访问令牌(决定 125)。
- 内置 HTTPS(决定 121)。原来的 HTTP 监听保留,已连接的客户端不受影响。
- 设备执行器两个:用例执行、装构建。派发前预检,记录冻结与对账(决定 35、119、120)。
- 已发布的任务包:用例评审、按模板查缺、用例定位、回归范围与维护巡检、缺陷转用例、追溯矩阵与质量看板、用例编译与装构建,以及它们用到的系统包和格式技能包。
- 每天定时备份,保留 14 份。数据库参数按主机内存设置,带语句统计(#176)。
证明了什么
- 合约与代码:每个 PR 在合并队列里跑完整检查,包括类型、合约、单元、临时 PostgreSQL 上的验收、Linux 隔离下的包沙箱、参考归档和文档检查。macOS 专用路径(
sandbox-exec、launchd、plutil)在 main 每次推送时另跑。 - 迁移:在生产备份的副本上演练,168 万条生产记录按 main 的合约逐条解析,两边都跑的视图结果一致。有 92 条旧的校验结果,主干的合约同样不认,属于旧数据,不是这次迁移引起的回退。
- 真实运行:真实运行的记录、它们证明了什么、没证明什么,都记在进度页对应的决定里,本页不重复。
证明不了的事
- 合成验收:只证明合成夹具上的行为。一次真实运行只证明那一次运行。
- 本次切换:它之后的真实工作流还没有人在客户端里重新跑过,切换本身只经过健康检查、执行器预检和只读视图对比。
- 模型:Hub 不调用任何模型(决定 15)。模型给出的判断只是声明,模型的独立性也只是客户端的声明。
- 构建:运行所用的构建由包规则或使用者选定,记进运行。这不证明它就是用例作者所指的构建。
- 设备:设备上的观察只覆盖那次运行锁定的构建;没有锁定构建时写“未对照”,不按任何版本判断(决定 120)。
- 知识根:只含读得到的源。没有手册的版本线,就没有手册小节可以引用。
- 网络:部分业务系统走明文 HTTP,这些连接上的凭据只靠所在网络保护。
还开着的
- 加固:
- 防火墙:对 Hub 端口的来源先观察一天,再按观察到的网段收紧。
- 迁移用的登录密钥:已限定只能从集成者的机器登录,其余加固做完后由所有者决定删不删。
- 异地备份:暂缓。
- 令牌与邀请码的记录:签发、使用和吊销要写成只追加的记录(决定 136 ⑫),要先在合约里加记录类型。
- 核心不再点名产品包:目录遍历移进通用技能包,版本线目录由产品包声明(决定 136 ⑨)。
- 知识视图的冷启动:首次计算最慢要 4 分钟左右。用语句统计找出慢查询之后再定改法;读取时逐条重算记录摘要这一项,要不要改由所有者定。
- 一键安装的 v0.3.0:由所有者打标签发布(决定 123)。
- 计划 137 的后续阶段:团队流和通用存储层(跟踪 #147)。