第二天十點零七分,城南舊倉東門重新拉起了警戒帶。
新掛鎖還掛在原處。鎖體外殼沒有撬痕,鎖孔邊緣卻留著一圈擦過的白粉,顏色和林知夏昨晚封存的複製鑰匙齒面接近。她沒有讓任何人先碰鎖,只讓鎖具鑑定人員沿著門框拍攝原位照片,把鎖體批次、門框劃痕和地面灰線分別編號。
恆業五金的店員帶著訂單副本趕來,看到鎖體上的批次碼後點了點頭:「這批掛鎖是昨晚那箱貨里的。配鑰匙用的是同一種空白坯,但鑰匙上不會刻訂單號。」
「能不能證明箱裡那把複製鑰匙開過它?」林晏川問。
鑑定人員搖頭:「只能證明型號接近。鑰匙齒形、鎖孔擦痕和白粉要一起送檢,不能憑肉眼認定使用關係。」
林知夏把這句話寫進現場記錄:「先取樣,再拆鎖。」
鎖具鑑定人員在門外鋪開灰色防拆墊,先封存鎖孔外圈的白粉,再取門框內側的擦痕。擦痕被門縫分成兩段,靠近鎖舌的一段明顯更淺,像有人用布沿著門邊來回擦過。門檻下方有兩截透明膠帶,膠帶上粘著泡棉碎屑,和恆業五金訂單里的防拆封條材質相同。
「有人拆過包裝。」林晏川說。
「有人在這裡處理過包裝。」林知夏糾正,「地點成立,處理人還沒有。」
十點二十三分,警方按程序拆下掛鎖。鎖體被放入硬殼盒,門框原位留下的每一道劃痕都拍照存檔。林知夏沒有讓技術員拿複製鑰匙試鎖,只把鑰匙坯型號、鎖孔取樣和訂單批次送進同一份鑑定申請,要求結果分欄返回。
門被推開時,裡面沒有真盤,也沒有完整文件。
警方先在門外換鞋套,按東牆、木架和服務道三塊區域做原位編號。門後的灰層沒有腳印,只在木架前留下一道被拖過的窄痕,寬度剛好夠一隻塑料箱通過。窄痕兩端都被掃帚掠過,掃帚毛里夾著兩粒透明泡棉,和門外膠帶上的碎屑相同。
林晏川沿著窄痕拍到木架底部,那裡有一塊舊木板被重新釘過,釘帽周圍的灰色比其他位置淺。鑑定人員撬開木板外側的壓條,只取出一截被剪斷的封條,沒有發現夾層或暗格。林知夏讓他把木板恢復原位,不把一個空木架解釋成藏過真盤。
「這裡至少有人整理過。」林晏川說。
「整理過不等於拿到過我們的東西。」林知夏把空紙箱和剪斷封條分別裝袋,「先把能證明接觸發生的痕跡留住。」
舊倉的空氣里混著潮灰和機油味,靠東牆的木架被搬空了一層。牆面上留著一個長方形的乾淨印子,寬度與一隻薄紙箱相近,周圍的灰塵被擦掉,邊緣卻沒有紙箱壓痕。地面上有兩道膠帶撕裂後的卷邊,旁邊壓著半張交付單。
林知夏蹲下,用鑷子把交付單夾起來。上面只剩幾行字:訂單後四位、十九點二十一分、舊醫院西側服務道。收貨人欄依舊是空白,最下面露出兩個字,白車。
「它不是交到這裡的。」林晏川看著殘單。
「至少這張單把下一段方向寫出來了。」林知夏把殘單裝袋,「但它只能證明紙張在這裡,不證明貨物去了哪裡。」
舊倉門衛老周在門外等了很久,聽見舊醫院西側服務道,忽然補充:「昨晚白車從東門出去後,沒走主路。它在北邊繞了一下,車尾燈在舊醫院那邊亮過。」
「你看見車進醫院了嗎?」
「沒有。那邊的樹擋住了。」
林知夏讓他把補充內容寫在新紙上,並標註是第二次回憶。老周簽完字,手指在「未見車輛進入醫院」一行上停了停,沒有替自己補出一個結論。
柏安車隊調度室在十一點零二分發來新的回執。登記為 `BA-VAN-07` 的白色檢修車十九點二十二分在舊醫院西側服務道附近短暫停留,臨時停車申請人欄被 `legacy_m17` 覆蓋,停車時長只有四分鐘。十九點二十六分,車輛軌跡從系統里斷開,恢復時已經到了城南主幹道。
鄭柏年被叫到舊倉門口。他看著那半張交付單,臉色沒有昨晚那樣僵硬,反而顯出一種疲憊的謹慎。
「這條車隊回執是誰補的?」林知夏問。
「系統自動生成,舊訪問組有權限申請臨時停車。」
「你們的舊訪問組為什麼還能覆蓋申請人?」
「權限遷移沒有做完。」
「今天做完。」林知夏把凍結表推給他,「凍結 `legacy_m17` 的出車、停車和補錄權限,交出現行管理員名單、撤銷時間和所有待補錄司機。你可以在現世管理責任欄簽字,不需要替白車司機認領行為。」
鄭柏年沒有立即落筆:「凍結會影響舊項目的維修響應。」
「那就用實名管理員重新申請。」
「如果有人故意借凍結製造故障呢?」
「故障可以恢復,原始權限被誰保留過不能重新拍一遍。」
他看了看門內的灰痕,最終在凍結表上簽了字。簽名旁邊他補了一句,現行管理員名單需在當天交出,舊訪問組不得由項目卡代替。林知夏讓警方把表格掃描進隔離盤,紙張原件留在鄭柏年面前,避免他再說自己沒有看過。
柏安車隊管理員隨後交出一份舊訪問組成員表。`legacy_m17` 里有三名已經離職的外包人員、一名仍在崗的項目管理員和兩個只保留編號的臨時帳號。表格沒有當晚司機姓名,最後一次清理日期停在三個月前。鄭柏年在成員表旁寫下「現行權限未完成遷移」,又補簽一份凍結通知。
林知夏把凍結通知的生效時間記在十一點零六分,要求管理員用現場終端發送,不允許回公司後再補發。通知發出後,車隊系統里的臨時停車按鈕變成灰色,舊訪問組仍保留歷史查詢權,但不能繼續創建新的申請。
陸氏律師的手機在這時亮了一下。
屏幕上出現新的二次確認推送,時間與 `BA-VAN-07` 停車回執相差二十秒。律師隔著警戒帶看了一眼,沒有伸手。
「又是 `**27`?」林晏川問。
技術員核對通知欄:「發送設備仍顯示柏安舊項目伺服器,接收端是律師手機。沒有確認結果。」
林知夏讓人把律師手機拍照封存,把推送接觸時間單列為一項。她沒有讓律師解釋白車,也沒有讓陸氏帳號解釋舊倉門內的灰痕。
律師壓低聲音:「你們把所有時間都放在一起,會讓外面以為陸氏參與了運輸。」
「時間放在一起,是為了找交叉點。」林知夏說,「責任要看誰有權限、誰留下動作、誰承擔後果。你可以提交接口維護名單,不能提交一個結論替代三份記錄。」
律師抿緊嘴唇,不再爭辯。他把手機交給警方,退回車旁。林晏川看著他離開,低聲問:「現在追舊醫院嗎?」
「先守住舊倉。」林知夏說,「對方已經試過清理門禁和車隊記錄,舊醫院那邊也可能在等我們追過去。」
話音剛落,舊倉門衛室的網關發出連續蜂鳴。屏幕上跳出 `BA-SCAN-02` 的新請求,目標改成舊倉門禁照片、掛鎖序列號和 `BA-VAN-07` 出車記錄,動作是刪除本地緩存、恢復供應商同步,並將臨時停車申請重新標記為「無效」。
技術員下意識去拔電源,林知夏先讓他拍下屏幕上的請求源和倒計時。
「先拍,再斷。」她說,「請求出現的那一刻也是證據。」
十一次倒計時跳到最後一格時,網線被拔出。無線模塊隨後取下,舊倉網關的指示燈熄滅。清理請求沒有完成,失敗回執卻保留在隔離盤裡。林知夏要求門衛把網關鑰匙交給警方,不允許柏安管理員自行重啟。
清理請求的執行權限與昨晚的供應商節點相同,目標卻從恆業五金訂單變成舊倉門禁、鎖體序列和車隊回執。林知夏讓技術員把兩次請求的源地址、目標欄位和發起時間並列,不把「同一來源」寫成「同一操作者」。警方同時向柏安和恆業五金髮出限時保全,要求保留平台原始日誌、門衛原本和鎖具出廠批次。
門內的木架下方還有一片沒有被擦乾淨的灰。林晏川用燈照過去,灰線上壓著半枚輪胎紋印,紋路寬而淺,中央有一條細小斷口。林知夏讓技術員先拍照,再用透明膠片提取,不把紋印直接比成某輛車。
現場人員沿服務道向西走了二十多米,輪胎紋印在一處積水旁斷掉。積水裡沒有油膜,路肩也沒有新的停車壓痕。遠處舊醫院西側的服務門被樹影擋住,只能看見門禁燈亮過一次。林知夏沒有讓人沿路追過去,而是讓警方先調服務門原始門禁和附近路口的完整視頻。
「方向朝西。」林晏川說。
「方向可以寫,身份不能寫。」
舊倉外的風從東門灌進來,帶著城南舊醫院那邊的消毒水味。林知夏把掛鎖、殘單、網關清理請求和輪胎紋印分裝進四隻物證袋,在封口處寫下時間和經手人。
她最後看了一眼舊醫院西側服務道的名稱。
「調取服務道門禁、車輛路線和 `legacy_m17` 撤銷記錄。」她說,「先查路,再查人。」
警戒帶外,`BA-VAN-07` 的軌跡在十九點二十六分重新出現,隨後又一次消失。半枚白色輪胎紋印朝向舊醫院,門框灰痕留在原位,封存袋裡的複製鑰匙也沒有被取出。