Skip to content

v3.8.4 — label-invariant reconciler + budget-aware LLM sweep

Choose a tag to compare

@marcusquinn marcusquinn released this 13 Apr 04:10
· 10691 commits to main since this release

Highlights

t2040 (#18529) — label-invariant reconciler with backfill. New _normalize_label_invariants() pass in pulse-issue-reconcile.sh enforces at-most-one status:* and at-most-one tier:* on every open issue, every cycle. Backfills 14 already-polluted issues left by the pre-t2033 write-without-remove bug and pre-t1997 tier concatenation bug. Precedence: done > in-review > in-progress > queued > claimed > available > blocked with done terminal. Tier rank reasoning > standard > simple matches dedup-tier-labels.yml (idempotent with GH Action). Drive-by fixes: atomic _mark_issue_done via set_issue_status, tier dedupe in issue-sync create and enrich paths.

t2041 (#18530) — budget-aware LLM sweep with state fingerprint cache. Reframes pulse prefetch from O(N) to O(churn). Layer 1 state fingerprint (SHA-256 over sorted labels + assignees + updatedAt + PR reviewDecision/mergeable) + bounded verification query short-circuits deep LLM analysis when nothing changed. Hygiene Anomalies section reads t2040 counters. New config configs/pulse-sweep-budget.json. Fail-open on cache error, fail-closed on verification doubt.

PR

#18546

Testing

40 new test assertions (19 for t2040, 21 for t2041). Regression suites clean: characterization (26), delta-prefetch (7), parent-task-guard (20), dispatch-dedup-multi-operator (7).

Verification

First post-deploy pulse cycle is expected to:

  • Reduce 9 dual-status issues to one status:* each
  • Reduce 5 multi-tier issues to one tier:* each
  • Write ~/.aidevops/cache/pulse-label-invariants.<host>.json with status_fixed=9 tier_fixed=5
  • Emit Hygiene Anomalies section in state files
  • On subsequent cycles with no changes, emit per-repo State cache hit markers