Start-to-finish dependency
A start-to-finish dependency (SF) is a task relationship where the blocked task cannot finish until its blocker starts.
It's the rarest of the four dependency kinds in ordinary project work, and the one most often confused with the others — the constraint runs from the blocker's start to the blocked task's finish, the mirror image of finish-to-start. A classic textbook example is a handoff between shifts or systems: the old process can't be considered finished until the new one has actually started, so there's no gap in coverage. Kanbai stores it as `start_to_finish` in the `task_dependencies.kind` column, validated by the same CHECK constraint that recognizes finish-to-start, start-to-start, and finish-to-finish, and protected by the identical cycle-rejection trigger every other dependency kind gets — there is no special-cased, less-guarded path for the uncommon kind. Most plans in Kanbai's template catalog never need start-to-finish at all; it exists in the schema because the corpus of project-management guidance this catalog is built from treats all four kinds as first-class, and a scheduling tool that silently couldn't represent one would produce wrong dates for the projects that do need it.