Skip to content

v1.9.0 - best-effort commit + stop_reason telemetry

Choose a tag to compare

@benzsevern benzsevern released this 08 May 16:55
d80746f

Highlights

  • Best-effort commit: RunHistory.pick_committed() extends the lex key to RED entries (rank=2), filters errored entries via error is None and profile is not None, returns highest-ranked entry. Replaces v1.8's cheapest_healthy() (now a deprecation alias; removed in v2.0).
  • RunHistory.stop_reason: StopReason | None populated at every break point in AutoConfigController.run(). Eight values: GREEN, CONVERGED, BUDGET_ITERATIONS, BUDGET_TIME, POLICY_SATISFIED, POLICY_NO_PROGRESS, OSCILLATING, CANCELLED. Observable via result.postflight_report.controller_history.stop_reason.
  • Virtual v0 fallback + precision-collapse floor: controller appends config_v0's profile as a synthetic HistoryEntry(iteration=-1) before pick_committed(). pick_committed(precision_collapse_floor=0.9) demotes RED entries with mass_above_threshold > 0.9 to rank=3, guarding against the "everything matches" pathology.
  • Health-aware commit logging: WARNING on RED commit (failing sub-profile + stop_reason + iteration), INFO on YELLOW, silent on GREEN, ERROR on all-errored fallback.
  • StopReason enum moved from core/autoconfig_controller.py to core/complexity_profile.py.

Benchmarks (zero-config, no LLM)

Dataset v1.8.0 v1.9.0
DBLP-ACM 0.9641 0.9641
Febrl3 0.9443 0.9443
NCVR 0.9719 0.9719
DQbench composite 62.87 62.87

Notes

The original v1.9 spec assumed best-effort RED commit would deliver a DQbench composite gain (target >= 65). In practice, the controller's complexity indicators can't distinguish "blocking key is wrong" from "blocking key is right but sample has no visible matches" - both produce mass_above_threshold=0.0. Virtual v0 + precision floor restored v1.8 parity. v1.10 will add new indicators (identity-column priors, cross-blocking overlap probe, blocking-column corruption signal, sparse-match sensitivity, full-population matchkey hits) so the controller can distinguish these cases and deliver real DQbench gains.

Breaking changes

None. RunHistory.cheapest_healthy() is a deprecation alias; behavior change documented in DeprecationWarning text.

Full diff: v1.8.0...v1.9.0