Expand description
The typed patch: what a bulk operation is being asked to change (WP01 T003–T004).
A patch is a whitelist, and that is the whole point. A raw key=value map
would let tix bulk --set priority=high --set number=99 through, and number:
is not a field a bulk operation may touch. So every value is an enum over a
named field, and the set of fields is closed by construction — there is no
syntax by which a caller can name a key that is not in the contract
(data-model §2, contract §1 and §7).
§unchanged is not None
PatchValue<T> is Unchanged | Set(T) | Clear. An Option cannot
distinguish “the user did not mention this field” from “the user asked to empty
it”, and those are different requests: the first must not touch the file at
all, the second must. Collapsing them is how a bulk --clear-dates ends up
clearing the assignee as well.
Structs§
- Archive
Request - A request to delegate archiving to the #190 service.
- Issue
Patch - The complete set of bulk field operations.
- Patch
Problem - The outcome of a patch’s own structural validation.
- Relationship
Op - The relationship half of a patch: one explicit pair operation.
Enums§
- Patch
Value - One field’s requested change.