Skip to content

v3.3.0 — Tail Compression: Findings Contract, Deterministic Consolidator, Stable Posting

Choose a tag to compare

@nexiouscaliver nexiouscaliver released this 02 Sep 18:06
· 77 commits to main since this release
87d09ab

What's New

Added

  • Structured findings JSON contract + omni_validate_findings.py (skills/omnireview-gitlab/scripts/) — each reviewer agent emits a machine-readable findings block; the validator checks all three blocks and passes malformed output through verbatim (never fails the run).
  • omni_consolidate.py deterministic consolidation (skills/omnireview-gitlab/scripts/) — merges only near-identical findings (same file+lines+category, Jaccard ≥ 0.30); same-locus non-identical pairs classify as clusters, not merges, with per-agent verbatim entries in the worklist; corroboration is recorded as metadata; confidence values are never adjusted or recomputed; emits one 6-section single-pass adjudication worklist; --prior retrospective guard marks prior-matched loci already_adjudicated — prior posted findings are authoritative and new input is routed as replies on their existing threads.
  • omni_post_review.py shipped posting fallback (skills/omnireview-gitlab/scripts/) — standalone glab-based posting with retry/backoff (2 s / 4 s on 5xx/429), a duplicate-summary guard that refuses to post a second default ## OmniForge summary, and --reply-to / reply_to_thread_id thread routing; no MCP dependency (if the MCP server breaks, posting still works).
  • omni_partition.py diff load balancing (skills/omnireview-gitlab/scripts/) — security-affinity assignment first, then greedy balancing across the codebase and analyst reviewers; plus reviewer-brief tightening and the "Never sleep-poll — not even sub-60 s sleeps" rule.
  • omni_digest.py context digest (skills/omnireview-gitlab/scripts/) — script-built digest where bot artifacts are carried byte-verbatim, human prose is capped, and diffs are reduced to hunk headers; retrospective wiring in Phases 1/3/4 replaces raw comment dumps.

Changed

  • One-dispatch-per-reviewer rule in the three reviewer briefs — fixes the 9-vs-3 dispatch-file churn observed on retrospective re-reviews (A/B retrospective arm: sub_count == 3).
  • Test suite 325 + 9 (was 231).

Measured (A/B e2e — same MR, same head, same provider hour)

  • Tail −28.2 % (339.5 → 243.7 s — real, beyond the ±75 s single-pair noise band); output tokens −24.4 %.
  • Dispatch files: 3 (retrospective re-reviews previously produced 9); 3 prior loci marked already_adjudicated with replies routed on their recorded threads.

Known limitations (stated honestly)

  • Adjudication turns: 20 vs the ≤12 target — miss (baseline 10; per-call API time fell 32.5 → 10.9 s, so the tail dropped anyway — the single-pass worklist produces more, much shorter turns).
  • Sub-agent wall skew (2×) unimproved by this release.
  • Measurements are from the local A/B harness; fleet (VPS) verification follows the production rollout.

Full changelog: see CHANGELOG.md § 3.3.0.