大晟景和二十七年,京城落了入冬以来第一场雪。沈家掌管河道账册的老家主沈敬山,却在这天夜里死于书房,桌上摊着一封认罪书,承认私吞赈灾银、偷换堤坝木料。消息传开,沈家一夜从河工世家变成罪臣之家,三日后便要抄检。长女沈砚秋不信父亲会拿百姓性命换钱。更糟的是,未婚夫陆怀川登门退婚,说陆家不能与“贪官余孽”扯上关系。沈砚秋当面退回定亲玉佩,只问他一句:“若沈家无罪,你可敢当着天下人的面,把今日的话再说一次?”
她带着父亲留下的账册,求见曾因查案得罪权贵、如今隐居在城南的老刑官裴照。裴照收她作助手,教她辨血迹、听口供,也提醒她:查案不是找一个最坏的人,而是找出谁最希望所有人相信那个人有罪。两人从账册里发现,赈银确实少了一大笔,但缺口出现的日子,恰与二皇子府突然扩建河防有关。此时皇帝病重,太子与二皇子争夺储位,沈家案正好成了扳倒太子的利刃。沈敬山的认罪书,显然是有人替夺嫡铺的路。
查到一半,沈家旧仆忽然在酒楼散布流言,说沈敬山早年曾与河工寡妇私通,沈砚秋其实是来历不明的女儿。陆家随即放出退婚缘由,称沈家家风败坏。沈家上下羞愤难当,沈砚秋却从流言里听出破绽:那名寡妇早在十年前就死于河堤坍塌,而传言中的“私生女”出生日期,恰是账册被调换的那一天。她和裴照循着旧工匠留下的刻痕,找到藏在废祠地砖下的原始河工图,证实有人偷换劣木、挪走赈银,再把罪名推给沈敬山。幕后主使竟是二皇子的幕僚,也是当年负责封存河工证据的人。

证据尚未送进京,连日暴雨便冲垮上游堤坝。洪水涌向三县,二皇子急着调走守军,借救灾之名控制京畿;裴照认定若公开账册,沈家或许能脱罪,若先救人,证据就可能再也到不了皇帝手中。沈砚秋却带着原图赶往河口,召集熟悉水势的沈家旧工,在决堤前挖开泄洪渠。陆怀川也带着自家船队赶来,亲手运送木料和伤员,没有再提婚约。洪水退去时,三县百姓得救,原图上的暗记也被数百名工匠证实。

裴照将证词送入宫中,二皇子幕僚伏法,沈家得以洗清罪名,夺嫡之争也因皇帝看清两方用民命下注而暂时止息。沈砚秋没有立刻答应陆怀川复婚,只收下他送来的河工名册,告诉他先把欠下的工钱一笔笔补齐。雪停以后,她点亮父亲书房的照骨灯,灯下不再是罪证,而是每个活下来的人留下的名字。
评论