Skip to content

Per-arm telemetry objective omits continuous columns #1747

Description

@rasros

What

The per-arm telemetry line reports an objective that omits every continuous column's contribution.

OutputProtocol.onImprovement (CliMode.kt:480) prints %%%klause-arm: label=<arm> objective=<n> time=<ms>, fed from Solvable.objectiveValue — the Long channel, which carries only the Boolean and integer terms. On khb05250 an arm reports objective=27500000 against a run whose reported objective is 2.3e8.

#1739 fixed the same omission on the o line by carrying continuousObjectiveValue beside the exact Long, and deliberately left this one: widening it changes a contract the bench parses as an integer.

Why

Arm attribution drives the credit campaigns (#414, #554). On a model whose cost sits mostly on continuous columns the numbers are not the objective, and the shortfall is not a constant offset — it varies with each incumbent's continuous part — so it can reorder arms rather than just shifting them.

The Long channel is exact and must stay so for the wide-coefficient formats (PB and WCNF objectives can outrun 2⁵³), so this wants the same two-channel treatment #1739 used, plus a decision about what the bench's parser should accept.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions