diff --git a/docs/product/data-model.md b/docs/product/data-model.md index 1adccc7..e7596ed 100644 --- a/docs/product/data-model.md +++ b/docs/product/data-model.md @@ -41,6 +41,10 @@ tickable. **`due_anchor` + `due_offset_days`.** A quarterly duty "due in Q3" is due on 30 September to everyone behind on it. Anchoring inside the period is what stops annual and semi-annual work collapsing onto the last week of December. +`due_offset_days` counts days from the anchor day, and the anchor day itself is +offset `0` — on `period_start`, `0` is the first day of the period and `4` is +the fifth day; on `period_end`, `0` is the last day of the period and `-3` is +three days before the last. **`lead_days`.** A task that appears on its due date is already late. Lead time is the difference between a system that reminds you and one that reports on you. diff --git a/src/objects/catalog-item.object.ts b/src/objects/catalog-item.object.ts index 9941243..3cf2180 100644 --- a/src/objects/catalog-item.object.ts +++ b/src/objects/catalog-item.object.ts @@ -68,7 +68,11 @@ export const CatalogItem = ObjectSchema.create({ ], }), - due_offset_days: Field.number({ label: 'Offset (days)', defaultValue: 0 }), + due_offset_days: Field.number({ + label: 'Offset (days, 0 = anchor day)', + defaultValue: 0, + description: 'Days from the anchor day, which is offset 0. On "Start of period": 0 = the first day of the period, 4 = the fifth day. On "End of period": 0 = the last day of the period, -3 = three days before the last.', + }), lead_days: Field.number({ label: 'Lead time (days)', defaultValue: 7, min: 0 }), grace_days: Field.number({ label: 'Grace (days)', defaultValue: 0, min: 0 }), diff --git a/src/objects/duty.object.ts b/src/objects/duty.object.ts index 7a845df..6dedcb6 100644 --- a/src/objects/duty.object.ts +++ b/src/objects/duty.object.ts @@ -118,9 +118,9 @@ export const Duty = ObjectSchema.create({ }), due_offset_days: Field.number({ - label: 'Offset (days)', + label: 'Offset (days, 0 = anchor day)', defaultValue: 0, - description: 'Days from the anchor. "5" with a monthly period anchored to period start = due on the 5th. Negative offsets count back from period end.', + description: 'Days from the anchor day, which is offset 0. On "Start of period": 0 = the first day of the period, 4 = the fifth day. On "End of period": 0 = the last day of the period, -3 = three days before the last.', }), lead_days: Field.number({