You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4badac6
Browse filesBrowse the repository at this point in the historyBrowse files
fix(klaud): verify older and aggregate baselines, free abandoned work / fix(klaud): 验证旧版与聚合基线并释放放弃的工作 (#4137)
* fix(klaud): regenerate pre-flag producers, record deferral reasons, survive install flakes
- Producers older than the generator's --no-evals flag rejected it, so their
baselines could never be verified and nine multi-node families were deferred
every wave; retry without the flag and keep only throughput rows.
- select now records why each candidate's baseline was deferred in
selection.json and the step summary instead of discarding the error.
- Both Klaud workflows retry the Claude CLI install once when the native
binary is missing.
- An attempt whose agent step never ran is retried next wave instead of
cooling down for 24 hours.
- 早于生成器 --no-evals 参数的 producer 会拒绝该参数,导致其基线无法验证,
九个多节点配置族每一轮都被推迟;现在会不带该参数重试,并只保留吞吐量行。
- select 现在会在 selection.json 和步骤摘要中记录每个候选基线被推迟的原因,
而不是丢弃错误。
- 两个 Klaud 工作流在缺少原生二进制时会重试一次 Claude CLI 安装。
- Agent 步骤从未运行的尝试会在下一轮重试,而不是冷却 24 小时。
* fix(klaud): match aggregate multinode baselines as the app publishes them
The app mirrors an aggregate engine into both role columns, so a one-engine
aggregate row publishes decode_num_workers equal to prefill's, while the matrix
gives decode zero workers. Older result writers also published a one-worker
aggregate as a single-node row. Either way no public row matched its producer
entry, deferring nine agentic agg families with "No verified public baseline
points".
应用会把聚合引擎镜像到 prefill 和 decode 两列,因此聚合行发布的
decode_num_workers 与 prefill 相同,而矩阵中 decode 为零个 worker;较旧的结果
写入器还会把单 worker 聚合发布为单节点行。两种情况下公开行都无法匹配其
producer 条目,导致九个 agentic agg 配置族因"No verified public baseline
points"被推迟。
* feat(klaud): free abandoned candidate PRs, branches and claims each wave
Sessions that hit the 6h job limit left draft PRs, klaud/auto branches and
family claims behind, and recovery could not reconcile them, so their
families stayed blocked indefinitely. Before selection, recovery now treats
a candidate as abandoned once no planner session or final sweep is active:
it cancels the candidate's leftover smoke runs, closes a draft PR that only
Klaud committed to, deletes leftover branches of PRs Klaud itself closed and
releases claims held by finished parents. Handoff, maintainer-touched and
ready PRs are left alone. Recovery also bounds its targeted-run listing to
the parent's lifetime, which exceeded GitHub's 1000-result cap for older
parents.
达到 6 小时作业上限的会话会遗留草稿 PR、klaud/auto 分支和配置族声明,且恢复
流程无法收尾,导致这些配置族被无限期阻塞。现在恢复流程会在选择前,将没有活动
规划会话或最终 sweep 的候选视为已放弃:取消其残留的冒烟运行,关闭只有 Klaud
提交过的草稿 PR,删除 Klaud 自己关闭的 PR 遗留的分支,并释放已结束父运行持有
的声明。交接、维护者改动过或已就绪的 PR 保持不变。恢复流程还会将定向运行列表
限定在父运行的存续期内,此前较旧父运行的列表超过了 GitHub 1000 条结果上限。
* feat(klaud): delete finished recovery leases during the abandoned-work sweep
Each recovery pass leaves a klaud/recovery-<parent>-<candidate> ref behind and
none was ever deleted (568 today). When no other planner is still reconciling,
the sweep now deletes leases whose parent run finished and whose candidate is
not active; a later pass recreates any it still needs.
每次恢复都会留下 klaud/recovery-<父运行>-<候选> 引用,且从未删除(目前有 568 个)。
当没有其他规划运行仍在收尾时,清扫现在会删除父运行已结束且候选不再活动的租约;
之后的恢复如仍需要会重新创建。
0 commit comments