get_task/batch_get_tasks now return failureReason (max_turns|timeout|error| cancelled|unknown) plus failureTurnsUsed/failureMaxTurns on a Failed task, so max_turns (worktree usually fine, continue_task) is distinguishable from a real error (reset_failed_task) without pulling get_task_log's raw NDJSON. Classified and stamped onto TaskEntity by TaskRunner.MarkFailed via TaskStateService.FailAsync; TaskRunEntity also keeps the CLI's raw terminal_reason/result_subtype/errors for deeper diagnosis. reset_failed_task's description now warns explicitly that it discards the worktree and points at continue_task for max_turns. Surfaced on the task card's status-chip tooltip.
79 lines
2.2 KiB
C#
79 lines
2.2 KiB
C#
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
namespace ClaudeDo.Data.Migrations
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class AddFailureReason : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.AddColumn<int>(
|
|
name: "failure_max_turns",
|
|
table: "tasks",
|
|
type: "INTEGER",
|
|
nullable: true);
|
|
|
|
migrationBuilder.AddColumn<string>(
|
|
name: "failure_reason",
|
|
table: "tasks",
|
|
type: "TEXT",
|
|
nullable: true);
|
|
|
|
migrationBuilder.AddColumn<int>(
|
|
name: "failure_turns_used",
|
|
table: "tasks",
|
|
type: "INTEGER",
|
|
nullable: true);
|
|
|
|
migrationBuilder.AddColumn<string>(
|
|
name: "errors",
|
|
table: "task_runs",
|
|
type: "TEXT",
|
|
nullable: true);
|
|
|
|
migrationBuilder.AddColumn<string>(
|
|
name: "result_subtype",
|
|
table: "task_runs",
|
|
type: "TEXT",
|
|
nullable: true);
|
|
|
|
migrationBuilder.AddColumn<string>(
|
|
name: "terminal_reason",
|
|
table: "task_runs",
|
|
type: "TEXT",
|
|
nullable: true);
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DropColumn(
|
|
name: "failure_max_turns",
|
|
table: "tasks");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "failure_reason",
|
|
table: "tasks");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "failure_turns_used",
|
|
table: "tasks");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "errors",
|
|
table: "task_runs");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "result_subtype",
|
|
table: "task_runs");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "terminal_reason",
|
|
table: "task_runs");
|
|
}
|
|
}
|
|
}
|