Make compile_feedback work-item aware: blast-radius scope + immutable-base baseline + lint budget #294
Loading…
Reference in a new issue
No description provided.
Delete branch "claude/wi-019fa83d-compile-feedback-lints-the-whole-workspa"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Anima work item
019fa83d-523b-7303-b962-13d10c9ae483.Measured 2026-07-28
WI-230 (Wave R1 — Config spine) ran four rounds on tecton and produced zero
config-spine work. Every round opened the same way: run
compile_feedback, getworkspace-wide clippy warnings in
crates/grug-dataandbenchmarks/harness-core,start fixing them, hit the turn watchdog, end. Rounds 1–4 pushed 48 lines of that
cleanup under the title "Wave R1 — Config spine", and the reviewer rejected PR #246
for containing "work from MANY work items".
The warnings are real but trivial and unrelated: collapsible
if let→ let-chains,write!with a trailing newline →writeln!.Why the akh sees what nobody else does
.forgejo/workflows/ci.ymlrunscargo check -p seshat— one crate. Its owncomment explains why: broader test/clippy/release-build OOM-kills rustc on the
Solstice runner. So workspace-wide clippy has been rotting unchecked while main
stays green, and
compile_feedbackis the only thing that looks at it.The akh then reasonably concludes the tree is dirty and cleans it — on its own
budget, in someone else's crates, every single session.
Ask
compile_feedbackto the work item's blast radius. Default it to thecrates the session actually touches (worktree diff, or the package(s) owning the
edited paths);
--workspacebecomes opt-in via the tool's parameters.baseline at session start; report pre-existing diagnostics as context ("the tree
arrived with N warnings in crates you are not touching") rather than as work.
The akh must not be able to mistake ambient rot for its assignment.
a threshold, say so once and move on.
Related
019fa7c6-ec4b-73e1-8b43-dc4deeca8373— the runner must not commit / push /PR a turn that only repaired the base repo.
the same day by setting
AKH_TURN_IDLE_TIMEOUT_SECS=900on the akhomed container.2071f0d31a296ae33f7bReview verdict: BLOCK — the branch does not compile.
cargo check --features serverat296ae33fin a clean worktree fails with two hard errors in the code this PR adds:src/agent/tools/compile_feedback.rs:172— E0277:.unwrap_or_default()onOption<std::process::Output>, butstd::process::Outputdoes not implementDefault.src/agent/tools/compile_feedback.rs:409— E0283: redundant.into()on a&'static strpassed toToolOutput::ok, which takesimpl Into<String>.Note that CI green is not a signal on this repo:
.solstice/job.shruns onlycargo check -p seshatand never builds the rootakh-meducrate where this file lives.Beyond the build break, six substantive defects remain — silent fail-closed on git-diff failure, a blast-radius path check hardcoded to
crates/<name>that missesbenchmarks/harness-core(one of the two crates this work item exists to fix), a baseline dedup key that ignores file and line, no automatic baseline capture at all, and zero tests over ~200 lines of new logic. Full detail is in the work item description.296ae33f7bb1c52a51f6WIP: compile_feedback lints the whole workspace, so every session burns its turns cleaning crates the work item never touchesto Make compile_feedback work-item aware: blast-radius scope + immutable-base baseline + lint budget1eba904(prior run died on archibald saturation)