ClaudeDo never passed --effort, so every session inherited whatever effortLevel the user's Claude Code config happened to carry. Settings -> General now holds one row per model alias (haiku medium/20, sonnet high/30, opus high/40, fable high/25) supplying the global effort and turn defaults; list- and task-level max-turns overrides still win, and the agent editor's inherited badge follows the model. --effort is applied to autonomous runs and to every ConPTY spec (task session, planning start/resume, ad-hoc, list handler). The model itself is deliberately not forced on interactive sessions. The single global 'Max turns' field is replaced by the table, and 'fable' joins ModelRegistry.Aliases. The migration also adds the is_manual columns used by the next commit.
70 lines
2.4 KiB
C#
70 lines
2.4 KiB
C#
namespace ClaudeDo.Data.Models;
|
|
|
|
public enum TaskStatus
|
|
{
|
|
Idle,
|
|
Queued,
|
|
Running,
|
|
WaitingForReview,
|
|
WaitingForChildren,
|
|
Done,
|
|
Failed,
|
|
Cancelled,
|
|
}
|
|
|
|
public enum PlanningPhase
|
|
{
|
|
None,
|
|
Active,
|
|
Finalized,
|
|
}
|
|
|
|
public sealed class TaskEntity
|
|
{
|
|
public required string Id { get; init; }
|
|
public required string ListId { get; init; }
|
|
public required string Title { get; set; }
|
|
public string? Description { get; set; }
|
|
public TaskStatus Status { get; set; } = TaskStatus.Idle;
|
|
public PlanningPhase PlanningPhase { get; set; } = PlanningPhase.None;
|
|
public string? BlockedByTaskId { get; set; }
|
|
public DateTime? ScheduledFor { get; set; }
|
|
public string? Result { get; set; }
|
|
public string? ReviewFeedback { get; set; }
|
|
public int RoadblockCount { get; set; }
|
|
public string? LogPath { get; set; }
|
|
public required DateTime CreatedAt { get; init; }
|
|
public DateTime? StartedAt { get; set; }
|
|
public DateTime? FinishedAt { get; set; }
|
|
public string CommitType { get; set; } = CommitTypeRegistry.DefaultType;
|
|
public string? Model { get; set; }
|
|
public string? SystemPrompt { get; set; }
|
|
public string? AgentPath { get; set; }
|
|
public int? MaxTurns { get; set; }
|
|
public bool IsStarred { get; set; }
|
|
public bool IsMyDay { get; set; }
|
|
// Manual = a reminder only the user can do. Automation skips it (queue picker, daily prep,
|
|
// list handler) and the Claude affordances are hidden; a hand-driven ConPTY session is still
|
|
// allowed. New tasks in a manual list default to true.
|
|
public bool IsManual { get; set; }
|
|
public string? Notes { get; set; }
|
|
public int SortOrder { get; set; }
|
|
public string? SessionSkills { get; set; }
|
|
|
|
public string? ParentTaskId { get; set; }
|
|
public string? PlanningSessionId { get; set; }
|
|
public string? PlanningSessionToken { get; set; }
|
|
public DateTime? PlanningFinalizedAt { get; set; }
|
|
|
|
public string? CreatedBy { get; set; }
|
|
|
|
// Navigation properties
|
|
public ListEntity List { get; set; } = null!;
|
|
public WorktreeEntity? Worktree { get; set; }
|
|
public ICollection<TaskRunEntity> Runs { get; set; } = new List<TaskRunEntity>();
|
|
public ICollection<SubtaskEntity> Subtasks { get; set; } = new List<SubtaskEntity>();
|
|
|
|
public TaskEntity? Parent { get; set; }
|
|
public ICollection<TaskEntity> Children { get; set; } = new List<TaskEntity>();
|
|
}
|