营业执照拿到后的第三天,马飞把一张倒计时贴在会议桌前。
所谓会议桌仍是五金店仓库借来的长桌,营业执照挂在头顶最干燥的位置。倒计时用的是印刷店裁下的挂历背面,数字一百二十三写得太大,占了半张纸。五金店老板路过看见,以为公司还有一百二十三天搬走,忙问房租合同是不是不续。
距离1998年3月31日,还有一百二十三天。
那是他在七年路线里给搜索产品正式发布留下的最后窗口。
苏雨桐看完问:“为什么是三月三十一?”
“第一季度。”
“为什么一定要第一季度?”
马飞没有说,因为他记得未来竞争加速的年份。
那仍然只是方向,不是可以跳过质量的理由。
“如果到那天不够好,就推迟。”他说。
“把这句也写上。”
倒计时下面多了一行:
日期服从发布条件。
苏雨桐让马飞签上名字,又要求周成、林岚各自确认。口头说会推迟很容易,真正到了三月,寄出去的通知、客户预算和所有人的加班都会反过来压这句话。
团队把正式发布拆成五张清单。
质量。
容量。
数据规则。
故障恢复。
现金与服务。
质量清单已有五百条人工样本和一万次真实查询分布,仍缺错别字、拼音姓名和长句查询的稳定指标。
容量清单显示八十并发可用,但机房月报里仍有内存泄漏。
数据规则已经覆盖限频、退出、来源和商业信息分离,却没有统一处理个人要求删除公开信息的流程。
现金可以支撑四个月,前提是两个数据库项目按时回款。
最空的一张是故障恢复。
林岚加入星辰不到两个月,原本负责客户资料导入。她被选中不是因为最懂服务器,恰恰因为她只看过值班手册。周成先想给她讲半小时,苏雨桐把他请到桌子另一侧,让他用棉线把嘴和茶杯“封”在一起——能喝水,不能提示。
五金店老板自告奋勇当监考,每次周成抬手便敲一下算盘。
他们有备份硬盘。
有磁带。
也曾经从索引损坏中恢复。
但所有恢复都由参与构建的人完成。没人证明过,一个只拿到记录和值班手册的人能否把系统恢复起来。
“这不算缺吧?”周成说,“机器坏了肯定叫我。”
马飞看着他:“如果你在火车上呢?”
“我可以下车打电话。”
“如果联系不上?”
周成笑了一下,见没人跟着笑,又停住。
系统把一个人当作隐形部件。
这和2026年事故里那些被专业边界掩盖的依赖没有本质区别。
团队决定做一次盲恢复。
由不负责索引构建的兼职工程师林岚执行。她只能使用备份、值班手册和封存信封里的必要口令。周成可以观察,不能提示。
演练开始二十七分钟后失败。
林岚选中半成品时,查询服务其实能启动,只是结果少了三分之一。若演练只检查“页面打开”,错误会被算作成功。她抽测三条固定查询才发现来源为空,立即关机,没有让坏版本继续跑。
“我选错了,但手册也没让我查这三条。”她说。
周成隔着棉线嗯了一声,被老板又敲一下算盘。
手册写着“载入最新完整索引”,却没有说明如何判断哪个版本完整。目录里同时存在构建时间更晚的半成品和发布时间更早的正式版本。
林岚选错了。
第二次,她找到“可发布”标记,却发现程序配置仍指向旧磁盘路径。
第三次,查询服务启动,中文编码表版本不一致,结果页出现乱码。
三个小时过去,系统仍未恢复。
午饭凉在桌上,谁都没动。周成最难受的不是失败,而是每个错误在他看来都“显而易见”:正式版本有绿标、配置文件要改路径、编码表放在另一个目录。林岚把这三个“显而易见”逐字写进缺项,不接受他只补一句“按惯例”。
周成脸色越来越难看。
“平时我十分钟就能起来。”
“所以缺的不是你的能力。”苏雨桐说,“是公司能不能在没有你的时候使用它。”
倒计时从一百二十三天减到一百二十天。
发布清单上,故障恢复被标成红色。
马飞没有因为日期逼近而降低条件。
他反而新增了一条:
恢复演练必须由非原构建者完成两次。
第二天,林岚按新手册用四十六分钟恢复成功。周成想把这次算进“两次”,她不同意,因为手册是自己参与修改的,已经不算完全陌生。团队另找机房一名值班员,支付正常测试工时,让他在不见开发者的情况下再做。
倒计时减到一百一十七时,故障恢复仍是红色。五金店老板每天早上替他们撕一页挂历,红线没有因为数字变小而擦掉。
马飞把“日期服从发布条件”又复印一份,夹进准备寄给客户的发布计划里。午饭这才重新热过,林岚吃了两口便开始给目录里的绿标补文字说明。