Task timing
Three date fields, each with a specific meaning.
targetDate β when it should be done
targetDate is the deadline. It answers βwhen does this need to be finished?β and it's what calendar views default to. Set it when you have a real due date β don't guess.
startDate β when work begins
startDate is when the task becomes actionable. For scheduled work it's the day someone picks it up; for a project it's the kickoff. Gantt views use startDate as the left edge of the bar.
endDate β when work is expected to finish
endDate is the planned finish. It's different from targetDate: targetDate is the external deadline, endDate is the internal estimate. They're usually the same, but not always β a task can have an endDate three days before its targetDate to build in buffer.
Derivation
You don't need to set all three. If you set startDate and a duration in days, Based can derive endDate. If you set targetDate and omit endDate, Based treats them as the same. Derivation happens on write, so views always reflect the current state β you never have to refresh or recalculate.
Any field you set by hand wins. Based won't overwrite a manual value with a derived one, even if the inputs change. If you want to βunpinβ a field and let it derive again, clear it.
Rollups on projects
Projects (initiatives, workstreams, cycles) derive their timing from their children. A project's startDate is the min of its tasks' startDates; its endDate is the max of their endDates. You can override either manually.