周砚盯着那条灰线,半晌没说话。
“资料归档协调岗”四个字像一枚磨钝了边的钉子,钉在曲线图的末端,不疼,却足够让人知道这里被人动过手脚。岗位明明去年就已经调离,权限却还挂在链路里,像一根早该拔掉的旧线,偏偏还牵着新曲线的尾端。只要这根线不拔,问名就会被拖进历史保留里,拖进旧制度、旧口径、旧流程的阴影里,最后谁都能说一句“那不是现行责任”。
可现在的问题,不是这根线该不该拔。
而是它为什么还在。
“继续往下翻。”周砚说。
林序把图层再展开,新的关联节点从灰线后面慢慢浮出来,像被水面遮了很久的石头终于露了边。归档协调岗下方并没有直接连到抽样执行组,而是先接到一个更低一层的节点,名字很陌生,叫“继承机制维护池”。
信息中心主任的眉头一下子皱紧了。
“什么东西?”他低声问。
“维护池。”林序也像第一次见到这个词,“看权限归属,它不是现行业务系统的常规岗位,而是从旧治理系统迁移过来的遗留模块。它的作用是,把历史模板、历史口径、历史责任名全部保留在一套兼容链里,避免重组后系统断档。”
周砚听着,眼神一点点沉下去。
兼容链。
这个词太熟了。
前面的几年里,他们见过太多类似的表达。为了不让系统断档,为了避免结构切换失真,为了保证“历史可以继承”,公司把一切旧痕迹都留了下来。可留痕这件事,一旦没人负责清理,就会变成最方便的遮挡。旧的名字不删,新的责任就能被旧的名字吞掉;旧的权限不收,新的动作就能借旧的权限过门。继承机制原本是为稳定服务的,可一旦被人拿来压盲区,继承就会变成偷换。
“盲区实验。”周砚忽然开口。
屋里的人同时抬头看向他。
周砚没有解释得太快,只把屏幕上那条“继承机制维护池”拖到了最前面,又把前一章查到的“专项抽样口径预置说明”并排放在一起。两个看似不相干的东西,一左一右,像两块被刻意隔开的拼图,可当他把中间的字段拉直,所有人的视线都停住了。
维护池里有一个子标签:
盲区实验接口
那一行字极浅,若不是周砚把分辨率放大到最高,几乎根本看不见。它的位置也很巧,藏在继承机制的说明文档末尾,像一条默认注释,像一段不该被念出来的旁白。
“这是什么实验?”信息中心主任的声音已经有些发紧。
周砚没有立刻回答,因为他也在看第二层字段。
盲区实验接口的调用时间,不是近期,而是从更早的年份开始就被反复触发。每一次触发后面都跟着一个相同的关键词:
“变量翻转”。
第一个变量翻转,发生在六年前。
第二个,四年前。
第三个,两年前。
最近一次,是本季度。
周砚的目光在那几个年份上停了半秒。
“他们不是在单独做专项。”他说,“他们是在拿继承机制,反复验证盲区实验。”
方进的神色彻底冷了下来。
“也就是说,专项只是壳。真正被反复试的,是继承。”
周砚点头。
这比单纯的口径篡改更难处理。因为专项至少还像专项,能被当场追、能被抽样查、能被问名;可继承机制不同,它藏在所有历史操作下面,平时谁都看不见,一旦有人想翻旧账,它就会跳出来说:你不能删,不能改,不能断,因为这关系到历史连续性。于是,真正被拿去做实验的盲区,反而被“连续性”保护起来了。
“盲区实验的目标是什么?”林序问。
周砚把那份维护池说明往下拉,停在一条被折叠过的注释上。
“验证变量翻转后,继承链是否仍可维持同名同责。”
这句话念出来时,屋里的人都沉默了。
同名同责。
同一个名字,承担同一份责任,哪怕人已经换了,岗位已经变了,权限已经移了,只要名字还在,就能继续把新旧动作并成一条线。原来他们不是单纯保留历史,而是在用历史名字压住新变量。谁接手了动作,谁就被强制套进旧名;谁想翻变量,谁就必须先问名。
“问名不是问人。”周砚缓缓道,“是问这条机制里,谁在替谁继承。”
信息中心主任抬头看了他一眼,像是终于意识到问题真正的重量。
“如果盲区实验是为了验证同名同责,那前面抽样之日的曲线,就不是为了制造完成口径,而是为了测试继承机制能不能把一个已经变形的专项继续挂在旧名下。”他说到一半,声音慢了下来,“也就是说,曲线是在帮实验找样本。”
周砚没有否认。
他把“盲区实验接口”点开,接口页底部果然有一行极细的说明:
实验对象:历史保留节点
实验目的:在变量翻转后,验证旧名是否仍可稳定继承结果
历史保留节点。
周砚看着这几个字,几乎能想象出背后那套冷静到残忍的逻辑。先把旧节点保留下来,再在节点上做变量翻转,看看换了岗位、换了时间、换了动作、换了责任人之后,这个节点还能不能继续承接同一份结果。只要它还能承接,就说明盲区仍在,实验成功;只要它承接得足够顺,说明继承机制足够稳,外面的人就只会看到“流程连续”,看不到内部已经换了骨。
而现在,这个实验已经跑到了年变量上。
“年。”周砚轻声重复了一遍。
“对。”林序也看到了,“维护池里还有一层年月标签,标签不是年份本身,而是‘年的变量’。”
周砚把那层标签拉出来,屏幕上出现一串极有规律的字段名:
year_var_a
year_var_b
year_var_c
每一个变量后面都对应一个继承节点。
起初只是三年。
后来扩成五年。
再后来,开始出现“翻年”标记。
周砚盯着“翻年”两个字,指尖在桌边轻轻敲了一下。
“他们在用年做变量。”他说。
“什么意思?”信息中心主任没跟上。
“不是自然年的年。”周砚抬眼,“是继承链里的年。年份不是时间,是一次变量翻转的计数单位。每翻一次,旧名就被再校验一次,同名同责就再压一次,盲区实验就再跑一次。”
屋里的人一下子安静得更厉害了。
如果说前面的抽样之日,还是把专项写成完成;那么现在,继承机制压着的这层盲区实验,就是把完成再写成可继承。不是做完就算,而是要看做完之后能不能继续挂在旧名上。翻一次年,变量就翻一次;变量一翻,就要重新问名。因为只要名没问清,谁都可以借着继承继续往前压。
“所以它会逼近问名。”方进说。
周砚点了点屏幕上的“year_var_b”。
“是它已经开始逼问了。”
他把最近一次翻年的记录展开,记录页没有写具体项目,只写了很短的流程名:
盲区实验第七轮结果回收
年变量重置
继承链一致性通过
问名延后