Package com.tnsai.planning.tasklist
Record Class TaskList
java.lang.Object
java.lang.Record
com.tnsai.planning.tasklist.TaskList
- Record Components:
name- task list nametasks- ordered list of tasksmetadata- arbitrary key-value metadata
public record TaskList(String name, List<TaskItem> tasks, Map<String,Object> metadata)
extends Record
An ordered list of tasks to execute.
TaskList is the core data structure of the Ralph Pattern's "Task List Driven" principle. It can be created manually, parsed from a PRD file, or bridged from planner output.
Usage
// Manual creation
TaskList list = TaskList.of("Backend API", List.of(
TaskItem.of("Auth", "Implement JWT auth"),
TaskItem.of("CRUD", "Create user CRUD endpoints")
));
// From planner output (GOAP bridge)
List<PlanningAction> plan = planner.plan(goals, actions, beliefs);
TaskList list = TaskList.fromPlannerOutput("Plan", plan);
- Author:
- TnsAI Team
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.static TaskListfromPlannerOutput(String name, List<PlanningAction> actions) Creates a TaskList from planner output, bridging GOAP planning to task execution.final inthashCode()Returns a hash code value for this object.booleanisEmpty()Returns true if the task list is empty.metadata()Returns the value of themetadatarecord component.name()Returns the value of thenamerecord component.static TaskListCreates a simple task list.intsize()Returns the number of tasks.tasks()Returns the value of thetasksrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
TaskList
Canonical constructor with validation.
-
-
Method Details
-
of
Creates a simple task list.- Parameters:
name- list nametasks- task items- Returns:
- new TaskList
-
fromPlannerOutput
Creates a TaskList from planner output, bridging GOAP planning to task execution.Each
PlanningActionis converted to aTaskItem:- Action name becomes task name
- Action description becomes task description
- Action postcondition becomes a customCheck criteria
- Action tags are preserved
- Parameters:
name- task list nameactions- planning actions in execution order- Returns:
- new TaskList
-
size
public int size()Returns the number of tasks. -
isEmpty
public boolean isEmpty()Returns true if the task list is empty. -
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
name
Returns the value of thenamerecord component.- Returns:
- the value of the
namerecord component
-
tasks
Returns the value of thetasksrecord component.- Returns:
- the value of the
tasksrecord component
-
metadata
Returns the value of themetadatarecord component.- Returns:
- the value of the
metadatarecord component
-