// Package tasks is the Tasks port: it answers "what should I be doing?" by // listing the open to-do items due today or earlier. It imports nothing from // the rest of the app, so it stays a leaf package. package tasks import "context" // Task is one to-do item. Primitives only, so tasks stays a leaf package. type Task struct { ID string Title string Day string // "YYYY-MM-DD", or "" if unscheduled } // Provider answers "what should I be doing?" — the open tasks due today or // earlier. type Provider interface { Today(ctx context.Context) ([]Task, error) }