Files
ClaudeDo/src/ClaudeDo.Data/Migrations/20260810115437_AddFailureReason.cs
T
mika kuns a067a7bfff fix(mcp): report a Failed task's failureReason instead of a bare status
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.
2026-08-10 14:20:00 +02:00

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");
}
}
}