2.4 KiB
2.4 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| 01-executor-first-selection | Enforce executor-first profile selection | done | 1 | plan.md | ../../specs/tasks/requirements/task-create-executor-default.md |
Task 01: Enforce executor-first profile selection
Intent
Prevent a portable last-used profile from changing the executor selected by task-source and workspace policy while preserving intentional workspace and local-source defaults.
Acceptance
- An ordinary repository-backed task with no workspace default selects Worktree even when the backend last-used profile is Local.
- Explicit Local workspace defaults, explicit unmanaged local paths, and repository-less tasks still select Local.
- A saved profile is restored only within the resolved executor, with existing eligible fallback behavior preserved when that executor has no profile.
TDD sequence
- Add the Local-last-used/Worktree-default regression to
task-create-dialog-effects-executor.test.tsand run it to confirm RED for the expected Local selection. - Add the workspace-default and source-constraint cases.
- Change the smallest selection helpers/effects required in
task-create-dialog-effects.tsand run the focused suite to GREEN. - Refactor helper names/log metadata only where necessary to describe executor compatibility.
Files likely touched
apps/web/components/task-create-dialog-effects.tsapps/web/components/task-create-dialog-effects-executor.test.ts
Dependencies
None.
Parallelism
sequential — this task owns the shared selection behavior required by the E2E task.
Inputs
- Spec sections
What,Persistence guarantees, andScenarios. - Plan sections
Confirmed root causeandExecutor policy and profile restoration. - ADR 0028, ADR 0041, and ADR-2026-08-01-repository-task-executor-defaults.
Verification
cd apps && pnpm --filter @kandev/web test -- components/task-create-dialog-effects-executor.test.tscd apps/web && pnpm run typecheck
Risks
- Independent effects can produce order-sensitive setter calls; assert the settled executor/profile pair through rerenders where needed.
- Do not remove or rewrite backend last-used persistence as part of this task.
Output contract
Report the RED failure, final files changed, focused test/typecheck results, remaining risks, and
update this task plus plan.md status in the same conversation.