mirror of
https://github.com/EveryInc/compound-engineering-plugin.git
synced 2026-10-09 00:49:27 +02:00
Three sources of waste in a watch that can run for hours. Every non-empty top-level PR body is a feedback candidate, and the resolver decides — so a coverage bot's comment woke the agent and bought a full `ce-resolve-pr-feedback` dispatch to conclude "status noise", and split the ordinary push -> bots comment -> CI finishes sequence into two agent rounds. A comment-only wake now waits for the candidate set to stop changing, so a burst costs one dispatch and real work claims the tick and handles the comments with it. No candidate leaves the attention set; the deterministic layer still judges nothing, which is what #1467 fixed. A missing or unparseable clock wakes rather than holding, so a candidate the resolver has never seen cannot be stranded for the run. The per-tick snapshot the agent reads was pretty-printed: 6,473 bytes against 4,453 compact on a 6-thread / 14-check / 5-comment PR, so 31% of every tick was whitespace nothing reads. The persisted state file stays indented — it costs no agent tokens and a human debugging a stuck watch reads it. The 45KB watch-loop reference ended with an "Edge cases summary" that duplicated the section above it and pointed at the file it was already in. Removed, and the two mid-tick pointers now re-read only if the session has not already loaded it.