Note#
A record the engine left out of the plan, or a change it made to the input data. Notes arrive in ScheduleResult::notes. They're information, not errors: the call still succeeds.
Declaration#
Variants#
| Variant | When it occurs |
|---|---|
DroppedTask { task, reason } |
The task has unscheduled: true in TaskData. reason is "unscheduled". |
DroppedLink { link, reason } |
The link can't take part in the plan: its source or target task is unknown or unscheduled, it connects a summary with its own descendant while descendant_links is false in SchedulingConfig, or one endpoint is a manually scheduled summary (auto_scheduling: false) while summaries are expanded to their leaves (move_projects: false or gap_behavior: Compress). |
DroppedAssignment { assignment, reason } |
The assignment's task is unscheduled. |
Repaired { path, message } |
The project uses Validation::Repair and the engine changed the input. path names the changed field, such as tasks[2].constraint_type or links[0].id. message describes the change. |
task, link and assignment are the ids from the input data (Id). reason and message are human-readable text, for example source task "qa" is unscheduled. Match on the variant, not on the text.
Serialization#
With the serde feature, Note serializes as an object tagged by kind, with kebab-case variant names and camelCase field names:
See Serialize results to JSON.
Example#
use ;
For Repaired notes from messy input, see Accept messy input.
Related#
ScheduleResult- lists the notes of a runValidation- the mode that producesRepairednotes- Links, constraints and summaries - shows when links are dropped
- Reading results - handles notes in a result