tracks

package
v0.4.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 12, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package tracks groups actionable tasks into parallel execution tracks.

It partitions tasks based on scope overlap and dependency components, separating flexible tasks that can be worked on independently.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Options

type Options struct {
	Filters       []string
	KnownScopes   map[string]bool
	ArchivedTasks []*model.Task
	Scope         string
	// Efforts is the project's effort vocabulary. The zero value means the
	// default small, medium, large.
	Efforts effort.Scale
}

Options controls track assignment behaviour.

type Result

type Result struct {
	Tracks   []Track     `json:"tracks" yaml:"tracks"`
	Flexible []TrackTask `json:"flexible" yaml:"flexible"`
	Warnings []string    `json:"warnings,omitempty" yaml:"warnings,omitempty"`
}

Result holds the output of the tracks algorithm.

func Assign

func Assign(tasks []*model.Task, opts Options) (*Result, error)

Assign groups actionable tasks into parallel tracks based on scope overlap.

type Track

type Track struct {
	ID     int         `json:"id" yaml:"id"`
	Tasks  []TrackTask `json:"tasks" yaml:"tasks"`
	Scopes []string    `json:"scopes" yaml:"scopes"`
	// contains filtered or unexported fields
}

Track represents a group of scope-overlapping tasks that must run sequentially.

type TrackTask

type TrackTask struct {
	ID       string   `json:"id" yaml:"id"`
	Title    string   `json:"title" yaml:"title"`
	Priority string   `json:"priority,omitempty" yaml:"priority,omitempty"`
	Effort   string   `json:"effort,omitempty" yaml:"effort,omitempty"`
	Score    int      `json:"score" yaml:"score"`
	FilePath string   `json:"file_path" yaml:"file_path"`
	Touches  []string `json:"touches,omitempty" yaml:"touches,omitempty"`
}

TrackTask holds task metadata for output.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL