feedback. Feedback is designed for API clients, MCP tools, and LLM consumption. It answers whether scheduling instructions were followed without exposing solver implementation details such as internal constraint buckets.
Compilation feedback
ModelBuilder.compile() returns feedback alongside the solver request:
canSolve flag is false when structural errors make solving impossible, for example coverage requirements that reference roles no team member has.
Solve feedback
schedule(...).solve(...) returns the same feedback shape after analyzing the solver result:
Feedback structure
AFeedbackReport contains:
status:"pass","has_failures", or"has_errors"summary: check counts bypass,fail, anderrordetails: grouped feedback for one instruction or report-level concernchecks: factual checks inside each detail
Outcomes
pass: the instruction was followedfail: a soft instruction was evaluated and not fully followederror: compilation or solving found a blocking issue
Custom rule feedback
Custom rule descriptors should prefer solver artifacts withcontext for solve-time checks and compile findings for phase errors. Prefer factual messages that describe what happened. Do not include remediation instructions unless your API surface explicitly needs them.