Skip to content

Message scopes

The scopes naming the diagnostics a solver reports through on_message.

They are the one kind of name here that is not declared up front, so a scope not listed below is not an error: report it verbatim. Filtering on a prefix works — progress catches progress.bound and anything added beside it later.

4 message scopes

core.assumptions: list of var bool

A subset of the assumed Boolean decision variables that cannot all hold at once.

log: string

Freeform diagnostic text, generally enabled by the verbose option.

progress.bound: int | float

A new dual bound on the objective.

Sent as int or float to match the objective’s type. Bounds improve monotonically over a run, which the serial callback contract preserves even when several workers find them.

warn: string

Something about the model the user should know, which did not prevent solving, for example an annotation the solver ignored.