Files
kandev/docs/plans/pathless-worktree-materialization-failure/task-01-persist-pathless-failed-environment.md
T
2026-09-03 23:16:44 +00:00

2.1 KiB

id, title, status, wave, depends_on, plan, requirements, acceptance_criteria, system_design
id title status wave depends_on plan requirements acceptance_criteria system_design
01-persist-pathless-failed-environment Persist a Pathless Failed Environment done 1
plan.md
REQ-TASKS-TASK-LAUNCH-FAILURE-RECOVERY-001
AC-TASKS-TASK-LAUNCH-FAILURE-RECOVERY-001.2
AC-TASKS-TASK-LAUNCH-FAILURE-RECOVERY-001.8
../../specs/tasks/system-design/task-launch-failure-recovery.md

Task 01: Persist a Pathless Failed Environment

Summary

The repository must store a failed worktree environment when materialization creates no path. Reusable environment states must keep the non-empty path requirement.

In scope

  • Add a failing repository regression test for creating → failed with an empty path.
  • Update the worktree path validation for the failed state.
  • Reload the row and make sure that the failed state and empty claim persist.

Out of scope

  • Changes to worktree creation or Git refresh behavior.
  • Automatic removal of the failed environment.
  • Changes to ready-state inventory validation.

Acceptance

  • UpdateTaskEnvironment stores a pathless worktree environment in failed.
  • The stored materialization-session claim is empty.
  • Pathless reusable worktree states remain invalid.

Verification

Run this command from apps/backend:

go test -tags fts5 ./internal/task/repository/sqlite -run 'TestUpdateTaskEnvironment' -count=1

Files likely touched

  • apps/backend/internal/task/repository/sqlite/task_environment.go
  • apps/backend/internal/task/repository/sqlite/task_environment_test.go

Dependencies

None.

Risks

  • The validation must not permit ready or stopped without a path.

Parallelism

sequential

Inputs

  • AC-TASKS-TASK-LAUNCH-FAILURE-RECOVERY-001.2
  • AC-TASKS-TASK-LAUNCH-FAILURE-RECOVERY-001.8
  • docs/specs/tasks/system-design/task-launch-failure-recovery.md
  • Issue https://github.com/kdlbs/kandev/issues/3335

Results

  • RED: the targeted command failed because UpdateTaskEnvironment rejected the pathless failed state.
  • GREEN: the targeted command passed all five matching repository tests.