mirror of
https://github.com/ThearchyHelios/AgentLab.git
synced 2026-11-15 03:51:58 +00:00
7ee820f0f5
复核 R2。以前每张表的「最近一次剖析」只按任务的建立先后取,没开始就结束了的那一项(停在前面的表上、任务止损或整体 出错后没轮到)、排队中还没轮到的那一项也算。于是表详情、表清单的上次剖析变成一条没有行数、没有发过的查询的「已停止」; prune 只保护排第一的那一项,上一次真正剖析所在的任务就会被清掉——行数估算、日期范围、发过的查询只存在剖析任务里 (设计文档 §5 否决了写进目录),删了就找不回来,和 §4.8「表详情的上次剖析永远有」相抵。建一个排队任务时顺手的 prune 就能清掉它。 - _ranked(替代 _latest_per_table)一个子查询给两个排名:shown 是真正开始过(started_at 有值;收过尾的表都有)的最近 一项,一次都没开始过才退回最近一项;latest 是最近一项,只用来看这张表是不是已经排在进行中的任务里。 - last_profiles、last_detail、prune 的保护都按 shown。表还排在进行中的任务里时,表详情给的是上一次真正剖析的明细, 排队、在做由页面跟着的任务说(前端 profileCell / ProfileSection 的 live 本来就这样)。 - due_reason 也按 shown(加上 queued:已经排在进行中的任务里不算要剖析),不照复核建议看最新一项:不然表清单一边显示 「上次剖析:完成」,一边说「上次剖析没做完」。真正没剖析完整的表照样 due——上次真正剖析是 partial 的仍是 unfinished, 从没开始过的退回最近一项(cancelled)仍是 unfinished,剖析之后冒出的待核实关系仍是 new_relations。 测试:新增先剖析 channels、再在 [visits, channels] 停在 visits 上——channels 的上次剖析仍是第一次(行数、发过的查询 都在),不算要剖析;prune(keep=1) 不删;保留数为 0 时再建一个排队任务也不删。