Classifies a draft against the version it was cloned from.
The bump describes whether scores stay comparable, not which rows moved.
Major: a non-advisory node was added or removed, or a non-advisory node's parent,
type, weight, scale, gate, gate minimum, not-applicable policy, rollup, or evaluator
config changed, or IsAdvisory flipped, or the version's not-applicable policy changed,
or a scale a non-advisory node uses changed its type, range, step, direction, or a
level's value or normalized value. A node that is advisory on both sides does not
produce a major bump from those scoring fields: they do not change ScoringHash.
Minor: the pass threshold or minimum completeness changed, a band's range or tone
changed, an advisory node was added or removed, or an advisory node's parent, type,
weight, scale, gate, rollup, or evaluator config changed, or evidence/rationale
requirements changed.
Bands match by label first. A clone's new id with the same label is not a bump.
A label rename of the same band is Patch. Sequence is Patch, so a sequence-only
edit is not identical.
Patch: wording, sequence, and display range only.
The highest change wins. AppliedBump is the max of that and the author's request;
the author may go higher and may not go lower. The first publish, with no base,
is 1.0.0 and Initial. A draft identical to its base cannot be published.
Parent links are compared by the parent key. A clone assigns new ids, so comparing
ParentID strings would mark every node major.
Classifies a draft against the version it was cloned from.
The bump describes whether scores stay comparable, not which rows moved. Major: a non-advisory node was added or removed, or a non-advisory node's parent, type, weight, scale, gate, gate minimum, not-applicable policy, rollup, or evaluator config changed, or IsAdvisory flipped, or the version's not-applicable policy changed, or a scale a non-advisory node uses changed its type, range, step, direction, or a level's value or normalized value. A node that is advisory on both sides does not produce a major bump from those scoring fields: they do not change ScoringHash. Minor: the pass threshold or minimum completeness changed, a band's range or tone changed, an advisory node was added or removed, or an advisory node's parent, type, weight, scale, gate, rollup, or evaluator config changed, or evidence/rationale requirements changed. Bands match by label first. A clone's new id with the same label is not a bump. A label rename of the same band is Patch. Sequence is Patch, so a sequence-only edit is not identical. Patch: wording, sequence, and display range only.
The highest change wins. AppliedBump is the max of that and the author's request; the author may go higher and may not go lower. The first publish, with no base, is 1.0.0 and Initial. A draft identical to its base cannot be published.
Parent links are compared by the parent key. A clone assigns new ids, so comparing ParentID strings would mark every node major.